diff --git a/CHANGELOG.md b/CHANGELOG.md index 84c55fe..51c64f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,7 @@ The format is inspired by Keep a Changelog and SemVer. exposed. A new optional `source_batch` (IMAGE) input accepts a pre-batched image stack (e.g. straight from Load Video). When `source_batch` is connected and a slot's individual `imageN` is *not* connected, the node - pulls frame `imageN_frame - start_frame` from `source_batch` — so + pulls VFX frame `imageN_frame` from `source_batch[imageN_frame - 1]` — so `imageN_frame` controls both *which source frame to pick* and *where to place it on the output timeline*. This collapses the typical "Load Video → Get Images From Batch In Range × N → Easy Image Batch" @@ -61,19 +61,19 @@ The format is inspired by Keep a Changelog and SemVer. accepts a list of VFX-numbered frames separated by commas, newlines, spaces, or any mix (e.g. `"1, 27, 41, 63, 85, 120"` or one number per line) — for sequences needing more than 4 keyframes from a - `source_batch`. Each number both picks `source_batch[N - start_frame]` - and places it at the same timeline position (same convention as the - per-slot `imageN_frame` fields). Bad tokens warn and are skipped; + `source_batch`. Each number both picks `source_batch[N - 1]` and places it + at output index `N - cut_start_frame` (same convention as the per-slot + `imageN_frame` fields). Bad tokens warn and are skipped; out-of-range values warn and are skipped. **List-vs-slot interaction rule:** when `source_frames` is non-empty, the 4 manual slots contribute ONLY where `imageN` is explicitly - connected — the `imageN_frame` defaults (0, 4, 8, 12) do NOT pick from + connected — the `imageN_frame` defaults (5, 9, 13, 17) do NOT pick from `source_batch` in this mode. So the list fully controls the selection, with explicit `imageN` connections used solely to override individual positions. When `source_frames` is empty, the original 4-keyframe behaviour is preserved (unconnected slots fall back to - `source_batch[imageN_frame]`). + `source_batch[imageN_frame - 1]`). Priority order (later wins): `source_frames` list → 4 manual slots. Output dedup is automatic (set-based tracking). diff --git a/docs/maintainers/curated-sidebar.md b/docs/maintainers/curated-sidebar.md index 41c5476..24b602b 100644 --- a/docs/maintainers/curated-sidebar.md +++ b/docs/maintainers/curated-sidebar.md @@ -29,7 +29,7 @@ Nothing seeds into `localStorage` directly anymore — replaced the legacy `cura | `localStorage["koolook.snapshot.currentPresetName.v1"]` | Last preset the user loaded/saved | The library directory is configured by (in priority order): -1. The `libraryPath` field in `/koolook-settings.json` (set via Snapshot → Settings dialog), +1. The `libraryPath` field in `/koolook-settings.json` (set via Snapshot → Save to... / Load from...), 2. The `KFORGELABS_PRESETS` env var (deployment / facility config), 3. Default fallback `/koolook-presets/`. diff --git a/docs/user_guide/README.md b/docs/user_guide/README.md index d39e5b8..3e437b4 100644 --- a/docs/user_guide/README.md +++ b/docs/user_guide/README.md @@ -17,6 +17,7 @@ attribution is visible without needing a fork-shaped directory tree. | `Koolook/Camera` | 🚧 page TBD | `KoolookLoadCameraPosesAbsolute` | | `Koolook/Wan_Video` | 🚧 page TBD | `EasyWan22Prompt` | | `Koolook/VAE` | ✅ [`nodes/radiance_koolook_v2_3_3/`](nodes/radiance_koolook_v2_3_3/) | `Easy_hdr_VAE_encode`, `Easy_hdr_VAE_decode` | +| `Koolook/Testing` | 🚧 page TBD | `Easy_Pattern` | ## Cross-cutting concepts diff --git a/web/guide/guide.css b/web/guide/guide.css index ad6fe60..e23943c 100644 --- a/web/guide/guide.css +++ b/web/guide/guide.css @@ -483,6 +483,10 @@ figcaption { font-weight: 700; } +.workflow-update-callout { + color: #6db4ff; +} + .section-ref-note { display: block; width: fit-content; diff --git a/web/guide/img/screenshots/all-icons-new.png b/web/guide/img/screenshots/all-icons-new.png index 7bddc2f..8492bb7 100644 Binary files a/web/guide/img/screenshots/all-icons-new.png and b/web/guide/img/screenshots/all-icons-new.png differ diff --git a/web/guide/img/screenshots/auto-save-pre-load.png b/web/guide/img/screenshots/auto-save-pre-load.png index da2aa92..c23afc9 100644 Binary files a/web/guide/img/screenshots/auto-save-pre-load.png and b/web/guide/img/screenshots/auto-save-pre-load.png differ diff --git a/web/guide/img/screenshots/load-snapshot.png b/web/guide/img/screenshots/load-snapshot.png index efb1148..0c5528e 100644 Binary files a/web/guide/img/screenshots/load-snapshot.png and b/web/guide/img/screenshots/load-snapshot.png differ diff --git a/web/guide/img/screenshots/right-click-functions.png b/web/guide/img/screenshots/right-click-functions.png index e4eef2f..98a8218 100644 Binary files a/web/guide/img/screenshots/right-click-functions.png and b/web/guide/img/screenshots/right-click-functions.png differ diff --git a/web/guide/img/screenshots/sidebar-overview.png b/web/guide/img/screenshots/sidebar-overview.png index b69d0fa..441d3ae 100644 Binary files a/web/guide/img/screenshots/sidebar-overview.png and b/web/guide/img/screenshots/sidebar-overview.png differ diff --git a/web/guide/index.html b/web/guide/index.html index 16b876d..cca17db 100644 --- a/web/guide/index.html +++ b/web/guide/index.html @@ -38,7 +38,7 @@ SPDX-License-Identifier: GPL-3.0-only

