| Commit message (Expand) | Author | Age | Files | Lines |
| * | refactor: move constants to domain modules | Maze Winther | 2026-04-14 | 1 | -3/+3 |
| * | fix: text measurement, rotation handle, video cache races, playback sync | Maze Winther | 2026-04-13 | 3 | -52/+143 |
| * | feat: clipboard with keyframe paste | Maze Winther | 2026-04-13 | 1 | -0/+81 |
| * | refactor: structured track layout per scene | Maze Winther | 2026-04-07 | 6 | -93/+112 |
| * | refactor: split effects and masks into dedicated rust crates, introduce Media... | Maze Winther | 2026-04-07 | 5 | -727/+739 |
| * | Merge branch 'temp' | Maze Winther | 2026-04-06 | 1 | -0/+41 |
| |\ |
|
| | * | feat: graphs popover | Maze | 2026-04-06 | 1 | -0/+41 |
| * | | refactor: unify element updates into pipeline and centralize ripple | Maze Winther | 2026-04-06 | 2 | -90/+146 |
| |/ |
|
| * | refactor: split constants by domain and isolate timeline panel from core | Maze Winther | 2026-04-01 | 2 | -8/+6 |
| * | Merge branch 'refactor-selection-commands' | Maze Winther | 2026-03-31 | 1 | -0/+13 |
| |\ |
|
| | * | refactor: move track pruning into a post-command reactor | Maze Winther | 2026-03-31 | 1 | -0/+13 |
| * | | Merge branch 'feature/separate-audio' | Maze Winther | 2026-03-31 | 1 | -0/+15 |
| |\ \
| |/
|/| |
|
| | * | feat: separate audio from elements | Maze Winther | 2026-03-31 | 1 | -0/+15 |
| * | | feat: centralize selection management | Maze Winther | 2026-03-31 | 2 | -50/+104 |
| |/ |
|
| * | Merge branch 'feature/track-placement' | Maze Winther | 2026-03-31 | 1 | -1/+1 |
| |\ |
|
| | * | refactor: centralize track placement into its own module | Maze Winther | 2026-03-31 | 1 | -1/+1 |
| * | | feat: migrate time utilities from typescript to rust WASM | Maze Winther | 2026-03-31 | 2 | -6/+3 |
| |/ |
|
| * | chore: normalize line endings | Maze Winther | 2026-03-29 | 10 | -1316/+1344 |
| * | feat: masks, properties refactor, shaders, storage migrations, and more | Maze Winther | 2026-03-29 | 8 | -121/+598 |
| * | feat: ripple support for element resize | Maze Winther | 2026-03-02 | 1 | -0/+3 |
| * | feat: Clip effects, asset sorting, and timeline improvements | Maze Winther | 2026-03-02 | 3 | -4/+216 |
| * | Merge branch 'dev' into ripple-editing | Maze Winther | 2026-03-01 | 3 | -15/+200 |
| |\ |
|
| | * | fix(audio): stabilize playback startup when timeline selection is heavy | Maze Winther | 2026-03-01 | 1 | -3/+39 |
| | * | fix coderabbit issues | Maze Winther | 2026-02-27 | 1 | -1/+1 |
| | * | feat: implement keyframe animation system | Maze Winther | 2026-02-27 | 2 | -11/+164 |
| * | | feat: basic ripple editing | Maze Winther | 2026-02-23 | 1 | -2/+11 |
| |/ |
|
| * | feat: save frame as image | Maze Winther | 2026-02-23 | 1 | -0/+66 |
| * | feat: major editor overhaul (assets, properties, timeline, fonts) (#709) | Maze | 2026-02-23 | 5 | -7/+115 |
| * | add transform + few fixes | Maze Winther | 2026-02-08 | 1 | -8/+19 |
| * | refactor: replace text-specific update command with generic | Maze Winther | 2026-02-08 | 1 | -20/+4 |
| * | fix: stop audio on timeline scrub | Maze Winther | 2026-02-08 | 1 | -0/+5 |
| * | refactor: move isScrubbing state to playback manager | Maze Winther | 2026-02-08 | 1 | -0/+10 |
| * | fix migration dialog | Maze Winther | 2026-02-05 | 1 | -1/+8 |
| * | make storage versioning per-project + few other refactors | Maze Winther | 2026-02-05 | 1 | -32/+3 |
| * | refactor services structure | Maze Winther | 2026-01-31 | 3 | -4/+4 |
| * | codebase overhaul (#697) | Maze | 2026-01-31 | 10 | -0/+2213 |