From 51cb2f685502ecb8c9980b5067f9d9ca695acbde Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Tue, 24 Feb 2026 23:41:23 +0100 Subject: [PATCH] =?UTF-8?q?Update=20README=20for=20v2.2.0=20=E2=80=94=20do?= =?UTF-8?q?cument=20timeline,=20auto-save,=20Ctrl+S=20shortcut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- README.md | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 996b669..2f41d47 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

ComfyUI Registry MIT License - Version + Version ComfyUI Extension

@@ -28,6 +28,10 @@ - **Theme-aware UI** — Adapts to light and dark ComfyUI themes - **Toast notifications** — Visual feedback for save, restore, and error operations - **SaveSnapshot node** — Trigger snapshot captures from your workflow with a custom node; node snapshots are visually distinct (purple border + "Node" badge) and have their own rolling limit +- **Timeline bar** — Optional visual timeline on the canvas showing all snapshots as dots, with a Snapshot button for quick captures +- **Active & current markers** — When you swap to a snapshot, the timeline highlights where you came from (green dot) and where you are (white ring) +- **Auto-save before swap** — Swapping to an older snapshot automatically saves your current state first, so you can always get back +- **Ctrl+S shortcut** — Press Ctrl+S (or Cmd+S on Mac) to take a manual snapshot alongside ComfyUI's own save - **Lock/pin snapshots** — Protect important snapshots from auto-pruning and "Clear All" with a single click - **Concurrency-safe** — Lock guard prevents double-click issues during restore - **Server-side storage** — Snapshots persist on the ComfyUI server's filesystem, accessible from any browser @@ -91,14 +95,36 @@ Click the **workflow name** below the header to expand the workflow picker. It l This is especially useful for recovering snapshots from workflows that were renamed or deleted. -### 8. Delete & Clear +### 8. Timeline Bar + +Enable the timeline in **Settings > Snapshot Manager > Timeline > Show snapshot timeline on canvas**. A thin bar appears at the bottom of the canvas with a dot for each snapshot: + +| Marker | Meaning | +|--------|---------| +| **Blue dot** | Regular snapshot | +| **Purple dot** | Node-triggered snapshot | +| **Yellow border** | Locked snapshot | +| **White ring (larger)** | Active — the snapshot you swapped TO | +| **Green dot** | Current — your auto-saved state before the swap | + +Click any dot to swap to that snapshot. The **Snapshot** button on the right side of the bar takes a quick manual snapshot. + +### 9. Auto-save Before Swap + +When you swap to an older snapshot (via the sidebar or timeline), the extension automatically captures a "Current" snapshot of your work-in-progress first. This green-marked snapshot appears on the timeline so you can click it to get back. The marker disappears once you edit the graph (since auto-capture creates a proper snapshot at that point). + +### 10. Keyboard Shortcut + +Press **Ctrl+S** (or **Cmd+S** on Mac) to take a manual snapshot. This works alongside ComfyUI's own workflow save — both fire simultaneously. + +### 11. Delete & Clear - Click **×** on any snapshot to delete it individually (locked snapshots prompt for confirmation) - Click **Clear All Snapshots** in the footer to remove all unlocked snapshots for the current workflow (locked snapshots are preserved) ## Settings -All settings are available in **ComfyUI Settings > Snapshot Manager > Capture Settings**: +All settings are available in **ComfyUI Settings > Snapshot Manager**: | Setting | Type | Default | Description | |---------|------|---------|-------------| @@ -107,6 +133,7 @@ All settings are available in **ComfyUI Settings > Snapshot Manager > Capture Se | **Max snapshots per workflow** | Slider | `50` | Maximum number of unlocked snapshots kept per workflow (5–200). Oldest unlocked are pruned automatically; locked snapshots are never pruned | | **Capture on workflow load** | Toggle | `On` | Save an "Initial" snapshot when a workflow is first loaded | | **Max node-triggered snapshots** | Slider | `5` | Rolling limit for SaveSnapshot node captures per workflow (1–50). Node snapshots are pruned independently from auto/manual snapshots | +| **Show snapshot timeline** | Toggle | `Off` | Display a timeline bar at the bottom of the canvas with snapshot markers, active/current indicators, and a quick Snapshot button | ## Architecture @@ -130,6 +157,14 @@ All settings are available in **ComfyUI Settings > Snapshot Manager > Capture Se 3. The snapshot is saved with `source: "node"` and pruned against its own rolling limit (`maxNodeSnapshots`) 4. Node snapshots appear in the sidebar with a **purple left border** and **"Node" badge** +**Swap with auto-save:** + +1. User clicks **Swap** (sidebar or timeline marker) +2. `captureSnapshot("Current")` saves the current graph state **before** the swap — hash dedup prevents duplicates if nothing changed +3. The target snapshot is loaded into the graph +4. The **timeline** updates: the swapped-to snapshot gets a white ring (active), the auto-saved snapshot gets a green dot (current) +5. Clicking the green dot swaps back; editing the graph clears both markers (the next auto-capture supersedes them) + **Storage:** Snapshots are stored as JSON files on the server at `/data/snapshots//.json`. They persist across browser sessions, ComfyUI restarts, and are accessible from any browser connecting to the same server. ## FAQ