From 79dcec8a2ec2f5cad9be95e5b52fbfa752fb6ac4 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 29 Apr 2026 18:41:15 +0200 Subject: refactor: split builtin and freeform masks Made-with: Cursor --- apps/web/src/masks/registry.ts | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'apps/web/src/masks/registry.ts') 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; -}[MaskType]; +export type BuiltinMaskDefinitionForRegistration = { + [TType in BuiltinMaskType]: MaskDefinition; +}[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(); -- cgit v1.3.1