Add gutter controls to remove overlay tracks, align lane labels with rows, and improve clip removal, Space play/pause, and preview drag/double-click behavior.
Show a four-action landing page on boot instead of auto-opening the latest project, with New, Open Latest, Load, and a placeholder Welcome Tour.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire Movie Editor to the same /funpack/refinement_keys routes Studio uses so keys can be backed up or restored without opening ComfyUI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pass live render params to preview-segment URLs so playback works right after generate, sync scene renders and models on save/generate so wiring and deleted nodes stick, and expose FunPack pull/checkout from the menu.
Co-authored-by: Cursor <cursoragent@cursor.com>
Concat AV video_latent is an internal Studio output; guided mode now routes
user LATENT/IMAGE through Studio.latent and source_image with chain support.
Export inSec was already correct; the monitor was tearing down its video DOM on
store updates during playback and racing boundary seeks. Keep the pool stable
while playing, guard seek-in-flight, and recover instead of hard-pausing.
Guided mode restricts loader outputs to their core ports, locks internal
Studio-to-sampler links, defaults image processing to Timeline scene image,
and blocks invalid wires at generation time. Full control restores manual rewiring.
Retry save and queue requests on transient HTTP 530/502 errors, block generate
when the project failed to save, and return a clear error if anchor media is gone.
Use container queries on the media browser so widening the left divider
grows preview cells and readable two-line filenames instead of adding tiny columns.
Coalesce playhead seeks during drag so rapid scrubbing stays stable, and
route multi-select export through trim-only hard-cut concat instead of Render Final.
Multi-select Export and Save to media bin now use the same ffmpeg stitch path as Render Final instead of exporting each clip separately.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clear picked assets when Select mode is off so clicks preview again instead of keeping amber selection styling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use st.project for zoom frame math, retry status polls on transient Cloudflare errors, and run final ffmpeg stitch as a polled background job.
Co-authored-by: Cursor <cursoragent@cursor.com>
Split chain playback at full scene boundaries, highlight multi-clip selection with batch trim export/save, add timed Ken Burns zoom, and keep media bin preview from rebuilding during generation.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match ffmpeg zoompan by scaling inside a fixed overflow-hidden frame instead of transforming the letterboxed video element directly.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use a separate preview player so bin clicks do not reset the playhead; disable auto-fit after manual zoom until Fit is clicked.
Co-authored-by: Cursor <cursoragent@cursor.com>
Route imported clips through the pooled program monitor, advance source_in on split, and keep the kept half aligned when deleting the head.
Co-authored-by: Cursor <cursoragent@cursor.com>
Videos on the timeline jump to that clip and use the shared player pool; off-timeline videos preview via playhead-driven pool playback instead of a separate controls overlay.
Co-authored-by: Cursor <cursoragent@cursor.com>
Display names can be edited inline (double-click or pencil) without changing file ids or breaking scene references.
Co-authored-by: Cursor <cursoragent@cursor.com>
Type tabs (All/Video/Audio/Images), sort by name/type/date with type grouping, and export one image or video to disk from preview, selection, or card hover.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire funpack_scene_media_refs even without mixed anchors, keep guide-only pin images off the run anchor LoadImage, and return 400 when pin media is missing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Split, Remove, Export, and Save to media bin share one selection check, show faded disabled styling, and give clearer tooltips when nothing is chosen.
Co-authored-by: Cursor <cursoragent@cursor.com>
Separating audio snapshots the render into pinned_media so video-only regen keeps the old audio; overlay and separated lanes have visible remove controls plus a toolbar Remove audio action.
Co-authored-by: Cursor <cursoragent@cursor.com>
Overlay tracks use kind overlay with absolute timeline placement, original audio stays on its own lane, and the player now rebuilds when audio_tracks change.
Co-authored-by: Cursor <cursoragent@cursor.com>
Single click previews by default; bulk selection only when Select is active, with no double-click timing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add Save to media bin on the toolbar, type badges on bin cards, video thumbnails, and double-click video preview in the player.
Co-authored-by: Cursor <cursoragent@cursor.com>
Click assets to select them, remove selected in one action, and select all from a footer control; preview and add-to-timeline move to double-click.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pick the fullest scene_boundaries layout from ComfyUI history and fall back to latent overlap math on the client when layout data is missing or truncated.
Co-authored-by: Cursor <cursoragent@cursor.com>
Import timeline helpers at module scope, return structured errors from generate/import, and write project files atomically so a failed save cannot vanish from the list.