Snapshot row

-

Load, Quick Save, Save, Settings.

+

Status, Load, Quick Save, Save.

Tools row

@@ -82,7 +82,7 @@ SPDX-License-Identifier: GPL-3.0-only

Two-layer save

Save when you mean it. Auto-save catches the rest.

-

Your named snapshot only changes when you click Save or Quick Save. Auto-save runs every 5 minutes in the background — but only when something has actually changed — and writes a separate recovery copy PERIODIC under <snapshot>_autosave/. If you load a snapshot whose auto-save is newer than the saved version, Kforge Labs asks YES (load auto-save) or NO (load saved version). At load time, Kforge Labs also creates a timestamped recovery copy of the kit being replaced PRE-LOAD_* in that same <snapshot>_autosave/ folder, so you can restore it later from Snapshot row → <project name> → L (Load) → Recovery auto-saves. See Showcase 2 below.

+

Your named snapshot only changes when you click Save or Quick Save. Auto-save runs every 5 minutes in the background — but only when something has actually changed — and writes a separate recovery copy PERIODIC under <snapshot>_autosave/. If you load a snapshot whose recovery copy is newer than the saved version, the Load dialog keeps both choices in view: NO - load saved or YES - load latest. At load time, Kforge Labs also creates a timestamped recovery copy of the kit being replaced PRE-LOAD_* in that same <snapshot>_autosave/ folder, so you can restore it later from Snapshot row → L (Load) → Recovery auto-saves. See Showcase 2 below.

@@ -112,7 +112,7 @@ SPDX-License-Identifier: GPL-3.0-only
  • Load
  • Quick Save
  • Save
  • -
  • Settings
  • +
  • Save to... / Load from...
  • @@ -176,7 +176,7 @@ SPDX-License-Identifier: GPL-3.0-only

    Snapshot library · Auto-save options

    Save when you mean it. Auto-save catches the rest.

    -

    The Load dialog also shows Recovery auto-saves for each kit. Periodic is the latest background auto-save. Pre-load entries are timestamped copies made when another kit replaced this one. See also: TWO-LAYER SAVE

    +

    The Load dialog shows Recovery auto-saves for the selected kit. Periodic is the latest background auto-save. Pre-load entries are timestamped copies made when another kit replaced this one. When the newest recovery copy is newer than the named save, choose NO - load saved or YES - load latest. See also: TWO-LAYER SAVE

    Recovery auto-saves section showing periodic and pre-load recovery entries @@ -186,7 +186,7 @@ SPDX-License-Identifier: GPL-3.0-only

    Reusable modules

    Save selected nodes as a module.

    -

    Save saves the entire canvas under the workflows tree. Save selection stores only the selected canvas nodes. Tag it with Module to insert it back into another canvas later.

    +

    Save saves the entire canvas under the workflows tree. Save selection stores only the selected canvas nodes. Use Save as module to insert it back into another canvas later.

    Sidebar toolbar screenshot with workflow save-selection highlighted @@ -218,7 +218,7 @@ SPDX-License-Identifier: GPL-3.0-only

    Context actions

    Manage saved workflows from the sidebar.

    -

    Right-click any saved workflow or module for a full action menu. Load, rename, retag, move between folders, or archive — all without leaving the sidebar.

    +

    Right-click any saved workflow or module for a full action menu. Use Update from selection or canvas to refresh an existing saved workflow without recreating it. You can also load, insert, rename, retag, move, duplicate, archive, and delete — all without leaving the sidebar.

    Right-click context menu on a saved workflow showing available actions