@pixi-ui-editor/schema 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assetPaths.js.map +1 -1
- package/dist/assetPaths.test.js.map +1 -1
- package/dist/bindingKeys.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test-fixtures.js.map +1 -1
- package/dist/index.test.js.map +1 -1
- package/dist/localization.js.map +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.test.js.map +1 -1
- package/dist/prefabs.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Type, type Static, type TSchema } from \"@sinclair/typebox\";\r\nimport Ajv from \"ajv\";\r\nimport addFormats from \"ajv-formats\";\r\nimport type { ErrorObject } from \"ajv\";\r\nimport { applyPrefabNodePatch, materializePrefabInstance, PREFAB_NODE_PATH_SEPARATOR, resolveOwnerNodeGraph, resolvePrefabInstanceBaseNodes } from \"./prefabs.js\";\r\nimport { collectBindingKeys, collectBindingKeyScopes } from \"./bindingKeys.js\";\r\nimport { collectLocalizationIssues, createDefaultLocalization, LocalizationSchema } from \"./localization.js\";\r\n\r\nexport { collectBindingKeys, collectBindingKeyScopes, OWNER_BINDING_KEY_SCOPE } from \"./bindingKeys.js\";\r\n\r\nexport const CURRENT_SCHEMA_VERSION = 28 as const;\r\nconst Id = Type.String({ format: \"uuid\" });\r\nconst Name = Type.String({ minLength: 1 });\r\n/**\r\n * Ссылка на узел внутри инстанса пресета: собственный id узла либо путь по вложенным пресетам\r\n * (`idA::prefab-node::idB`). Обычная нода сцены всегда использует первую форму; вторая появляется\r\n * только у `parentId` локально добавленного узла и у `nodeId` property override. Разрешимость\r\n * адреса проверяет семантическая валидация, структурная — только его форму.\r\n */\r\nconst NodeAddress = Type.Union([Id, Type.String({ pattern: `^.+${PREFAB_NODE_PATH_SEPARATOR}.+$` })]);\r\nexport const LayoutProfileIdSchema = Type.Union([Type.Literal(\"desktop\"), Type.Literal(\"mobile\")]);\r\nexport type LayoutProfileId = Static<typeof LayoutProfileIdSchema>;\r\n// Unity RectTransform semantics in logical Canvas units: x/y are anchoredPosition and width/height\r\n// are sizeDelta. A point axis needs a positive sizeDelta; a stretched axis may use negative insets.\r\nconst Transform = Type.Object({ x: Type.Number(), y: Type.Number(), width: Type.Number(), height: Type.Number(), scaleX: Type.Number(), scaleY: Type.Number(), rotation: Type.Number(), pivotX: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), pivotY: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), anchorMinX: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), anchorMinY: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), anchorMaxX: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), anchorMaxY: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })) });\r\nconst Alignment = Type.Union([Type.Literal(\"upper-left\"), Type.Literal(\"upper-center\"), Type.Literal(\"upper-right\"), Type.Literal(\"middle-left\"), Type.Literal(\"middle-center\"), Type.Literal(\"middle-right\"), Type.Literal(\"lower-left\"), Type.Literal(\"lower-center\"), Type.Literal(\"lower-right\")]);\r\nexport type LayoutAlignment = Static<typeof Alignment>;\r\nconst Padding = Type.Object({ left: Type.Number({ minimum: 0 }), right: Type.Number({ minimum: 0 }), top: Type.Number({ minimum: 0 }), bottom: Type.Number({ minimum: 0 }) });\r\nexport type LayoutPadding = Static<typeof Padding>;\r\nconst LayoutItem = Type.Object({ flexGrow: Type.Number({ minimum: 0 }), flexShrink: Type.Number({ minimum: 0 }), flexBasis: Type.Optional(Type.Number({ exclusiveMinimum: 0 })), alignSelf: Type.Optional(Type.Union([Type.Literal(\"auto\"), Type.Literal(\"flex-start\"), Type.Literal(\"center\"), Type.Literal(\"flex-end\"), Type.Literal(\"stretch\")])) });\r\nexport type LayoutItemDefinition = Static<typeof LayoutItem>;\r\nconst LinearLayoutSettings = Type.Object({ padding: Padding, spacing: Type.Number({ minimum: 0 }), childAlignment: Alignment, reverseOrder: Type.Boolean(), controlChildWidth: Type.Boolean(), controlChildHeight: Type.Boolean(), forceExpandWidth: Type.Boolean(), forceExpandHeight: Type.Boolean() });\r\nexport type LinearLayoutSettings = Static<typeof LinearLayoutSettings>;\r\nconst GridLayoutSettings = Type.Object({ padding: Padding, spacingX: Type.Number({ minimum: 0 }), spacingY: Type.Number({ minimum: 0 }), cellWidth: Type.Number({ exclusiveMinimum: 0 }), cellHeight: Type.Number({ exclusiveMinimum: 0 }), startCorner: Type.Union([Type.Literal(\"upper-left\"), Type.Literal(\"upper-right\"), Type.Literal(\"lower-left\"), Type.Literal(\"lower-right\")]), startAxis: Type.Union([Type.Literal(\"horizontal\"), Type.Literal(\"vertical\")]), childAlignment: Alignment, constraint: Type.Union([Type.Literal(\"flexible\"), Type.Literal(\"fixed-column-count\"), Type.Literal(\"fixed-row-count\")]), constraintCount: Type.Optional(Type.Number({ exclusiveMinimum: 0 })) });\r\nexport type GridLayoutSettings = Static<typeof GridLayoutSettings>;\r\nconst ProfiledLayout = <T extends TSchema>(settings: T) => Type.Object({ base: settings, overrides: Type.Optional(Type.Partial(Type.Object({ desktop: Type.Partial(settings), mobile: Type.Partial(settings) }))) });\r\nconst Override = Type.Object({ visible: Type.Optional(Type.Boolean()), transform: Type.Optional(Type.Partial(Transform)) });\r\n// `editorOnly` and `locked` are authoring metadata. `locked` protects the node and its descendants\r\n// from editor mutations but deliberately has no runtime rendering semantics.\r\n// `bindingKey` — публичный семантический ключ ноды для игрового кода: он не меняется при rename,\r\n// перемещении и замене ассета. Ключ необязателен, а его уникальность проверяется в пределах\r\n// materialized-графа владельца (`collectBindingKeys`), поэтому нода внутри одного prefab-инстанса\r\n// получает собственный ключ, не задевая другой инстанс того же пресета.\r\nconst NodeBase = Type.Object({ id: Id, name: Name, parentId: Type.Union([NodeAddress, Type.Null()]), children: Type.Array(Id), visible: Type.Boolean(), editorOnly: Type.Optional(Type.Boolean()), locked: Type.Optional(Type.Boolean()), transform: Transform, layoutOverrides: Type.Optional(Type.Partial(Type.Object({ desktop: Override, mobile: Override }))), layoutItem: Type.Optional(LayoutItem), bindingKey: Type.Optional(Type.String()) });\r\nconst Container = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"container\") })]);\r\n// A mask clips its complete child subtree to its resolved layout rectangle. The rectangular shape\r\n// deliberately has no serialized settings: RectTransform is the single source of truth for it.\r\nconst Mask = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"mask\") })]);\r\nconst HorizontalLayout = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"horizontal-layout\"), backgroundAssetId: Type.Optional(Id), layoutGroup: ProfiledLayout(LinearLayoutSettings) })]);\r\nconst VerticalLayout = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"vertical-layout\"), backgroundAssetId: Type.Optional(Id), layoutGroup: ProfiledLayout(LinearLayoutSettings) })]);\r\nconst GridLayout = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"grid-layout\"), backgroundAssetId: Type.Optional(Id), layoutGroup: ProfiledLayout(GridLayoutSettings) })]);\r\n// assetId отсутствует — нода без источника: рантайм и редактор рисуют белый прямоугольник её размера.\r\n// `nineSlice` отсутствует — обычный Sprite, растянутый по transform (старое поведение, без миграции).\r\n// При наличии — рамки в пикселях источника (как @pixi/ui fillPadding), не сериализованные проценты:\r\n// нода `NineSliceSprite`, углы/края не искажаются при растяжении.\r\nconst Image = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"image\"), assetId: Type.Optional(Id), opacity: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })), nineSlice: Type.Optional(Padding) })]);\r\nconst TextStroke = Type.Object({ color: Type.String({ pattern: \"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$\" }), width: Type.Number({ minimum: 0 }) });\r\n// Числовые начертания соответствуют CSS/PIXI `font-weight` напрямую (без адаптера): у каждого\r\n// значения должен быть загружен свой файл шрифта с тем же `family` (см. FontAsset.weight), иначе\r\n// в отсутствие соответствующего `FontFace` браузер молча использует единственное загруженное\r\n// начертание — визуально вес не поменяется, что бы тут ни было выбрано.\r\nexport const TextStyleDefinitionSchema = Type.Object({ fontAssetId: Type.Optional(Id), fontFamily: Type.String({ minLength: 1 }), fontSize: Type.Number({ exclusiveMinimum: 0 }), fontWeight: Type.Union([Type.Literal(\"300\"), Type.Literal(\"normal\"), Type.Literal(\"500\"), Type.Literal(\"600\"), Type.Literal(\"bold\"), Type.Literal(\"800\")]), fontStyle: Type.Union([Type.Literal(\"normal\"), Type.Literal(\"italic\")]), fill: Type.String({ pattern: \"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$\" }), align: Type.Union([Type.Literal(\"left\"), Type.Literal(\"center\"), Type.Literal(\"right\"), Type.Literal(\"justify\")]), verticalAlign: Type.Union([Type.Literal(\"top\"), Type.Literal(\"middle\"), Type.Literal(\"bottom\")]), wordWrap: Type.Boolean(), breakWords: Type.Boolean(), lineHeight: Type.Optional(Type.Number({ exclusiveMinimum: 0 })), letterSpacing: Type.Number(), stroke: Type.Optional(TextStroke) });\r\nexport type TextStyleDefinition = Static<typeof TextStyleDefinitionSchema>;\r\nconst TextStyleOverrides = Type.Partial(Type.Object({ desktop: Type.Partial(TextStyleDefinitionSchema), mobile: Type.Partial(TextStyleDefinitionSchema) }));\r\n// `textKey` — единственная ссылка локализации, и она живёт именно на `Text`, а не на `NodeBase`:\r\n// несовместимая нода структурно не может получить localization key. `text` остаётся обязательной\r\n// авторской строкой, ручным режимом и последним содержательным fallback.\r\n// `autoSize`/`minFontSize` mirror `bitmap-text` (ADR 0027): the resolved `style.fontSize` stays the\r\n// authored upper bound, and with `autoSize: true` the runtime shrinks down to `minFontSize` (default\r\n// 1) to keep the rendered text inside the resolved rectangle. Both live on the node itself, not inside\r\n// `style`/`textStyleOverrides`: shrinking is a runtime fit computed from the resolved box at render\r\n// time, not an authored per-orientation style choice, the same reasoning bitmap text's fields follow.\r\nconst Text = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"text\"), text: Type.String(), textKey: Type.Optional(Type.String()), style: Type.Optional(TextStyleDefinitionSchema), textStyleOverrides: Type.Optional(TextStyleOverrides), autoSize: Type.Optional(Type.Boolean()), minFontSize: Type.Optional(Type.Number({ exclusiveMinimum: 0 })) })]);\r\n// Optional preserves existing documents; omitted animationSpeed is interpreted as 1 by every runtime.\r\n// `autoplay` is the serialized initial playback decision. Older documents are migrated to true,\r\n// preserving the runtime behavior they had before this field became explicit.\r\nconst SpineProfileSettings = Type.Object({\r\n // `null` explicitly removes an inherited base animation; an absent key inherits it.\r\n animation: Type.Union([Type.String({ minLength: 1 }), Type.Null()]),\r\n autoplay: Type.Boolean(),\r\n loop: Type.Boolean(),\r\n animationSpeed: Type.Number({ exclusiveMinimum: 0 }),\r\n});\r\nconst SpineOverrides = Type.Partial(Type.Object({ desktop: Type.Partial(SpineProfileSettings), mobile: Type.Partial(SpineProfileSettings) }));\r\nconst Spine = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"spine\"), assetId: Id, animation: Type.Optional(Type.String({ minLength: 1 })), autoplay: Type.Optional(Type.Boolean()), loop: Type.Optional(Type.Boolean()), animationSpeed: Type.Optional(Type.Number({ exclusiveMinimum: 0 })), spineOverrides: Type.Optional(SpineOverrides) })]);\r\nconst BitmapTextAlign = Type.Union([Type.Literal(\"left\"), Type.Literal(\"center\"), Type.Literal(\"right\")]);\r\n// A bitmap font's glyphs come pre-rendered from its texture, so unlike `Text` there is no system\r\n// fallback: `assetId` is required (like Spine's), and the \"Bitmap Text\" add-node entry stays disabled\r\n// until at least one `bitmapFont` asset exists — a bitmap-text node with no asset has nothing to draw.\r\nconst BitmapText = Type.Composite([NodeBase, Type.Object({\r\n type: Type.Literal(\"bitmap-text\"),\r\n text: Type.String(),\r\n assetId: Id,\r\n // The authored/preferred size. With `autoSize` on, this doubles as the upper bound the runtime\r\n // shrinks down from — never grows past it — the same \"Best Fit\" contract Unity's legacy Text uses.\r\n fontSize: Type.Number({ exclusiveMinimum: 0 }),\r\n fill: Type.String({ pattern: \"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$\" }),\r\n align: BitmapTextAlign,\r\n verticalAlign: Type.Union([Type.Literal(\"top\"), Type.Literal(\"middle\"), Type.Literal(\"bottom\")]),\r\n letterSpacing: Type.Number(),\r\n wordWrap: Type.Boolean(),\r\n // Omitted/false keeps the historical behavior: fixed `fontSize`, overflow simply clips/overruns.\r\n autoSize: Type.Optional(Type.Boolean()),\r\n // The floor `autoSize` won't shrink past; omitted defaults to 1 at the runtime/view layer, not here,\r\n // so old documents (no `autoSize`, no `minFontSize`) stay byte-for-byte meaningful without migration.\r\n minFontSize: Type.Optional(Type.Number({ exclusiveMinimum: 0 })),\r\n})]);\r\nexport const PrefabNodeOverrideSchema = Type.Object({\r\n /** Адрес переопределяемого узла внутри инстанса; для вложенных пресетов это путь. */\r\n nodeId: NodeAddress,\r\n /**\r\n * RFC-7396-like merge patch. Semantic validation rejects structural fields and validates the\r\n * effective node after applying it to the referenced prefab-definition node.\r\n */\r\n patch: Type.Record(Type.String(), Type.Unknown()),\r\n});\r\nexport type PrefabNodeOverride = Static<typeof PrefabNodeOverrideSchema>;\r\n/** Состояния кнопки. `normal` обязателен; остальные при отсутствии используют его изображение. */\r\nexport const BUTTON_STATE_KEYS = [\"normal\", \"hover\", \"pressed\", \"disabled\"] as const;\r\nexport type ButtonStateKey = (typeof BUTTON_STATE_KEYS)[number];\r\n/** Discriminated transition: в v0 поддержан только `instant`, чтобы позже добавить bump/slide/fade без неявных полей. */\r\nconst ButtonTransition = Type.Object({ kind: Type.Literal(\"instant\") });\r\nconst ButtonStates = Type.Object({ normalAssetId: Id, hoverAssetId: Type.Optional(Id), pressedAssetId: Type.Optional(Id), disabledAssetId: Type.Optional(Id) });\r\nconst ButtonSounds = Type.Object({ pressAssetId: Type.Optional(Id), hoverAssetId: Type.Optional(Id) });\r\nconst ButtonTransitions = Type.Partial(Type.Object({ normal: ButtonTransition, hover: ButtonTransition, pressed: ButtonTransition, disabled: ButtonTransition }));\r\n// `enabled` — сериализованное начальное presentation-состояние; runtime setter документ не меняет.\r\n// `nineSlice` — общие для всех 4 состояний границы (как у Image): рамка кнопки обычно одной формы\r\n// независимо от того, какая картинка сейчас показана.\r\nconst Button = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"button\"), states: ButtonStates, sounds: Type.Optional(ButtonSounds), enabled: Type.Boolean(), transitions: Type.Optional(ButtonTransitions), nineSlice: Type.Optional(Padding) })]);\r\n// A staged button is a separate component, not a generalization of `button`: it reuses `ButtonStates`\r\n// (and `BUTTON_STATE_KEYS`) so a stage's own normal/hover/pressed/disabled fallback rule stays the\r\n// single existing definition, but owns its own node type, view class and Inspector section.\r\n// \"How many stages\" is the length of `stages`, not a parallel count field: a count without artwork is\r\n// meaningless and two independent fields would inevitably drift apart. `value` is an arbitrary author\r\n// string for game code; its uniqueness is not required — `id` uniqueness is, since it is what\r\n// `defaultStageId` and runtime addressing key off. `nineSlice`/`sounds` are shared across every stage,\r\n// like `nineSlice` is shared across a button's four states.\r\nconst StagedButtonStage = Type.Object({ id: Id, value: Type.String(), states: ButtonStates });\r\nconst StagedButton = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"staged-button\"), stages: Type.Array(StagedButtonStage, { minItems: 1 }), defaultStageId: Id, wrap: Type.Boolean(), enabled: Type.Boolean(), sounds: Type.Optional(ButtonSounds), nineSlice: Type.Optional(Padding) })]);\r\n// Базовые unchecked/checked обязательны — в отличие от кнопки, тут нет запасного normal. Hover-пара\r\n// опциональна и при отсутствии падает обратно на свою базовую картинку (как hover/pressed у кнопки).\r\nexport const CHECKBOX_STATE_KEYS = [\"unchecked\", \"checked\", \"uncheckedHover\", \"checkedHover\"] as const;\r\nexport type CheckboxStateKey = (typeof CHECKBOX_STATE_KEYS)[number];\r\nconst CheckboxStates = Type.Object({ uncheckedAssetId: Id, checkedAssetId: Id, uncheckedHoverAssetId: Type.Optional(Id), checkedHoverAssetId: Type.Optional(Id) });\r\nconst CheckboxSounds = Type.Object({ checkAssetId: Type.Optional(Id), uncheckAssetId: Type.Optional(Id) });\r\n// `group` — необязательный radio-scope: при клике рантайм снимает `checked` у остальных чекбоксов\r\n// с тем же `parentId` и тем же `group` (см. `wireCheckboxGroups` в runtime-pixi). Без `group` узел\r\n// ведёт себя как независимый toggle. `defaultChecked` — сериализованное начальное состояние, как\r\n// `enabled` у кнопки: рантайм-переключение документ не меняет.\r\nconst Checkbox = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"checkbox\"), states: CheckboxStates, sounds: Type.Optional(CheckboxSounds), enabled: Type.Boolean(), defaultChecked: Type.Boolean(), group: Type.Optional(Type.String({ minLength: 1 })) })]);\r\n// Прямые children — scroll items; их позицию владеет `@pixi/ui` List, поэтому per-profile overrides\r\n// настроек не нужны (как у text style) — только собственные transform/visibility остаются profile-aware.\r\nconst ScrollViewDirection = Type.Union([Type.Literal(\"vertical\"), Type.Literal(\"horizontal\"), Type.Literal(\"both\")]);\r\nexport type ScrollViewDirection = Static<typeof ScrollViewDirection>;\r\nconst ScrollViewSettings = Type.Object({\r\n direction: ScrollViewDirection,\r\n padding: Padding,\r\n itemSpacing: Type.Number({ minimum: 0 }),\r\n backgroundColor: Type.Optional(Type.String({ pattern: \"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$\" })),\r\n cornerRadius: Type.Number({ minimum: 0 }),\r\n easingEnabled: Type.Boolean(),\r\n // Значим только при direction \"horizontal\"; для остальных направлений безопасно игнорируется.\r\n shiftWheelHorizontal: Type.Optional(Type.Boolean()),\r\n});\r\nexport type ScrollViewSettings = Static<typeof ScrollViewSettings>;\r\nconst ScrollView = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"scroll-view\"), scrollView: ScrollViewSettings })]);\r\nconst InputAlign = Type.Union([Type.Literal(\"left\"), Type.Literal(\"center\"), Type.Literal(\"right\")]);\r\nexport type InputAlign = Static<typeof InputAlign>;\r\n// Reuses the shared `TextStyleDefinition` (TASK-029) so an input never grows an incompatible parallel\r\n// font/style field set; fields that don't apply to a single line (wordWrap, verticalAlign, ...) are\r\n// simply ignored by the runtime view, the same way a button ignores unused optional state assets.\r\nconst Input = Type.Composite([NodeBase, Type.Object({\r\n type: Type.Literal(\"input\"),\r\n backgroundAssetId: Type.Optional(Id),\r\n placeholder: Type.String(),\r\n defaultValue: Type.String(),\r\n // Positive integer: a character-count limit can't be fractional or non-positive.\r\n maxLength: Type.Optional(Type.Integer({ exclusiveMinimum: 0 })),\r\n secure: Type.Boolean(),\r\n align: InputAlign,\r\n padding: Padding,\r\n cleanOnFocus: Type.Boolean(),\r\n clipText: Type.Boolean(),\r\n textStyle: TextStyleDefinitionSchema,\r\n})]);\r\nconst Slider = Type.Composite([NodeBase, Type.Object({\r\n type: Type.Literal(\"slider\"),\r\n backgroundAssetId: Id,\r\n fillAssetId: Id,\r\n handleAssetId: Id,\r\n min: Type.Number(),\r\n max: Type.Number(),\r\n step: Type.Number(),\r\n defaultValue: Type.Number(),\r\n fillPadding: Padding,\r\n showValue: Type.Optional(Type.Boolean()),\r\n valueTextStyle: Type.Optional(TextStyleDefinitionSchema),\r\n})]);\r\nconst ProgressBar = Type.Composite([NodeBase, Type.Object({\r\n type: Type.Literal(\"progress-bar\"),\r\n backgroundAssetId: Id,\r\n fillAssetId: Id,\r\n defaultProgress: Type.Number(),\r\n fillPadding: Padding,\r\n})]);\r\nconst Range = Type.Object({ min: Type.Number(), max: Type.Number() });\r\nconst PositiveRange = Type.Object({ min: Type.Number({ exclusiveMinimum: 0 }), max: Type.Number({ exclusiveMinimum: 0 }) });\r\nconst Color = Type.String({ pattern: \"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$\" });\r\nconst ParticleSource = Type.Union([\r\n Type.Object({ type: Type.Literal(\"single\"), assetId: Id }),\r\n Type.Object({ type: Type.Literal(\"random\"), assetIds: Type.Array(Id, { minItems: 1 }) }),\r\n Type.Object({ type: Type.Literal(\"sequence\"), assetIds: Type.Array(Id, { minItems: 1 }), fps: Type.Number({ exclusiveMinimum: 0 }), loop: Type.Boolean(), randomStartFrame: Type.Boolean() }),\r\n]);\r\nexport const EffectDefinitionSchema = Type.Union([Type.Object({\r\n id: Id, name: Name, type: Type.Literal(\"particles\"), maxParticles: Type.Integer({ minimum: 1, maximum: 10000 }), seed: Type.Integer({ minimum: 0, maximum: 4294967295 }),\r\n emission: Type.Object({ delay: Type.Number({ minimum: 0 }), duration: Type.Number({ exclusiveMinimum: 0 }), loop: Type.Boolean(), rate: Type.Number({ minimum: 0 }), bursts: Type.Array(Type.Object({ time: Type.Number({ minimum: 0 }), count: Type.Integer({ minimum: 1 }) })) }),\r\n particle: Type.Object({\r\n lifetime: PositiveRange,\r\n spawnShape: Type.Object({ type: Type.Union([Type.Literal(\"point\"), Type.Literal(\"rectangle\"), Type.Literal(\"circle\")]) }),\r\n movement: Type.Object({ speed: Range, directionDegrees: Type.Number({ minimum: 0, maximum: 360 }), spreadDegrees: Type.Number({ minimum: 0, maximum: 360 }), accelerationX: Type.Number(), accelerationY: Type.Number(), drag: Type.Number({ minimum: 0 }) }),\r\n visual: Type.Object({ source: ParticleSource, alpha: Type.Object({ start: Type.Number({ minimum: 0, maximum: 1 }), end: Type.Number({ minimum: 0, maximum: 1 }) }), scale: Type.Object({ start: PositiveRange, end: PositiveRange }), tint: Type.Object({ start: Color, end: Color }), rotation: Type.Object({ initialDegrees: Range, angularVelocityDegrees: Range }), blendMode: Type.Union([Type.Literal(\"normal\"), Type.Literal(\"add\"), Type.Literal(\"multiply\"), Type.Literal(\"screen\")]) }),\r\n }),\r\n})]);\r\nexport type EffectDefinition = Static<typeof EffectDefinitionSchema>;\r\nexport type ParticleEffectDefinition = Extract<EffectDefinition, { type: \"particles\" }>;\r\nexport function isParticleEffect(effect: EffectDefinition): effect is ParticleEffectDefinition { return effect.type === \"particles\"; }\r\nconst ParticleEmitter = Type.Composite([NodeBase, Type.Object({ type: Type.Literal(\"particle-emitter\"), effectId: Id, autoplay: Type.Boolean(), simulationSpace: Type.Union([Type.Literal(\"local\"), Type.Literal(\"world\")]) })]);\r\n/**\r\n * Локальное добавление внутри инстанса — обычный узел любого типа, включая другой инстанс пресета\r\n * (как added GameObject в Unity). Поэтому схема узла рекурсивна: `prefab-instance` содержит массив\r\n * таких же узлов.\r\n */\r\nconst UI_NODE_SCHEMA_ID = \"UINode\";\r\nexport const UINodeSchema = Type.Recursive((Self) => Type.Union([Container, Mask, HorizontalLayout, VerticalLayout, GridLayout, Image, Text, BitmapText, Spine, Button, StagedButton, Checkbox, Type.Composite([NodeBase, Type.Object({\r\n type: Type.Literal(\"prefab-instance\"),\r\n prefabId: Id,\r\n propertyOverrides: Type.Optional(Type.Array(PrefabNodeOverrideSchema)),\r\n locallyAddedNodes: Type.Optional(Type.Array(Self)),\r\n})]), ScrollView, Input, Slider, ProgressBar, ParticleEmitter]), { $id: UI_NODE_SCHEMA_ID });\r\nexport type UINode = Static<typeof UINodeSchema>;\r\n/**\r\n * Ссылка на схему узла для владельцев (сцена, пресет). Встроить рекурсивную схему дважды нельзя:\r\n * её `$id` оказался бы в документе в двух местах, и Ajv не смог бы разрешить внутренние `$ref`.\r\n * Поэтому схема узла регистрируется в Ajv один раз, а владельцы ссылаются на неё.\r\n */\r\nconst UINodeRef = Type.Unsafe<UINode>({ $ref: UI_NODE_SCHEMA_ID });\r\n/** Исторический псевдоним: локальное добавление больше ничем не ограничено по сравнению с узлом сцены. */\r\nexport const LocallyAddedNodeSchema = UINodeSchema;\r\nexport type LocallyAddedNode = UINode;\r\nexport type LayoutGroupNode = Extract<UINode, { type: \"horizontal-layout\" | \"vertical-layout\" | \"grid-layout\" }>;\r\nexport function isLayoutGroup(node: UINode): node is LayoutGroupNode { return node.type === \"horizontal-layout\" || node.type === \"vertical-layout\" || node.type === \"grid-layout\"; }\r\nexport function resolveLayoutGroupSettings<T extends LayoutGroupNode[\"layoutGroup\"][\"base\"]>(node: LayoutGroupNode, profile: LayoutProfileId): T {\r\n return { ...node.layoutGroup.base, ...node.layoutGroup.overrides?.[profile] } as T;\r\n}\r\nexport type ScrollViewNode = Extract<UINode, { type: \"scroll-view\" }>;\r\nexport function isScrollView(node: UINode): node is ScrollViewNode { return node.type === \"scroll-view\"; }\r\n/** A direct child of this node does not own its own position: a layout group's Yoga solver or a scroll-view's `@pixi/ui` List does. */\r\nexport function isPositionManagingContainer(node: UINode): boolean { return isLayoutGroup(node) || isScrollView(node); }\r\nexport type TextNode = Extract<UINode, { type: \"text\" }>;\r\nexport function isTextNode(node: UINode): node is TextNode { return node.type === \"text\"; }\r\nexport type BitmapTextNode = Extract<UINode, { type: \"bitmap-text\" }>;\r\nexport type ImageNode = Extract<UINode, { type: \"image\" }>;\r\nexport type InputNode = Extract<UINode, { type: \"input\" }>;\r\nexport type CheckboxNode = Extract<UINode, { type: \"checkbox\" }>;\r\nexport type SliderNode = Extract<UINode, { type: \"slider\" }>;\r\nexport type ProgressBarNode = Extract<UINode, { type: \"progress-bar\" }>;\r\nexport type ParticleEmitterNode = Extract<UINode, { type: \"particle-emitter\" }>;\r\nexport type StagedButtonNode = Extract<UINode, { type: \"staged-button\" }>;\r\nexport function isParticleEmitterNode(node: UINode): node is ParticleEmitterNode { return node.type === \"particle-emitter\"; }\r\nconst Viewport = Type.Object({ width: Type.Number({ exclusiveMinimum: 0 }), height: Type.Number({ exclusiveMinimum: 0 }) });\r\nconst SceneAudio = Type.Object({ backgroundMusicAssetId: Type.Optional(Id), volume: Type.Optional(Type.Number({ minimum: 0, maximum: 1 })) });\r\nexport const SceneSchema = Type.Object({ id: Id, name: Name, rootNodeIds: Type.Array(Id), nodes: Type.Array(UINodeRef), layout: Type.Object({ referenceViewports: Type.Object({ desktop: Viewport, mobile: Viewport }), preferredViewports: Type.Object({ desktop: Viewport, mobile: Viewport }) }), audio: Type.Optional(SceneAudio) });\r\nexport type Scene = Static<typeof SceneSchema>;\r\nexport const AssetFileSchema = Type.Object({ name: Name, uri: Type.String({ minLength: 1 }), mediaType: Type.String({ minLength: 1 }) });\r\nexport type AssetFile = Static<typeof AssetFileSchema>;\r\nconst ImageAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"image\"), source: Type.Object({ uri: Type.String({ minLength: 1 }), mediaType: Type.String({ minLength: 1 }), version: Type.Optional(Type.String({ minLength: 1 })) }) });\r\nexport const SpineReferenceFrameSchema = Type.Object({\r\n x: Type.Number(),\r\n y: Type.Number(),\r\n width: Type.Number({ exclusiveMinimum: 0 }),\r\n height: Type.Number({ exclusiveMinimum: 0 }),\r\n});\r\nexport type SpineReferenceFrame = Static<typeof SpineReferenceFrameSchema>;\r\nconst SpineAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"spine\"), files: Type.Object({ skeleton: AssetFileSchema, atlas: AssetFileSchema, textures: Type.Array(AssetFileSchema, { minItems: 1 }) }), referenceFrame: Type.Optional(SpineReferenceFrameSchema) });\r\n// `weight`/`style` описывают начертание, которое реально содержит загруженный файл (см.\r\n// TextStyleDefinitionSchema.fontWeight выше): загрузка того же `family` под разными весами\r\n// регистрирует несколько `FontFace` и позволяет тексту переключаться между ними.\r\nconst FontAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"font\"), family: Name, weight: Type.Union([Type.Literal(\"300\"), Type.Literal(\"normal\"), Type.Literal(\"500\"), Type.Literal(\"600\"), Type.Literal(\"bold\"), Type.Literal(\"800\")]), style: Type.Union([Type.Literal(\"normal\"), Type.Literal(\"italic\")]), source: Type.Object({ uri: Type.String({ minLength: 1 }), mediaType: Type.String({ minLength: 1 }), version: Type.Optional(Type.String({ minLength: 1 })) }) });\r\n// Имя фрейма из spritesheet JSON → стабильный id фрейма; nodes ссылаются на этот id как на обычный image assetId.\r\nconst AtlasAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"atlas\"), files: Type.Object({ json: AssetFileSchema, texture: AssetFileSchema }), frames: Type.Record(Type.String({ minLength: 1 }), Id) });\r\nconst SoundAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"sound\"), source: Type.Object({ uri: Type.String({ minLength: 1 }), mediaType: Type.String({ minLength: 1 }), version: Type.Optional(Type.String({ minLength: 1 })) }) });\r\n// A BMFont/XML export: `xml` carries the glyph layout (`<info>`/`<chars>`), `texture` the glyph sheet\r\n// it describes. Unlike a TTF/OTF `FontAsset`, one bitmap font is one fixed rendered appearance —\r\n// there is no separate weight/style to tag, so a bold or condensed variant is just another asset.\r\n// `frames` mirrors `AtlasAsset.frames`: glyph name (e.g. a digit) → stable id, cropped from the same\r\n// texture at import time from the parsed BMFont `<chars>` list. Nodes reference a frame id exactly\r\n// like a normal image assetId, so one glyph can be reused directly in an Image/Button/etc. `Optional`\r\n// (unlike atlas, which never predates this) because it was added after `bitmapFont` already shipped:\r\n// existing assets simply have none, same as an atlas would if all its frames were deleted.\r\nconst BitmapFontAsset = Type.Object({ id: Id, name: Name, type: Type.Literal(\"bitmapFont\"), files: Type.Object({ xml: AssetFileSchema, texture: AssetFileSchema }), frames: Type.Optional(Type.Record(Type.String({ minLength: 1 }), Id)) });\r\nexport const AssetSchema = Type.Union([ImageAsset, SpineAsset, FontAsset, AtlasAsset, SoundAsset, BitmapFontAsset]);\r\nexport type Asset = Static<typeof AssetSchema>;\r\nexport const PrefabDefinitionSchema = Type.Object({ id: Id, name: Name, rootNodeIds: Type.Array(Id), nodes: Type.Array(UINodeRef), exposedProperties: Type.Array(Type.Object({ name: Name, type: Type.Union([Type.Literal(\"string\"), Type.Literal(\"number\"), Type.Literal(\"boolean\"), Type.Literal(\"asset\"), Type.Literal(\"visibility\")]) })) });\r\nexport type PrefabDefinition = Static<typeof PrefabDefinitionSchema>;\r\nexport const ProjectDocumentSchema = Type.Object({ schemaVersion: Type.Literal(CURRENT_SCHEMA_VERSION), project: Type.Object({ id: Id, name: Name }), settings: Type.Object({ layoutProfileSelection: Type.Object({ mode: Type.Literal(\"aspect-ratio\"), mobileMaxAspectRatio: Type.Number({ exclusiveMinimum: 0 }) }) }), localization: LocalizationSchema, assets: Type.Array(AssetSchema), effects: Type.Array(EffectDefinitionSchema), prefabs: Type.Array(PrefabDefinitionSchema), scenes: Type.Array(SceneSchema) });\r\nexport type ProjectDocument = Static<typeof ProjectDocumentSchema>;\r\n\r\nexport type ValidationIssue = { code: string; path: string; message: string; severity: \"error\" | \"warning\" };\r\n/** `valid` означает отсутствие issues с severity `error`, а не пустой массив: warnings сохраняемы. */\r\nexport type ValidationResult = { valid: boolean; issues: ValidationIssue[] };\r\nexport class ProjectDocumentMigrationError extends Error { readonly code = \"UNSUPPORTED_SCHEMA_VERSION\"; constructor(message: string) { super(message); this.name = \"ProjectDocumentMigrationError\"; } }\r\nconst AjvConstructor = Ajv as unknown as typeof import(\"ajv\").default;\r\nconst addAjvFormats = addFormats as unknown as typeof import(\"ajv-formats\").default;\r\nconst createAjv = () => { const instance = new AjvConstructor({ allErrors: true, strict: false }); addAjvFormats(instance); return instance; };\r\n// Рекурсивная схема узла несёт собственный `$id`, поэтому её нельзя компилировать дважды в одном\r\n// экземпляре Ajv: документ уже зарегистрировал этот `$id` внутри себя.\r\nconst documentAjv = createAjv(); documentAjv.addSchema(UINodeSchema);\r\nconst structural = documentAjv.compile(ProjectDocumentSchema); const structuralNode = createAjv().compile(UINodeSchema);\r\nexport function createStableId(): string { return crypto.randomUUID(); }\r\nconst add = (issues: ValidationIssue[], code: string, path: string, message: string) => issues.push({ code, path, message, severity: \"error\" });\r\n\r\n/** Общая проверка владельца: одинаковые issue получают и сцена, и определение пресета. */\r\nfunction checkBindingKeys(document: ProjectDocument, owner: Owner, path: string, issues: ValidationIssue[]): void {\r\n const graph = resolveOwnerNodeGraph(document, owner);\r\n // Пустой ключ не зависит от области: это дефект самой ноды, и сообщить о нём нужно ровно один раз.\r\n if (graph.nodes.some((node) => node.bindingKey !== undefined && node.bindingKey.trim() === \"\")) {\r\n add(issues, \"EMPTY_BINDING_KEY\", `${path}/bindingKey`, \"A binding key must not be empty after trimming.\");\r\n }\r\n const reported = new Set<string>();\r\n collectBindingKeyScopes(graph).forEach((nodes) => {\r\n collectBindingKeys(nodes).forEach((nodeIds, key) => {\r\n if (key === \"\" || nodeIds.length <= 1 || reported.has(key)) return;\r\n reported.add(key);\r\n add(issues, \"DUPLICATE_BINDING_KEY\", `${path}/bindingKey/${key}`, `Binding key '${key}' is used by ${nodeIds.length} nodes here.`);\r\n });\r\n });\r\n}\r\n\r\ntype Owner = { rootNodeIds: string[]; nodes: UINode[] };\r\ntype TransformData = Static<typeof Transform>;\r\n/** A point-anchor sizeDelta is the whole rect and must be positive; stretch sizeDelta may be negative. */\r\nfunction checkResolvedSizes(node: UINode, nodePath: string, issues: ValidationIssue[]): void {\r\n for (const profile of [\"desktop\", \"mobile\"] as const) {\r\n const merged: TransformData = { ...node.transform, ...node.layoutOverrides?.[profile]?.transform };\r\n const minX = merged.anchorMinX ?? 0;\r\n const minY = merged.anchorMinY ?? 0;\r\n const maxX = merged.anchorMaxX ?? minX;\r\n const maxY = merged.anchorMaxY ?? minY;\r\n if (maxX === minX && merged.width <= 0) add(issues, \"NON_POSITIVE_SIZE\", `${nodePath}/transform/width`, `Width must be positive on a non-stretched axis in the '${profile}' profile.`);\r\n if (maxY === minY && merged.height <= 0) add(issues, \"NON_POSITIVE_SIZE\", `${nodePath}/transform/height`, `Height must be positive on a non-stretched axis in the '${profile}' profile.`);\r\n }\r\n}\r\nfunction particleAssetIds(effect: ParticleEffectDefinition): string[] { const source = effect.particle.visual.source; return source.type === \"single\" ? [source.assetId] : source.assetIds; }\r\nexport function collectEffectAssetIds(effect: EffectDefinition): string[] { return isParticleEffect(effect) ? particleAssetIds(effect) : []; }\r\nfunction hierarchy(owner: Owner, path: string, assets: Map<string, Asset>, prefabs: Set<string>, effects: Map<string, EffectDefinition>, issues: ValidationIssue[]): void {\r\n const nodes = new Map<string, UINode>();\r\n owner.nodes.forEach((node, i) => { if (nodes.has(node.id)) add(issues, \"DUPLICATE_ID\", `${path}/nodes/${i}/id`, `Duplicate node ID '${node.id}'.`); nodes.set(node.id, node); });\r\n const childOwners = new Map<string, string>();\r\n owner.rootNodeIds.forEach((id, i) => { const node = nodes.get(id); if (!node) add(issues, \"MISSING_NODE_REFERENCE\", `${path}/rootNodeIds/${i}`, `Root node '${id}' does not exist.`); else if (node.parentId !== null) add(issues, \"HIERARCHY_PARENT_MISMATCH\", `${path}/rootNodeIds/${i}`, \"A root node must have parentId null.\"); });\r\n owner.nodes.forEach((node, i) => {\r\n const nodePath = `${path}/nodes/${i}`;\r\n if (node.parentId !== null && !nodes.has(node.parentId)) add(issues, \"MISSING_PARENT_REFERENCE\", `${nodePath}/parentId`, `Parent '${node.parentId}' does not exist.`);\r\n node.children.forEach((childId, childIndex) => { const child = nodes.get(childId), childPath = `${nodePath}/children/${childIndex}`; if (!child) add(issues, \"MISSING_CHILD_REFERENCE\", childPath, `Child '${childId}' does not exist.`); else { const prior = childOwners.get(childId); if (prior && prior !== node.id) add(issues, \"MULTIPLE_PARENTS\", childPath, `Node '${childId}' belongs to more than one parent.`); childOwners.set(childId, node.id); if (child.parentId !== node.id) add(issues, \"HIERARCHY_PARENT_MISMATCH\", childPath, `Child '${childId}' does not point back to parent '${node.id}'.`); } });\r\n if (node.parentId !== null) { const parent = nodes.get(node.parentId); if (parent && !parent.children.includes(node.id)) add(issues, \"HIERARCHY_CHILD_MISMATCH\", `${nodePath}/parentId`, `Parent '${node.parentId}' does not list node '${node.id}'.`); }\r\n if ((node.type === \"image\" || node.type === \"spine\") && node.assetId !== undefined) { const asset = assets.get(node.assetId); if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", `${nodePath}/assetId`, `Asset '${node.assetId}' does not exist.`); else if (asset.type !== node.type) add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", `${nodePath}/assetId`, `A ${node.type} node requires a ${node.type} asset.`); }\r\n if (isLayoutGroup(node) && node.backgroundAssetId !== undefined) { const asset = assets.get(node.backgroundAssetId); if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", `${nodePath}/backgroundAssetId`, `Background asset '${node.backgroundAssetId}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", `${nodePath}/backgroundAssetId`, \"A layout group background requires an image asset.\"); }\r\n // Путь ошибки сохраняется до конкретного state field, чтобы Inspector мог подсветить нужный picker.\r\n if (node.type === \"button\") BUTTON_STATE_KEYS.forEach((state) => { const field = `${state}AssetId` as const; const assetId = node.states[field]; if (assetId === undefined) return; const asset = assets.get(assetId), path = `${nodePath}/states/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", path, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", path, `A button '${state}' state requires an image asset.`); });\r\n if (node.type === \"button\") for (const field of [\"pressAssetId\", \"hoverAssetId\"] as const) { const assetId = node.sounds?.[field]; if (assetId === undefined) continue; const asset = assets.get(assetId), soundPath = `${nodePath}/sounds/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", soundPath, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"sound\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", soundPath, `A button ${field} requires a sound asset.`); }\r\n if (node.type === \"staged-button\") {\r\n const stageIds = new Set<string>();\r\n node.stages.forEach((stage, stageIndex) => {\r\n if (stageIds.has(stage.id)) add(issues, \"DUPLICATE_STAGE_ID\", `${nodePath}/stages/${stageIndex}/id`, `Duplicate stage ID '${stage.id}'.`);\r\n stageIds.add(stage.id);\r\n BUTTON_STATE_KEYS.forEach((state) => { const field = `${state}AssetId` as const; const assetId = stage.states[field]; if (assetId === undefined) return; const asset = assets.get(assetId), statePath = `${nodePath}/stages/${stageIndex}/states/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", statePath, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", statePath, `A staged button stage '${state}' state requires an image asset.`); });\r\n });\r\n if (!node.stages.some((stage) => stage.id === node.defaultStageId)) add(issues, \"MISSING_STAGE_REFERENCE\", `${nodePath}/defaultStageId`, `Default stage '${node.defaultStageId}' does not exist.`);\r\n for (const field of [\"pressAssetId\", \"hoverAssetId\"] as const) { const assetId = node.sounds?.[field]; if (assetId === undefined) continue; const asset = assets.get(assetId), soundPath = `${nodePath}/sounds/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", soundPath, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"sound\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", soundPath, `A staged button ${field} requires a sound asset.`); }\r\n }\r\n if (node.type === \"checkbox\") CHECKBOX_STATE_KEYS.forEach((state) => { const field = `${state}AssetId` as const; const assetId = node.states[field]; if (assetId === undefined) return; const asset = assets.get(assetId), path = `${nodePath}/states/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", path, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", path, `A checkbox '${state}' state requires an image asset.`); });\r\n if (node.type === \"checkbox\") for (const field of [\"checkAssetId\", \"uncheckAssetId\"] as const) { const assetId = node.sounds?.[field]; if (assetId === undefined) continue; const asset = assets.get(assetId), soundPath = `${nodePath}/sounds/${field}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", soundPath, `Asset '${assetId}' does not exist.`); else if (asset.type !== \"sound\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", soundPath, `A checkbox ${field} requires a sound asset.`); }\r\n if (node.type === \"bitmap-text\") { const asset = assets.get(node.assetId); if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", `${nodePath}/assetId`, `Asset '${node.assetId}' does not exist.`); else if (asset.type !== \"bitmapFont\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", `${nodePath}/assetId`, \"A bitmap text node requires a bitmap font asset.\"); }\r\n if (node.type === \"text\") {\r\n const fontReferences = [\r\n [node.style?.fontAssetId, `${nodePath}/style/fontAssetId`],\r\n [node.textStyleOverrides?.desktop?.fontAssetId, `${nodePath}/textStyleOverrides/desktop/fontAssetId`],\r\n [node.textStyleOverrides?.mobile?.fontAssetId, `${nodePath}/textStyleOverrides/mobile/fontAssetId`],\r\n ] as const;\r\n for (const [fontAssetId, fontPath] of fontReferences) {\r\n if (fontAssetId === undefined) continue;\r\n const asset = assets.get(fontAssetId);\r\n if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", fontPath, `Asset '${fontAssetId}' does not exist.`);\r\n else if (asset.type !== \"font\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", fontPath, \"A text node fontAssetId requires a font asset.\");\r\n }\r\n }\r\n if (node.type === \"input\" && node.backgroundAssetId !== undefined) { const asset = assets.get(node.backgroundAssetId); if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", `${nodePath}/backgroundAssetId`, `Background asset '${node.backgroundAssetId}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", `${nodePath}/backgroundAssetId`, \"An input background requires an image asset.\"); }\r\n if (node.type === \"input\" && node.textStyle.fontAssetId !== undefined) { const asset = assets.get(node.textStyle.fontAssetId), path = `${nodePath}/textStyle/fontAssetId`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", path, `Asset '${node.textStyle.fontAssetId}' does not exist.`); else if (asset.type !== \"font\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", path, \"An input node textStyle fontAssetId requires a font asset.\"); }\r\n if (node.type === \"slider\" || node.type === \"progress-bar\") {\r\n const imageReferences: [string, string][] = [[\"backgroundAssetId\", node.backgroundAssetId], [\"fillAssetId\", node.fillAssetId]];\r\n if (node.type === \"slider\") imageReferences.push([\"handleAssetId\", node.handleAssetId]);\r\n for (const [field, assetId] of imageReferences) {\r\n const asset = assets.get(assetId);\r\n const assetPath = `${nodePath}/${field}`;\r\n if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", assetPath, `Asset '${assetId}' does not exist.`);\r\n else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", assetPath, `A ${node.type} ${field} requires an image asset.`);\r\n }\r\n }\r\n if (node.type === \"slider\") {\r\n if (!(node.min < node.max) || !(node.step > 0)) add(issues, \"INVALID_VALUE_RANGE\", nodePath, \"A slider requires min < max and step > 0.\");\r\n if (node.defaultValue < node.min || node.defaultValue > node.max) add(issues, \"VALUE_OUT_OF_RANGE\", `${nodePath}/defaultValue`, \"Slider defaultValue must be inside the inclusive min/max range.\");\r\n if (node.valueTextStyle?.fontAssetId !== undefined) { const asset = assets.get(node.valueTextStyle.fontAssetId), fontPath = `${nodePath}/valueTextStyle/fontAssetId`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", fontPath, `Asset '${node.valueTextStyle.fontAssetId}' does not exist.`); else if (asset.type !== \"font\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", fontPath, \"A slider valueTextStyle fontAssetId requires a font asset.\"); }\r\n }\r\n if (node.type === \"progress-bar\" && (node.defaultProgress < 0 || node.defaultProgress > 100)) add(issues, \"VALUE_OUT_OF_RANGE\", `${nodePath}/defaultProgress`, \"Progress bar defaultProgress must be inside the inclusive 0..100 range.\");\r\n if (node.type === \"prefab-instance\" && !prefabs.has(node.prefabId)) add(issues, \"MISSING_PREFAB_REFERENCE\", `${nodePath}/prefabId`, `Prefab '${node.prefabId}' does not exist.`);\r\n if (node.type === \"particle-emitter\") { const effect = effects.get(node.effectId); if (!effect) add(issues, \"MISSING_EFFECT_REFERENCE\", `${nodePath}/effectId`, `Effect '${node.effectId}' does not exist.`); else if (effect.type !== \"particles\") add(issues, \"INCOMPATIBLE_EFFECT_REFERENCE\", `${nodePath}/effectId`, \"Particle emitter requires a particle effect.\"); }\r\n if (node.type === \"grid-layout\" && node.layoutGroup.base.constraint !== \"flexible\" && node.layoutGroup.base.constraintCount === undefined) add(issues, \"MISSING_GRID_CONSTRAINT_COUNT\", `${nodePath}/layoutGroup/base/constraintCount`, \"A fixed grid constraint requires constraintCount.\");\r\n for (const profile of [\"desktop\", \"mobile\"] as const) {\r\n const grid = node.type === \"grid-layout\" ? { ...node.layoutGroup.base, ...node.layoutGroup.overrides?.[profile] } : undefined;\r\n if (grid !== undefined && grid.constraint !== \"flexible\" && grid.constraintCount === undefined) add(issues, \"MISSING_GRID_CONSTRAINT_COUNT\", `${nodePath}/layoutGroup/overrides/${profile}/constraintCount`, \"A fixed grid constraint requires constraintCount.\");\r\n }\r\n checkResolvedSizes(node, nodePath, issues);\r\n });\r\n const visiting = new Set<string>(), visited = new Set<string>(); const visit = (id: string): void => { if (visiting.has(id)) { add(issues, \"HIERARCHY_CYCLE\", path, `Hierarchy contains a cycle through '${id}'.`); return; } if (visited.has(id)) return; const node = nodes.get(id); if (!node) return; visiting.add(id); node.children.forEach(visit); visiting.delete(id); visited.add(id); }; nodes.forEach((_, id) => visit(id));\r\n}\r\nfunction semantic(document: ProjectDocument): ValidationIssue[] {\r\n const issues: ValidationIssue[] = [], ids = new Set<string>(), register = (id: string, path: string) => { if (ids.has(id)) add(issues, \"DUPLICATE_ID\", path, `Duplicate entity ID '${id}'.`); ids.add(id); };\r\n register(document.project.id, \"/project/id\"); const assets = new Map<string, Asset>(), prefabs = new Set<string>(), effects = new Map<string, EffectDefinition>();\r\n const fontMediaTypes = new Set([\"font/woff2\", \"font/woff\", \"font/ttf\", \"font/otf\", \"application/font-woff\", \"application/x-font-ttf\", \"application/x-font-opentype\"]);\r\n document.assets.forEach((asset, i) => { register(asset.id, `/assets/${i}/id`); assets.set(asset.id, asset); if (asset.type === \"font\" && !fontMediaTypes.has(asset.source.mediaType)) add(issues, \"INVALID_FONT_MEDIA_TYPE\", `/assets/${i}/source/mediaType`, `Unsupported font media type '${asset.source.mediaType}'.`); });\r\n // Каждый atlas-фрейм и bitmap-font glyph-фрейм ведёт себя как обычный image-ассет во всех местах, где\r\n // нода ссылается на assetId: виртуальная запись позволяет существующим\r\n // MISSING_ASSET_REFERENCE/INCOMPATIBLE_ASSET_REFERENCE проверкам работать без изменений в каждой ветке hierarchy().\r\n document.assets.forEach((asset) => {\r\n const frames = asset.type === \"atlas\" ? asset.frames : asset.type === \"bitmapFont\" ? asset.frames ?? {} : undefined;\r\n if (frames === undefined) return;\r\n for (const frameId of Object.values(frames)) { if (!assets.has(frameId)) assets.set(frameId, { id: frameId, name: frameId, type: \"image\", source: { uri: \"\", mediaType: \"image/png\" } }); }\r\n });\r\n document.effects.forEach((effect, i) => { register(effect.id, `/effects/${i}/id`); effects.set(effect.id, effect); if (!isParticleEffect(effect)) return; const p = `/effects/${i}`, e = effect.emission, v = effect.particle.visual; const ranges: [string, { min: number; max: number }][] = [[\"particle/lifetime\", effect.particle.lifetime], [\"particle/movement/speed\", effect.particle.movement.speed], [\"particle/visual/scale/start\", v.scale.start], [\"particle/visual/scale/end\", v.scale.end], [\"particle/visual/rotation/initialDegrees\", v.rotation.initialDegrees], [\"particle/visual/rotation/angularVelocityDegrees\", v.rotation.angularVelocityDegrees]]; ranges.forEach(([field, range]) => { if (range.min > range.max) add(issues, \"INVALID_PARTICLE_RANGE\", `${p}/${field}`, \"Particle range min must not exceed max.\"); }); if (e.rate === 0 && e.bursts.length === 0) add(issues, \"EMPTY_PARTICLE_EMISSION\", `${p}/emission`, \"Particle emission needs a rate or a burst.\"); e.bursts.forEach((burst, j) => { if (burst.time > e.duration) add(issues, \"PARTICLE_BURST_OUTSIDE_DURATION\", `${p}/emission/bursts/${j}/time`, \"Particle burst time must be inside emission duration.\"); }); const source = v.source; particleAssetIds(effect).forEach((id, j) => { const asset = assets.get(id), sourcePath = source.type === \"single\" ? `${p}/particle/visual/source/assetId` : `${p}/particle/visual/source/assetIds/${j}`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", sourcePath, `Asset '${id}' does not exist.`); else if (asset.type !== \"image\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", sourcePath, \"Particle visual source requires an image asset or atlas frame.\"); }); });\r\n document.prefabs.forEach((prefab, i) => { register(prefab.id, `/prefabs/${i}/id`); prefabs.add(prefab.id); }); document.scenes.forEach((scene, i) => register(scene.id, `/scenes/${i}/id`));\r\n const prefabById = new Map(document.prefabs.map((prefab) => [prefab.id, prefab]));\r\n const validateInstance = (instance: Extract<UINode, { type: \"prefab-instance\" }>, path: string, checkHierarchy = true): void => {\r\n const prefab = prefabById.get(instance.prefabId);\r\n if (prefab === undefined) return;\r\n // База адресуется путём: у вложенных пресетов переопределяемый узел живёт не в `prefab.nodes`,\r\n // а глубже, поэтому цель override резолвится через тот же материализатор.\r\n const definitionNodes = resolvePrefabInstanceBaseNodes(document, instance);\r\n const overridden = new Set<string>();\r\n for (const [index, override] of (instance.propertyOverrides ?? []).entries()) {\r\n const overridePath = `${path}/propertyOverrides/${index}`;\r\n if (overridden.has(override.nodeId)) add(issues, \"DUPLICATE_PREFAB_NODE_OVERRIDE\", `${overridePath}/nodeId`, `Prefab node '${override.nodeId}' has more than one property override.`);\r\n overridden.add(override.nodeId);\r\n const definitionNode = definitionNodes.get(override.nodeId);\r\n if (definitionNode === undefined) {\r\n add(issues, \"MISSING_PREFAB_OVERRIDE_TARGET\", `${overridePath}/nodeId`, `Prefab node '${override.nodeId}' does not exist in definition '${prefab.id}'.`);\r\n continue;\r\n }\r\n for (const key of [\"id\", \"type\", \"parentId\", \"children\", \"editorOnly\", \"locked\", \"prefabId\", \"propertyOverrides\", \"locallyAddedNodes\"]) {\r\n if (Object.hasOwn(override.patch, key)) add(issues, \"STRUCTURAL_PREFAB_OVERRIDE\", `${overridePath}/patch/${key}`, `Prefab instances cannot override structural field '${key}'.`);\r\n }\r\n // База развёрнута, поэтому несёт instance-scoped id и связи. Патч их менять не может, а\r\n // структурная схема требует обычных uuid, поэтому идентичность подменяется на нейтральную.\r\n const effective = applyPrefabNodePatch({ ...definitionNode, id: instance.id, parentId: null, children: [] } as UINode, override.patch);\r\n if (!structuralNode(effective)) add(issues, \"INVALID_PREFAB_NODE_OVERRIDE\", `${overridePath}/patch`, \"The property override produces an invalid UI node.\");\r\n }\r\n // Локально добавленный инстанс сам владеет своей конфигурацией, поэтому проверяется рекурсивно.\r\n // Иерархию при этом сверяет только внешний инстанс: его материализация уже включает вложенные.\r\n for (const [index, localNode] of (instance.locallyAddedNodes ?? []).entries()) {\r\n const localPath = `${path}/locallyAddedNodes/${index}`;\r\n register(localNode.id, `${localPath}/id`);\r\n if (localNode.type === \"prefab-instance\") validateInstance(localNode, localPath, false);\r\n }\r\n if (!checkHierarchy) return;\r\n const materialized = materializePrefabInstance(document, instance);\r\n if (materialized !== undefined) hierarchy(materialized, `${path}/materialized`, assets, prefabs, effects, issues);\r\n };\r\n document.prefabs.forEach((prefab, i) => { prefab.nodes.forEach((node, j) => register(node.id, `/prefabs/${i}/nodes/${j}/id`)); hierarchy(prefab, `/prefabs/${i}`, assets, prefabs, effects, issues); });\r\n document.prefabs.forEach((prefab, i) => { prefab.nodes.forEach((node, j) => { if (node.type === \"prefab-instance\") validateInstance(node, `/prefabs/${i}/nodes/${j}`); }); checkBindingKeys(document, prefab, `/prefabs/${i}`, issues); });\r\n document.scenes.forEach((scene, i) => { scene.nodes.forEach((node, j) => register(node.id, `/scenes/${i}/nodes/${j}/id`)); hierarchy(scene, `/scenes/${i}`, assets, prefabs, effects, issues); scene.nodes.forEach((node, j) => { if (node.type === \"prefab-instance\") validateInstance(node, `/scenes/${i}/nodes/${j}`); }); const musicAssetId = scene.audio?.backgroundMusicAssetId; if (musicAssetId !== undefined) { const asset = assets.get(musicAssetId), musicPath = `/scenes/${i}/audio/backgroundMusicAssetId`; if (!asset) add(issues, \"MISSING_ASSET_REFERENCE\", musicPath, `Asset '${musicAssetId}' does not exist.`); else if (asset.type !== \"sound\") add(issues, \"INCOMPATIBLE_ASSET_REFERENCE\", musicPath, \"Background music requires a sound asset.\"); } checkBindingKeys(document, scene, `/scenes/${i}`, issues); });\r\n // Каталог локализации проверяет единственный модуль: структурные ошибки делают документ невалидным,\r\n // authoring diagnostics приходят warnings и не мешают заполнять переводы постепенно.\r\n issues.push(...collectLocalizationIssues(document));\r\n return issues;\r\n}\r\nfunction collectNonFiniteNumbers(input: unknown, path: string, issues: ValidationIssue[]): void {\r\n if (typeof input === \"number\") {\r\n if (!Number.isFinite(input)) add(issues, \"NON_FINITE_NUMBER\", path, \"Numbers must be finite.\");\r\n return;\r\n }\r\n if (Array.isArray(input)) input.forEach((value, index) => collectNonFiniteNumbers(value, `${path}/${index}`, issues));\r\n else if (typeof input === \"object\" && input !== null) Object.entries(input).forEach(([key, value]) => collectNonFiniteNumbers(value, `${path}/${key}`, issues));\r\n}\r\nexport function validateProjectDocument(input: unknown): ValidationResult { if (!structural(input)) return { valid: false, issues: (structural.errors ?? []).map((error: ErrorObject) => ({ code: \"STRUCTURAL_SCHEMA\", path: error.instancePath || \"/\", message: error.message ?? \"Invalid document structure.\", severity: \"error\" })) }; const issues: ValidationIssue[] = []; collectNonFiniteNumbers(input, \"\", issues); issues.push(...semantic(input as ProjectDocument)); return { valid: !issues.some((issue) => issue.severity === \"error\"), issues }; }\r\nexport function assertProjectDocument(input: unknown): asserts input is ProjectDocument { const result = validateProjectDocument(input); if (!result.valid) throw new TypeError(`Invalid ProjectDocument: ${result.issues.filter((x) => x.severity === \"error\").map((x) => `${x.code} at ${x.path}`).join(\", \")}`); }\r\n/** v1 хранил точечный якорь anchorX/anchorY; v2 заменяет его парой anchorMin/anchorMax с тем же значением. */\r\nfunction migrateTransformV1(transform: Record<string, unknown>): void {\r\n for (const axis of [\"X\", \"Y\"] as const) {\r\n const value = transform[`anchor${axis}`];\r\n delete transform[`anchor${axis}`];\r\n if (typeof value !== \"number\") continue;\r\n transform[`anchorMin${axis}`] = value;\r\n transform[`anchorMax${axis}`] = value;\r\n }\r\n}\r\nfunction migrateV1ToV2(document: Record<string, unknown>): void {\r\n const owners = [...(document.scenes as { nodes: unknown[] }[] ?? []), ...(document.prefabs as { nodes: unknown[] }[] ?? [])];\r\n for (const owner of owners) {\r\n for (const node of owner.nodes as Record<string, unknown>[]) {\r\n if (typeof node.transform === \"object\" && node.transform !== null) migrateTransformV1(node.transform as Record<string, unknown>);\r\n const overrides = node.layoutOverrides as Record<string, { transform?: Record<string, unknown> }> | undefined;\r\n for (const profile of [\"desktop\", \"mobile\"]) {\r\n const transform = overrides?.[profile]?.transform;\r\n if (typeof transform === \"object\" && transform !== null) migrateTransformV1(transform);\r\n }\r\n }\r\n }\r\n}\r\n\r\ntype MigratingTransform = Record<string, unknown> & { x: number; y: number; width: number; height: number };\r\ntype MigratingNode = {\r\n id: string;\r\n parentId: string | null;\r\n children: string[];\r\n transform: MigratingTransform;\r\n layoutOverrides?: Record<string, { transform?: Record<string, unknown> }>;\r\n};\r\ntype MigratingSize = { width: number; height: number };\r\n\r\nfunction migrateOwnerToPreferredRects(\r\n owner: { rootNodeIds: string[]; nodes: MigratingNode[] },\r\n viewports?: { referenceViewports: Record<\"desktop\" | \"mobile\", MigratingSize>; preferredViewports: Record<\"desktop\" | \"mobile\", MigratingSize> },\r\n source: \"legacy\" | \"v9\" = \"legacy\",\r\n): void {\r\n const originalNodes = structuredClone(owner.nodes);\r\n const nodesById = new Map(originalNodes.map((node) => [node.id, node]));\r\n const convertedByProfile = new Map<\"desktop\" | \"mobile\", Map<string, { transform: MigratingTransform; currentSize: MigratingSize; preferredSize: MigratingSize }>>();\r\n\r\n for (const profile of [\"desktop\", \"mobile\"] as const) {\r\n const converted = new Map<string, { transform: MigratingTransform; currentSize: MigratingSize; preferredSize: MigratingSize }>();\r\n const visiting = new Set<string>();\r\n const visit = (nodeId: string): { transform: MigratingTransform; currentSize: MigratingSize; preferredSize: MigratingSize } | undefined => {\r\n const cached = converted.get(nodeId);\r\n if (cached !== undefined) return cached;\r\n if (visiting.has(nodeId)) return undefined;\r\n const node = nodesById.get(nodeId);\r\n if (node === undefined) return undefined;\r\n visiting.add(nodeId);\r\n const parent = node.parentId === null ? undefined : nodesById.get(node.parentId);\r\n const convertedParent = parent === undefined ? undefined : visit(parent.id);\r\n visiting.delete(nodeId);\r\n\r\n const referenceRoot = viewports?.referenceViewports[profile];\r\n const preferredRoot = viewports?.preferredViewports[profile];\r\n const usesSceneBoundary = viewports !== undefined && parent?.parentId === null;\r\n const currentParent = node.parentId === null || usesSceneBoundary ? referenceRoot : convertedParent?.currentSize;\r\n const preferredParent = node.parentId === null || usesSceneBoundary ? preferredRoot : convertedParent?.preferredSize;\r\n const override = node.layoutOverrides?.[profile]?.transform;\r\n const merged = { ...node.transform, ...override } as MigratingTransform;\r\n const minX = typeof merged.anchorMinX === \"number\" ? merged.anchorMinX : 0;\r\n const maxX = typeof merged.anchorMaxX === \"number\" ? merged.anchorMaxX : minX;\r\n const minY = typeof merged.anchorMinY === \"number\" ? merged.anchorMinY : 0;\r\n const maxY = typeof merged.anchorMaxY === \"number\" ? merged.anchorMaxY : minY;\r\n const stretchX = maxX > minX;\r\n const stretchY = maxY > minY;\r\n const legacyResponsive = typeof merged.responsiveSize === \"object\" && merged.responsiveSize !== null\r\n ? merged.responsiveSize as { referenceParentWidth?: unknown; referenceParentHeight?: unknown }\r\n : undefined;\r\n const fallbackWidth = typeof legacyResponsive?.referenceParentWidth === \"number\" ? legacyResponsive.referenceParentWidth : 1;\r\n const fallbackHeight = typeof legacyResponsive?.referenceParentHeight === \"number\" ? legacyResponsive.referenceParentHeight : 1;\r\n const current = currentParent ?? { width: fallbackWidth, height: fallbackHeight };\r\n const preferred = preferredParent ?? current;\r\n const oldScaleX = source === \"v9\"\r\n ? stretchX ? current.width / preferred.width : 1\r\n : stretchX && typeof legacyResponsive?.referenceParentWidth === \"number\"\r\n ? current.width / legacyResponsive.referenceParentWidth\r\n : 1;\r\n const oldScaleY = source === \"v9\"\r\n ? stretchY ? current.height / preferred.height : 1\r\n : stretchY && typeof legacyResponsive?.referenceParentHeight === \"number\"\r\n ? current.height / legacyResponsive.referenceParentHeight\r\n : 1;\r\n const renderedOffsetX = stretchX ? merged.x * oldScaleX : merged.x;\r\n const renderedOffsetY = stretchY ? merged.y * oldScaleY : merged.y;\r\n const renderedWidth = stretchX\r\n ? source === \"v9\" || legacyResponsive !== undefined\r\n ? merged.width * oldScaleX\r\n : merged.width + (maxX - minX) * current.width\r\n : merged.width;\r\n const renderedHeight = stretchY\r\n ? source === \"v9\" || legacyResponsive !== undefined\r\n ? merged.height * oldScaleY\r\n : merged.height + (maxY - minY) * current.height\r\n : merged.height;\r\n const currentWidth = current.width > 0 ? current.width : preferred.width;\r\n const currentHeight = current.height > 0 ? current.height : preferred.height;\r\n const next = { ...merged };\r\n delete next.responsiveSize;\r\n next.x = renderedOffsetX * preferred.width / currentWidth;\r\n next.y = renderedOffsetY * preferred.height / currentHeight;\r\n next.width = renderedWidth * preferred.width / currentWidth;\r\n next.height = renderedHeight * preferred.height / currentHeight;\r\n const result = {\r\n transform: next,\r\n currentSize: {\r\n width: next.width * currentWidth / preferred.width,\r\n height: next.height * currentHeight / preferred.height,\r\n },\r\n preferredSize: { width: next.width, height: next.height },\r\n };\r\n converted.set(nodeId, result);\r\n return result;\r\n };\r\n owner.rootNodeIds.forEach(visit);\r\n originalNodes.forEach((node) => visit(node.id));\r\n convertedByProfile.set(profile, converted);\r\n }\r\n\r\n for (const node of owner.nodes) {\r\n const desktop = convertedByProfile.get(\"desktop\")?.get(node.id)?.transform;\r\n const mobile = convertedByProfile.get(\"mobile\")?.get(node.id)?.transform;\r\n if (desktop !== undefined) node.transform = desktop;\r\n if (mobile !== undefined) {\r\n const mobilePatch = Object.fromEntries(\r\n Object.entries(mobile).filter(([key, value]) => !Object.is(value, desktop?.[key])),\r\n );\r\n const existingMobile = node.layoutOverrides?.mobile;\r\n if (Object.keys(mobilePatch).length > 0 || existingMobile !== undefined) {\r\n node.layoutOverrides ??= {};\r\n node.layoutOverrides.mobile ??= {};\r\n if (Object.keys(mobilePatch).length > 0) node.layoutOverrides.mobile.transform = mobilePatch;\r\n else delete node.layoutOverrides.mobile.transform;\r\n if (Object.keys(node.layoutOverrides.mobile).length === 0) delete node.layoutOverrides.mobile;\r\n if (Object.keys(node.layoutOverrides).length === 0) delete node.layoutOverrides;\r\n }\r\n }\r\n const desktopOverride = node.layoutOverrides?.desktop?.transform;\r\n if (desktopOverride !== undefined) delete desktopOverride.responsiveSize;\r\n }\r\n}\r\n\r\nfunction migrateToV10(document: Record<string, unknown>, source: \"legacy\" | \"v9\"): void {\r\n for (const scene of document.scenes as Array<{ rootNodeIds: string[]; nodes: MigratingNode[]; layout: { referenceViewports: Record<\"desktop\" | \"mobile\", MigratingSize>; preferredViewports: Record<\"desktop\" | \"mobile\", MigratingSize> } }> ?? []) {\r\n migrateOwnerToPreferredRects(scene, scene.layout, source);\r\n }\r\n for (const prefab of document.prefabs as Array<{ rootNodeIds: string[]; nodes: MigratingNode[] }> ?? []) {\r\n migrateOwnerToPreferredRects(prefab, undefined, source);\r\n }\r\n}\r\n\r\n/** Converts v10 absolute preferred-space rects to anchoredPosition/sizeDelta without a visual jump. */\r\nfunction migrateOwnerV10ToV11(\r\n owner: { rootNodeIds: string[]; nodes: MigratingNode[] },\r\n preferredViewports?: Record<\"desktop\" | \"mobile\", MigratingSize>,\r\n): void {\r\n const originalNodes = structuredClone(owner.nodes);\r\n const nodesById = new Map(originalNodes.map((node) => [node.id, node]));\r\n const convertedByProfile = new Map<\"desktop\" | \"mobile\", Map<string, MigratingTransform>>();\r\n\r\n for (const profile of [\"desktop\", \"mobile\"] as const) {\r\n const converted = new Map<string, MigratingTransform>();\r\n const visit = (nodeId: string): MigratingTransform | undefined => {\r\n const cached = converted.get(nodeId);\r\n if (cached !== undefined) return cached;\r\n const node = nodesById.get(nodeId);\r\n if (node === undefined) return undefined;\r\n const parent = node.parentId === null ? undefined : nodesById.get(node.parentId);\r\n const convertedParent = parent === undefined ? undefined : visit(parent.id);\r\n const merged = { ...node.transform, ...node.layoutOverrides?.[profile]?.transform } as MigratingTransform;\r\n const sceneBoundary = preferredViewports?.[profile];\r\n const parentSize = sceneBoundary !== undefined && (node.parentId === null || parent?.parentId === null)\r\n ? sceneBoundary\r\n : convertedParent === undefined\r\n ? { width: merged.width, height: merged.height }\r\n : {\r\n width: typeof convertedParent.__resolvedWidth === \"number\" ? convertedParent.__resolvedWidth : convertedParent.width,\r\n height: typeof convertedParent.__resolvedHeight === \"number\" ? convertedParent.__resolvedHeight : convertedParent.height,\r\n };\r\n const minX = typeof merged.anchorMinX === \"number\" ? merged.anchorMinX : 0;\r\n const minY = typeof merged.anchorMinY === \"number\" ? merged.anchorMinY : 0;\r\n const maxX = typeof merged.anchorMaxX === \"number\" ? merged.anchorMaxX : minX;\r\n const maxY = typeof merged.anchorMaxY === \"number\" ? merged.anchorMaxY : minY;\r\n const pivotX = typeof merged.pivotX === \"number\" ? merged.pivotX : 0;\r\n const pivotY = typeof merged.pivotY === \"number\" ? merged.pivotY : 0;\r\n const resolvedWidth = merged.width;\r\n const resolvedHeight = merged.height;\r\n const next = {\r\n ...merged,\r\n x: merged.x - (maxX - minX) * pivotX * parentSize.width,\r\n y: merged.y - (maxY - minY) * pivotY * parentSize.height,\r\n width: resolvedWidth - (maxX - minX) * parentSize.width,\r\n height: resolvedHeight - (maxY - minY) * parentSize.height,\r\n __resolvedWidth: resolvedWidth,\r\n __resolvedHeight: resolvedHeight,\r\n };\r\n converted.set(nodeId, next);\r\n return next;\r\n };\r\n owner.rootNodeIds.forEach(visit);\r\n originalNodes.forEach((node) => visit(node.id));\r\n convertedByProfile.set(profile, converted);\r\n }\r\n\r\n for (const node of owner.nodes) {\r\n const stripInternal = (transform: MigratingTransform | undefined): MigratingTransform | undefined => {\r\n if (transform === undefined) return undefined;\r\n const next = { ...transform };\r\n delete next.__resolvedWidth;\r\n delete next.__resolvedHeight;\r\n return next;\r\n };\r\n const desktop = stripInternal(convertedByProfile.get(\"desktop\")?.get(node.id));\r\n const mobile = stripInternal(convertedByProfile.get(\"mobile\")?.get(node.id));\r\n if (desktop === undefined || mobile === undefined) continue;\r\n node.transform = desktop;\r\n const desktopOverride = node.layoutOverrides?.desktop;\r\n if (desktopOverride !== undefined) {\r\n delete desktopOverride.transform;\r\n if (Object.keys(desktopOverride).length === 0 && node.layoutOverrides !== undefined) delete node.layoutOverrides.desktop;\r\n }\r\n const mobilePatch = Object.fromEntries(Object.entries(mobile).filter(([key, value]) => !Object.is(value, desktop[key])));\r\n if (Object.keys(mobilePatch).length > 0) {\r\n node.layoutOverrides ??= {};\r\n node.layoutOverrides.mobile ??= {};\r\n node.layoutOverrides.mobile.transform = mobilePatch;\r\n } else if (node.layoutOverrides?.mobile !== undefined) {\r\n delete node.layoutOverrides.mobile.transform;\r\n if (Object.keys(node.layoutOverrides.mobile).length === 0) delete node.layoutOverrides.mobile;\r\n }\r\n if (node.layoutOverrides !== undefined && Object.keys(node.layoutOverrides).length === 0) delete node.layoutOverrides;\r\n }\r\n}\r\n\r\nfunction migrateV10ToV11(document: Record<string, unknown>): void {\r\n for (const scene of document.scenes as Array<{ rootNodeIds: string[]; nodes: MigratingNode[]; layout: { preferredViewports: Record<\"desktop\" | \"mobile\", MigratingSize> } }> ?? []) {\r\n migrateOwnerV10ToV11(scene, scene.layout.preferredViewports);\r\n }\r\n for (const prefab of document.prefabs as Array<{ rootNodeIds: string[]; nodes: MigratingNode[] }> ?? []) {\r\n migrateOwnerV10ToV11(prefab);\r\n }\r\n}\r\n\r\n/** v15 makes Spine's initial playback explicit; previous runtime behavior always started it. */\r\nfunction migrateV14ToV15(document: Record<string, unknown>): void {\r\n const visit = (node: Record<string, unknown>): void => {\r\n if (node.type === \"spine\" && typeof node.autoplay !== \"boolean\") node.autoplay = true;\r\n const localNodes = node.locallyAddedNodes;\r\n if (Array.isArray(localNodes)) for (const localNode of localNodes) if (typeof localNode === \"object\" && localNode !== null) visit(localNode as Record<string, unknown>);\r\n };\r\n const owners = [...(document.scenes as { nodes?: unknown[] }[] ?? []), ...(document.prefabs as { nodes?: unknown[] }[] ?? [])];\r\n for (const owner of owners) for (const node of owner.nodes ?? []) if (typeof node === \"object\" && node !== null) visit(node as Record<string, unknown>);\r\n}\r\n\r\n/**\r\n * v19 adds optional, sparse presentation overrides. v18 values already are the canonical base values,\r\n * including nodes nested in prefab instances, so conversion deliberately preserves the complete node\r\n * graph byte-for-byte and only the caller advances schemaVersion after this explicit migration step.\r\n */\r\nfunction migrateV18ToV19(_document: Record<string, unknown>): void {}\r\n\r\n/**\r\n * v20 добавляет каталог локализации. Старому документу достаётся базовая локаль `en` и пустой\r\n * `entries`; `textKey` существующим `Text` не добавляется, поэтому визуально документ не меняется:\r\n * нода без ключа локализацию не запрашивает вовсе.\r\n */\r\nfunction migrateV19ToV20(document: Record<string, unknown>): void {\r\n if (typeof document.localization !== \"object\" || document.localization === null) document.localization = createDefaultLocalization();\r\n}\r\n\r\n/** v21 adds the optional `mask` node variant; every v20 document is already valid without it. */\r\nfunction migrateV20ToV21(_document: Record<string, unknown>): void {}\r\n\r\n/**\r\n * v22 переименовывает `UINode.binding` в `bindingKey`. Смысл поля не меняется — это тот же публичный\r\n * ключ ноды для игрового кода, — но имя `binding` путалось с keyboard bindings редактора.\r\n *\r\n * Значение переносится как есть, включая override-патчи внутри prefab-инстансов и локально\r\n * добавленные узлы: патч — RFC-7396-like merge patch, поэтому в нём переименовывается сам ключ\r\n * свойства вместе с его значением, в том числе `null` (снятие ключа). Конфликты, возникшие в старых\r\n * документах, не исправляются молча — после миграции они становятся обычными validation errors.\r\n */\r\nfunction migrateV21ToV22(document: Record<string, unknown>): void {\r\n const rename = (record: Record<string, unknown>): void => {\r\n if (!Object.hasOwn(record, \"binding\")) return;\r\n record.bindingKey = record.binding;\r\n delete record.binding;\r\n };\r\n const visit = (node: Record<string, unknown>): void => {\r\n rename(node);\r\n const overrides = node.propertyOverrides;\r\n if (Array.isArray(overrides)) for (const override of overrides) {\r\n const patch = (override as { patch?: unknown }).patch;\r\n if (typeof patch === \"object\" && patch !== null) rename(patch as Record<string, unknown>);\r\n }\r\n const localNodes = node.locallyAddedNodes;\r\n if (Array.isArray(localNodes)) for (const localNode of localNodes) if (typeof localNode === \"object\" && localNode !== null) visit(localNode as Record<string, unknown>);\r\n };\r\n const owners = [...(document.scenes as { nodes?: unknown[] }[] ?? []), ...(document.prefabs as { nodes?: unknown[] }[] ?? [])];\r\n for (const owner of owners) for (const node of owner.nodes ?? []) if (typeof node === \"object\" && node !== null) visit(node as Record<string, unknown>);\r\n}\r\n\r\n/**\r\n * v23 добавляет промежуточные веса шрифта (300/500/600/800) к прежним `normal`/`bold`. Прежние\r\n * значения остаются в новом union без изменений, поэтому переписывать документ не нужно.\r\n */\r\nfunction migrateV22ToV23(_document: Record<string, unknown>): void {}\r\n\r\n/** v24 adds the `bitmapFont` asset type and the `bitmap-text` node variant; every v23 document is already valid without them. */\r\nfunction migrateV23ToV24(_document: Record<string, unknown>): void {}\r\n\r\n/** v25 adds optional `bitmap-text` auto-size (`autoSize`/`minFontSize`); every v24 document is already valid without them. */\r\nfunction migrateV24ToV25(_document: Record<string, unknown>): void {}\r\n\r\n/** v26 adds optional `bitmapFont.frames` (reusable glyph crops); every v25 document is already valid without them. */\r\nfunction migrateV25ToV26(_document: Record<string, unknown>): void {}\r\n\r\n/** v27 adds optional `text` auto-size (`autoSize`/`minFontSize`), mirroring bitmap-text (ADR 0027); every v26 document is already valid without them. */\r\nfunction migrateV26ToV27(_document: Record<string, unknown>): void {}\r\n\r\n/** v28 adds the optional `staged-button` node variant; every v27 document is already valid without it. */\r\nfunction migrateV27ToV28(_document: Record<string, unknown>): void {}\r\n\r\nexport function migrateProjectDocument(input: unknown): ProjectDocument { if (typeof input !== \"object\" || input === null || !Object.hasOwn(input, \"schemaVersion\")) throw new ProjectDocumentMigrationError(\"A schemaVersion is required for migration.\"); const version = (input as { schemaVersion?: unknown }).schemaVersion; if (typeof version !== \"number\" || !Number.isInteger(version) || version < 1 || version > CURRENT_SCHEMA_VERSION) throw new ProjectDocumentMigrationError(`Unsupported schemaVersion '${String(version)}'.`); const migrated = structuredClone(input) as Record<string, unknown>; if (version <= 1) migrateV1ToV2(migrated); if (version <= 6) migrated.effects = []; if (version <= 7) for (const scene of migrated.scenes as { layout?: Record<string, unknown> }[] ?? []) { const layout = scene.layout; if (layout?.referenceViewports !== undefined) layout.preferredViewports = structuredClone(layout.referenceViewports); } if (version <= 9) migrateToV10(migrated, version === 9 ? \"v9\" : \"legacy\"); if (version <= 10) migrateV10ToV11(migrated); if (version <= 14) migrateV14ToV15(migrated); if (version <= 18) migrateV18ToV19(migrated); if (version <= 19) migrateV19ToV20(migrated); if (version <= 20) migrateV20ToV21(migrated); if (version <= 21) migrateV21ToV22(migrated); if (version <= 22) migrateV22ToV23(migrated); if (version <= 23) migrateV23ToV24(migrated); if (version <= 24) migrateV24ToV25(migrated); if (version <= 25) migrateV25ToV26(migrated); if (version <= 26) migrateV26ToV27(migrated); if (version <= 27) migrateV27ToV28(migrated);\r\n // v17 → v18 (image без assetId) тоже не требует переписывания данных: старый формат — строгое\r\n // подмножество нового, у каждой существующей image-ноды assetId просто остаётся на месте.\r\n // v15 → v16 (вложенные пресеты) не требует переписывания данных: новый формат — надмножество\r\n // старого. `propertyOverrides[].nodeId` и `parentId` локального узла стали путями, а путь длиной в\r\n // один сегмент — это ровно прежний id узла определения; вложенных инстансов в `locallyAddedNodes`\r\n // v15 хранить не мог, поэтому запрещённых значений в старых документах не бывает.\r\n migrated.schemaVersion = CURRENT_SCHEMA_VERSION; assertProjectDocument(migrated); return migrated; }\r\nfunction canonicalizeJson(value: unknown): unknown {\r\n if (Array.isArray(value)) return value.map(canonicalizeJson);\r\n if (typeof value === \"object\" && value !== null) return Object.fromEntries(Object.keys(value).sort().map((key) => [key, canonicalizeJson((value as Record<string, unknown>)[key])]));\r\n return value;\r\n}\r\nexport function serializeProjectDocument(document: ProjectDocument): string { assertProjectDocument(document); return `${JSON.stringify(canonicalizeJson(document))}\\n`; }\r\n\r\nexport * from \"./assetPaths.js\";\r\nexport * from \"./localization.js\";\r\nexport * from \"./manifest.js\";\r\nexport * from \"./prefabs.js\";\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test-fixtures.js","sourceRoot":"","sources":["../src/index.test-fixtures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test-fixtures.js","sourceRoot":"","sources":["../src/index.test-fixtures.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n BUTTON_STATE_KEYS,\r\n createDefaultLocalization,\r\n CURRENT_SCHEMA_VERSION,\r\n validateProjectDocument,\r\n type ProjectDocument,\r\n type UINode,\r\n type ValidationResult,\r\n} from \"./index.js\";\r\n\r\nexport type ButtonNode = Extract<UINode, { type: \"button\" }>;\r\n\r\n/** Appends a button whose four states each reference their own image asset, wired into the fixture's scene root. */\r\nexport function addButtonNode(document: ProjectDocument): ButtonNode {\r\n const scene = document.scenes[0]!;\r\n const root = scene.nodes[0]!;\r\n const assetIds = BUTTON_STATE_KEYS.map((state, index) => {\r\n const id = stableId(10 + index);\r\n document.assets.push({ id, name: `Button ${state}`, type: \"image\", source: { uri: `assets/button-${state}.png`, mediaType: \"image/png\" } });\r\n return id;\r\n });\r\n\r\n const button: ButtonNode = {\r\n id: stableId(20),\r\n name: \"Play\",\r\n type: \"button\",\r\n parentId: root.id,\r\n children: [],\r\n visible: true,\r\n enabled: true,\r\n states: { normalAssetId: assetIds[0]!, hoverAssetId: assetIds[1]!, pressedAssetId: assetIds[2]!, disabledAssetId: assetIds[3]! },\r\n transform: { x: 0, y: 0, width: 120, height: 40, scaleX: 1, scaleY: 1, rotation: 0 },\r\n };\r\n root.children.push(button.id);\r\n scene.nodes.push(button);\r\n return button;\r\n}\r\n\r\nexport type CheckboxNode = Extract<UINode, { type: \"checkbox\" }>;\r\n\r\n/** Appends a checkbox whose required unchecked/checked states each reference their own image asset. */\r\nexport function addCheckboxNode(document: ProjectDocument): CheckboxNode {\r\n const scene = document.scenes[0]!;\r\n const root = scene.nodes[0]!;\r\n const uncheckedAssetId = stableId(70);\r\n const checkedAssetId = stableId(71);\r\n document.assets.push({ id: uncheckedAssetId, name: \"Checkbox unchecked\", type: \"image\", source: { uri: \"assets/checkbox-unchecked.png\", mediaType: \"image/png\" } });\r\n document.assets.push({ id: checkedAssetId, name: \"Checkbox checked\", type: \"image\", source: { uri: \"assets/checkbox-checked.png\", mediaType: \"image/png\" } });\r\n\r\n const checkbox: CheckboxNode = {\r\n id: stableId(72),\r\n name: \"Agree\",\r\n type: \"checkbox\",\r\n parentId: root.id,\r\n children: [],\r\n visible: true,\r\n enabled: true,\r\n defaultChecked: false,\r\n states: { uncheckedAssetId, checkedAssetId },\r\n transform: { x: 0, y: 0, width: 32, height: 32, scaleX: 1, scaleY: 1, rotation: 0 },\r\n };\r\n root.children.push(checkbox.id);\r\n scene.nodes.push(checkbox);\r\n return checkbox;\r\n}\r\n\r\nexport const stableId = (value: number): string =>\r\n `00000000-0000-4000-8000-${String(value).padStart(12, \"0\")}`;\r\n\r\n/** Appends an atlas asset with one named frame and points an existing image node at that frame id. */\r\nexport function addAtlasAssetWithFrame(document: ProjectDocument): { atlasId: string; frameId: string } {\r\n const atlasId = stableId(40);\r\n const frameId = stableId(41);\r\n document.assets.push({\r\n id: atlasId,\r\n name: \"Atlas\",\r\n type: \"atlas\",\r\n files: {\r\n json: { name: \"atlas.json\", uri: \"assets/atlas.json\", mediaType: \"application/json\" },\r\n texture: { name: \"atlas.png\", uri: \"assets/atlas.png\", mediaType: \"image/png\" },\r\n },\r\n frames: { \"icon.png\": frameId },\r\n });\r\n (document.scenes[0]!.nodes[1] as { assetId: string }).assetId = frameId;\r\n return { atlasId, frameId };\r\n}\r\n\r\nexport function createProjectDocumentFixture(): ProjectDocument {\r\n const project = stableId(1);\r\n const scene = stableId(2);\r\n const root = stableId(3);\r\n const image = stableId(4);\r\n const asset = stableId(5);\r\n const prefab = stableId(6);\r\n\r\n return {\r\n schemaVersion: CURRENT_SCHEMA_VERSION,\r\n project: { id: project, name: \"Project\" },\r\n settings: {\r\n layoutProfileSelection: { mode: \"aspect-ratio\", mobileMaxAspectRatio: 1 },\r\n },\r\n localization: createDefaultLocalization(),\r\n assets: [\r\n {\r\n id: asset,\r\n name: \"Logo\",\r\n type: \"image\",\r\n source: { uri: \"assets/logo.png\", mediaType: \"image/png\" },\r\n },\r\n ],\r\n effects: [],\r\n prefabs: [\r\n {\r\n id: prefab,\r\n name: \"Badge\",\r\n rootNodeIds: [],\r\n nodes: [],\r\n exposedProperties: [],\r\n },\r\n ],\r\n scenes: [\r\n {\r\n id: scene,\r\n name: \"Main\",\r\n rootNodeIds: [root],\r\n layout: {\r\n referenceViewports: {\r\n desktop: { width: 1920, height: 1080 },\r\n mobile: { width: 390, height: 844 },\r\n },\r\n preferredViewports: {\r\n desktop: { width: 1920, height: 1080 },\r\n mobile: { width: 390, height: 844 },\r\n },\r\n },\r\n nodes: [\r\n {\r\n id: root,\r\n name: \"Root\",\r\n type: \"container\",\r\n parentId: null,\r\n children: [image],\r\n visible: true,\r\n transform: {\r\n x: 0,\r\n y: 0,\r\n width: 100,\r\n height: 100,\r\n scaleX: 1,\r\n scaleY: 1,\r\n rotation: 0,\r\n },\r\n },\r\n {\r\n id: image,\r\n name: \"Logo\",\r\n type: \"image\",\r\n assetId: asset,\r\n parentId: root,\r\n children: [],\r\n visible: true,\r\n transform: {\r\n x: 0,\r\n y: 0,\r\n width: 10,\r\n height: 10,\r\n scaleX: 1,\r\n scaleY: 1,\r\n rotation: 0,\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function validateFixtureMutation(mutate: (document: ProjectDocument) => void): ValidationResult {\r\n const document = createProjectDocumentFixture();\r\n mutate(document);\r\n return validateProjectDocument(document);\r\n}\r\n"]}
|