summaryrefslogtreecommitdiff
path: root/apps/web/src/masks/index.ts
Commit message (Collapse)AuthorAgeFilesLines
* refactor: collapse mask definition registry to a single keyed registryMaze Winther2026-05-021-29/+7
| | | | | | | | | | | | | | | | | 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>
* refactor: split builtin and freeform masksMaze Winther2026-05-021-5/+35
| | | | Made-with: Cursor
* refactor: make mask renderer dispatch explicitMaze Winther2026-05-021-18/+50
| | | | Made-with: Cursor
* refactor: restructure files to their domains, new preview overlay system, ↵Maze Winther2026-04-201-0/+18
and dep graph