Move the previous-prompt hint from the rating toolbar onto rendered
clips that have a prompt mismatch. Clips get an amber border and a
Generated with line under the current scene text.
Flush-save and re-fetch preview on character assign/remove so the anchor
and global prompt reflect server-side prompt assembly immediately. Track
assigned character library content in the preview key, compare against
last synced preview after commits, and clear stale global-prompt drafts.
Replace image <select> dropdowns with a thumbnail grid picker (scene anchors,
i2v guides, character refs, identity pin). Pin Media/Characters/Shortcuts/
Transitions tabs while scrolling the bin. Snapshot scene prompt at generate
queue time and surface "generated with" when timeline text diverges — in the
player overlay, inspector, and rating toolbar.
Increase save debounce (5s discrete, 20s typing). Scheduling a save no longer
rebuilds the whole UI — only the save chip updates. Commit skips preview and
project-list refresh unless prompt metadata or project structure changed.
Autosave responses could overwrite a newer drag-dropped i2v anchor if an
older commit finished later. Snapshot saves, skip applying stale responses
when local edits happened in flight, and persist anchor changes immediately.
Sync gen-unit source to all subclips and read anchor from the root on clips.
Changing a scene's anchor image (drag-drop or inspector) now clears the
cached scene render and any scene rating so preview does not keep
playing the old video and Studio does not refine from a prior rating.
Drag-drop always sets image i2v source for an explicit new anchor.
Characters live in a shared library (left bin → Characters tab), not the
project inspector. Select a timeline clip and click characters to toggle
them on that scene; their prompt text merges per scene, face refs drive
per-scene identity pins, and assigned names show on clips and in the
inspector. Legacy project.character_bible still works when no scene
characters are assigned.
Character bible stores name, appearance, body, wardrobe, always/never
include tags, and reference images on the project. Text merges into the
generation anchor; never_include augments the negative prompt; face ref
can sync to the identity pin. Timeline clips show "Rated: …" when set.
The global prompt field was bound to combined_prompt from a for_generation
preview, which injects fallback "scene N" split labels. Use display_prompt
so users see verbatim timeline text.
Renames the top Generate menu to Settings (engine, models, pipeline slots).
Removes the standalone Models menu. Adds Generate, Selected, and Render
buttons to the timeline zone header.
Introduces a new temporal_style option that cycles motion→hold ramps
across each scene's denoise trajectory via a segmented frame_rate wrapper.
Wired through Studio, engine settings, chain sampler conditioning tags,
and build_enhancements for single-scene workflows.
Update timeline and preview optimistically from the parse response,
save immediately instead of waiting on the autosave debounce, refresh
preview without delay after commit, and force an inspector rebuild
even when the global prompt field still has focus.
Engine configuration (pipeline node picks, FunPack Studio, Chain Sampler,
continuity) lives in a modal opened from Generate → Engine settings or
the inspector strip. Project inspector keeps output and prompt fields only.
Clicking an image previews it in the player; click outside the image
to return to the timeline view. Scene anchors are assigned only via
drag-drop onto clips or the inspector dropdown.
The per-scene shortcut comparison did not match Studio's full-prompt
expansion and blocked generation with false positives. Keep prompt
fingerprinting for change detection; split preview remains informational.
Remove project-level seed from the inspector; resolve a fresh random seed
on each Generate unless sampler_inputs.seed is set. Preview and validation
use the optional fixed seed for shortcut expansion only. Default prompt
repair to off after action-bleeding reports.
Each mixed scene is its own queue request (max_scenes=1), not continuous
chain overlap. Scene 2+ uses its anchor via graph Img2Video and borrows
hidden guides from the previous scene. Sampler applies guide stacks on
the first chunk for solo mixed runs.
Mixed i2v anchors no longer blend the previous scene tail into the
starting chunk or the stitched output. Dragging an image onto a
continuation scene auto-sets mixed so montage stays one queue request.
Preview in-points skip overlap before mixed scenes.
Keep the i2v anchor thumbnail for mixed scenes (same as image), add ◐+⇥
badges and a guides ribbon on the thumb, and a dual amber/teal clip accent so
mixed reads as anchor+guides — not grayed carry. Preview minibar and program
badge show mixed mode; drag-assign and asset picker preserve mixed type.
Scene chain sampler scene_boundaries JSON now reports pixel/latent overlap
zones, boundary contamination ranges, per-scene mechanisms, and global steering
notes. Pytest conftest stubs the parent FunPack package so light tests run in
the ComfyUI venv without importing folder_paths; align timeline/builder/nodes
tests with current prompt and report formats.
ComfyUI /prompt validation requires rating overrides to be in V2_RATING_LABELS.
The editor sends MOVIE_EDITOR_CONTINUE_RATING when no scene is rated; add it to
the combo list (no |loved variant) so generation queues without value_not_in_list.
i2v anchors are starting latents via LTXVImgToVideoInplace; i2v
guides remain separate (carry_i2v_guides / custom guide stack).
Removed the incorrect anchor-as-guide path; mixed scenes now build
their chunk from Img2Video then apply overlap and carried guides.
Mixed scenes stay in the chain run (overlap/carry) while applying
their own image anchor at frame 0 alongside the Studio default
guide from scene 1. Per-scene media is copied for sampler anchor
encoding; custom guide stack toggles remain opt-in.
Guide stack is off by default: multi-scene runs still force
carry_i2v_guides (scene 1 template at frame 0). Enabling
guide_settings.stack_enabled passes per-scene guide JSON to the
chain sampler with toggles for accumulate, frame_idx, and apply_at.
Timeline clips support Cmd/Ctrl toggle and Shift range selection.
Generate menu runs only the chain runs that include selected scenes,
expanding generative units and preserving carry context between
selected clips in the same run.
Record scene in-points minus chain frame_overlap between generative
units (not editorial subclips). Reseek on scene boundaries during
playback, guard the tick loop when video is missing, and skip pending
clips in pool sync.
Timeline splits now share gen_unit_id so NLE cuts stay one generative
scene. Generate collapses subclips to the uncut prompt and frame total;
output is mapped back across cuts. Subclips show shared prompt in the
inspector and distinct timeline styling.
Request a zoom-to-fit after addScene/removeScene so the full timeline stays
visible without clicking the fit button. Uses the same fit logic as the
toolbar control, deferred until after the timeline DOM is rebuilt.
When a rendered scene is removed, keep its last render as a preview-only
ghost on the timeline so playback no longer crosses a silent gap. Unrendered
clips show an explicit slate instead of misleading empty space. Ghosts clear
when neighboring scenes are regenerated or on final stitch.
When the user regenerates without rating, send a continue-refinement token
instead of "-Just forget it-" so Studio still applies session memory and
active repairs. Learning is skipped until the user rates; first runs with
no prior session still use Initial discovery.
Wire ProgressBar callbacks through scene-chain _sample_chunk so denoise
steps update the global progress hook the frontend polls. Reset progress
when a new generation is queued; label the readout as sampling N/M.
Audio blocks were growing past their scene duration because flex
content and min-width: 48px overrode the inline width. Match video
clip sizing, cap max-width, and let the volume slider shrink inside.
Split Project settings into Output, Prompt, and Engine bands with
collapsible FunPack Studio and Chain Sampler cards. Group chain knobs
by timing, continuity, guidance, decode, and experimental; add
transition_duration, use_same_seed, and decode_tile_size. Show engine
context strip in scene view, non-default badges, and locked carry hint
for multi-scene runs.
Replace the old audio-only "Clips" gutter with a shared sticky left column
that labels the video track and each audio lane without offsetting clip
positions — video and audio still share the same time origin.
Add Media/Preview/Settings toggles above the timeline that preserve the
canonical layout when all three are on and collapse panels intelligently
when toggled off. Move per-clip volume and inserted audio tracks from the
inspector onto NLE-style lanes below the video track.