Files
olivv-cs-ComfyUI-FunPack/app
digital-garbageandClaude Sonnet 5 770d58a315 feat: schema-driven Models & Pipeline, plus shared pipeline state
models.js's ~2700 lines were entirely built around v4's Studio "roles" and
"candidates per role" concept, neither of which exists in v5 -- the
pipeline is a flat, swappable slot list, not a fixed named-role set.
Replaced with a renderer over the live slots (GET /api/pipeline) grouped
the way the pipeline itself groups them (Loaders/Preparation/Sampling/
Render), each slot's real widget inputs read live from GET /api/nodes and
edited through the same /api/pipeline POST. The "not ready to generate
yet" / incomplete-inputs list is now real and visible, not implied.
Node add/remove/swap/wire is NOT built here -- v4's graph-editing machinery
assumed nodes that no longer exist, and a real editor is its own piece of
work; this establishes the actual working file-picker surface first.

Extracted `pipeline_state.js`: engine_settings.js and models.js both edit
the SAME live pipeline, and each independently caching its own `slots`
copy (as Engine Settings' fix earlier this session did) would let one
panel's save silently revert the other's un-saved edits the moment the
user switched between them -- the exact stale-state bug already fixed
once this session, about to recur in a second file. One shared module now
owns `slots`/the manifest/the save queue; both panels are thin renderers
over it. engine_settings.js refactored to consume it (no behavior change,
confirmed live).

Live-verified end to end: picked real model/clip/vae files scanned off
disk, watched "incomplete" clear field by field down to "ready to
generate", and got back a genuine queueable ComfyUI prompt graph. Then
confirmed the cross-panel fix specifically: saved an Engine Settings
toggle afterward and the POST still carried every file pick Models &
Pipeline had made -- neither panel clobbers the other.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 10:59:47 +03:00
..