Claude
129cc10d0f
fix: video and audio references go to R2V's own video/audio inputs; aspect ratio source accepts a video
...
New Load Media (video) and (audio) nodes; picture loader keeps first frame for the aspect source only.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01CHWxqHtxwWrq4kEyFTaHds
2026-10-21 02:01: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
a13f037f72
H3 training: modulate blocks out of place so the backward pass stops keeping every block's recompute alive
...
Measured on a tiny H3: backward growth was ~75 MB per block, now flat (61-88 MB at 2, 8 and 16 blocks).
The in-place mul_/addcmul_ on slices of the stream in the block helpers were the cause.
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:47:34 +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
a070ce9400
Training reads every clip for as many frames as the shortest gives, and allows up to 1025
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:30:50 +00:00
Claude
bb9ec64a46
H3 training checkpoints one block at a time and the text refiner on its own
...
Depth 1 made the whole model a single checkpoint, so nothing was saved.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:14:55 +00:00
Claude
ab100f85a4
LoRA training add-on: sets, tagger, trainer node on ComfyUI's Train LoRA, H3 support
...
Backend only (window follows). Switched on in Settings > Modules. H3 repairs proven on a tiny H3 on CPU, 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 15:05:57 +00:00
digital-garbage and Claude Sonnet 5.5
1565ac3982
fix: skipped slots offer no Remove/Swap, stand-in load clears skipped, null pass value refused; route-level and precedence tests
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 01:28:22 +03:00
digital-garbage and Claude Sonnet 5.5
803ea68f21
fix: optional nodes are declared per node class by the model modules (saved pipelines and swapped nodes covered); skip chain cannot crash; skipped controls hidden in the project tab; skipped card says so (attacker round 26)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 01:02:59 +03:00
digital-garbage and Claude Sonnet 5.5
3beb13f6c5
feat: optional preset slots - a pipeline runs without Enhance, Shot camera, Prompt markup, Negative erase, Cut opening or Identity transfer when their module did not load, says so beside Generate, and hides their controls
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 00:41:38 +03:00
digital-garbage and Claude Sonnet 5.5
08550e3569
fix: H3 second-pass preset held back; unsupported .gguf text encoders are refused instead of loading as the wrong model; Start shots hint is true for H3; LTX module titled UNTESTED; docs corrected (failure behaviour, Taste key location, install caution, gguf, second pass) (attacker round 5)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 18:10:57 +03:00
digital-garbage and Claude Sonnet 5.5
43e63ebf74
docs: v5 CHANGELOG, how-to-start guide, release README (Intent and Thank you kept verbatim), codename note; LTX declared UNTESTED loudly (preset titles, every run's log, docs)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 17:53:00 +03:00
digital-garbage and Claude Sonnet 5.5
648ea94c4a
fix: text-only runs do not hand the grey stand-in to the enhancer; the encoder pick is text so a vanished file cannot stop a run with Enhance off; truer retain_first, montage and upscaler hints (attacker round)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 16:59:48 +03:00
digital-garbage and Claude Sonnet 5.5
1fc5d99dcc
feat: MiniMax H3 Reference to Video works text-only; with no picture a plain stand-in of the Width/Height shape feeds the size chain (found on a real GPU)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 15:03:52 +03:00
digital-garbage
23b46559cc
fix: hints and labels now say what the control does (menus, inspector, timeline, takes, ideas, enhancer, context windows, montage, modes); H3 project negative prompt reaches the negative slot
2026-10-15 12:55:40 +03:00
digital-garbage and Claude Sonnet 5.5
d59a9ecba4
fix: a loaded project file is saved cleared; the shot camera node always gets the project id; infusion skips a word the shot already says
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-13 07:11:54 +03:00
digital-garbage and Claude Sonnet 5.5
090f8cfbb8
feat: focus infusion draws only on words the current project's own prompts keep returning to
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-13 06:29:41 +03:00
digital-garbage and Claude Opus 5.5
99f00f2950
feat: FunPack Save Video takes frames, sound and fps directly; Create Video dropped from the presets
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 16:08:28 +03:00
digital-garbage and Claude Opus 5.5
82d18494ad
feat: FunPack Save Video: H.265 on NVENC (hvc1, plays in Mac Chrome/Safari), H.264 option; no NVENC = H.264 on every CPU core (core SaveVideo used one); presets use it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 15:43:18 +03:00
digital-garbage and Claude Opus 5.5
05fde80caf
feat: H3 decode logs where its time goes: picture vs sound seconds, VAE precision, and whether the VAE was fully on the GPU
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 15:26:31 +03:00
digital-garbage and Claude Opus 5.5
109ea2fb4f
revert: H3 decode in one piece showed a tile grid (the decoder is trained on 256px tiles); back to ComfyUI's own tiling, tooltip says so
...
Reverts b015ce3f .
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 15:01:07 +03:00
digital-garbage and Claude Opus 5.5
b015ce3f87
fix: H3 decode with tile size 0 decodes each frame in one piece (core tiled at 256 regardless); out of memory steps down to 512, then 256 tiles
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 14:51:11 +03:00
digital-garbage and Claude Opus 5.5
ef84df4286
fix: views redraw when a project's pipeline goes in; project switches wait for edits in flight and load one at a time; modifier settings hide when the pipeline cannot install them; refusals name the setting the person sees; older SD1.x files are recognised; stale load retries are cancelled
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 09:23:18 +03:00
digital-garbage and Claude Opus 5.5
6fa6c4c6ee
fix: a preset, import or wizard pipeline reopens exactly as saved (roles too); Taste key hides when no learning feature is on; a broken node schema no longer takes the module list down; a failed model probe is retried
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 04:40:32 +03:00
digital-garbage and Claude Opus 5.5
927d8d7358
feat: Stable Diffusion 1.5 model module, so the whole pipeline runs on a Mac (picture held for the clip's length)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 04:19:20 +03:00
digital-garbage and Claude Sonnet 5.5
054f18a525
fix: Generate reads the live screen, not a save; autosave delay is a setting that waits for typing; H3 preset always carries a LoRA loader (None = untouched)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-04 15:51:40 +03:00
digital-garbage and Claude Sonnet 5.5
dce64c1813
feat: shot camera (cut times, views, camera moves for [Shot N]) with rating-taught memory
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-04 14:07:03 +03:00
digital-garbage and Claude Sonnet 5.5
3f8607b343
feat(h3): Negative Erase node — the negative prompt takes its direction out of the positive at CFG 1 (off at strength 0)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-04 12:05:10 +03:00
digital-garbage and Claude Sonnet 5.5
1343486f87
feat(ltx): 'Anchor as guide' pipeline preset (stock LTXVAddGuide at frame 0, empty latent, guides cropped before decode)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-04 12:01:55 +03:00
digital-garbage and Claude Sonnet 5.5
69c678e97e
fix(ui): a run already finished at reload is recorded at once instead of locking the page; recovered length uses the shared-frame rule; H3 second pass gets a fresh seed too
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 20:02:46 +03:00
digital-garbage and Claude Sonnet 5.5
e0a23b93b5
fix(ui): fresh seed per run (generation.seed role), a unit is made at its clips' length, all-excluded units skip (not just the root), monitor stops at a clip's own length, inspector follows the pipeline, settings capped at the file's limit
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 19:46:14 +03:00
digital-garbage and Claude Sonnet 5.5
d14bc51c2d
fix(ui): left-edge trim direction, one source for length/fps (roles 'drive' it), whole-number settings only, stop/queue/no-prompt/adopt messages, ghost remove, cut halves read-only prompt, preview start+end; font test sees app/ui fonts
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 19:32:36 +03:00
digital-garbage and Claude Sonnet 5.5
a51faa729b
feat: LTX modules — video->audio coupling, context windows, identity transfer (Best-FaceID); TinyLTX real-model fixture; ltx_av trait
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 10:48:36 +03:00
digital-garbage and Claude Sonnet 5.5
47752491db
fix: LTX — tiled decode asked the way comfy asks it, picture found for ALG/DynaShift/guidance (shared av_video_stream), odd sizes said
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 10:30:37 +03:00
digital-garbage and Claude Sonnet 5.5
6bfeb63c4c
feat: LTX 2.x model module — recognised from the checkpoint header, joint video+audio latent sized from the audio VAE, decode, text/image-to-video pipelines
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-03 10:24:43 +03:00
digital-garbage and Claude Sonnet 5.5
fd236a6e97
fix: phrase probe re-installs when its switch flips (cache key), sits innermost so other features' extra forwards are not measured, panel keeps peaks; enhancer reads Qwen-style tokenizers, chat comments key on the typed prompt; scenes get eff_frames/eff_fps
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-02 15:35:37 +03:00
digital-garbage and Claude Sonnet 5.5
8be3770080
feat: H3 tiled and X2 Detail VAE decode, phrase probe with Settings panel
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-02 15:17:03 +03:00
digital-garbage and Claude Sonnet 5.5
b29fda7a0e
feat: prompt enhancer (node module, H3 preset slot, Composer Enhance + Chat tabs, readout route)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-02 15:05:22 +03:00
digital-garbage and Claude Opus 5.5
0bb7e3a01a
fix: H3 picture found in the packed model output; latent steering was off on every real run
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 19:01:13 +03:00
digital-garbage and Claude Opus 5.5
f99944e5e4
fix: DynaShift and taste guidance read the step from ComfyUI's positional call; they never steered
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 18:53:51 +03:00
digital-garbage and Claude Opus 5.5
b831372879
feat: DynaShift steers late steps away from disliked clips, banked on the taste key
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 18:34:16 +03:00
digital-garbage and Claude Opus 5.5
53cbc29948
feat: taste steering + taste attention learn from ratings; a failing wrapper no longer re-runs sampling
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 18:31:10 +03:00
digital-garbage and Claude Opus 5.5
9d028ccc92
feat(v5): prompt markup for H3 -- (word:1.5), [phrase@t0-t1], [a|b]
...
Prompt Markup strips it before the encoder; Apply Prompt Markup puts weights
and timed windows on attention and blends on the conditioning. Where the words
sit is the H3 module's (text_tokenizer, prompt_rows, video_time_rows). Wired
into both H3 presets.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 18:11:51 +03:00
digital-garbage and Claude Opus 5.5
6838e3b997
feat(v5): cut opening frames -- keep the anchor's transfer, drop the still
...
Cuts decoded frames and the same time off the sound. In both H3 presets,
0 by default.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 17:56:15 +03:00
digital-garbage and Claude Opus 5.5
5787190b3f
feat(v5): H3 second pass as graph -- upscaler loader, latent resample, typed pass-2 schedule
...
H3's latent upscaler loads through the H3 module (ComfyUI's loader has no
branch for it); an upscale resizes H3's anchor pin so pass 2 stays pinned.
FunPack Sampler takes an optional wired schedule, run exactly as written.
New preset: H3 Reference to Video + second pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 17:49:39 +03:00
digital-garbage and Claude Opus 5.5
56490ec769
feat(v5): ALG loosens H3's pinned opening keyframe
...
The H3 module offers anchor_pin, so ALG blurs the pin's latent without
learning H3's payload layout.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 17:37:49 +03:00
digital-garbage and Claude Opus 5.5
c3ad0dfd79
feat(v5): randomizer and block repeat modules for H3, on shared chainable block hooks
...
Block repeat's video-only mode now really keeps audio single-pass: H3 blocks
write in place, so v4 restored audio from an already-repeated stream.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 17:29:42 +03:00
digital-garbage and Claude Opus 5.5
ec6e9893b4
feat: hide settings the picked model cannot use, as soon as the file is picked
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 17:20:59 +03:00
digital-garbage and Claude Sonnet 5
776529e0d8
feat: assign category to every remaining module
...
The port plan calls for every module under modules/ to declare a
CATEGORY so Settings/Engine panels can group by it. Only alg, sharpen,
appearance, and full_control had one; the other 12 (loaders, empty
latent, media load, minimax_h3, output decode, sampling modifiers/
sampler, system pipeline) are plain infrastructure with no user-facing
settings dial, so they land in "system" except output_decode (post,
matching its STAGE) and the two sampling modules (sampling). Verified
against core/tests (548 passed) -- category validation and the
registry's field-mapping catch a typo here, per the earlier fixture-gap
fix.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-15 09:46:58 +03:00
digital-garbage
4744d30087
fix: H3 preset combo values rejected by real node schemas
...
keep_proportion/extra_padding/invert_crop (ImageTransformKJ) and format
(SaveVideo) were wrapped in a redundant {"field": "value"} dict instead of
the plain string ComfyUI's own DynamicCombo expansion expects at the wire
level -- every one of them silently failed graph validation and fell back
to the node's own default, undermining the "total_pixels" resolution-fit
behavior this preset exists for. Found by loading the preset in a real
browser against real node schemas; the dev server never had comfy_extras
or KJNodes registered before now, so this was invisible locally until
tools/devserver.py also gained real node registration (init_extra_nodes +
KJNodes' load_custom_node, matching what the pytest `registered` fixture
already did).
The two pipeline_preset tests that were supposed to catch this had too
broad a filter -- it excluded ANY "is not one of" message as an assumed
"combo not chosen yet" state, which in this codebase actually shows up as
"needs X and nothing fills it" instead. Tightened to exempt only the three
loader-file combos genuinely left unset on a fresh install.
Verified live: preset loads with zero combo-validation problems, only the
three expected unset-loader-file messages remain, and Generate correctly
refuses with an honest reason rather than a false success.
2026-09-11 13:32:52 +03:00