diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-05-02 01:33:32 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-05-02 03:27:23 +0200 |
| commit | 8b8d65b5091f4158af68fbad85cc74936302b07b (patch) | |
| tree | 53c5bb4ee0ec60ed2b9d87585230014229008cea /apps/web/src/speed/components | |
| parent | 23187b0b6a9f179bdb68578fc4bdaa8414b8316d (diff) | |
| download | opencut-8b8d65b5091f4158af68fbad85cc74936302b07b.tar.gz | |
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>
Diffstat (limited to 'apps/web/src/speed/components')
0 files changed, 0 insertions, 0 deletions
