summaryrefslogtreecommitdiff
path: root/apps/web/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* fix: place new overlay tracks at the top of the timelineMaze Winther2026-04-072-2/+2
|
* refactor: split effects and masks into dedicated rust crates, introduce ↵Maze Winther2026-04-0726-1283/+1348
| | | | MediaTime and FrameRate
* fix: clean upMaze Winther2026-04-066-26/+24
|
* chore: addition to last mergeMaze Winther2026-04-061-18/+9
|
* Merge branch 'temp'Maze Winther2026-04-0629-2270/+3953
|\
| * feat: graphs popoverMaze2026-04-068-27/+480
| |
| * refactor: rewrite animation system to use bindings and scalar channelsMaze2026-04-0524-2280/+3505
| |
| * chore: remove transcription envsMaze2026-04-041-5/+0
| |
* | refactor: unify element updates into pipeline and centralize rippleMaze Winther2026-04-0622-636/+667
|/
* refactor: update command execute methods to return CommandResult | undefinedMaze Winther2026-04-0342-1463/+1492
|
* refactor: split constants by domain and isolate timeline panel from coreMaze Winther2026-04-0134-595/+263
|
* fix: align background blur with effect blur intensity scaleMaze Winther2026-04-011-12/+9
|
* feat: migrate GPU renderer from WebGL to wgpu/WASMMaze Winther2026-04-018-207/+53
|
* Merge branch 'refactor-selection-commands'Maze Winther2026-03-314-412/+393
|\
| * refactor: move track pruning into a post-command reactorMaze Winther2026-03-314-412/+393
| |
* | Merge branch 'feature/separate-audio'Maze Winther2026-03-319-10/+451
|\ \
| * | feat: separate audio from elementsMaze Winther2026-03-319-10/+451
| | |
* | | Merge branch 'refactor-selection-commands'Maze Winther2026-03-317-42/+59
|\ \ \ | | |/ | |/|
| * | feat: centralize selection managementMaze Winther2026-03-317-42/+59
| | |
* | | fix: normalize vertical drag direction in preferIndex placementMaze Winther2026-03-312-60/+243
|/ /
* / fix: allow timeline paste and duplicate commands to reassign updated tracksMaze Winther2026-03-312-2/+2
|/
* Merge branch 'feature/track-placement'Maze Winther2026-03-3124-690/+1346
|\
| * refactor: centralize track placement into its own moduleMaze Winther2026-03-3124-690/+1346
| |
* | feat: migrate time utilities from typescript to rust WASMMaze Winther2026-03-312-374/+149
|/
* fix: improve DATABASE_URL validation in web environment schemaMaze Winther2026-03-291-4/+5
|
* refactor: move packages sub-folders into web appMaze Winther2026-03-295-71/+105
|
* chore: normalize line endingsMaze Winther2026-03-29163-16854/+16993
|
* fix: resolve typescript/lint errorsMaze Winther2026-03-299-76/+80
|
* feat: masks, properties refactor, shaders, storage migrations, and moreMaze Winther2026-03-29179-2324/+11576
|
* Fix transcription sample-rate handling (#740)kcfancher2026-03-281-1/+3
| | | | | Fix for #703. Adds an optional sampleRate parameter to the decodeAudioToFloat32() function. The caption transcriber passes in a value of 16000 to prepare audio in the format Whisper expects.
* fix blog build when marble cms isn't availableMaze Winther2026-03-241-7/+63
|
* fix inconsistency in blur intensityMaze Winther2026-03-021-24/+24
|
* feat: wire ui to have keyframes for: opacity, text color, and all background ↵Maze Winther2026-03-024-2/+145
| | | | properties
* feat: implement keyframe support for more properties at the core (no ui yet)Maze Winther2026-03-025-12/+85
|
* feat: ripple support for element resizeMaze Winther2026-03-021-17/+49
|
* feat: Clip effects, asset sorting, and timeline improvementsMaze Winther2026-03-0217-44/+755
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Merge branch 'dev' into ripple-editingMaze Winther2026-03-0142-160/+3614
|\
| * feat: introduce WebGL effects system and Blur effectMaze Winther2026-02-2813-32/+306
| | | | | | | | | | | | | | | | | | | | | | | | This implements the foundational architecture for video effects, starting with a multi-pass WebGL rendering pipeline and a customizable Gaussian Blur effect. Key changes: - WebGL Engine: Added `raw-loader` for `.glsl` shaders, multi-pass framebuffer rendering, and live offscreen canvas previews. - Node Architecture: Replaced hardcoded background blur with `CompositeEffectNode` and added `EffectLayerNode` to apply effects to specific visual elements. - Timeline & DND: Added a new `effect` track type. Upgraded drag-and-drop to support dropping effects directly onto the timeline. Consolidated track constants into a cleaner `TRACK_CONFIG`. - UI/UX: Added an Effects tab in the assets panel with live previews. Added an Effect Properties panel with sliders and inputs for fine-tuning parameters. - Data Model: Added `sourceDuration` to video and audio elements, and wrote a v8 storage migration to update existing projects to the new schema. - Docs: Added `CHANGELOG.md` tracking v0.1.0 and v0.2.0, plus `docs/effects-renderer.md` to document the new WebGL pipeline.
| * fix coderabbit issuesMaze Winther2026-02-272-4/+4
| |
| * fix type errorMaze Winther2026-02-271-1/+1
| |
| * feat: implement keyframe animation systemMaze Winther2026-02-2729-84/+2842
| | | | | | | | | | | | | | | | | | | | Add keyframe support for transform, opacity, and volume properties. Includes animation engine (interpolation, mutations, resolvers), timeline markers with selection/snapping, properties panel toggles, keyframe-aware renderer, and full undo/redo command support. Also refactor element command constructors to object params, extract timeline pixel math to pixel-utils.ts, and update cursor rules.
| * fix a ton of issues + improvementMaze Winther2026-02-253-22/+207
| |
| * refactor: snapping systemMaze Winther2026-02-231-0/+155
| |
| * fix preview snapping thresholdMaze Winther2026-02-232-8/+34
| |
| * refactor: make export audio consistent to previewMaze Winther2026-02-231-6/+62
| | | | | | | | fixes audio export issue with .mkv files
* | feat: basic ripple editingMaze Winther2026-02-235-75/+137
|/
* fix: audio from video files not being exportedMaze Winther2026-02-231-18/+61
|
* feat: major editor overhaul (assets, properties, timeline, fonts) (#709)Maze2026-02-2330-30/+1976
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: major editor overhaul (assets, properties, timeline, fonts) Refactor editor core systems to standardize UI architecture and improve performance. Assets & Properties: - Replace monolithic property items with composable `Section` architecture. - Add specialized sections for Transform, Blending, and Text. - Implement `NumberField` with scrubbing and math evaluation. - Add new ColorPicker with EyeDropper and multiple format support. - Standardize asset panels using new `PanelView` layout. Fonts & Stickers: - Implement custom font atlas/sprite system for high-performance previews. - Add virtualized FontPicker with search and favorites. - Refactor stickers to use a provider-based architecture (icons, emoji, flags, shapes). - Standardize sticker IDs to `provider:value` format. Timeline & Interaction: - Convert bookmarks to rich objects with notes, colors, and duration. - Refactor drag-and-drop to use Command pattern (enabling proper undo/redo). - Add Shift modifier to disable snapping during moves/resizes. - Add new overlays for layout guides and text editing. Renderer: - Add support for multi-line text, custom line-height, and letter-spacing. - Implement global composite operation (blend modes). - Update sticker node to resolve dynamic provider IDs. Infrastructure: - Add storage migrations (v3->v6) for text weights, sticker IDs, and bookmarks. - Update global styles and core UI components (Button, Input, Popover). * add ts-nocheck directive to settings-legacy.tsx to suppress TypeScript errors * fix: correct global composite operation assignment in TextNode to ensure proper blend mode handling * deleted shadcn components with errors * formatting * fix linter issues * migrate from next middleware to proxy * add missing component back * add breadcrumb back * chore: add @radix-ui/react-primitive deps * chore: more deps * chore: add missing env vars to bun-ci * next env
* add transform + few fixesMaze Winther2026-02-082-0/+26
| | | | | | | | feat: transform feat: batch command fix: slider undo fix: timeline zoom perf refactor: make updateElement support multiple
* fix: fps not being displayed in some casesMaze Winther2026-02-081-1/+1
|