summaryrefslogtreecommitdiff
path: root/apps/web/src/services/storage/migrations/transformers
Commit message (Collapse)AuthorAgeFilesLines
* feat: git-like project versioning (v1)cashmere2026-07-271-0/+31
| | | | | | | | | | | Linear per-project history per notes/project-versioning.md: named checkpoints (thumbnail via renderer.captureFrame) plus auto-checkpoints on save (60s throttle, ring of 20, named never rotate). Restore writes a safety checkpoint first, then swaps the document outside undo/redo. Media assets referenced by any version are pinned against deletion. Migration v31-v32 stamps the schema; the version store lives in its own IDB database with an in-memory fallback for tests. Versions popover in the editor header for jump/rename/delete. 12 new tests.
* fix: address review findings in masks substrateMaze Winther2026-05-021-1/+2
| | | | | | | | | | | | | | | - Remove dead ternary in getPreferredEdges (always returned undefined; the all-false object was never reached by Object.values().some(Boolean)) - Document why drawWithFeather descriptors zero the feather field in the compositor (analytical renderer handles softness itself; zeroing prevents a second JFA feather pass) - Remove legacyType from V30→V31 migration (not consumed anywhere; a down-migration can map type:"freeform" back to "custom" directly) - Add V30→V31 test coverage: skip-guard branches, freeform passthrough, elements without a masks array - Add snap tests for vertical-edge (bottom) and uniform-scale handle paths Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor: split builtin and freeform masksMaze Winther2026-05-022-6/+105
| | | | Made-with: Cursor
* refactor: animate params over timeMaze Winther2026-05-021-0/+138
|
* chore: cleanupMaze Winther2026-05-021-17/+0
|
* refactor: unify element paramsMaze Winther2026-05-022-0/+244
|
* chore: switch from biome to eslint + prettier; fix ton of lint issuesMaze Winther2026-05-024-78/+63
|
* fix: model editor time as wasm MediaTime ticks end-to-endMaze Winther2026-04-261-0/+228
|
* refactor: migration run() and pure v1-to-v2 transformMaze Winther2026-04-226-368/+357
|
* refactor: restructure files to their domains, new preview overlay system, ↵Maze Winther2026-04-206-9/+9
| | | | and dep graph
* feat: text / custom masks, fix preview pan, refactor selectionMaze Winther2026-04-151-0/+114
|
* chore: formattingMaze Winther2026-04-151-3/+1
|
* fix: repair scene tracks broken by v23-to-v24 migrationMaze Winther2026-04-152-4/+142
|
* refactor: move constants to domain modulesMaze Winther2026-04-143-6/+7
|
* feat: position animated independently per axisMaze Winther2026-04-131-0/+140
| | | | Made-with: Cursor
* refactor: structured track layout per sceneMaze Winther2026-04-071-0/+113
|
* refactor: split effects and masks into dedicated rust crates, introduce ↵Maze Winther2026-04-072-1/+336
| | | | MediaTime and FrameRate
* fix: clean upMaze Winther2026-04-061-1/+35
|
* refactor: rewrite animation system to use bindings and scalar channelsMaze2026-04-051-0/+511
|
* refactor: split constants by domain and isolate timeline panel from coreMaze Winther2026-04-011-9/+15
|
* fix: align background blur with effect blur intensity scaleMaze Winther2026-04-011-0/+66
|
* feat: separate audio from elementsMaze Winther2026-03-311-0/+87
|
* chore: normalize line endingsMaze Winther2026-03-2916-1678/+1678
|
* feat: masks, properties refactor, shaders, storage migrations, and moreMaze Winther2026-03-2914-30/+1088
|
* feat: Clip effects, asset sorting, and timeline improvementsMaze Winther2026-03-022-14/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: introduce WebGL effects system and Blur effectMaze Winther2026-02-281-0/+96
| | | | | | | | | | | | 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.
* another type errorMaze Winther2026-02-271-2/+9
|
* fix a ton of issues + improvementMaze Winther2026-02-251-0/+106
|
* feat: major editor overhaul (assets, properties, timeline, fonts) (#709)Maze2026-02-234-0/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* fix linterMaze Winther2026-02-081-1/+1
|
* fix rendering issue from v1 to currentMaze Winther2026-02-051-28/+31
|
* fix migration dialogMaze Winther2026-02-051-6/+0
|
* make storage versioning per-project + few other refactorsMaze Winther2026-02-054-87/+35
|
* fix v1 to v2 migrationMaze Winther2026-02-032-24/+475
|
* add tests for storage migrationsMaze Winther2026-02-015-0/+507