`dropPlaceholdersForPacks` wraps `showConfirmModal` in `new Promise`, but only the OK path resolved — Cancel, Escape, and click-outside left the Promise pending forever (#84 part 2). Caller's `await` never returned; any future UI state tied to the result would have been stuck. Two-layered fix so the wider modal contract is sound, not just the one call site: - `showConfirmModal` (web/sidebar/modals.js) now fires `onCancel` for the Cancel button, Escape, AND overlay-click. An idempotent `settled` flag keeps the callback to a single fire; the OK path flips the flag before tearing down the overlay so it doesn't trigger onCancel via the wrapped `overlay.remove`. Previously only the Cancel button ran the callback — Esc and click-outside silently bypassed it. - `dropPlaceholdersForPacks` (web/sidebar/canvas_io.js) now passes `onCancel: () => resolve({ ok: false, reason: "cancelled" })`, matching the function's other failure shapes (`no-packs`, `load-failed`). Side win: same modals.js change closes a latent Esc/click-outside leak in the existing "Discard offline copy" recovery toast at `web/koolook_sidebar.js:130`, which had wired `onCancel` for the Cancel button only. Refs #84 (part 2 — part 1, stale serialized link cleanup, is on codex/pr-cleanups). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ComfyUI-Koolook
Kforge Labs for ComfyUI: a project-kit sidebar plus Koolook nodes for VFX, image, and video workflows.
The main experience is the Kforge Labs sidebar. It helps you keep a project setup together: favorite nodes, saved workflows, reusable modules, tags, snapshots, and recovery tools.
Kforge Labs Sidebar
Use the sidebar as a reusable project kit.
| Feature | What it does |
|---|---|
| Snapshots | Save and load the whole Kforge Labs state: favorite nodes, workflows, modules, tags, archive, and recovery data. |
| Search | Find nodes, workflows, directories, and tags from one field. Tags keep exact capitalization, so Depth and depth can be separate folders. |
| Nodes | Keep favorite nodes close, grouped by theme or repository name. |
| Workflows | Save the whole script, save a selection of nodes, load workflows, or insert saved modules into the current canvas. |
| Recovery | Use autosaves, starter presets, snapshot library settings, and missing-pack install helpers. |
New users should start with the bundled visual guide:
web/guide/index.html
Inside ComfyUI, open it from the Kforge Labs sidebar with Tools → Info.
Included Nodes
| Node ID | Display name | Category |
|---|---|---|
EasyWan22Prompt |
Wan 2.2 Easy Prompt (Koolook) | Koolook/Wan_Video |
EasyResize_Koolook |
Easy Resize (Koolook) | Koolook/Image |
EasyAIPipeline |
Easy AI Pipeline (Koolook) | Koolook/Pipeline |
easy_ImageBatch |
Easy Image Batch (Koolook) | Koolook/Image |
KoolookLoadCameraPosesAbsolute |
Koolook Load Camera Poses (Absolute Path) | Koolook/Camera |
Easy_hdr_VAE_encode |
Easy HDR VAE Encode (Koolook) | Koolook/VAE |
Easy_hdr_VAE_decode |
Easy HDR VAE Decode (Koolook) | Koolook/VAE |
The root Koolook nodes and the slim Radiance Koolook VAE wrappers have no
extra Python dependencies beyond torch, which ComfyUI already requires.
Install
ComfyUI-Manager
- Open ComfyUI Manager.
- Choose Install Custom Nodes.
- Install by Git URL:
https://github.com/malkuthro/ComfyUI-Koolook.git - Restart ComfyUI.
- Open the Kforge Labs sidebar tab.
Manual
Clone this repository into ComfyUI/custom_nodes/:
git clone https://github.com/malkuthro/ComfyUI-Koolook.git
Restart ComfyUI after installation.
Learn More
- Visual sidebar guide:
web/guide/index.html - User guide:
docs/user_guide/ - Change history:
CHANGELOG.md - Maintainer docs:
docs/maintainers/ - Fork attribution and provenance:
forks/THIRD_PARTY.md - Versioning reference:
docs/reference/versioning.md
Stability
For production work, install a pinned release tag or commit instead of following a moving branch head. Node IDs are treated carefully so saved ComfyUI workflows continue to load across compatible updates.
License
GPL-3.0. See LICENSE.
This package incorporates and adapts GPL-3.0 code from
fxtdstudios/radiance under
forks/radiance_koolook/. Attribution and per-fork modification notes are
tracked in forks/THIRD_PARTY.md and
forks/forks_manifest.yaml.