summaryrefslogtreecommitdiff
path: root/apps/web/src/core/managers/renderer-manager.ts
Commit message (Collapse)AuthorAgeFilesLines
* feat: Electron desktop app, native ffmpeg export, fully static webcashmere2026-07-301-5/+37
| | | | | | | | | | | | | | | | - apps/desktop: Electron shell serving the static web build over a privileged opencut:// protocol; exports stream frames over IPC to a bundled ffmpeg (libx264/libvpx-vp9, BT.709 tagged) with backpressure. electron-builder packaging: AppImage, deb, rpm. - apps/web: dead backend deleted (better-auth, drizzle/pg, upstash, botid, freesound proxy, blog, rss, env validation); next build emits a zero-env static export; /editor/[project_id] -> /editor?project=. - Native exporter mirrors SceneExporter; activates when the preload bridge is present; web keeps the mediabunny path. - Docker self-hosting now builds and serves the static export via nginx. - Release workflow: v* tags publish static web tarball + Linux packages. - Changelog 0.4.0; README/AGENTS/CONTRIBUTING/roadmap updated. - GPUI/Rust rewrite parked on branch rust-rewrite.
* feat: ripple-extend resize, timeline filmstrip, export hardeningcashmere2026-07-281-4/+7
| | | | | | | | Yesterday's verified web session (gates green: 316 tests, tsc, build): - ripple-extend pushes right-hand chain on static-element resize - per-position video filmstrip thumbnails with zoom-adaptive density - fps-aware export bitrate, 2s keyframes, even-dim export canvas - freeze frame uses fixed 3s duration, prompt removed
* feat: freeze frame at playheadcashmere2026-07-261-4/+31
| | | | | | | | | | | Enable the timeline toolbar freeze-frame button: capture the composited canvas as PNG, add it as an image media asset, split the video element at the playhead, shift the right part by the freeze duration, and insert a 3-second image element in the gap. Adds RendererManager.captureFrame(), reused by createSnapshot(). Also adds the Nix devshell (flake.nix/flake.lock: bun + nodejs) and AGENTS.md repository guidelines.
* refactor: restructure files to their domains, new preview overlay system, ↵Maze Winther2026-04-201-3/+3
| | | | and dep graph
* fix: text measurement, rotation handle, video cache races, playback syncMaze Winther2026-04-131-0/+11
| | | | Made-with: Cursor
* refactor: structured track layout per sceneMaze Winther2026-04-071-1/+1
|
* refactor: split effects and masks into dedicated rust crates, introduce ↵Maze Winther2026-04-071-4/+8
| | | | MediaTime and FrameRate
* feat: migrate time utilities from typescript to rust WASMMaze Winther2026-03-311-5/+2
|
* chore: normalize line endingsMaze Winther2026-03-291-4/+2
|
* feat: masks, properties refactor, shaders, storage migrations, and moreMaze Winther2026-03-291-8/+52
|
* feat: Clip effects, asset sorting, and timeline improvementsMaze Winther2026-03-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major features and improvements: * **Clip Effects**: * Added UI in Properties Panel to manage effects on video/image clips (add, remove, toggle, reorder). * Implemented dynamic parameter fields for effects. * Added support for keyframing effect parameters. * **Assets Panel**: * Added sorting options: Name, Type, Duration, and File Size. * Persisted view preferences (grid/list mode, sort order) to local storage. * Refactored media item rendering and drag interactions. * **Timeline & Interaction**: * **Keyframe Dragging**: Added ability to drag keyframes directly on the timeline element. * **Resizing**: Improved resize logic to respect neighboring clips (prevents overlaps). * **Visuals**: Implemented tiled background rendering for video/image clips on the timeline. * **Shortcuts**: Added "Deselect All" action bound to the `Escape` key. * **Fixes**: Corrected drag-and-drop coordinate calculations when the timeline track area is scrolled. * **Text Elements**: * Refactored text background storage to use an explicit `enabled` flag. * Added `V8toV9` storage migration to update existing projects. * **Architecture**: * Moved export state management to `ProjectManager` for better lifecycle handling. * Refactored `PropertiesPanel` sections to be more composable (custom headers, borders).
* feat: save frame as imageMaze Winther2026-02-231-0/+66
|
* codebase overhaul (#697)Maze2026-01-311-0/+129