OpenCut/apps/web/src
Maze Winther 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
..
actions refactor: split builtin and freeform masks 2026-05-02 03:27:23 +02:00
animation refactor: animate params over time 2026-05-02 03:27:23 +02:00
app chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
auth refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
background refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
blog refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
canvas refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
changelog refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
clipboard refactor: animate params over time 2026-05-02 03:27:23 +02:00
commands refactor: split builtin and freeform masks 2026-05-02 03:27:23 +02:00
components refactor: animate params over time 2026-05-02 03:27:23 +02:00
core refactor: split builtin and freeform masks 2026-05-02 03:27:23 +02:00
data/colors feat: masks, properties refactor, shaders, storage migrations, and more 2026-03-29 15:48:22 +02:00
db refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
diagnostics perf: improve rendering performance by ~20x 2026-04-22 16:48:37 +02:00
editor chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
effects chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
env refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
export refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
feedback refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
fonts refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
fps chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
gradients refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
graphics chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
guides refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
hooks chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
masks refactor: collapse mask definition registry to a single keyed registry 2026-05-02 03:27:23 +02:00
media refactor: unify element params 2026-05-02 03:27:23 +02:00
panels refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
params refactor: animate params over time 2026-05-02 03:27:23 +02:00
preview refactor: remove dead tangent handle variant 2026-05-02 03:27:23 +02:00
project fix: model editor time as wasm MediaTime ticks end-to-end 2026-04-26 02:50:04 +02:00
rendering refactor: unify element params 2026-05-02 03:27:23 +02:00
retime refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
ripple refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
selection chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
services fix: address review findings in masks substrate 2026-05-02 03:27:23 +02:00
site refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
sounds fix: follow-up to prev commit 2026-04-26 02:59:30 +02:00
speed/components refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
stickers chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
subtitles chore: cleanup 2026-05-02 03:27:23 +02:00
text chore: cleanup 2026-05-02 03:27:23 +02:00
timeline refactor: animate params over time 2026-05-02 03:27:23 +02:00
transcription refactor: restructure files to their domains, new preview overlay system, and dep graph 2026-04-20 11:31:17 +02:00
types feat: migrate GPU renderer from WebGL to wgpu/WASM 2026-04-01 13:57:32 +02:00
utils chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00
wasm chore: switch from biome to eslint + prettier; fix ton of lint issues 2026-05-02 03:27:23 +02:00