diff --git a/README.md b/README.md index 7569437..164b8a6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
@@ -35,6 +35,9 @@ - **Ctrl+S shortcut** — Press Ctrl+S (or Cmd+S on Mac) to take a manual snapshot alongside ComfyUI's own save - **SVG graph previews** — Hover any snapshot for a tooltip preview of the workflow graph; click the eye button for a full-size modal; diff view now shows side-by-side SVG comparison with color-coded highlights (green = added, red = removed, amber = modified) - **Diff view** — Compare any snapshot against the current workflow (one click) or two snapshots against each other (Shift+click to set base); see added/removed/modified nodes, widget value changes, and rewired connections in a single modal +- **Snapshot branching** — Swap to an old snapshot and edit to fork into a new branch; navigate between branches with `< 1/3 >` arrows at fork points in the sidebar and timeline, like ChatGPT conversation branching +- **Profile manager** — Save and load named sets of workflows as session profiles (like browser tab groups); profiles track which workflows you visited and restore the latest snapshot for each +- **Hide auto-saves** — Toggle button next to the search bar hides auto-save snapshots to reduce clutter while keeping manual, locked, and node-triggered snapshots visible - **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 @@ -175,6 +178,54 @@ Visually inspect any snapshot without restoring or swapping it. The SVG renderer draws nodes with their stored position, size, and colors. Links are rendered as bezier curves colored by type (blue for IMAGE, orange for CLIP, purple for MODEL, etc.). Collapsed nodes appear as thin title-only strips. Thumbnails (hover tooltips) auto-simplify by hiding labels and slot dots for clarity at small sizes. +### 14. Snapshot Branching + +Branching lets you explore multiple variations of a workflow without losing any history — similar to conversation branching in ChatGPT. + +**How it works:** + +1. Work normally — snapshots chain linearly as you edit +2. **Swap** to an older snapshot and start editing — the next auto-capture forks into a new branch from that point +3. A **`< 1/2 >`** branch navigator appears at every fork point in the sidebar and the timeline +4. Click the arrows to switch between branches — the sidebar and timeline update together + +**Details:** + +- Each snapshot stores a `parentId` linking it to its predecessor, forming a tree +- Legacy snapshots (from before branching) are automatically chained by timestamp for backwards compatibility +- **Pruning is branch-safe** — ancestors of the current branch tip and fork-point snapshots are never auto-pruned +- **Deleting a fork point** re-parents its children to the deleted snapshot's parent (with a confirmation dialog) +- Switching workflows clears branch navigation state + +### 15. Hide Auto-saves + +Click the **Hide Auto** button next to the search bar to hide all auto-save snapshots ("Auto" and "Initial"). The button turns blue and switches to **Show Auto** when active. + +The filter works together with text search — both are applied simultaneously. Branch navigators remain visible regardless of the filter. Manual, locked, node-triggered, and "Current" snapshots are always shown. + +### 16. Session Profiles + +Save and load named sets of workflows — like browser tab groups for ComfyUI. + +**Save a profile:** + +1. Click the **`>`** Profiles toggle between the workflow picker and search bar to expand +2. Click **Save** — enter a profile name +3. The profile captures all workflows you've visited in this session + +**Load a profile:** + +1. Expand the Profiles section +2. Click **Load** on any profile — the extension fetches the latest snapshot for each workflow and loads them via `loadGraphData` +3. The profile's active workflow is loaded last so it ends up visible +4. A toast reports how many workflows were loaded and how many were skipped (missing snapshots) + +**Delete a profile:** Click **X** on any profile (with confirmation). + +Profiles are stored as JSON files on the server at `