diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-04-29 18:41:15 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-05-02 03:27:23 +0200 |
| commit | 79dcec8a2ec2f5cad9be95e5b52fbfa752fb6ac4 (patch) | |
| tree | 99ff9393c4a550669ebac921c6a0535437a39413 /apps/web/src/masks/registry.ts | |
| parent | 97f8d1968f186028e41f83b04c0897130e6c69f4 (diff) | |
| download | opencut-79dcec8a2ec2f5cad9be95e5b52fbfa752fb6ac4.tar.gz | |
refactor: split builtin and freeform masks
Made-with: Cursor
Diffstat (limited to 'apps/web/src/masks/registry.ts')
| -rw-r--r-- | apps/web/src/masks/registry.ts | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/apps/web/src/masks/registry.ts b/apps/web/src/masks/registry.ts index 64ab2f60..77861926 100644 --- a/apps/web/src/masks/registry.ts +++ b/apps/web/src/masks/registry.ts @@ -2,6 +2,7 @@ import { MAX_FEATHER } from "@/masks/feather"; import type { ParamDefinition } from "@/params"; import type { BaseMaskParams, + BuiltinMaskType, Mask, MaskDefaultContext, MaskDefinition, @@ -23,11 +24,11 @@ type RegisteredMaskWithoutId = Mask extends infer TMask : never : never; -export type MaskDefinitionForRegistration = { - [TType in MaskType]: MaskDefinition<TType>; -}[MaskType]; +export type BuiltinMaskDefinitionForRegistration = { + [TType in BuiltinMaskType]: MaskDefinition<TType>; +}[BuiltinMaskType]; -const BASE_MASK_PARAM_DEFINITIONS: ParamDefinition< +export const BASE_MASK_PARAM_DEFINITIONS: ParamDefinition< keyof BaseMaskParams & string >[] = [ { @@ -57,7 +58,7 @@ const BASE_MASK_PARAM_DEFINITIONS: ParamDefinition< }, ]; -export interface RegisteredMaskDefinition { +export interface RegisteredBuiltinMaskDefinition { type: MaskType; name: string; features: MaskDefinition["features"]; @@ -72,9 +73,9 @@ export interface RegisteredMaskDefinition { icon: MaskIconProps; } -export class MasksRegistry extends DefinitionRegistry< - MaskType, - RegisteredMaskDefinition +export class BuiltinMasksRegistry extends DefinitionRegistry< + BuiltinMaskType, + RegisteredBuiltinMaskDefinition > { constructor() { super("mask"); @@ -84,10 +85,10 @@ export class MasksRegistry extends DefinitionRegistry< definition, icon, }: { - definition: MaskDefinitionForRegistration; + definition: BuiltinMaskDefinitionForRegistration; icon: MaskIconProps; }): void { - const withBaseParams: RegisteredMaskDefinition = { + const withBaseParams: RegisteredBuiltinMaskDefinition = { type: definition.type, name: definition.name, features: definition.features, @@ -106,4 +107,4 @@ export class MasksRegistry extends DefinitionRegistry< } } -export const masksRegistry = new MasksRegistry(); +export const builtinMasksRegistry = new BuiltinMasksRegistry(); |
