docs: refresh release guide screenshots (#148)
@@ -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).
|
||||
|
||||
@@ -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 `<comfyui-userdata>/koolook-settings.json` (set via Snapshot → Settings dialog),
|
||||
1. The `libraryPath` field in `<comfyui-userdata>/koolook-settings.json` (set via Snapshot → Save to... / Load from...),
|
||||
2. The `KFORGELABS_PRESETS` env var (deployment / facility config),
|
||||
3. Default fallback `<comfyui-userdata>/koolook-presets/`.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -483,6 +483,10 @@ figcaption {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.workflow-update-callout {
|
||||
color: #6db4ff;
|
||||
}
|
||||
|
||||
.section-ref-note {
|
||||
display: block;
|
||||
width: fit-content;
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 90 KiB |
@@ -38,7 +38,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<div class="overview-callouts" aria-label="Sidebar sections">
|
||||
<article class="overview-callout snapshot">
|
||||
<h3>Snapshot row</h3>
|
||||
<p>Load, Quick Save, Save, Settings.</p>
|
||||
<p>Status, Load, Quick Save, Save.</p>
|
||||
</article>
|
||||
<article class="overview-callout tools">
|
||||
<h3>Tools row</h3>
|
||||
@@ -82,7 +82,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<p class="eyebrow">Two-layer save</p>
|
||||
<h2>Save when you mean it. Auto-save catches the rest.</h2>
|
||||
</div>
|
||||
<p>Your named snapshot only changes when you click <strong>Save</strong> or <strong>Quick Save</strong>. Auto-save runs every 5 minutes in the background — but only when something has actually changed — and writes a separate recovery copy <span class="save-kind save-kind-periodic">PERIODIC</span> under <code><snapshot>_autosave/</code>. 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 <span class="save-kind save-kind-preload">PRE-LOAD_*</span> in that same <code><snapshot>_autosave/</code> folder, so you can restore it later from <code>Snapshot row → <project name> → L (Load) → Recovery auto-saves</code>. See <a href="#showcase-auto-save-options">Showcase 2</a> below.</p>
|
||||
<p>Your named snapshot only changes when you click <strong>Save</strong> or <strong>Quick Save</strong>. Auto-save runs every 5 minutes in the background — but only when something has actually changed — and writes a separate recovery copy <span class="save-kind save-kind-periodic">PERIODIC</span> under <code><snapshot>_autosave/</code>. If you load a snapshot whose recovery copy is newer than the saved version, the Load dialog keeps both choices in view: <strong>NO - load saved</strong> or <strong>YES - load latest</strong>. At load time, Kforge Labs also creates a timestamped recovery copy of the kit being replaced <span class="save-kind save-kind-preload">PRE-LOAD_*</span> in that same <code><snapshot>_autosave/</code> folder, so you can restore it later from <code>Snapshot row → L (Load) → Recovery auto-saves</code>. See <a href="#showcase-auto-save-options">Showcase 2</a> below.</p>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
@@ -112,7 +112,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<li>Load</li>
|
||||
<li>Quick Save</li>
|
||||
<li>Save</li>
|
||||
<li>Settings</li>
|
||||
<li>Save to... / Load from...</li>
|
||||
</ul>
|
||||
</article>
|
||||
<article>
|
||||
@@ -176,7 +176,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<div class="showcase-copy">
|
||||
<p class="eyebrow">Snapshot library · Auto-save options</p>
|
||||
<h3>Save when you mean it. Auto-save catches the rest.</h3>
|
||||
<p>The Load dialog also shows <strong>Recovery auto-saves</strong> for each kit. <strong>Periodic</strong> is the latest background auto-save. <strong>Pre-load</strong> entries are timestamped copies made when another kit replaced this one. <span class="section-ref-note">See also: <a class="section-ref" href="#two-layer-save">TWO-LAYER SAVE</a></span></p>
|
||||
<p>The Load dialog shows <strong>Recovery auto-saves</strong> for the selected kit. <strong>Periodic</strong> is the latest background auto-save. <strong>Pre-load</strong> entries are timestamped copies made when another kit replaced this one. When the newest recovery copy is newer than the named save, choose <strong>NO - load saved</strong> or <strong>YES - load latest</strong>. <span class="section-ref-note">See also: <a class="section-ref" href="#two-layer-save">TWO-LAYER SAVE</a></span></p>
|
||||
</div>
|
||||
<figure class="showcase-media">
|
||||
<img src="./img/screenshots/auto-save-pre-load.png" alt="Recovery auto-saves section showing periodic and pre-load recovery entries">
|
||||
@@ -186,7 +186,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<div class="showcase-copy">
|
||||
<p class="eyebrow">Reusable modules</p>
|
||||
<h3>Save selected nodes as a module.</h3>
|
||||
<p><strong>Save</strong> saves the entire canvas under the workflows tree. <strong>Save selection</strong> stores only the selected canvas nodes. Tag it with <code>Module</code> to insert it back into another canvas later.</p>
|
||||
<p><strong>Save</strong> saves the entire canvas under the workflows tree. <strong>Save selection</strong> stores only the selected canvas nodes. Use <strong>Save as module</strong> to insert it back into another canvas later.</p>
|
||||
</div>
|
||||
<figure class="showcase-media module-shot">
|
||||
<img src="./img/screenshots/all-icons-new.png" alt="Sidebar toolbar screenshot with workflow save-selection highlighted">
|
||||
@@ -218,7 +218,7 @@ SPDX-License-Identifier: GPL-3.0-only
|
||||
<div class="showcase-copy">
|
||||
<p class="eyebrow">Context actions</p>
|
||||
<h3>Manage saved workflows from the sidebar.</h3>
|
||||
<p><strong>Right-click</strong> any saved workflow or module for a full action menu. <strong>Load</strong>, rename, retag, move between folders, or archive — all without leaving the sidebar.</p>
|
||||
<p><strong>Right-click</strong> any saved workflow or module for a full action menu. Use <strong class="workflow-update-callout">Update from selection or canvas</strong> 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.</p>
|
||||
</div>
|
||||
<figure class="showcase-media portrait-shot">
|
||||
<img src="./img/screenshots/right-click-functions.png" alt="Right-click context menu on a saved workflow showing available actions">
|
||||
|
||||