43 Commits
Author SHA1 Message Date
digital-garbageandClaude Sonnet 5.5 ab86053d6f A picture render shows as its picture on the timeline and plays as a clip in trims, previews, last-frame and Export
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 04:04:54 +02:00
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 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
Claude 6bf250a086 Build: a draft far below the best keeps its share of the odds and the word constructor is no weight; Upscale with a model file waits for ComfyUI's queue
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVsBg3ixjnT1Fgdy12
2026-11-08 16:39:59 +00:00
Claude 405489c691 Jobs: a Stop before an exclusive job reaches the lock ends it at once
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVsBg3ixjnT1Fgdy12
2026-11-08 16:17:17 +00:00
Claude 3e5ffe2c2d Review fixes round 2: only Upscale and Interpolate jobs wait for each other, a queued one stops at once; tour numbers the parts on screen and Help sees it running
Tour and docs wording match the UI names.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjVsBg3ixjnT1Fgdy12
2026-11-08 15:56:30 +00: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-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-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 51383b5370 Output review: stale last-frame picture removed, running jobs kept, encoder errors say why
A failed Save Video keep no longer leaves an older video's picture for the next shot.
Job cap evicts finished jobs only; stream_file and probe report ffmpeg's reason, not Broken pipe.
2026-11-05 15:05:48 +02: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 33c21c0bc3 Continuity: a shot after an interpolated or upscaled clip still continues from the sampler's own picture
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 14:44:07 +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 31871a5219 Continuity: carry the sampler's own last picture, not the encoded video's copy
Save Video keeps the last decoded frame losslessly in temp; the carry uses it when the clip ends with the render.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 14:04:57 +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 d8ce442c04 Last-frame pictures go to ComfyUI's temp folder, not the media bin
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tw9fjYBYFyV8YG5YDfYPRb
2026-11-02 13:46:50 +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 617dbf2168 Guide frames for LTX (middle frame and memory of the clips before), REINS/Block repeat notes, README thanks JoyAI-Echo
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 4b48674975 Camera enhancements wheel switch, stable Save video as name, media bin remembers view and sort
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4wvFjWRL177UGwPSYfy9s
2026-10-25 17:51:44 +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
digital-garbageandClaude Sonnet 5.5 aef6e08e55 fix: a saved RTX choice falls back to a clear message where RTX is absent; a failed add-on install is offered again; RTX needs Turing or newer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 22:45:41 +03:00
digital-garbageandClaude Sonnet 5.5 30c4b62eb8 fix: RTX is offered only where it can run, and off means off; the modules toast says what is true
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 22:32:23 +03:00
digital-garbageandClaude Sonnet 5.5 c83d878f3a feat: spaCy and NVIDIA RTX Super Resolution are opt-in add-ons; upscale gains an RTX engine; "resolution source" is now "aspect ratio source"
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 22:20:35 +03:00
digital-garbageandClaude Opus 5.5 06ac0afb03 feat: Save video as names the file with a random hash, not FunPack_00001_
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 23:40:11 +03:00
digital-garbageandClaude Opus 5.5 f4e89d4433 fix: auto-hide opens from its strip, never the title bar; popovers re-place on resize; one-line autocomplete; last frame held at end; saved videos named after their render
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 06:44:27 +03:00
digital-garbageandClaude Sonnet 5.5 0ccc49bd6e feat: takes show a still of each take (poster route) and any take can be picked from the strip
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 13:09:17 +03:00
digital-garbageandClaude Sonnet 5.5 0f9a2ac98e fix(continuity): reversed predecessor, pin note, quiet first clip, clamped last frame, flat-dark guard
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 04:08:21 +03:00
digital-garbageandClaude Sonnet 5.5 4d76f4c6e0 feat: Continuity — a 'From generated frame' scene starts from the last picture of the clip before it (render module's last-frame route, dark-frame guard), identity picture for every scene, Engine ▸ Continuity settings
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 04:03:13 +03:00
digital-garbageandClaude Sonnet 5.5 4a1bf89c48 fix: effects and seam transitions now reach the render; separated-lane starts follow gaps and overlapping seams; lanes release their files when paused; inspector survives a failing section
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 03:03:35 +03:00
digital-garbageandClaude Sonnet 5.5 01fc0e4a71 feat(ui): clip effects + transitions, original-sound volume, video/audio import, file-lane slide/trim, audio lanes heard on the monitor, wheel customisation; fix: timeline syntax break; render: separated lane starts at its clip's place in the render
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 03:00:12 +03:00
digital-garbageandClaude Sonnet 5.5 dd600040a5 fix: overlay colours accept #rgb/#rrggbbaa, orphan overlays show, dialog keeps project-width default and dead pictures, a failing lane feature cannot stop the timeline
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 02:27:52 +03:00
digital-garbageandClaude Sonnet 5.5 c15953eceb fix(ui): modal traps Tab on the whole page, toast clicks do not dismiss a modal, Taste export downloads, menus above floating windows, montage pieces restore sound, excluded clip's lane goes quiet, Working card cannot be Esc'd
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:20:23 +03:00
digital-garbageandClaude Sonnet 5.5 a799846df0 feat: final render is made at a clip's own resolution (first clip, a chosen clip, or the project's), never forced to the project size
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 02:49:03 +03:00
digital-garbageandClaude Sonnet 5.5 561551eb90 fix: every clip contributes exactly its window of picture (held or cut), lanes without sound are left out and said
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 16:36:41 +03:00
digital-garbageandClaude Sonnet 5.5 45952015a3 fix: crossfade after a cut or gap renders (one timebase), short renders refused with a sentence, audio lanes use their file's length, segment ffmpeg failure is not a retryable 503
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 16:26:15 +03:00
digital-garbageandClaude Sonnet 5.5 ece9e2e9d7 fix: ghost previews keep their in-point, empty segments refused, odd canvases render, clip sound padded to its picture, mixed-fps export, render reports what it left out, upscale notice/busy-state
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 16:15:41 +03:00
digital-garbageandClaude Sonnet 5.5 beb5fe331b fix: preview window follows the URL not the unsaved project; export keeps sound/validates windows/unique names; upscale poll survives blips and detects vanished jobs; upscale settings follow the project; upload failures shown; EXIF-upright thumbnails
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 16:05:40 +03:00
digital-garbageandClaude Sonnet 5.5 1e0f9bc49e feat: render stage (serving, preview segments, export, stitch), post-render upscale, media rename/thumbnails, frontend backport from v4
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 15:48:46 +03:00