Commit Graph
223 Commits
Author SHA1 Message Date
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 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 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 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 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 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
Claude 58e56b96d8 LoRA training add-on starts on when its package is already installed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:20:38 +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
Claude f9863700e6 Remove module ui.js support: unused by any module or the live app
Drops the registry lookup, manifest field, /modules route, ui.js loading in panels.js, MODULE_RULES lint, services.js, their tests and docs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EymCrVCefq4m9Uv6MAkzz5
2026-10-17 13:59:18 +00:00
digital-garbageandClaude Sonnet 5.5 4fd3b94424 feat: bypass toggle in Models & Pipeline -- a node is skipped for the run, keeps its values, and refuses with a reason when it cannot be passed through
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 02:19:00 +03:00
digital-garbageandClaude Sonnet 5.5 6b23db2640 feat: FunPack Timing also logs a sampler's step 1 / step 2 / later-step times
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 01:35:38 +03:00
digital-garbageandClaude Sonnet 5.5 a64365c774 fix: slow-torch switch frees cuda-* pins and retries past any conflict pip names
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 00:00:54 +03:00
digital-garbageandClaude Sonnet 5.5 165a9f5144 fix: a malformed optional-node table entry is logged once instead of swallowed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 02:27:30 +03:00
digital-garbageandClaude Sonnet 5.5 e48515d452 fix: skip wording is true when a node is rejected though its module loaded; swapping a slot drops its skip marker
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 02:16:06 +03:00
digital-garbageandClaude Sonnet 5.5 77f2552304 fix: skip notes point to Ready to generate? (Modules page cannot show a failed module); readiness no longer calls optional nodes a need
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 01:43:58 +03:00
digital-garbageandClaude 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-garbageandClaude 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-garbageandClaude 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-garbageandClaude Sonnet 5.5 e0c960313d fix: readiness points a missing FunPack node at Settings > Modules; CHANGELOG states that preset nodes are required by their preset (attacker round 25)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 00:26:02 +03:00
digital-garbageandClaude Sonnet 5.5 892a49afc2 fix: the probe reason no longer asserts 'nobody recognises it' when a detector failed (attacker round 24)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 00:00:19 +03:00
digital-garbageandClaude Sonnet 5.5 ca43f43e68 fix: a model probe whose detector raised says so instead of 'nobody recognises it'; routes and shot camera failures worded truthfully (attacker round 23)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:55:24 +03:00
digital-garbageandClaude Sonnet 5.5 a577ff0af3 fix: a turned-off loaded module is not called gone; route and probe provider failures said by provider, once, truthfully; expansion note names shortcuts (attacker round 22)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:46:54 +03:00
digital-garbageandClaude Sonnet 5.5 a931d59d93 fix: a saved turn-off for a gone module is said; provider failures in routes said once and truthfully; duplicate ids logged; a failed prompt expansion is said; taste call gated (attacker round 21)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:36:40 +03:00
digital-garbageandClaude Sonnet 5.5 618b5ba1c1 fix: a failing target_rows provider is said, once; separate once-keys for the two modifier nodes; spam-guard test (attacker round 20)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:24:53 +03:00
digital-garbageandClaude Sonnet 5.5 99568ba9ae fix: a provider failing in a new way is said again; the Load Modifiers stale-module log is tested (attacker round 19)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:15:13 +03:00
digital-garbageandClaude Sonnet 5.5 ef35a35848 fix: import guard sees a group-level helper importing a module via ..; provider errors said once per provider; tests for both log lines (attacker round 18)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:08:47 +03:00
digital-garbageandClaude Sonnet 5.5 6e5035671a fix: provider errors say 'failed while' once; import guard covers class/for/match bodies; diffusion picker lists .gguf again so a saved pick gets the install message; stale-module wording true for broken modules (attacker round 17)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 22:58:01 +03:00