diff --git a/packages/chess/src/modifiers/schema.ts b/packages/chess/src/modifiers/schema.ts index 6823073..b0b8979 100644 --- a/packages/chess/src/modifiers/schema.ts +++ b/packages/chess/src/modifiers/schema.ts @@ -17,23 +17,6 @@ import type { ModifierProfile } from "./types.js"; // Primitives // --------------------------------------------------------------------------- -/** - * Built-in modifier ids — preserved as a literal enum for documentation - * and editor-side completion. Not used as the parse schema directly - * because T3 widens `kind` to also accept user-authored CustomModifierIds - * (arbitrary strings); the runtime apply path (T22) dispatches via - * MODIFIER_REGISTRY first then engine.customModifiers, silently skipping - * unknown kinds. - */ -export const BUILTIN_MODIFIER_KIND_IDS = [ - "hp-bonus", - "range-bonus", - "direction-additions", - "capture-flags", - "promotion-override", - "damage-resistance", -] as const; - /** * Parse-time schema for `kind`: any non-empty string. T3 custom modifier * ids are arbitrary strings (e.g. "custom:my-shield"), so an enum check @@ -42,7 +25,9 @@ export const BUILTIN_MODIFIER_KIND_IDS = [ * * Validity of the kind is enforced ELSEWHERE: the apply pipeline looks * the id up in MODIFIER_REGISTRY (built-ins) then engine.customModifiers - * (user-authored). Unknown kinds are warned and skipped. + * (user-authored). Unknown kinds are warned and skipped. The + * authoritative list of built-in ids lives in MODIFIER_REGISTRY, not + * duplicated here. */ const ModifierKindIdSchema = z.string().min(1);