268 Commits
Author SHA1 Message Date
Claude c873f4b318 Review round 3: tour follows the renamed Generate button, upscale-model block also for the Training preview and a reloaded page, px/colour lint covers negatives and frame.css, tests for the load path and the flag
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjX7o2YfeGQE18MEtPu
2026-11-08 21:52:16 +00:00
Claude 19c6525d19 Old scene Source values open as the default; Generate refused while an upscale model runs; preset decodes with None without the Sol-H3 VAE; tour callout follows a redrawn button
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjX7o2YfeGQE18MEtPu
2026-11-08 21:05:34 +00:00
Claude cc93830a96 Upscale in Always mode tries again after a running generation instead of giving up; tests for relink wiring, first-40 window, RTX at job start
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjX7o2YfeGQE18MEtPu
2026-11-08 19:59:38 +00:00
Claude 76c707b81c Review fixes: hand-overs with no parent always logged, Upscale refused again at job start, leak label by live parent link, constructor test discriminates, CHANGELOG wording
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjX7o2YfeGQE18MEtPu
2026-11-08 19:44:53 +00:00
digital-garbageandClaude Sonnet 5.5 52d1d8ef56 ComfyUI loses track of a model whose patcher died when the parent link is gone, though cached patchers still hold it: point such an entry at a live patcher before ComfyUI's leak check
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 19:12:43 +02:00
digital-garbageandClaude Sonnet 5.5 75fd0d3885 Leak report: log every parent hand-over and every tracked model's state; test with the node cache keeping the chain
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 19:07:10 +02:00
digital-garbageandClaude Sonnet 5.5 4f3f2acf4f Leak report: say when ComfyUI's parent hand-over finds no parent (and whether gc was running), and which patchers still hold the model
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 18:05:58 +02:00
digital-garbageandClaude Sonnet 5.5 5dbc804e2d Leak report: when ComfyUI finds a model without its patcher, log what holds the model (types, function names, dict key names, never values)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 17:54:57 +02:00
Claude 09b6c70db7 Review fixes: removed file choices no longer refuse a render, stage LoRAs said when Two stages is not running, jobs run one at a time
A scene picture a video-only pipeline cannot use is named in Generate. CHANGELOG Brownian wording and Veda GPU labels match the code.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVsBg3ixjnT1Fgdy12
2026-11-08 15:35:10 +00:00
digital-garbage 39707364d6 Watermark in Post (text or picture, corner, opacity, size, outline); settings of removed modules cleared from the project on open; round 2 fixes: trainer refuses a model it cannot copy with the reason, back-up slider keeps 1.0 and is held at 0.95, Post look hint 2026-11-08 02:47:09 +02:00
digital-garbageandClaude Sonnet 5.5 aa31b95ea5 Timeline header on one line; kit literals into tokens; Composer fits; running-state viewport test; remove Auto Montage
- Header: view toggles (Assets/Preview/Properties/Auto-hide) move to the top bar; progress, the prompt warning and scene actions (rate, upscale, interpolate) move to the row under the toolbar; the timeline head never wraps from 1000px up and never clips its controls. The top bar grows a line instead of spilling when it wraps.
- Kit: every literal pixel size in element CSS is a token (the ratchet test is now zero); Composer's text box follows the viewport; the catalogue shows the component sizes.
- test:viewport adds a fake ComfyUI queue and socket for the render-running state and asserts the header is one row.
- Auto Montage removed (button, window, code, README/docs, tests). Saved projects holding pieces it made still load: the reused flag is kept.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 14:28:45 +02:00
digital-garbageandClaude Sonnet 5.5 a033cda36c Reload caching: ETag/304 and content-hash immutable URLs for modules, CSS (incl. @import) and page tags; /api/modules answers 304 and is gzipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 12:40:45 +02:00
digital-garbageandClaude Sonnet 5.5 25cc6ed0b4 Review round 2: partial Q/K/V LoRAs, Turbo polish no longer read as the last step, cut-short videos refused, NaN-safe block map, bounded block ranges; Common phrases lists words and phrases of any length
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 12:23:25 +02:00
digital-garbageandClaude Sonnet 5.5 4f06ed9d89 Shortcuts find/replace: whole words, tidy removals, phrase total, fresh count; Two stages: restore the guider on any error between stages; honest hints
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 11:53:44 +02:00
digital-garbage 3dbcc8a4e8 Prompt enhancer: Dynamic style for more motion; counts-only motion check script 2026-11-05 23:29:27 +02:00
digital-garbageandClaude Sonnet 5.5 b551927ac0 Shortcuts: find, find and replace, and common phrases across the whole library
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 22:42:48 +02:00
digital-garbageandClaude Sonnet 5.5 9a698b64d7 Test: the Brownian 'other internals' test starts from the stock sampler, whatever an earlier test or the pack load already widened
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 22:06:11 +02:00
digital-garbage affa3a863e Veda: opt-in per-phase timing, one line naming every size of a Two stages run, fewer device reads
veda_timing (loader, method veda) logs the time in gather, score, select, kernel and scatter
for a run; off by default and it changes no number. The run line now names the size and tile
plan of each stage, not only the last. Cheap speed-ups that keep the numbers exactly: the
list width of kept tiles comes from the layout instead of a device read, the head groups and
the per-row pattern stay on the device, and the predictor's projections are copied from pinned
memory.
2026-11-05 21:57:31 +02:00
digital-garbage 1e2ac5ca67 Sparse attention method veda for MiniMax H3 (experimental), with an optional predictor download
Learned tile-sparse attention (Veda, arXiv 2605.30325): tiles, tile plans, predictor
scoring and selection in plain torch (tested on CPU, including a real tiny H3 with a
stand-in kernel), an INT8 Triton kernel derived from SageAttention (untested on a GPU),
installed through the same override and per-step wrapper as SLA. Runs at the predictor's
trained budget; LoRA, MXFP8, Two stages, dense steps and the attention backend compose.
Settings > Models offers the official Hugging Face download of the predictor on a click,
with its licence beside it; taggers and this share one downloader (core/fetch.py).
2026-11-05 21:32:39 +02:00
digital-garbageandClaude Sonnet 5.5 9b1cb52024 Post settings in Engine > Post: smoothing moved out of the node, plus auto contrast, auto brightness, colour strength
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 20:32:03 +02:00
digital-garbageandClaude Sonnet 5.5 0ed59f06d2 Two stages: Trilinear removed (migrated to Bicubic via renamed_options); Save Video: opt-in edge smoothing
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 20:19:14 +02:00
digital-garbage 5f6ed35929 Matrix: every modifier is listed or exempt with a reason, must report active, and must wire in; crossed with samplers and Two stages
Brownian leaves the stock sampler alone when torchsde internals differ. LoRA: unwrapped refiner layout, absent blocks, LoKr.
2026-11-05 15:58:29 +02:00
digital-garbage 4b306ae65f Round 3: Brownian noise equals stock noise at any sigma height; every LoRA wrapper reaches every Diffusers module
Queries are limited as plain numbers inside the sampler call. Tests for 11 wrappers and sigma 14.6.
2026-11-05 15:44:24 +02:00
digital-garbage 478fb835dd Round 2: Brownian clamp survives the CPU tree's float32 cast; Stop per module; block map handles a paired input
Stop only reaches jobs that check for it; a failure landing with Stop counts as a stop. Hint for imported workflows corrected.
2026-11-05 15:29:32 +02:00
digital-garbage 1b9f1cb6aa Review: Brownian noise is the stock noise again; block map profile survives audio+video blocks and cancel
Queries are clamped into torchsde's span instead of moving the span. A cancelled profile saves nothing.
Attention explorer temperature stays above zero under the map; unmeasured groups are not given 3x.
2026-11-05 15:10:18 +02:00
digital-garbageandClaude Sonnet 5.5 015ec6aa55 Test: the update status test no longer assumes the repo folder is called FunUI-v5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV3UWsHHjJiAXix29B
2026-11-05 14:48:36 +02:00
Claude 374cf3de29 Forget a stale namespace 'app' after a failed ComfyUI logger import
Fixes the 'cannot import name governance from app' collection error when pytest loads the root package before ComfyUI is on sys.path.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV3UWsHHjJiAXix29B
2026-11-05 12:03:30 +00:00
Claude 06692cf79c Media bin: pin a picture as the aspect ratio source for all scenes (new scenes inherit it), and add a reference to all scenes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjXTnZcw5grg6FUn3DV
2026-11-02 13:17:44 +00:00
Claude 344d554a71 Brownian noise: widen the tree past torchsde's 6-decimal rounding so SDE samplers stop warning about ta>=t0
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjUxS9c6hheZ8nePUYf
2026-11-02 13:07:27 +00:00
Claude 5eabca5839 LoRA loader: Apply to stage (First/Second/Both) for Two stages, and Diffusers-layout H3 LoRAs now load
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVKTwSL4mCUi3hd811
2026-11-02 12:56:50 +00:00
Claude a0234fa01b Frozen node list: Save Video has the optional quality input
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-11-01 12:00:07 +00:00
Claude 47f2bd7ca4 Settings: a value that is wrong for a setting hidden by another's choice no longer stops the run; its default stands
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjWzZx5QzcqkheSuhsy
2026-10-30 17:50:35 +00:00
Claude 3862f3ec36 LoRA Loader: up to eight LoRAs in one node, applied in order; slot 1 keeps its inputs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjU1A5dzqoK4stWcmzk
2026-10-29 19:23:48 +00:00
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 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 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 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