bab8af831b
Merge branch 'rewrite'
...
Co-authored-by: Maze <mazeincoding@users.noreply.github.com >
2026-07-10 19:57:55 +00:00
b59255cca8
feat(desktop): scaffold desktop app
...
Co-authored-by: Maze <mazeincoding@users.noreply.github.com >
2026-07-10 19:57:05 +00:00
Maze Winther
a2b520fbb6
ci: update workflow for rewrite
2026-06-21 15:14:01 +02:00
Maze Winther
a53cd53f55
Merge branch 'rewrite'
2026-06-21 15:09:34 +02:00
Maze Winther
7ae51862b6
chore(tooling): remove root package.json, let moon manage per-project
2026-06-21 14:59:52 +02:00
Maze Winther
6c81db47c0
chore(tooling): replace turbo with moon, add proto toolchain
2026-06-21 14:59:52 +02:00
Maze Winther
8768f6dd8f
feat(api): add elysia server for cloudflare workers
2026-06-21 14:59:52 +02:00
Maze Winther
107d7ab714
chore: gitignore
2026-06-14 21:05:15 +02:00
Maze Winther
b315020416
feat: add hello world to home page
2026-05-28 00:51:29 +02:00
Maze Winther
a5888e2087
chore: remove architecture reference from package.json
2026-05-28 00:37:25 +02:00
Maze Winther
b601ab4b24
docs: fix readme conflict markers
2026-05-27 22:34:49 +02:00
Maze Winther
6482461a63
docs: use readme from origin/main
2026-05-27 22:29:47 +02:00
Maze Winther
f402fb8337
chore: replace codebase with rewrite
2026-05-27 22:27:11 +02:00
Maze Winther
446e68e65e
chore: monorepo setup and web foundation
2026-05-27 00:30:10 +02:00
Maze Winther
238750c025
docs: refocus readme on rewrite
2026-05-18 17:06:40 +02:00
Maze Winther
3f2d5cfcaa
chore: init
2026-05-09 00:42:26 +02:00
Maze Winther
b3d35fbc2a
chore: clean state
2026-05-06 22:59:08 +02:00
Maze Winther
d1f4cb615b
docs: fix readme
2026-05-02 16:51:01 +02:00
Maze Winther
19f1086492
Merge branch 'domain-import'
2026-05-02 16:46:13 +02:00
Maze Winther
8ab3aeba7c
docs: move NOTES.md file
2026-05-02 16:38:06 +02:00
Maze Winther
6423b352d6
chore: ignore migrations file
2026-05-02 16:26:09 +02:00
Maze Winther
7b942b363d
chore: remove file
2026-05-02 03:27:23 +02:00
Maze Winther and Cursor
8b8d65b509
refactor: collapse mask definition registry to a single keyed registry
...
The freeform mask was assembled on every getMaskDefinition("freeform") call,
re-spreading params and injecting a wrong SquareIcon placeholder, with a type
cast to suppress the structural mismatch. Root cause: MasksRegistry was keyed
on BuiltinMaskType, so freeform had no entry.
- Re-key MasksRegistry from BuiltinMaskType to MaskType
- Register freeform alongside builtins in registerDefaultMasks, with
PenToolAddIcon as its menu icon
- getMaskDefinition and getMaskDefinitionsForMenu become plain registry
lookups with no branching, no manual spreading, no cast
- Rename RegisteredBuiltinMaskDefinition to RegisteredMaskDefinition and
tighten computeParamUpdate return type to Partial<BaseMaskParams>
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-02 03:27:23 +02:00
Maze Winther and Cursor
23187b0b6a
refactor: remove dead tangent handle variant
...
The { kind: "tangent" } MaskHandleId variant was never constructed — neither
getFreeformDisplayHandles nor any other code ever produced a tangent handle
object. The in/out control-arm branches in computeFreeformParamUpdate, the
tangent case in maskHandleIdKey, and the CUSTOM_MASK_TANGENT_SIZE rendering
path in mask-handles.tsx were all unreachable. Removed all four dead paths
and removed "tangent" from MaskHandleKind.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-02 03:27:23 +02:00
Maze Winther and Cursor
f66cdbfeb2
fix: address review findings in masks substrate
...
- 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 >
2026-05-02 03:27:23 +02:00
Maze Winther
99137fe493
docs: capture mask rust migration notes
...
Made-with: Cursor
2026-05-02 03:27:23 +02:00
Maze Winther
79dcec8a2e
refactor: split builtin and freeform masks
...
Made-with: Cursor
2026-05-02 03:27:23 +02:00
Maze Winther
97f8d1968f
refactor: type mask handle identifiers
...
Made-with: Cursor
2026-05-02 03:27:23 +02:00
Maze Winther
ae1292a14b
refactor: make mask renderer dispatch explicit
...
Made-with: Cursor
2026-05-02 03:27:23 +02:00
Maze Winther
6ea5a156b6
refactor: split mask snap dispatch
...
Made-with: Cursor
2026-05-02 03:27:23 +02:00
Maze Winther
401cc35743
refactor: animate params over time
2026-05-02 03:27:23 +02:00
Maze Winther
b8d08df244
chore: cleanup
2026-05-02 03:27:23 +02:00
Maze Winther
2ee0a44735
refactor: unify element params
2026-05-02 03:27:23 +02:00
Maze Winther
a9b9cf6bf5
chore: switch from biome to eslint + prettier; fix ton of lint issues
2026-05-02 03:27:23 +02:00
Maze Winther
d6622dc6b3
chore: untrack cargo-tools files
2026-05-02 03:10:08 +02:00
Maze Winther
6ec818fc11
chore: remove accidental file
...
Made-with: Cursor
2026-04-26 21:31:12 +02:00
Maze Winther
6daa69635b
fix: restore README header, badges, links, and star chart
...
Made-with: Cursor
2026-04-26 20:51:32 +02:00
Maze Winther
6b1f38a9a3
refactor: split animation helpers by domain
2026-04-26 20:44:07 +02:00
Maze Winther
56ca09692a
refactor: thinner hooks
2026-04-26 17:31:28 +02:00
Maze Winther
0b7597b31f
refactor: split animation helpers by domain
2026-04-26 04:04:30 +02:00
Maze Winther
e6c6193638
fix: linter
2026-04-26 03:06:13 +02:00
Maze Winther
685d902740
fix: follow-up to prev commit
2026-04-26 02:59:30 +02:00
Maze Winther
eea6d43c82
fix: model editor time as wasm MediaTime ticks end-to-end
2026-04-26 02:50:04 +02:00
Maze Winther
6a22a3ecbd
refactor: centralize editor interaction state
...
Move timeline and preview gestures into dedicated controllers so hooks stay thin around editor state and DOM events.
This also routes drag and playback synchronization through manager APIs and reuses persistent wasm surfaces so scrubbing, seeking, and preview rendering stay in sync.
Made-with: Cursor
2026-04-25 03:56:22 +02:00
Maze Winther
0dffefdd59
fix: surface unsupported video codec on import, fix Input leaks
2026-04-25 02:46:31 +02:00
Maze Winther
cceb835a84
perf: improve rendering performance by ~20x
2026-04-22 16:48:37 +02:00
Maze Winther
f1b45b4328
chore: remove stale files
2026-04-22 14:36:51 +02:00
Maze Winther
7428dc75cf
chore: bump opencut-wasm version
2026-04-22 14:24:28 +02:00
Maze Winther
1301d027e9
fix: wasm WebGL only until WebGPU is fixed
2026-04-22 14:20:40 +02:00
Maze Winther
f5f31b43df
refactor: migration run() and pure v1-to-v2 transform
2026-04-22 02:41:18 +02:00
Maze Winther
a709af0059
chore: formatting
2026-04-22 02:05:41 +02:00
Maze Winther
75eebf52bc
fix: project loading thing
2026-04-21 20:45:33 +02:00
Maze Winther
1582423dbf
chore: delete ffmpeg public assets
2026-04-21 13:00:26 +02:00
Maze Winther
148d38d7c9
docs: ts conventions to agents.md
2026-04-21 12:47:21 +02:00
Maze Winther
3e89d29985
refactor: restructure files to their domains, new preview overlay system, and dep graph
2026-04-20 11:31:17 +02:00
Maze Winther
729d10592f
fix: WebGL frame rendering and opencut-wasm 0.2.8
2026-04-19 07:42:52 +02:00
Maze Winther
9da365bc01
docs: add prerequisites for rust
2026-04-19 07:23:15 +02:00
Maze Winther
8bdc894690
fix: migrate commands to CommandResult selection contract
2026-04-18 16:01:35 +02:00
Maze Winther
0387bd4c80
delete legacy folder
2026-04-18 15:35:04 +02:00
Maze Winther
b1d0b10354
fix: default audio waveform color from timeline theme
2026-04-18 15:11:52 +02:00
Maze Winther
94eed96cad
chore: update opencut-wasm version to 0.2.6 in Cargo.lock
2026-04-18 15:03:00 +02:00
Maze Winther
794d4ae149
fix: align LayerUniformBuffer to 16 bytes for WebGL compat
2026-04-18 15:01:59 +02:00
Maze Winther
011f51051c
feat: clip volume line and timeline waveform improvements
2026-04-18 01:40:18 +02:00
Maze Winther
c46d28891f
feat: text / custom masks, fix preview pan, refactor selection
2026-04-15 15:45:50 +02:00
Maze Winther
66e4367bc4
feat: history view in feedback popover
2026-04-15 06:39:52 +02:00
Maze Winther
8161de00e6
chore: formatting
2026-04-15 06:26:55 +02:00
Maze Winther
eb28942dab
fix: audio waveform height in timeline
2026-04-15 06:05:13 +02:00
Maze Winther
68f175d3be
fix: correct schema path in drizzle config
2026-04-15 06:04:29 +02:00
Maze Winther
d5c1b7bf0e
fix: load dotenv before env validation in drizzle config
2026-04-15 06:03:23 +02:00
Maze Winther
0868d9cf13
tests: delete
2026-04-15 05:53:06 +02:00
Maze Winther
8a3577d2e7
review: fixes
2026-04-15 05:52:33 +02:00
Maze Winther
ac43a5a73f
feat: move/resize multiple elements
2026-04-15 05:43:29 +02:00
Maze Winther
6312fc5b07
fix: repair scene tracks broken by v23-to-v24 migration
2026-04-15 04:45:15 +02:00
Maze Winther
2da93aa98f
changelog: rephrasing
2026-04-15 04:34:36 +02:00
Maze Winther
f4bd689f51
chore: force deployment
2026-04-15 03:59:52 +02:00
Maze Winther
4f7dc5ee3a
fix: remap split-element keybinding to split
2026-04-15 03:57:51 +02:00
Maze Winther
4e8b7d3745
fix: skip unknown actions in keyboard shortcuts help
2026-04-15 03:47:57 +02:00
Maze Winther
ee372266ca
chore: force deployment
2026-04-15 03:35:07 +02:00
Maze Winther
e10b0a3355
tests: remove
2026-04-15 02:44:52 +02:00
Maze Winther
3914ea9b71
fix: show changelog notice when stored version is missing or older
2026-04-15 02:13:42 +02:00
Maze Winther
370944f443
feat: new-release notice and colocate changelog under domain
2026-04-15 02:05:41 +02:00
Maze Winther
c839db9234
fix: remove redundant "opencut" prefix from storage key
2026-04-15 01:50:30 +02:00
Maze Winther
769a7e708a
changelog: another accuracy fix
2026-04-15 01:02:12 +02:00
Maze Winther
1fa5442f21
chore: remove debugging throughout codebase
2026-04-15 01:00:05 +02:00
Maze Winther
dc0a8e7c96
feat: graph editor supports multiple properties at once
2026-04-15 00:59:54 +02:00
Maze Winther
3db30c72e7
fix: turbo
2026-04-15 00:41:52 +02:00
Maze Winther
eca13e3e71
changelog: update to be more accurate
2026-04-15 00:40:22 +02:00
Maze Winther
1943a4d18f
feat: changelog now supports markdown within entries
2026-04-15 00:33:59 +02:00
Maze Winther
3eccc2f9e3
fix: copy to markdown formatting
2026-04-15 00:29:04 +02:00
Maze Winther
368a20ddc2
changelog: fix date
2026-04-15 00:26:12 +02:00
Maze Winther
64588ceeea
docs: fill in v0.3.0 technical changelog entries
2026-04-15 00:22:20 +02:00
Maze Winther
8fe66090e7
feat: add support for technical details in changelog entries
2026-04-14 23:55:20 +02:00
Maze Winther
91e1232112
feat: transcription diagnostics
2026-04-14 23:34:57 +02:00
Maze Winther
f726d95295
chore: add .tokeignore
2026-04-14 22:10:15 +02:00
Maze Winther
78a0a27a72
feat: editor feedback
2026-04-14 21:45:11 +02:00
Maze Winther
b68bf00454
docs: formatting
2026-04-14 20:49:17 +02:00
Maze Winther
cd19a4409f
docs: update file structure to be accurate
2026-04-14 20:47:30 +02:00
Maze Winther
f1ed84006a
docs: remove features section
2026-04-14 20:43:18 +02:00
Maze Winther
8d82ea9c0b
feat: draft persistence on Form via persistKey
2026-04-14 19:13:06 +02:00
Maze Winther
6aa4ffe462
style: export button icon size
2026-04-14 18:38:59 +02:00