Commit Graph
271 Commits
Author SHA1 Message Date
Claude 0f36445830 Interpolate runs as a FunUI background job, not a ComfyUI prompt (an extra prompt without loaders made ComfyUI drop the workflow's models); the NVIDIA effect stays loaded between jobs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 13:18:07 +00:00
Claude 97b85a3f09 Interpolate: RTX Frame Generation as its own module and add-on, button and modes like Upscale
Shared video stream and NVIDIA helpers move to core (video_pipe, nvidia); the add-on needs nvidia-vfx 0.2+, moves an older one up and never moves a newer one back; Upscale and Interpolate cannot feed each other in Always mode.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 13:00:01 +00:00
Claude bd30a9524e Two stages: wrappers behind it wrap the whole run once; Noise merging, Seed search, Camera move, Shot memory follow the cut
Noise merging's per-run start ran once per stage, so it reported no matching step in the stage without the named step,
and the Second run restarted from zero at the cut. Two stages now moves the OUTER_SAMPLE wrappers behind it around the
staged run, and exposes the stage on the guider for the per-stage sampler wrappers.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjXkZ7WjhgGdsdUwPsc
2026-10-29 12:52:25 +00:00
Claude 5df050a7f2 Project settings: Resolution is the Short side / Long side / Pixel count; H3 sizes with FunUIAspectSize, old projects keep Pixel count
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYcwzhZeJZAD6ujMjA
2026-10-29 11:47:13 +00:00
Claude 373f0ea1ab Two stages: register as a modifier (it was never installed), test that every install() is provided
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjWwkXVabCNSQ53xaW1
2026-10-29 11:04:16 +00:00
Claude 3837d585e0 VAE Loader: optional decode-only VAE (Sol-H3-VAE, X2 Detail) while the main VAE encodes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 10:59:06 +00:00
Claude a80e58490c Two stages as a sampling setting (a model wrapper, any sampler) instead of a preset
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 10:05:19 +00:00
Claude 791bb6ca48 H3: two-stage preset (first steps on a smaller picture), Sampler denoised output, Resample to an exact size without an upscaler file, Stage Size node
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 09:55:37 +00:00
Claude b108d4f4f5 H3 loader: MXFP8 option for the middle blocks (Sol-H3 recipe), credit in README
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 09:44:49 +00:00
Claude 61dc98aeb0 Hide unproven enhancements on LTX: a model can hold modules back with hides:<id> traits
Only Noise merging and the Attention explorer (and Taste) stay offered on LTX until the rest have been proven there.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYZhHqk196LykrWy3T
2026-10-27 12:10:39 +00:00
Claude 048dcd48cf Blocks settings adapt to the detected model: block count read from the file header, hint and clamp in the panel
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYZhHqk196LykrWy3T
2026-10-27 10:56:02 +00:00
Claude 8e22f17b00 LTX: Image to Video from References saved before the aspect source is upgraded on load
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 10:46:18 +00:00
Claude 5d84c71056 LTX Image to Video: the timeline picture is the aspect source (new FunUI Aspect Size node), the project size is the budget
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 10:43:45 +00:00
Claude a17484a9aa Freeze the Guide Frames node's inputs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYZhHqk196LykrWy3T
2026-10-27 10:38:06 +00:00
Claude a63bedfd5f Tests: route tests get stand-in model files so a machine without models still sees a deleted file; optional-slot list follows the two LTX presets
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 10:34:49 +00:00
Claude ee56a282d9 Randomizer (attention temperature) now works on LTX: new block_scope trait, LTX blocks counted
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYZhHqk196LykrWy3T
2026-10-27 10:23:26 +00:00
Claude c70c74f01f LTX: two tested presets (Image to Video from References, Video to Video direct) with text to video as the fallback in both; docs say LTX 2.3 is tested
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 09:45:04 +00:00
Claude d4641450c8 Reapply "Direct v2v saved before the video-only flag keeps taking its video from references; render polls survive one unanswered reply; LTX project HTTP test"
This reverts commit 5a2f9c5999.
2026-10-27 09:14:20 +00:00
Claude d277ebc76c Log: a console that cannot print a file name no longer fails the run that mentioned it
A clip called in Japanese on a machine with an ASCII console raised UnicodeEncodeError out of log.info, inside Load Media.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 09:12:39 +00:00
Claude f8955c2ef2 Keep ComfyUI's console on disk (Previous run in the Log window) and log memory at LoRA load and sampler start
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 09:03:30 +00:00
Claude 5a2f9c5999 Revert "Direct v2v saved before the video-only flag keeps taking its video from references; render polls survive one unanswered reply; LTX project HTTP test"
This reverts commit ed4de1e8af.
2026-10-27 08:52:11 +00:00
Claude ed4de1e8af Direct v2v saved before the video-only flag keeps taking its video from references; render polls survive one unanswered reply; LTX project HTTP test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 08:48:01 +00:00
Claude 9f8705dd63 Shot camera and SLA need H3-only traits: hidden on LTX (node fields can now require a trait)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 08:29:22 +00:00
Claude a4eaabc20e Video input: prepare reference videos (size, crop, rate, skip, cut, every Nth, cap) per project or per scene
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BzJLJWVu7RZnbRqm3nYAnX
2026-10-27 01:04:58 +00:00
Claude b5656db6b8 Timing: the sampler line gives the time of every step, not just the first two
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmbxSsiiz8wmt226dtbFXe
2026-10-25 17:03:07 +00:00
Claude cce20f136a Shot Camera: spaCy model failed to load with preshed 3.0.14 (OverflowError); pin preshed<3.0.14, repair on start, name the real cause in the log
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T81dXrsAyE9Uu8UvYzKvGt
2026-10-25 16:20:14 +00:00
Claude b903648950 Wheel: Clear references and Disable all guidance enhancements; Guidance switch in Engine settings; branch notes in the branch switcher
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QNQWU3ukHBLpBb9driYFi8
2026-10-25 16:16:46 +00:00
Claude 527d368c82 SLA: optional rising sparsity (sla_sparsity_start), GSRS idea; CPU test env script
Skip fewer attention blocks on early steps and more on late ones, in a straight
line up to sla_sparsity. Off at 0, untested on H3. Credit GSRS (arXiv 2610.21129).
tools/test_env.sh and tools/cpuforce.py set up the suite on a GPU-less machine.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0176SHndmQj7T1VtWAWZiNcq
2026-10-25 16:05:33 +00:00
Claude dc4e51563c 5.0.3: stale Decisiveness test, migration tests, changelog folded into the release
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016acRss69eH1235eRdFTZHY
2026-10-25 13:44:56 +00:00
Claude 2e445244df Test: self-removal refusal names the folder, whatever it is called
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016acRss69eH1235eRdFTZHY
2026-10-25 13:28:36 +00:00
Claude 3adebb731f Rename FunPack to FunUI (5.0.3 Classy Chopper): /fun endpoint, wink logo, load-time migration of old names
Old project/workflow names and browser settings migrate on load; /funpack redirects to /fun.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016acRss69eH1235eRdFTZHY
2026-10-25 13:11:03 +00:00
Claude a3031cf630 feat: one switch in Settings > Conditioning turns off automatic camera prompt enhancement
Shot camera's moves, cuts, views, reframes and their chances sit out;
liked details and every other enhancement are untouched.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014xY2qM34KgJ8yHLsTQEou1
2026-10-22 15:38:39 +00:00
Claude 30d499697c fix: PTD adapter list is read again each time Engine settings open
A setting can now read its choices from disk: a module answers setting_options and the module list asks it on every request; Engine settings reload the list when they open. A file added after ComfyUI started shows without a restart.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0164nckPWA2L2ugVqiDcXzc3
2026-10-22 15:18:13 +00:00
Claude b1def9bab2 feat: Log colours only the lines that need attention (warnings amber, errors red); healthy output stays plain
The Log window and the terminal share one rule. Levels come from FunPack's own
[Log] severities; ComfyUI and other packs are matched on strict error/warning
markers and tracebacks, not on words in prose.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FACCerXXJ2TbeLuRi6k5AG
2026-10-22 06:50:08 +00:00
Claude 156f86e618 fix: checkpoint loader reports a missing VAE; a start picture no pipeline slot takes is named as unused
Tests: VAE, LoRA (7 key dialects), CLIP and checkpoint loaders; every preset x every kind of picked file is used or named.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WP6HMLLhRYcghAEXK4KLwK
2026-10-21 04:36:20 +00:00
Claude c089fe3a9a test: every diffusion loader option loads a tiny H3 file; every reference kind reaches its H3 socket and passes ComfyUI validation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WP6HMLLhRYcghAEXK4KLwK
2026-10-21 04:29:20 +00:00
Claude 98a1504a29 fix: workflow import reads the official ComfyUI templates: lost widget values, dynamic inputs, autogrow names, prompt through guiders
Audit against all 634 workflows ComfyUI ships (comfyui-workflow-templates). Found and fixed: a crash on list-valued widgets; widgets of nodes inside subgraphs losing seed/denoise; dynamic combos (resize, save format, sparse attention) shifting every later value; instance values mapped by the wrong inputs; Math expression / Batch images / Reference multi latent inputs refused; INT wires into FLOAT-or-INT widgets refused; the prompt not found when conditioning goes through BasicGuider (official H3 workflows); widgets an older export never had now take the node default; nodes no save or preview uses are left out as ComfyUI does. Autogrow sockets are now numbered as ComfyUI numbers them (R2V has 9/3/3/3, FunPack offered one extra of each).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WP6HMLLhRYcghAEXK4KLwK
2026-10-21 04:10:12 +00:00
Claude 24f946f43c release: 5.0.1 changelog, version and training credit
Load Media refuses unreadable files in plain words; gallery delete refuses odd names; stale tests updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9uCRvqd1GDx6PZDZLyovu
2026-10-21 03:40:31 +00:00
Claude f6b49d318a feat: a video with a soundtrack also feeds R2V's paired video audio input
The media list says which videos have sound.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CHWxqHtxwWrq4kEyFTaHds
2026-10-21 02:46:44 +00:00
Claude a36af5f3a1 fix: a video or audio reference is routed from the inputs the model node offers, not from preset data
Works for any H3 Reference to Video pipeline, edited or not. Drops the preset routing data and the refresh that carried it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CHWxqHtxwWrq4kEyFTaHds
2026-10-21 02:43:47 +00:00
Claude bf62683f5a feat: Load Media takes a picture, video or sound and the app wires the output that fits
A video or audio reference now uses an ordinary reference slot, so old projects need no new slots; saved media slots take the preset's current roles.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CHWxqHtxwWrq4kEyFTaHds
2026-10-21 02:22:23 +00:00
Claude dfc8153cb3 Media upload: show percent while sending, read the body in 1MB chunks, write off the event loop
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6rGxH5eLym2ADye6YDgEW
2026-10-17 23:09:37 +00:00
Claude 2921ff517b Gallery: saved videos and pictures next to Temp files, with preview and confirmed delete
Settings > Saved & Temp Files now has two tabs. Saved lists what ComfyUI wrote to its output folder; Temp is the old list. Click a file to look at it, open it in a tab, or delete it after a question. Delete only removes media files inside the chosen folder.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xHQk4XeXzJpBR3HSwnoBZ
2026-10-17 21:17:31 +00:00
Claude b19f7dec2f Log a line whenever a save changes a project's length
A project length that changed on its own is hard to place; the persisted Log now says when and from what to what.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:28:56 +00:00
Claude 65a731584c LoRA training: save a copy of the LoRA every N steps as name_stepN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:14:16 +00:00
Claude 6603f42ecb LoRA training: pause, resume and a preview LoRA at chosen steps (backend)
A run can wait at a step boundary (Pause, or every N steps for a preview): its state is saved,
the LoRA so far is written as <name>_preview.safetensors, and the card is let go. Resume carries on
from the saved state under the same run. UNTESTED on real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:08:01 +00:00
Claude 919097c732 LoRA training: our own loop for H3, and a Log that survives a crash
The H3 run trains with a loop of our own (LoRA on the attention and feed-forward projections of the
50 blocks, per-block checkpoint, uniform noise levels, musubi-tuner's approach) while ComfyUI carries
the batches. Every Log record is flushed to disk as it is said and reloaded on start; the run
writes each stage and step to it. ComfyUI's own offloading toggle is ignored by the new loop.
UNTESTED on the real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:57:06 +00:00
Claude d0d572c4ec feat: block swap option for LoRA training and a per-block memory log in the backward pass
Block swap keeps the frozen weights of the last N transformer blocks in system
memory and lets ComfyUI's weight casting fetch them one layer at a time. The idea
and the block count as the one knob follow musubi-tuner's block swap (kohya-ss,
Apache License 2.0); this is an independent implementation.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:30:50 +00:00
Claude 45b60ac874 Training captions are plain text boxes; the set has its own prefix and postfix
Tags from the tagger are added after a comma and the caption is never reworded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:38:03 +00:00
Claude c4adc1242d Training takes the model file from the pipeline and loads it once itself
The loader node no longer runs in front of the trainer; its copy shares that one model.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:48:06 +00:00