Commit Graph
561 Commits
Author SHA1 Message Date
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 d8a906a866 Kit: responsive system (scales, wrapping toolbars, bounded windows), viewport test, docs
Lane sizes and the window margin become tokens; toolbars wrap by default; windows are capped to the viewport; a ratchet test stops element CSS gaining literal pixel sizes. app/e2e runs the real app in Chromium and Firefox at eight screen sizes (npm run test:viewport). docs/ui-design-guidelines.md gains "Responsive by construction".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:54:56 +02:00
digital-garbageandClaude Sonnet 5.5 6496dcf982 Viewports: timeline never shorter than its lanes; segmented choices wrap instead of clipping
At 1280x720 the 302px timeline cut the second lane; its floor is now 340px. In narrow columns (Assets at 720px wide) the last segments (Images, 3x, 4x) were clipped out of reach; they now wrap to a second line.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:46:03 +02:00
digital-garbageandClaude Sonnet 5.5 552ee16c2e Narrow windows: taller timeline so its lanes show; popover settings rows without the stack gap
Below 1250px the timeline header and toolbar wrap onto more rows and cut the lanes off at the fixed 340px; give it 360-400px there. Settings rows in a popover (the Sampler) had the stack's 20px gap on top of their own padding.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:42:59 +02:00
digital-garbageandClaude Sonnet 5.5 244a697308 Kit: drop the panel-body bottom spacer in every panel
The ::after spacer plus the body gap added 24px under the last row of every non-flush panel on top of the 16px padding. Padding already clears the end of a scroll; removing it makes bottom clearance 16px everywhere.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:38:17 +02:00
digital-garbageandClaude Sonnet 5.5 6038b84a56 Timeline: move the clip count out of the head into the hint/zoom row
The head's second row held only that label. It now reads "N clips · M active" (singular fixed); the selection and total time were already in the tools row.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:36:42 +02:00
digital-garbageandClaude Sonnet 5.5 f4249fda30 Preview panel: drop the 24px dead band under the transport row
The panel-body ::after spacer plus the body gap sat under a body that is a single filler; hide the spacer there so the controls sit 16px above the panel edge.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:32:53 +02:00
digital-garbageandClaude Sonnet 5.5 b97a08faf7 Tab accepts a prompt suggestion (also in Anchor/Postfix); pending modules show a Restart banner and the restart dialog lists what it will install
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 12:35:34 +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-garbage 7e9e5a8ee5 Veda download row: no flicker on refresh, and nothing shown once both predictors are there
A redrawn page emptied the row and filled it again when the server answered. It now paints the
last answer at once and only changes what changed. With one file installed only the missing
one is offered, still under the predictor selector; with both, no download block at all.
2026-11-05 22:03:36 +02:00
digital-garbage fa3d4bd71a Veda predictor download row sits right under the predictor selector
It was drawn at the bottom of the model page, far from the field it fills, and the
selector's hint pointed at 'the row below'. The row now follows the selector directly and
the hint no longer points anywhere.
2026-11-05 21:46:44 +02:00
digital-garbage e3457452a9 Veda predictor row: both official files always shown, each installed or downloadable
The row used to vanish as soon as one predictor was in models/veda, so the other could
not be fetched from the app. Now each file shows its own state, the licence notice stays
while a download button is shown, and a finished download refreshes the predictor list.
2026-11-05 21:45:13 +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-garbage 04e59550de Round 3: a stop during the encoder's last seconds still removes the file; a failed stop request is not a stop
Encoder error text no longer says 'upscaled' for Interpolate.
2026-11-05 15:36:42 +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 9c4458307c Stop button also stops Upscale and Interpolate jobs
Jobs end as stopped (kept for the poll, no half file, no restarted message); Stop shows while one runs.
Python and JS tests for the cancel path.
2026-11-05 15:16:47 +02:00
digital-garbage 2f1a0df7a0 Review: only H3 LoRAs are renamed to H3 names (LTX transformer_blocks LoRAs load again)
Interpolate Always warns once, not per render. README credits the resize kernels; hint and example text corrected.
2026-11-05 15:13:03 +02:00
digital-garbage 9537a3ffc7 JS review: Interpolate goes on when Upscale gave up; resolution hint redraws; aspect picture hint is honest
Always+Always no longer skips a render whose upscale could not run. The Resolution hint follows the choice.
2026-11-05 15:07:01 +02:00
digital-garbageandClaude Sonnet 5.5 569bffc3fc A scene's own picture that a video-only start slot cannot take is named as unused, not dropped
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 4579d31585 LoRA Loader: a slot's settings and the next slot's picker appear only once a LoRA is chosen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV2UVj2u3F3mbnYrQW
2026-11-05 11:23:35 +00:00
Claude b0a7886fa2 Kit: a panel's scrolled end keeps clear space under the last line
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV2UVj2u3F3mbnYrQW
2026-11-05 10:59:30 +00:00
Claude 6fef0c48ed Scene settings: pause, source trim and Source removed (the timeline decides: clips drop anywhere with magnetic edges), Video input is project-only
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV2UVj2u3F3mbnYrQW
2026-11-05 10:57:45 +00:00
Claude d6119b0545 Properties: Start shots removed (the start follows what the scene has), Continuity's switch moves to Project settings, fade-to-black guard always on
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV2UVj2u3F3mbnYrQW
2026-11-05 10:39:33 +00:00
Claude 4a028717e6 Properties: Project and Scene tabs keep the everyday fields up front; Video input, trim, final render size and split preview sit in groups that stay open across redraws
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjV2UVj2u3F3mbnYrQW
2026-11-05 10:23:25 +00:00
Claude d42bcd269f Render: playing at the clips' real frame rate is an option (Settings), off by default
The final video keeps the project's frame rate unless 'Keep the clips' own frame rate' is switched on.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjXAUznBpkWSZm9vtPL
2026-11-04 07:09:45 +00:00
Claude fc53758f6f Story: scenes are followed by id, not by their prompt text
The Story box remembers which scene each part showed; an edited and moved scene keeps its render and anchor, and identical prompts stay separate scenes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjXAUznBpkWSZm9vtPL
2026-11-03 13:41:29 +00:00
Claude cebfc72cee Render names are a hash, and Render keeps the clips' real frame rate
Final render, selected export and media-bin saves no longer carry the project's name: the server names them with the same hash rule as saved scene clips. Render used the project's static FPS even when clips were interpolated; it now probes the files and uses the fastest real rate.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVnGVrbKC3XMjBh7Te
2026-11-02 14:37:47 +00:00
Claude 8a99ee2686 Clear references leaves the pinned references alone
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 14:17:26 +00:00
Claude a63b8a1c33 Clear references clears every scene and the pins, in the media bin and on the wheel
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 14:11:46 +00:00
Claude 9d29a2d0db A scene's own picture and its references no longer read each other
The picture (aspect source) no longer wins over or blocks the reference-derived start on video-in pipelines; a test pins that
adding the picture changes nothing about the references.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 13:55:14 +00:00
Claude 208c92f5ca Continuity: a scene's aspect-source picture no longer blocks the carry; log extraction and slot instead of a toast
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 13:52:04 +00:00
Claude 716e5d414f Continuity: say which reference the carried frame went into
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 13:48:48 +00:00
Claude 6fad1d4feb Continuity: carried frame takes the next free reference slot
It was fed to the aspect-ratio picture slot only. Hooks may now return references, added to the scene's before wiring.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 13:27:13 +00:00
Claude 105ffd726b Story: new scenes on a manually ordered timeline go where the story puts them, not at the end
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjWsqdXxextzaBEBTvk
2026-11-02 13:21:22 +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 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 8053b8bb90 Block map: the profile switch turns itself off once a map is saved
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-11-01 12:16:04 +00:00
Claude 11d160cf06 Settings: switch to profile the blocks on the next run, and the saved block maps
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-11-01 12:05:35 +00:00
Claude 3c86f0006e Refinement & Taste: clear saved ratings from the open project, with confirmation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVWL3YgAoMChQygcd7
2026-10-30 23:21:32 +00:00
Claude 4c0192469a Presets can carry project settings; Fast & Simple R2V turns on Frame Generation (always, Balanced x2) and Super Resolution on demand (Denoise Medium)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjWzZx5QzcqkheSuhsy
2026-10-29 19:49:44 +00:00
Claude a0c11c1dd8 Upscale runs as a FunUI background job too (no extra ComfyUI prompt that makes the cache drop the workflow's models)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjW75aYB8UyVRZo6fCr
2026-10-29 13:21:07 +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 8202caef5f Resolution hint: name the choice each example belongs to
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYcwzhZeJZAD6ujMjA
2026-10-29 11:55:29 +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 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 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