Extends the shared web/js/multi_loader.js to a third kind ("video") for
AI2GoMultiVideoLoader / AI2GoMultiVideoLoaderAdvanced: NODES map entries,
video/* MIME acceptance, drop-zone wording, a video-row preview (mm:ss +
WxH probed via a hidden <video>), and a serializeValue guard on force_rate
mirroring the existing max_size guard so a '' value can't fail validation.
README and the design spec's amendments section are extended to match.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Multi Loader nodes previously sized their output sockets to the loaded
file count, so deleting one file shrank the sockets and destroyed any
wire on a later socket. Add an output_slots combo (auto/1-8, front-end
only — Python already returns a fully padded output list) so a fixed
socket count can be pinned and wires survive file-list edits; the
status line now flags file/socket-count mismatches.
Also drop the separate + Add button: the drop zone itself is now
clickable and opens the same file picker, so there is one field for
both drag-and-drop and click-to-browse.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TDD, 12 bite-sized tasks: comfy-free engine (tracer, A1111 formatter,
AutoV2 hashing+cache, PNG builder), the two io.ComfyNode classes, and
the JS Test-detection mirror.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two output nodes that write the A1111 `parameters` PNG chunk Civitai
reads, capturing the real prompt used per run (incl. the Prompt Batch
line at its run index) instead of the ComfyUI workflow. Full A1111
parity: LoRA tags + AutoV2 hashes so Civitai auto-links resources.
Basic auto-traces the graph; Advanced adds override sockets.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>