diff --git a/lib/folk-shape.ts b/lib/folk-shape.ts
index d84f43b..99ed6cc 100644
--- a/lib/folk-shape.ts
+++ b/lib/folk-shape.ts
@@ -112,6 +112,25 @@ const styles = css`
transition: opacity 0.3s ease, filter 0.3s ease;
}
+ [part="forgotten-tooltip"] {
+ display: none;
+ position: absolute;
+ top: -32px;
+ left: 50%;
+ transform: translateX(-50%);
+ background: rgba(0,0,0,0.85);
+ color: #fff;
+ font-size: 11px;
+ padding: 4px 10px;
+ border-radius: 6px;
+ white-space: nowrap;
+ pointer-events: none;
+ z-index: 9999;
+ }
+ :host(:state(forgotten)):hover [part="forgotten-tooltip"] {
+ display: block;
+ }
+
:host(:state(move)),
:host(:state(rotate)),
:host(:state(resize-top-left)),
@@ -351,7 +370,8 @@ export class FolkShape extends FolkElement {
-
`,
+
+ Forgotten — right-click to remember or delete
`,
);
this.#handles = Object.fromEntries(
diff --git a/website/canvas.html b/website/canvas.html
index 1abe39f..de29f44 100644
--- a/website/canvas.html
+++ b/website/canvas.html
@@ -663,6 +663,10 @@
overflow: visible;
}
+ #canvas-content.hide-forgotten :state(forgotten) {
+ display: none !important;
+ }
+
#select-rect {
position: fixed;
border: 1.5px solid #3b82f6;
@@ -1128,6 +1132,7 @@
+
@@ -2907,6 +2912,18 @@
if (isOpen) renderMemoryPanel();
});
+ // Hide Faded toggle — hides all forgotten shapes from the canvas
+ const hideForgottenBtn = document.getElementById("toggle-hide-forgotten");
+ if (localStorage.getItem("rspace_hide_forgotten") === "1") {
+ canvasContent.classList.add("hide-forgotten");
+ hideForgottenBtn.classList.add("active");
+ }
+ hideForgottenBtn.addEventListener("click", () => {
+ const hidden = canvasContent.classList.toggle("hide-forgotten");
+ hideForgottenBtn.classList.toggle("active", hidden);
+ localStorage.setItem("rspace_hide_forgotten", hidden ? "1" : "0");
+ });
+
// Refresh panel when shapes change state via remote sync
sync.addEventListener("shape-forgotten", () => {
if (memoryPanel.classList.contains("open")) renderMemoryPanel();
@@ -2977,7 +2994,7 @@
const btn = e.target.closest("button");
if (!btn) return;
// Keep open for connect, memory, group toggles, collapse, whiteboard tools
- const keepOpen = ["new-arrow", "toggle-memory", "toggle-theme", "zoom-in", "zoom-out", "reset-view", "toolbar-collapse",
+ const keepOpen = ["new-arrow", "toggle-memory", "toggle-hide-forgotten", "toggle-theme", "zoom-in", "zoom-out", "reset-view", "toolbar-collapse",
"wb-pencil", "wb-rect", "wb-circle", "wb-line", "wb-eraser"];
if (btn.classList.contains("toolbar-group-toggle")) return;
if (!keepOpen.includes(btn.id)) {