* refactor(nodes): remove superseded LTX Director extra nodes + harden registry (#198) Remove the two experimental nodes layered on the WhatDreamsCost fork — KoolookAudioTranscriptTimeline (k_audio_timeline.py) and KoolookTimelineEditor (k_timeline_editor.py) — plus the transcribe_audio_timeline.py CLI and its test. The audio-transcript to Director-timing job now lives inside the fork via the Director's audio_transcript_json input, so the standalone nodes are redundant. Also drops the orphaned [audio]/faster-whisper extra and updates packaging, dev-sync, web, and docs references. Harden the node registry against the #183 failure: __init__.py now imports each node group independently and installs the /koolook/presets/* routes regardless of node-import results, so one missing or broken module degrades to 'that node absent' instead of zeroing every node and 404'ing the sidebar disk routes. A new test keeps every root k_*.py listed in dev-sync's RUNTIME_PATHS. Closes #198. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(nodes): ship loader gates via dev-sync-audio; generalize RUNTIME_PATHS guard (#198) Address the K-Flame review on #199: MEDIUM — the #198 refactor made koolook_versioning.py a single registration gate, but dev-sync-audio shipped the new __init__.py without it (and the k_*.py-glob guard test couldn't see it). Add koolook_versioning.py AND koolook_install_guard.py (whose absolute-import fallback raises uncaught) to AUDIO_PATHS so a scoped sync can never leave the loader pointing at a module the target lacks. Generalize the guard test: parse __init__.py's actual load-time import targets (relative imports + _merge_node_group calls) and assert each is in RUNTIME_PATHS, instead of globbing k_*.py which missed the non-k_ gates. Add an AUDIO_PATHS gate-coverage test. LOW — CHANGELOG now records the [audio]/faster-whisper + transcribe_audio_timeline.py removal as an external-contract break. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ComfyUI-Koolook documentation
Three audience buckets — pick where to look based on what you're trying to do.
| If you want to … | Go to | One-line description |
|---|---|---|
| Use a node in your ComfyUI workflow | user_guide/ |
Per-node guides, screenshots, recipes |
| Look something up — a term, a node ID, a list | reference/ |
Glossary, node inventory, spec sheets |
| Cut a release / fork a node / debug CI / hit the Comfy Registry API | maintainers/ |
Releasing, Registry API, Node versioning rules |
| Compare UI design proposals before implementation | designs/ |
Focused mockups and screenshots for in-progress UX decisions |
| Run AI-assisted model evaluation loops | automations/ |
Visual loop overview, setup contract, per-model findings, and /make-card workflow |
Files that intentionally stay at the repo root
| File | Why it's not in docs/ |
|---|---|
../README.md |
GitHub repo home + Comfy Registry pulls description from here |
../LICENSE |
pyproject.toml references it; GitHub recognizes the license badge from this path only |
../CHANGELOG.md |
Changelog parsers and release tooling expect it at root |
../CLAUDE.md |
Claude Code reads project-level agent instructions from <repo>/CLAUDE.md |