@almadar/std 2.1.1 → 2.4.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/behaviors/async.d.ts +12 -7
- package/dist/behaviors/async.js +1085 -312
- package/dist/behaviors/async.js.map +1 -1
- package/dist/behaviors/data-management.d.ts +27 -13
- package/dist/behaviors/data-management.js +600 -244
- package/dist/behaviors/data-management.js.map +1 -1
- package/dist/behaviors/domain/commerce.d.ts +51 -0
- package/dist/behaviors/domain/commerce.js +1093 -0
- package/dist/behaviors/domain/commerce.js.map +1 -0
- package/dist/behaviors/domain/content.d.ts +51 -0
- package/dist/behaviors/domain/content.js +1294 -0
- package/dist/behaviors/domain/content.js.map +1 -0
- package/dist/behaviors/domain/dashboard.d.ts +45 -0
- package/dist/behaviors/domain/dashboard.js +783 -0
- package/dist/behaviors/domain/dashboard.js.map +1 -0
- package/dist/behaviors/domain/education.d.ts +41 -0
- package/dist/behaviors/domain/education.js +738 -0
- package/dist/behaviors/domain/education.js.map +1 -0
- package/dist/behaviors/domain/finance.d.ts +49 -0
- package/dist/behaviors/domain/finance.js +660 -0
- package/dist/behaviors/domain/finance.js.map +1 -0
- package/dist/behaviors/domain/game-2d-platformer.d.ts +50 -0
- package/dist/behaviors/domain/game-2d-platformer.js +810 -0
- package/dist/behaviors/domain/game-2d-platformer.js.map +1 -0
- package/dist/behaviors/domain/game-2d-puzzle.d.ts +42 -0
- package/dist/behaviors/domain/game-2d-puzzle.js +622 -0
- package/dist/behaviors/domain/game-2d-puzzle.js.map +1 -0
- package/dist/behaviors/domain/game-2d-rpg.d.ts +48 -0
- package/dist/behaviors/domain/game-2d-rpg.js +860 -0
- package/dist/behaviors/domain/game-2d-rpg.js.map +1 -0
- package/dist/behaviors/domain/game-2d-strategy.d.ts +48 -0
- package/dist/behaviors/domain/game-2d-strategy.js +692 -0
- package/dist/behaviors/domain/game-2d-strategy.js.map +1 -0
- package/dist/behaviors/domain/geospatial.d.ts +35 -0
- package/dist/behaviors/domain/geospatial.js +634 -0
- package/dist/behaviors/domain/geospatial.js.map +1 -0
- package/dist/behaviors/domain/healthcare.d.ts +36 -0
- package/dist/behaviors/domain/healthcare.js +1068 -0
- package/dist/behaviors/domain/healthcare.js.map +1 -0
- package/dist/behaviors/domain/iot.d.ts +45 -0
- package/dist/behaviors/domain/iot.js +589 -0
- package/dist/behaviors/domain/iot.js.map +1 -0
- package/dist/behaviors/domain/media.d.ts +41 -0
- package/dist/behaviors/domain/media.js +771 -0
- package/dist/behaviors/domain/media.js.map +1 -0
- package/dist/behaviors/domain/scheduling.d.ts +41 -0
- package/dist/behaviors/domain/scheduling.js +930 -0
- package/dist/behaviors/domain/scheduling.js.map +1 -0
- package/dist/behaviors/domain/simulation.d.ts +36 -0
- package/dist/behaviors/domain/simulation.js +706 -0
- package/dist/behaviors/domain/simulation.js.map +1 -0
- package/dist/behaviors/domain/social.d.ts +41 -0
- package/dist/behaviors/domain/social.js +840 -0
- package/dist/behaviors/domain/social.js.map +1 -0
- package/dist/behaviors/domain/workflow.d.ts +41 -0
- package/dist/behaviors/domain/workflow.js +879 -0
- package/dist/behaviors/domain/workflow.js.map +1 -0
- package/dist/behaviors/feedback.d.ts +10 -5
- package/dist/behaviors/feedback.js +279 -194
- package/dist/behaviors/feedback.js.map +1 -1
- package/dist/behaviors/game-core.d.ts +15 -8
- package/dist/behaviors/game-core.js +412 -80
- package/dist/behaviors/game-core.js.map +1 -1
- package/dist/behaviors/game-entity.d.ts +17 -10
- package/dist/behaviors/game-entity.js +544 -237
- package/dist/behaviors/game-entity.js.map +1 -1
- package/dist/behaviors/game-ui.d.ts +16 -8
- package/dist/behaviors/game-ui.js +451 -316
- package/dist/behaviors/game-ui.js.map +1 -1
- package/dist/behaviors/index.d.ts +18 -1
- package/dist/behaviors/index.js +18905 -2140
- package/dist/behaviors/index.js.map +1 -1
- package/dist/behaviors/infrastructure.d.ts +9 -8
- package/dist/behaviors/infrastructure.js +597 -169
- package/dist/behaviors/infrastructure.js.map +1 -1
- package/dist/behaviors/registry.d.ts +11 -11
- package/dist/behaviors/registry.js +18904 -2139
- package/dist/behaviors/registry.js.map +1 -1
- package/dist/behaviors/types.d.ts +19 -2
- package/dist/behaviors/types.js.map +1 -1
- package/dist/behaviors/ui-interaction.d.ts +20 -14
- package/dist/behaviors/ui-interaction.js +928 -518
- package/dist/behaviors/ui-interaction.js.map +1 -1
- package/dist/index.js +18906 -2141
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../behaviors/game-ui.ts"],"names":[],"mappings":"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","file":"game-ui.js","sourcesContent":["/**\n * Game UI Behaviors\n *\n * Game interface behaviors: flow, dialogue, level progression.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-gameflow - Game State Machine\n// ============================================================================\n\n/**\n * std-gameflow - Master game state management.\n *\n * States: Menu → Playing → Paused → GameOver/Victory\n */\nexport const GAME_FLOW_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameflow',\n version: '1.0.0',\n description: 'Master game flow: menu, play, pause, game over, victory',\n orbitals: [\n {\n name: 'GameFlowOrbital',\n entity: {\n name: 'GameFlowState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'playTime', type: 'number', default: 0 },\n { name: 'attempts', type: 'number', default: 0 },\n { name: 'lastState', type: 'string', default: 'Menu' },\n { name: 'title', type: 'string', default: 'Game' },\n { name: 'allowPause', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'GameFlow',\n linkedEntity: 'GameFlowState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Menu', isInitial: true },\n { name: 'Playing' },\n { name: 'Paused' },\n { name: 'GameOver', isTerminal: true },\n { name: 'Victory', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'GAME_OVER', name: 'Game Over' },\n { key: 'VICTORY', name: 'Victory' },\n { key: 'RESTART', name: 'Restart' },\n { key: 'QUIT', name: 'Quit' },\n ],\n transitions: [\n {\n from: 'Menu',\n to: 'Menu',\n event: 'QUIT',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'screen', {\n type: 'game-menu',\n title: '@entity.title',\n options: [{ event: 'START', label: 'Start Game' }],\n onSelect: 'START',\n }],\n ],\n },\n {\n from: 'Menu',\n to: 'Playing',\n event: 'START',\n effects: [\n ['set', '@entity.attempts', ['+', '@entity.attempts', 1]],\n ['set', '@entity.playTime', 0],\n ['emit', 'GAME_LOOP_START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Paused',\n event: 'PAUSE',\n guard: '@entity.allowPause',\n effects: [\n ['set', '@entity.lastState', 'Playing'],\n ['emit', 'GAME_LOOP_PAUSE'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Paused',\n variant: 'pause',\n actions: [\n { event: 'RESUME', label: 'Resume' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Paused',\n to: 'Playing',\n event: 'RESUME',\n effects: [['emit', 'GAME_LOOP_RESUME']],\n },\n {\n from: 'Playing',\n to: 'GameOver',\n event: 'GAME_OVER',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Game Over',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Try Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Playing',\n to: 'Victory',\n event: 'VICTORY',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Victory!',\n variant: 'success',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Play Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'GameOver',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Victory',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Paused',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'GameOver',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Victory',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-dialogue - NPC Conversation System\n// ============================================================================\n\n/**\n * std-dialogue - Manages NPC dialogue and branching conversations.\n */\nexport const DIALOGUE_BEHAVIOR: OrbitalSchema = {\n name: 'std-dialogue',\n version: '1.0.0',\n description: 'NPC dialogue system with branching conversations',\n orbitals: [\n {\n name: 'DialogueOrbital',\n entity: {\n name: 'DialogueState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'dialogueTree', type: 'array', default: [] },\n { name: 'currentNode', type: 'number', default: 0 },\n { name: 'displayedText', type: 'string', default: '' },\n { name: 'isTyping', type: 'boolean', default: false },\n { name: 'speaker', type: 'string', default: '' },\n { name: 'typeIndex', type: 'number', default: 0 },\n { name: 'lastTypeTime', type: 'number', default: 0 },\n { name: 'typingSpeed', type: 'number', default: 50 },\n ],\n },\n traits: [\n {\n name: 'Dialogue',\n linkedEntity: 'DialogueState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Typing' },\n { name: 'Showing' },\n { name: 'Choice' },\n ],\n events: [\n { key: 'SHOW', name: 'Show' },\n { key: 'NEXT', name: 'Next' },\n { key: 'SELECT_CHOICE', name: 'Select Choice' },\n { key: 'SKIP', name: 'Skip' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'TYPE_CHAR', name: 'Type Char' },\n { key: 'TYPE_COMPLETE', name: 'Type Complete' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Typing',\n event: 'SHOW',\n effects: [\n ['set', '@entity.dialogueTree', '@payload.dialogue'],\n ['set', '@entity.currentNode', 0],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ['set', '@entity.lastTypeTime', '@now'],\n ['emit', 'GAME_PAUSE'],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: '@entity.speaker',\n text: '@entity.displayedText',\n isTyping: '@entity.isTyping',\n },\n onAdvance: 'NEXT',\n }],\n ],\n },\n {\n from: 'Typing',\n to: 'Typing',\n event: 'TYPE_CHAR',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.typeIndex', ['+', '@entity.typeIndex', 1]],\n ['set', '@entity.displayedText', ['str/slice', '@currentDialogue.text', 0, '@entity.typeIndex']],\n ['set', '@entity.lastTypeTime', '@now']]],\n ],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'TYPE_COMPLETE',\n effects: [['set', '@entity.isTyping', false]],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'SKIP',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.isTyping', false],\n ['set', '@entity.displayedText', '@currentDialogue.text']]],\n ],\n },\n {\n from: 'Showing',\n to: 'Typing',\n event: 'NEXT',\n guard: ['not', ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices']],\n effects: [\n ['if', ['>=', '@entity.currentNode', ['-', ['array/len', '@entity.dialogueTree'], 1]],\n ['emit', 'CLOSE'],\n ['do',\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0]]],\n ],\n },\n {\n from: 'Showing',\n to: 'Choice',\n event: 'NEXT',\n guard: ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices'],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: 'Choose',\n choices: '@currentDialogue.choices',\n },\n onChoice: 'SELECT_CHOICE',\n }]],\n ],\n },\n {\n from: 'Choice',\n to: 'Typing',\n event: 'SELECT_CHOICE',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['let', [['choice', ['array/nth', '@currentDialogue.choices', '@payload.index']]],\n ['do',\n ['if', '@choice.nextNode',\n ['set', '@entity.currentNode', '@choice.nextNode'],\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]]],\n ['if', '@choice.effect', ['emit', '@choice.effect']]]]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ],\n },\n {\n from: 'Typing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Choice',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'TypewriterEffect',\n interval: 'frame',\n guard: ['and', '@entity.isTyping', ['>', ['-', '@now', '@entity.lastTypeTime'], ['/', 1000, '@entity.typingSpeed']]],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['if', ['<', '@entity.typeIndex', ['str/len', '@currentDialogue.text']],\n ['emit', 'TYPE_CHAR'],\n ['emit', 'TYPE_COMPLETE']]],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-levelprogress - Level Unlock and Progression\n// ============================================================================\n\n/**\n * std-levelprogress - Manages level unlock, selection, and completion.\n */\nexport const LEVEL_PROGRESS_BEHAVIOR: OrbitalSchema = {\n name: 'std-levelprogress',\n version: '1.0.0',\n description: 'Level progression with unlock, selection, and completion tracking',\n orbitals: [\n {\n name: 'LevelProgressOrbital',\n entity: {\n name: 'LevelProgressState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentLevel', type: 'number', default: 0 },\n { name: 'unlockedLevels', type: 'array', default: [0] },\n { name: 'levelStars', type: 'object', default: {} },\n { name: 'totalStars', type: 'number', default: 0 },\n { name: 'levels', type: 'array', default: [] },\n { name: 'starsPerLevel', type: 'number', default: 3 },\n { name: 'unlockNext', type: 'boolean', default: true },\n { name: 'persistProgress', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'LevelProgress',\n linkedEntity: 'LevelProgressState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'LevelLoading' },\n { name: 'InLevel' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_LEVEL', name: 'Select Level' },\n { key: 'LEVEL_LOADED', name: 'Level Loaded' },\n { key: 'COMPLETE_LEVEL', name: 'Complete Level' },\n { key: 'UNLOCK_LEVEL', name: 'Unlock Level' },\n { key: 'BACK_TO_SELECT', name: 'Back To Select' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['render-ui', 'screen', {\n type: 'game-menu',\n title: 'Select Level',\n options: '@entity.levels',\n onSelect: 'SELECT_LEVEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'LevelLoading',\n event: 'SELECT_LEVEL',\n guard: ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex'],\n effects: [\n ['set', '@entity.currentLevel', '@payload.levelIndex'],\n ['emit', 'LOAD_LEVEL', { levelData: ['array/nth', '@entity.levels', '@payload.levelIndex'] }],\n ],\n },\n {\n from: 'LevelLoading',\n to: 'InLevel',\n event: 'LEVEL_LOADED',\n effects: [['emit', 'START']],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'COMPLETE_LEVEL',\n effects: [\n ['set', '@entity.levelStars', ['object/set', '@entity.levelStars', ['str/toString', '@entity.currentLevel'],\n ['math/max', '@payload.stars', ['object/get', '@entity.levelStars', ['str/toString', '@entity.currentLevel'], 0]]]],\n ['set', '@entity.totalStars', ['array/reduce', ['object/values', '@entity.levelStars'], ['fn', 'sum', 'v', ['+', '@sum', '@v']], 0]],\n ['if', ['and', '@entity.unlockNext', ['<', '@entity.currentLevel', ['-', ['array/len', '@entity.levels'], 1]]],\n ['emit', 'UNLOCK_LEVEL', { levelIndex: ['+', '@entity.currentLevel', 1] }]],\n ['if', '@entity.persistProgress',\n ['persist', 'save', 'LevelProgress', {\n unlockedLevels: '@entity.unlockedLevels',\n levelStars: '@entity.levelStars',\n }]],\n ],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'UNLOCK_LEVEL',\n guard: ['not', ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex']],\n effects: [\n ['set', '@entity.unlockedLevels', ['array/append', '@entity.unlockedLevels', '@payload.levelIndex']],\n ],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'BACK_TO_SELECT',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'LevelLoading',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_UI_BEHAVIORS: OrbitalSchema[] = [\n GAME_FLOW_BEHAVIOR,\n DIALOGUE_BEHAVIOR,\n LEVEL_PROGRESS_BEHAVIOR,\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["../../behaviors/game-ui.ts"],"names":[],"mappings":";AAeA,IAAM,aAAA,GAAgB;AAAA,EACpB,IAAA,EAAM,eAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,SAAA;AAAA,MACT,eAAA,EAAiB,SAAA;AAAA,MACjB,oBAAA,EAAsB,SAAA;AAAA,MACtB,MAAA,EAAQ,SAAA;AAAA,MACR,mBAAA,EAAqB,SAAA;AAAA,MACrB,OAAA,EAAS,SAAA;AAAA,MACT,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAMA,IAAM,YAAA,GAAe,6CAAA;AACrB,IAAM,aAAA,GAAgB;AAAA,EACpB,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,oCAAA;AAAA,IACP,IAAA,EAAM,+BAAA;AAAA,IACN,MAAA,EAAQ,oCAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,KAAA,EAAO;AAAA,IACL,QAAA,EAAU,6CAAA;AAAA,IACV,OAAA,EAAS,4CAAA;AAAA,IACT,SAAA,EAAW;AAAA,GACb;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW,0BAAA;AAAA,IACX,MAAA,EAAQ,4BAAA;AAAA,IACR,QAAA,EAAU,sCAAA;AAAA,IACV,aAAA,EAAe,8BAAA;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAA;AAEA,IAAM,SAAA,GAAY;AAAA,EAChB,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EACrK,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EACpK,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,QAAA,EAAS;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EACtK,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EACpK,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA,EAAQ;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,MAAA,EAAO;AAAA,EAAG,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,SAAS,OAAA;AAC/J,CAAA;AAMA,IAAM,YAAA,GAA+B,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EACzD,IAAA,EAAM,WAAA;AAAA,EACN,KAAA,EAAO,eAAA;AAAA,EACP,QAAA,EAAU,sBAAA;AAAA,EACV,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,OAAA,EAAS,SAAS,SAAA;AAAU;AAE9D,CAAC,CAAA;AAED,IAAM,qBAAA,GAAwC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EAClE,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,SAAA;AAAA,EACP,KAAA,EAAO,CAAC,EAAE,EAAA,EAAI,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,QAAA,EAAU,UAAA,EAAY,CAAA;AAAA,EAC1D,KAAA,EAAO,GAAA;AAAA,EACP,UAAA,EAAY,CAAA;AAAA,EACZ,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,IAAA;AAAA,EACd,YAAA,EAAc,YAAA;AAAA,EACd,aAAA,EAAe;AACjB,CAAC,CAAA;AAED,IAAM,cAAA,GAAiC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EAC9D,IAAA,EAAM,UAAA;AAAA,EACN,QAAA,EAAU,KAAA;AAAA,EACV,QAAA,EAAU;AAAA,IACR,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,gBAAA,EAAkB,MAAM,UAAA,EAAW;AAAA,IAC7D,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,kBAAA,EAAoB,MAAM,OAAA,EAAQ;AAAA,IAC1D,EAAE,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,kBAAA,EAAoB,MAAM,MAAA;AAAO;AAEjE,CAAC,CAAA;AASD,IAAM,cAAA,GAAiC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EAC3D,IAAA,EAAM,WAAA;AAAA,EACN,KAAA,EAAO,QAAA;AAAA,EACP,QAAA,EAAU,gBAAA;AAAA,EACV,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,SAAS,SAAA,EAAU;AAAA,IACvD,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,SAAS,WAAA;AAAY;AAE/D,CAAC,CAAA;AAED,IAAM,YAAA,GAA+B,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EACzD,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,WAAA;AAAA,EACP,OAAA,EAAS,wBAAA;AAAA,EACT,OAAA,EAAS,QAAA;AAAA,EACT,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,SAAA;AAAU;AAE3C,CAAC,CAAA;AAED,IAAM,iBAAA,GAAoC,CAAC,WAAA,EAAa,OAAA,EAAS;AAAA,EAC/D,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,MAAM,OAAA,EAAS,SAAA,EAAW,cAAc,GAAA,EAAK,IAAA,EAAM,OAAA,EAAS,eAAA,EAAiB,QAAA,EAAU;AAAA,MACvF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,QAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,gBAAA,EAAiB;AAAA,QACvC,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,iBAAA,EAAmB,SAAS,IAAA;AAAK,OAClE;AAAE,KACJ,EAAE;AAAA,IACF,EAAE,MAAM,SAAA,EAAU;AAAA,IAClB,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,uBAAA,EAAyB,SAAS,MAAA,EAAO;AAAA,IACxE,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,qBAAA,EAAuB,SAAS,OAAA,EAAQ;AAAA,MACvE,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,GAAA,EAAK,SAAS,OAAA,EAAQ;AAAA,MACrD,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,oBAAA,EAAsB,SAAS,OAAA;AAAQ,KACxE,EAAE;AAAA,IACF,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,qBAAA,EAAuB,KAAK,oBAAA,EAAqB;AAAA,IAChF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,QAAQ,MAAA,EAAQ,IAAA,EAAM,aAAA,EAAe,OAAA,EAAS,SAAA,EAAU;AAAA,MACzF,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,QAAQ,OAAA,EAAS,IAAA,EAAM,GAAA,EAAK,OAAA,EAAS,WAAA;AAAY,KACrF;AAAE;AAEN,CAAC,CAAA;AAED,IAAM,uBAAA,GAA0C,CAAC,WAAA,EAAa,OAAA,EAAS;AAAA,EACrE,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,MAAM,OAAA,EAAS,SAAA,EAAW,cAAc,GAAA,EAAK,IAAA,EAAM,OAAA,EAAS,eAAA,EAAiB,QAAA,EAAU;AAAA,MACvF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,QAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAO;AAAA,QAC7B,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,iBAAA,EAAmB,SAAS,IAAA;AAAK,OAClE;AAAE,KACJ,EAAE;AAAA,IACF,EAAE,MAAM,SAAA,EAAU;AAAA,IAClB,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,uBAAA,EAAyB,SAAS,MAAA,EAAO;AAAA,IACxE,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,UAAA,EAAY,QAAQ,MAAA,EAAQ,IAAA,EAAM,aAAA,EAAe,OAAA,EAAS,SAAA,EAAU;AAAA,MAC7F,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,QAAQ,OAAA,EAAS,IAAA,EAAM,GAAA,EAAK,OAAA,EAAS,WAAA;AAAY,KACrF;AAAE;AAEN,CAAC,CAAA;AAED,IAAM,wBAAA,GAA2C,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EACrE,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,SAAA;AAAA,EACP,KAAA,EAAO,CAAC,EAAE,EAAA,EAAI,KAAA,EAAO,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,QAAA,EAAU,WAAA,EAAa,CAAA;AAAA,EACxD,KAAA,EAAO,GAAA;AAAA,EACP,UAAA,EAAY,CAAA;AAAA,EACZ,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,KAAA;AAAA,EACd,YAAA,EAAc,YAAA;AAAA,EACd,aAAA,EAAe;AACjB,CAAC,CAAA;AAED,IAAM,qBAAA,GAAwC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EACrE,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,oBAAA,EAAsB,SAAS,MAAA,EAAO;AAAA,IACrE,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,gBAAA,EAAkB,QAAQ,MAAA,EAAQ,IAAA,EAAM,gBAAA,EAAkB,OAAA,EAAS,SAAA;AAAU;AAE1G,CAAC,CAAA;AAED,IAAM,yBAAA,GAA4C,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EACtE,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,SAAA;AAAA,EACP,KAAA,EAAO,CAAC,EAAE,EAAA,EAAI,KAAA,EAAO,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,QAAA,EAAU,WAAA,EAAa,CAAA;AAAA,EACxD,KAAA,EAAO,GAAA;AAAA,EACP,UAAA,EAAY,CAAA;AAAA,EACZ,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,KAAA;AAAA,EACd,YAAA,EAAc,YAAA;AAAA,EACd,aAAA,EAAe;AACjB,CAAC,CAAA;AAED,IAAM,iBAAA,GAAoC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EAC9D,IAAA,EAAM,WAAA;AAAA,EACN,KAAA,EAAO,cAAA;AAAA,EACP,QAAA,EAAU,uBAAA;AAAA,EACV,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,cAAA,EAAe;AAAA,IAC1C,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,cAAA,EAAe;AAAA,IAC1C,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,cAAA;AAAe;AAE9C,CAAC,CAAA;AAED,IAAM,gBAAA,GAAmC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EAChE,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,OAAO,QAAA,EAAU;AAAA,MAC7C,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,sBAAA,EAAwB,MAAM,QAAA,EAAS;AAAA,MAClE,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,qBAAA,EAAuB,MAAM,QAAA,EAAS;AAAA,MAC/D,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,yBAAA,EAA2B,MAAM,cAAA;AAAe,KAC/E,EAAE;AAAA,IACF,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,yBAAA,EAA2B,KAAK,qBAAA;AAAsB;AAEzF,CAAC,CAAA;AAED,IAAM,sBAAA,GAAyC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EACnE,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,SAAA;AAAA,EACP,KAAA,EAAO,CAAC,EAAE,EAAA,EAAI,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,QAAA,EAAU,UAAA,EAAY,CAAA;AAAA,EAC1D,KAAA,EAAO,GAAA;AAAA,EACP,UAAA,EAAY,CAAA;AAAA,EACZ,WAAA,EAAa,CAAA;AAAA,EACb,YAAA,EAAc,IAAA;AAAA,EACd,YAAA,EAAc,YAAA;AAAA,EACd,aAAA,EAAe;AACjB,CAAC,CAAA;AAED,IAAM,eAAA,GAAkC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EAC/D,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,OAAO,QAAA,EAAU;AAAA,MAC7C,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,sBAAA,EAAwB,MAAM,QAAA,EAAS;AAAA,MAChE,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,mBAAA,EAAqB,MAAM,KAAA;AAAM,KAC3D,EAAE;AAAA,IACF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,gBAAA,EAAkB,QAAQ,gBAAA,EAAkB,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,SAAA,EAAU;AAAA,MACvG,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,gBAAA,EAAkB,QAAQ,gBAAA,EAAkB,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,WAAA;AAAY,KAChH;AAAE;AAEN,CAAC,CAAA;AAED,IAAM,iBAAA,GAAoC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EAC9D,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS,0CAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA,EACT,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,gBAAA,EAAiB;AAAA,IAC/C,EAAE,KAAA,EAAO,gBAAA,EAAkB,KAAA,EAAO,gBAAA;AAAiB;AAEvD,CAAC,CAAA;AAED,IAAM,gBAAA,GAAmC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EAChE,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,OAAO,QAAA,EAAU;AAAA,MAC7C,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,sBAAA,EAAwB,MAAM,QAAA,EAAS;AAAA,MAChE,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,yBAAA,EAA2B,MAAM,cAAA;AAAe,KAC/E,EAAE;AAAA,IACF,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,yBAAA,EAA2B,KAAK,qBAAA;AAAsB;AAEzF,CAAC,CAAA;AAED,IAAM,qBAAA,GAAwC,CAAC,WAAA,EAAa,MAAA,EAAQ;AAAA,EAClE,IAAA,EAAM,kBAAA;AAAA,EACN,KAAA,EAAO,qBAAA;AAAA,EACP,OAAA,EAAS,iDAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA,EACT,SAAA,EAAW;AAAA,IACT,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,MAAA;AAAO;AAEtC,CAAC,CAAA;AAED,IAAM,oBAAA,GAAuC,CAAC,WAAA,EAAa,SAAA,EAAW;AAAA,EACpE,IAAA,EAAM,OAAA;AAAA,EAAS,SAAA,EAAW,UAAA;AAAA,EAAY,GAAA,EAAK,IAAA;AAAA,EAAM,QAAA,EAAU;AAAA,IACzD,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,OAAO,QAAA,EAAU;AAAA,MAC7C,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,EAAO,yBAAA,EAA2B,MAAM,cAAA,EAAe;AAAA,MAC7E,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,qBAAA,EAAuB,MAAM,QAAA;AAAS,KACjE,EAAE;AAAA,IACF,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,yBAAA,EAA2B,KAAK,qBAAA;AAAsB;AAEzF,CAAC,CAAA;AAYM,IAAM,kBAAA,GAAqC;AAAA,EAChD,IAAA,EAAM,cAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,gDAAA;AAAA,EACb,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,iBAAA;AAAA,MACN,KAAA,EAAO,aAAA;AAAA,MACP,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,cAAA;AAAA,QACN,WAAA,EAAa,SAAA;AAAA,QACb,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAC/C,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAC/C,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,SAAS,MAAA,EAAO;AAAA,UACjD,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,QAAA,EAAU,SAAS,MAAA;AAAO;AACpD,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,YAAA,EAAc,cAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAK;AAAA,cAChC,EAAE,MAAM,SAAA,EAAU;AAAA,cAClB,EAAE,MAAM,QAAA,EAAS;AAAA,cACjB,EAAE,MAAM,UAAA;AAAW,aACrB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,cAC9B,EAAE,GAAA,EAAK,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,cAC9B,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,QAAA,EAAS;AAAA,cAChC,EAAE,GAAA,EAAK,WAAA,EAAa,IAAA,EAAM,WAAA,EAAY;AAAA,cACtC,EAAE,GAAA,EAAK,SAAA,EAAW,IAAA,EAAM,SAAA;AAAU,aACpC;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,MAAA;AAAA,gBACN,EAAA,EAAI,MAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,MAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,GAAA,EAAK,kBAAA,EAAoB,CAAC,CAAC,CAAA;AAAA,kBACxD,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,CAAA;AAAA,kBAC7B,CAAC,KAAA,EAAO,gBAAA,EAAkB,SAAS,CAAA;AAAA,kBACnC,qBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,gBAAA,EAAkB,QAAQ,CAAA;AAAA,kBAClC;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,CAAC,KAAA,EAAO,gBAAA,EAAkB,SAAS,CAAA;AAAA,kBACnC,qBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,WAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,gBAAA,EAAkB,UAAU,CAAA;AAAA,kBACpC;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,MAAA;AAAA,gBACJ,KAAA,EAAO,SAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,gBAAA,EAAkB,MAAM,CAAA;AAAA,kBAChC,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,CAAA;AAAA,kBAC7B;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,MAAA;AAAA,gBACJ,KAAA,EAAO,SAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,gBAAA,EAAkB,MAAM,CAAA;AAAA,kBAChC,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,CAAA;AAAA,kBAC7B;AAAA;AACF;AACF;AACF;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,IAAA,EAAM,OAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,YAAY;AAAA;AAC9B;AACF;AACF;AAEJ;AAYO,IAAM,iBAAA,GAAoC;AAAA,EAC/C,IAAA,EAAM,cAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,kDAAA;AAAA,EACb,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,iBAAA;AAAA,MACN,KAAA,EAAO,aAAA;AAAA,MACP,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,cAAA;AAAA,QACN,WAAA,EAAa,SAAA;AAAA,QACb,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAClD,EAAE,IAAA,EAAM,eAAA,EAAiB,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UACrD,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UAC/C,EAAE,IAAA,EAAM,YAAA,EAAc,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA;AAAE;AACnD,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,UAAA;AAAA,UACN,YAAA,EAAc,cAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,IAAA,EAAK;AAAA,cAClC,EAAE,MAAM,SAAA,EAAU;AAAA,cAClB,EAAE,MAAM,QAAA;AAAS,aACnB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,QAAQ,aAAA,EAAe;AAAA,gBAC1C,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,gBAClD,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,gBAC/C,EAAE,IAAA,EAAM,YAAA,EAAc,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA;AAAK,eACvD,EAAE;AAAA,cACF,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAO;AAAA,cAC5B,EAAE,GAAA,EAAK,eAAA,EAAiB,IAAA,EAAM,iBAAiB,aAAA,EAAe;AAAA,gBAC5D,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA;AAAK,eAClD,EAAE;AAAA,cACF,EAAE,GAAA,EAAK,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,cAC9B,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,QAAA;AAAS,aAClC;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,wBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,CAAC,KAAA,EAAO,iBAAA,EAAmB,kBAAkB,CAAA;AAAA,kBAC7C,CAAC,KAAA,EAAO,uBAAA,EAAyB,eAAe,CAAA;AAAA,kBAChD,CAAC,KAAA,EAAO,oBAAA,EAAsB,qBAAqB,CAAA;AAAA,kBACnD,CAAC,KAAA,EAAO,qBAAA,EAAuB,CAAC,CAAA;AAAA,kBAChC,yBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,KAAA,EAAO,CAAC,GAAA,EAAK,qBAAA,EAAuB,CAAC,GAAA,EAAK,oBAAA,EAAsB,CAAC,CAAC,CAAA;AAAA,gBAClE,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,CAAC,KAAA,EAAO,qBAAA,EAAuB,CAAC,GAAA,EAAK,qBAAA,EAAuB,CAAC,CAAC,CAAA;AAAA,kBAC9D,yBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,KAAA,EAAO,CAAC,IAAA,EAAM,qBAAA,EAAuB,CAAC,GAAA,EAAK,oBAAA,EAAsB,CAAC,CAAC,CAAA;AAAA,gBACnE,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,uBAAA,EAAyB,EAAE,CAAA;AAAA,kBACnC,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,eAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,cAAc,CAAA;AAAA,kBACxB,CAAC,KAAA,EAAO,qBAAA,EAAuB,CAAC,GAAA,EAAK,qBAAA,EAAuB,CAAC,CAAC,CAAA;AAAA,kBAC9D,yBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,uBAAA,EAAyB,EAAE,CAAA;AAAA,kBACnC,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,uBAAA,EAAyB,EAAE,CAAA;AAAA,kBACnC,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,uBAAA,EAAyB,EAAE,CAAA;AAAA,kBACnC,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,QAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,uBAAA,EAAyB,EAAE,CAAA;AAAA,kBACnC,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B;AACF;AACF;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,cAAA;AAAA,UACN,IAAA,EAAM,WAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,YAAY;AAAA;AAC9B;AACF;AACF;AAEJ;AAYO,IAAM,uBAAA,GAA0C;AAAA,EACrD,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,0DAAA;AAAA,EACb,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,sBAAA;AAAA,MACN,KAAA,EAAO,aAAA;AAAA,MACP,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,WAAA;AAAA,QACN,WAAA,EAAa,SAAA;AAAA,QACb,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,cAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UACnD,EAAE,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UACnD,EAAE,IAAA,EAAM,iBAAA,EAAmB,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UACtD,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UACjD,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,QAAA,EAAU,SAAS,UAAA;AAAW;AACxD,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,eAAA;AAAA,UACN,YAAA,EAAc,WAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,IAAA,EAAK;AAAA,cACpC,EAAE,MAAM,SAAA;AAAU,aACpB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,cAAA,EAAgB,IAAA,EAAM,gBAAgB,aAAA,EAAe;AAAA,gBAC1D,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA;AAAK,eAClD,EAAE;AAAA,cACF,EAAE,GAAA,EAAK,gBAAA,EAAkB,IAAA,EAAM,gBAAA,EAAiB;AAAA,cAChD,EAAE,GAAA,EAAK,gBAAA,EAAkB,IAAA,EAAM,gBAAA;AAAiB,aAClD;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,KAAA,EAAO,gBAAA,EAAkB,UAAU,CAAA;AAAA,kBACpC,iBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,cAAA;AAAA,gBACP,KAAA,EAAO,CAAC,IAAA,EAAM,gBAAA,EAAkB,qBAAqB,CAAA;AAAA,gBACrD,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,KAAA,EAAO,sBAAA,EAAwB,gBAAgB,CAAA;AAAA,kBAChD,CAAC,KAAA,EAAO,gBAAA,EAAkB,SAAS,CAAA;AAAA,kBACnC,sBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,gBAAA;AAAA,gBACP,KAAA,EAAO,CAAC,GAAA,EAAK,sBAAA,EAAwB,qBAAqB,CAAA;AAAA,gBAC1D,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,yBAAA,EAA2B,CAAC,GAAA,EAAK,yBAAA,EAA2B,CAAC,CAAC,CAAA;AAAA,kBACtE,CAAC,KAAA,EAAO,sBAAA,EAAwB,CAAC,GAAA,EAAK,sBAAA,EAAwB,CAAC,CAAC,CAAA;AAAA,kBAChE,iBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,gBAAA;AAAA,gBACP,KAAA,EAAO,CAAC,IAAA,EAAM,sBAAA,EAAwB,qBAAqB,CAAA;AAAA,gBAC3D,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,KAAA,EAAO,yBAAA,EAA2B,CAAC,GAAA,EAAK,yBAAA,EAA2B,CAAC,CAAC,CAAA;AAAA,kBACtE,CAAC,KAAA,EAAO,gBAAA,EAAkB,UAAU,CAAA;AAAA,kBACpC,qBAAA;AAAA,kBACA;AAAA;AACF,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,gBAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,KAAA,EAAO,gBAAA,EAAkB,UAAU,CAAA;AAAA,kBACpC,iBAAA;AAAA,kBACA;AAAA;AACF;AACF;AACF;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,SAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,iBAAiB;AAAA;AACnC;AACF;AACF;AAEJ;AAMO,IAAM,iBAAA,GAAsC;AAAA,EACjD,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF","file":"game-ui.js","sourcesContent":["/**\n * Game UI Behaviors\n *\n * Game interface behaviors: flow, dialogue, level progression.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema, BehaviorEffect } from './types.js';\n\n// ============================================================================\n// Shared theme for all game-ui behaviors\n// ============================================================================\n\nconst GAME_UI_THEME = {\n name: 'game-ui-amber',\n tokens: {\n colors: {\n primary: '#d97706',\n 'primary-hover': '#b45309',\n 'primary-foreground': '#ffffff',\n accent: '#f59e0b',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// Asset constants\n// ============================================================================\n\nconst KFLOW_ASSETS = 'https://almadar-kflow-assets.web.app/shared';\nconst GAME_MANIFEST = {\n terrain: {\n stone: '/terrain/Isometric/stoneSide_N.png',\n dirt: '/terrain/Isometric/dirt_N.png',\n bridge: '/terrain/Isometric/stoneStep_N.png',\n wall: '/terrain/Isometric/stoneWallArchway_N.png',\n },\n units: {\n guardian: '/sprite-sheets/guardian-sprite-sheet-se.png',\n breaker: '/sprite-sheets/breaker-sprite-sheet-se.png',\n archivist: '/sprite-sheets/archivist-sprite-sheet-se.png',\n },\n features: {\n gold_mine: '/world-map/gold_mine.png',\n portal: '/world-map/portal_open.png',\n treasure: '/world-map/treasure_chest_closed.png',\n battle_marker: '/world-map/battle_marker.png',\n power_node: '/world-map/power_node.png',\n },\n};\n\nconst TILES_5X5 = [\n { x: 0, y: 0, terrain: 'stone' }, { x: 1, y: 0, terrain: 'dirt' }, { x: 2, y: 0, terrain: 'stone' }, { x: 3, y: 0, terrain: 'dirt' }, { x: 4, y: 0, terrain: 'stone' },\n { x: 0, y: 1, terrain: 'dirt' }, { x: 1, y: 1, terrain: 'stone' }, { x: 2, y: 1, terrain: 'dirt' }, { x: 3, y: 1, terrain: 'stone' }, { x: 4, y: 1, terrain: 'dirt' },\n { x: 0, y: 2, terrain: 'stone' }, { x: 1, y: 2, terrain: 'dirt' }, { x: 2, y: 2, terrain: 'bridge' }, { x: 3, y: 2, terrain: 'dirt' }, { x: 4, y: 2, terrain: 'stone' },\n { x: 0, y: 3, terrain: 'dirt' }, { x: 1, y: 3, terrain: 'stone' }, { x: 2, y: 3, terrain: 'dirt' }, { x: 3, y: 3, terrain: 'stone' }, { x: 4, y: 3, terrain: 'dirt' },\n { x: 0, y: 4, terrain: 'stone' }, { x: 1, y: 4, terrain: 'dirt' }, { x: 2, y: 4, terrain: 'stone' }, { x: 3, y: 4, terrain: 'wall' }, { x: 4, y: 4, terrain: 'stone' },\n];\n\n// ============================================================================\n// Shared render-ui compositions\n// ============================================================================\n\nconst gameMenuView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-menu',\n title: '@entity.title',\n subtitle: 'Press Start to begin',\n menuItems: [\n { label: 'Start Game', event: 'START', variant: 'primary' },\n ],\n}];\n\nconst gamePlayingCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'player', x: 2, y: 2, unitType: 'guardian' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst gamePlayingHud: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'game-hud',\n position: 'top',\n elements: [\n { label: 'Status', value: '@entity.status', icon: 'activity' },\n { label: 'Time', value: '@entity.playTime', icon: 'clock' },\n { label: 'Attempts', value: '@entity.attempts', icon: 'hash' },\n ],\n}];\n\nconst gamePlayingActions: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Pause', action: 'PAUSE', icon: 'pause', variant: 'secondary' },\n { type: 'button', label: 'End Game', action: 'GAME_OVER', icon: 'square', variant: 'destructive' },\n ],\n}];\n\nconst gamePausedView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-menu',\n title: 'Paused',\n subtitle: 'Game is paused',\n menuItems: [\n { label: 'Resume', event: 'RESUME', variant: 'primary' },\n { label: 'Restart', event: 'RESTART', variant: 'secondary' },\n ],\n}];\n\nconst gameOverView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-over-screen',\n title: 'Game Over',\n message: 'Better luck next time!',\n variant: 'defeat',\n menuItems: [\n { label: 'Try Again', event: 'RESTART' },\n ],\n}];\n\nconst dialogueModalView: BehaviorEffect = ['render-ui', 'modal', {\n type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'message-square' },\n { type: 'typography', content: '@entity.speaker', variant: 'h2' },\n ] },\n ] },\n { type: 'divider' },\n { type: 'typography', content: '@entity.displayedText', variant: 'body' },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'typography', content: '@entity.currentNode', variant: 'label' },\n { type: 'typography', content: '/', variant: 'label' },\n { type: 'typography', content: '@entity.totalNodes', variant: 'label' },\n ] },\n { type: 'progress-bar', value: '@entity.currentNode', max: '@entity.totalNodes' },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Next', action: 'NEXT', icon: 'arrow-right', variant: 'primary' },\n { type: 'button', label: 'Close', action: 'CLOSE', icon: 'x', variant: 'secondary' },\n ] },\n ],\n}];\n\nconst dialogueChoiceModalView: BehaviorEffect = ['render-ui', 'modal', {\n type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'list' },\n { type: 'typography', content: 'Choose Response', variant: 'h3' },\n ] },\n ] },\n { type: 'divider' },\n { type: 'typography', content: '@entity.displayedText', variant: 'body' },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Continue', action: 'NEXT', icon: 'arrow-right', variant: 'primary' },\n { type: 'button', label: 'Close', action: 'CLOSE', icon: 'x', variant: 'secondary' },\n ] },\n ],\n}];\n\nconst dialogueHiddenCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'npc', x: 2, y: 2, unitType: 'archivist' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: false,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst dialogueHiddenOverlay: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'typography', content: 'No active dialogue', variant: 'body' },\n { type: 'button', label: 'Start Dialogue', action: 'SHOW', icon: 'message-square', variant: 'primary' },\n ],\n}];\n\nconst dialogueShowingCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'npc', x: 2, y: 2, unitType: 'archivist' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: false,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst levelBrowsingView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-menu',\n title: 'Select Level',\n subtitle: 'Choose your challenge',\n menuItems: [\n { label: 'Level 1', event: 'SELECT_LEVEL' },\n { label: 'Level 2', event: 'SELECT_LEVEL' },\n { label: 'Level 3', event: 'SELECT_LEVEL' },\n ],\n}];\n\nconst levelBrowsingHud: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Current', value: '@entity.currentLevel', icon: 'target' },\n { label: 'Total', value: '@entity.totalLevels', icon: 'layers' },\n { label: 'Completed', value: '@entity.completedLevels', icon: 'check-circle' },\n ] },\n { type: 'progress-bar', value: '@entity.completedLevels', max: '@entity.totalLevels' },\n ],\n}];\n\nconst levelPlayingCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'player', x: 2, y: 2, unitType: 'guardian' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst levelPlayingHud: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Level', value: '@entity.currentLevel', icon: 'target' },\n { label: 'Name', value: '@entity.levelName', icon: 'tag' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Complete Level', action: 'COMPLETE_LEVEL', icon: 'check', variant: 'primary' },\n { type: 'button', label: 'Back to Levels', action: 'BACK_TO_SELECT', icon: 'arrow-left', variant: 'secondary' },\n ] },\n ],\n}];\n\nconst levelCompleteView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-over-screen',\n title: 'Level Complete',\n message: 'Well done! Ready for the next challenge?',\n variant: 'victory',\n menuItems: [\n { label: 'Next Level', event: 'COMPLETE_LEVEL' },\n { label: 'Back to Levels', event: 'BACK_TO_SELECT' },\n ],\n}];\n\nconst levelCompleteHud: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Level', value: '@entity.currentLevel', icon: 'target' },\n { label: 'Completed', value: '@entity.completedLevels', icon: 'check-circle' },\n ] },\n { type: 'progress-bar', value: '@entity.completedLevels', max: '@entity.totalLevels' },\n ],\n}];\n\nconst allLevelsCompleteView: BehaviorEffect = ['render-ui', 'main', {\n type: 'game-over-screen',\n title: 'All Levels Complete',\n message: 'Congratulations! You conquered every challenge!',\n variant: 'victory',\n menuItems: [\n { label: 'Refresh', event: 'INIT' },\n ],\n}];\n\nconst allLevelsCompleteHud: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Completed', value: '@entity.completedLevels', icon: 'check-circle' },\n { label: 'Total', value: '@entity.totalLevels', icon: 'layers' },\n ] },\n { type: 'progress-bar', value: '@entity.completedLevels', max: '@entity.totalLevels' },\n ],\n}];\n\n// ============================================================================\n// std-gameflow - Game State Machine\n// ============================================================================\n\n/**\n * std-gameflow - Master game state management.\n *\n * States: Menu -> Playing -> Paused -> GameOver\n * Simplified to use valid patterns and slots only.\n */\nexport const GAME_FLOW_BEHAVIOR: BehaviorSchema = {\n name: 'std-gameflow',\n version: '1.0.0',\n description: 'Master game flow: menu, play, pause, game over',\n orbitals: [\n {\n name: 'GameFlowOrbital',\n theme: GAME_UI_THEME,\n entity: {\n name: 'GameFlowData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'playTime', type: 'number', default: 0 },\n { name: 'attempts', type: 'number', default: 0 },\n { name: 'title', type: 'string', default: 'Game' },\n { name: 'status', type: 'string', default: 'menu' },\n ],\n },\n traits: [\n {\n name: 'GameFlow',\n linkedEntity: 'GameFlowData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Menu', isInitial: true },\n { name: 'Playing' },\n { name: 'Paused' },\n { name: 'GameOver' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START', name: 'Start' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'GAME_OVER', name: 'Game Over' },\n { key: 'RESTART', name: 'Restart' },\n ],\n transitions: [\n {\n from: 'Menu',\n to: 'Menu',\n event: 'INIT',\n effects: [\n gameMenuView,\n ],\n },\n {\n from: 'Menu',\n to: 'Playing',\n event: 'START',\n effects: [\n ['fetch', 'GameFlowData'],\n ['set', '@entity.attempts', ['+', '@entity.attempts', 1]],\n ['set', '@entity.playTime', 0],\n ['set', '@entity.status', 'playing'],\n gamePlayingCanvasView,\n gamePlayingHud,\n ],\n },\n {\n from: 'Playing',\n to: 'Paused',\n event: 'PAUSE',\n effects: [\n ['set', '@entity.status', 'paused'],\n gamePausedView,\n ],\n },\n {\n from: 'Paused',\n to: 'Playing',\n event: 'RESUME',\n effects: [\n ['fetch', 'GameFlowData'],\n ['set', '@entity.status', 'playing'],\n gamePlayingCanvasView,\n gamePlayingHud,\n ],\n },\n {\n from: 'Playing',\n to: 'GameOver',\n event: 'GAME_OVER',\n effects: [\n ['set', '@entity.status', 'gameover'],\n gameOverView,\n ],\n },\n {\n from: 'GameOver',\n to: 'Menu',\n event: 'RESTART',\n effects: [\n ['set', '@entity.status', 'menu'],\n ['set', '@entity.playTime', 0],\n gameMenuView,\n ],\n },\n {\n from: 'Paused',\n to: 'Menu',\n event: 'RESTART',\n effects: [\n ['set', '@entity.status', 'menu'],\n ['set', '@entity.playTime', 0],\n gameMenuView,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'GamePage',\n path: '/game',\n isInitial: true,\n traits: [{ ref: 'GameFlow' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-dialogue - NPC Conversation System\n// ============================================================================\n\n/**\n * std-dialogue - Manages NPC dialogue display.\n *\n * Simplified: States: Hidden -> Showing -> Choice\n * No typewriter effect, no complex s-expressions.\n */\nexport const DIALOGUE_BEHAVIOR: BehaviorSchema = {\n name: 'std-dialogue',\n version: '1.0.0',\n description: 'NPC dialogue system with branching conversations',\n orbitals: [\n {\n name: 'DialogueOrbital',\n theme: GAME_UI_THEME,\n entity: {\n name: 'DialogueData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentNode', type: 'number', default: 0 },\n { name: 'displayedText', type: 'string', default: '' },\n { name: 'speaker', type: 'string', default: '' },\n { name: 'totalNodes', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'Dialogue',\n linkedEntity: 'DialogueData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Showing' },\n { name: 'Choice' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SHOW', name: 'Show', payloadSchema: [\n { name: 'speaker', type: 'string', required: true },\n { name: 'text', type: 'string', required: true },\n { name: 'totalNodes', type: 'number', required: true },\n ] },\n { key: 'NEXT', name: 'Next' },\n { key: 'SELECT_CHOICE', name: 'Select Choice', payloadSchema: [\n { name: 'index', type: 'number', required: true },\n ] },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Hidden',\n event: 'INIT',\n effects: [\n ['fetch', 'DialogueData'],\n dialogueHiddenCanvasView,\n dialogueHiddenOverlay,\n ],\n },\n {\n from: 'Hidden',\n to: 'Showing',\n event: 'SHOW',\n effects: [\n ['fetch', 'DialogueData'],\n ['set', '@entity.speaker', '@payload.speaker'],\n ['set', '@entity.displayedText', '@payload.text'],\n ['set', '@entity.totalNodes', '@payload.totalNodes'],\n ['set', '@entity.currentNode', 0],\n dialogueShowingCanvasView,\n dialogueModalView,\n ],\n },\n {\n from: 'Showing',\n to: 'Showing',\n event: 'NEXT',\n guard: ['<', '@entity.currentNode', ['-', '@entity.totalNodes', 1]],\n effects: [\n ['fetch', 'DialogueData'],\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]],\n dialogueShowingCanvasView,\n dialogueModalView,\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'NEXT',\n guard: ['>=', '@entity.currentNode', ['-', '@entity.totalNodes', 1]],\n effects: [\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.speaker', ''],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'Showing',\n to: 'Choice',\n event: 'SELECT_CHOICE',\n effects: [\n dialogueChoiceModalView,\n ],\n },\n {\n from: 'Choice',\n to: 'Showing',\n event: 'NEXT',\n effects: [\n ['fetch', 'DialogueData'],\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]],\n dialogueShowingCanvasView,\n dialogueModalView,\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.speaker', ''],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'Choice',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.speaker', ''],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'Choice',\n to: 'Hidden',\n event: 'CANCEL',\n effects: [\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.speaker', ''],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'CANCEL',\n effects: [\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.speaker', ''],\n ['render-ui', 'modal', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'DialoguePage',\n path: '/dialogue',\n isInitial: true,\n traits: [{ ref: 'Dialogue' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-levelprogress - Level Unlock and Progression\n// ============================================================================\n\n/**\n * std-levelprogress - Manages level selection and completion tracking.\n *\n * Simplified: States: Browsing -> Playing\n * No complex operators, no external emits, no persist effects.\n */\nexport const LEVEL_PROGRESS_BEHAVIOR: BehaviorSchema = {\n name: 'std-levelprogress',\n version: '1.0.0',\n description: 'Level progression with selection and completion tracking',\n orbitals: [\n {\n name: 'LevelProgressOrbital',\n theme: GAME_UI_THEME,\n entity: {\n name: 'LevelData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentLevel', type: 'number', default: 0 },\n { name: 'totalLevels', type: 'number', default: 10 },\n { name: 'completedLevels', type: 'number', default: 0 },\n { name: 'levelName', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'browsing' },\n ],\n },\n traits: [\n {\n name: 'LevelProgress',\n linkedEntity: 'LevelData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'Playing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_LEVEL', name: 'Select Level', payloadSchema: [\n { name: 'level', type: 'number', required: true },\n ] },\n { key: 'COMPLETE_LEVEL', name: 'Complete Level' },\n { key: 'BACK_TO_SELECT', name: 'Back To Select' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'LevelData'],\n ['set', '@entity.status', 'browsing'],\n levelBrowsingView,\n levelBrowsingHud,\n ],\n },\n {\n from: 'Browsing',\n to: 'Playing',\n event: 'SELECT_LEVEL',\n guard: ['<=', '@payload.level', '@entity.totalLevels'],\n effects: [\n ['fetch', 'LevelData'],\n ['set', '@entity.currentLevel', '@payload.level'],\n ['set', '@entity.status', 'playing'],\n levelPlayingCanvasView,\n levelPlayingHud,\n ],\n },\n {\n from: 'Playing',\n to: 'Playing',\n event: 'COMPLETE_LEVEL',\n guard: ['<', '@entity.currentLevel', '@entity.totalLevels'],\n effects: [\n ['set', '@entity.completedLevels', ['+', '@entity.completedLevels', 1]],\n ['set', '@entity.currentLevel', ['+', '@entity.currentLevel', 1]],\n levelCompleteView,\n levelCompleteHud,\n ],\n },\n {\n from: 'Playing',\n to: 'Browsing',\n event: 'COMPLETE_LEVEL',\n guard: ['>=', '@entity.currentLevel', '@entity.totalLevels'],\n effects: [\n ['fetch', 'LevelData'],\n ['set', '@entity.completedLevels', ['+', '@entity.completedLevels', 1]],\n ['set', '@entity.status', 'browsing'],\n allLevelsCompleteView,\n allLevelsCompleteHud,\n ],\n },\n {\n from: 'Playing',\n to: 'Browsing',\n event: 'BACK_TO_SELECT',\n effects: [\n ['fetch', 'LevelData'],\n ['set', '@entity.status', 'browsing'],\n levelBrowsingView,\n levelBrowsingHud,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'LevelsPage',\n path: '/levels',\n isInitial: true,\n traits: [{ ref: 'LevelProgress' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_UI_BEHAVIORS: BehaviorSchema[] = [\n GAME_FLOW_BEHAVIOR,\n DIALOGUE_BEHAVIOR,\n LEVEL_PROGRESS_BEHAVIOR,\n];\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BehaviorMetadata, BehaviorTrait, ItemAction, getBehaviorMetadata, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure } from './types.js';
|
|
1
|
+
export { BehaviorEffect, BehaviorMetadata, BehaviorSchema, BehaviorTrait, ItemAction, getBehaviorMetadata, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure } from './types.js';
|
|
2
2
|
export { ACTION_AFFINITY, ActionAffinity, ActionPlacement, UIEventInfo, UI_EVENTS, getAllKnownComponents, getComponentsByCategory, getComponentsForEvent, getInvalidActionsForComponent, getValidActionsForComponent, isActionInvalidForComponent, isActionValidForComponent, validateActionsForComponent } from './action-affinity.js';
|
|
3
3
|
export { DETAIL_BEHAVIOR, DRAWER_BEHAVIOR, FORM_BEHAVIOR, LIST_BEHAVIOR, MASTER_DETAIL_BEHAVIOR, MODAL_BEHAVIOR, TABS_BEHAVIOR, UI_INTERACTION_BEHAVIORS, WIZARD_BEHAVIOR } from './ui-interaction.js';
|
|
4
4
|
export { DATA_MANAGEMENT_BEHAVIORS, FILTER_BEHAVIOR, PAGINATION_BEHAVIOR, SEARCH_BEHAVIOR, SELECTION_BEHAVIOR, SORT_BEHAVIOR } from './data-management.js';
|
|
@@ -8,5 +8,22 @@ export { COLLISION_BEHAVIOR, GAME_CORE_BEHAVIORS, GAME_LOOP_BEHAVIOR, INPUT_BEHA
|
|
|
8
8
|
export { COMBAT_BEHAVIOR, GAME_ENTITY_BEHAVIORS, HEALTH_BEHAVIOR, INVENTORY_BEHAVIOR, MOVEMENT_BEHAVIOR, SCORE_BEHAVIOR } from './game-entity.js';
|
|
9
9
|
export { DIALOGUE_BEHAVIOR, GAME_FLOW_BEHAVIOR, GAME_UI_BEHAVIORS, LEVEL_PROGRESS_BEHAVIOR } from './game-ui.js';
|
|
10
10
|
export { CACHE_ASIDE_BEHAVIOR, CIRCUIT_BREAKER_BEHAVIOR, HEALTH_CHECK_BEHAVIOR, INFRASTRUCTURE_BEHAVIORS, METRICS_COLLECTOR_BEHAVIOR, RATE_LIMITER_BEHAVIOR, SAGA_BEHAVIOR } from './infrastructure.js';
|
|
11
|
+
export { ENEMY_AI_BEHAVIOR, GAME_2D_PLATFORMER_BEHAVIORS, PLATFORMER_BEHAVIOR, POWERUP_BEHAVIOR, TILEMAP_BEHAVIOR } from './domain/game-2d-platformer.js';
|
|
12
|
+
export { CRAFTING_BEHAVIOR, GAME_2D_RPG_BEHAVIORS, NPC_BEHAVIOR, OVERWORLD_BEHAVIOR, QUEST_BEHAVIOR } from './domain/game-2d-rpg.js';
|
|
13
|
+
export { FOG_OF_WAR_BEHAVIOR, GAME_2D_STRATEGY_BEHAVIORS, RESOURCE_BEHAVIOR, TURN_SYSTEM_BEHAVIOR, UNIT_COMMAND_BEHAVIOR } from './domain/game-2d-strategy.js';
|
|
14
|
+
export { GAME_2D_PUZZLE_BEHAVIORS, GRID_PUZZLE_BEHAVIOR, SCORING_CHAIN_BEHAVIOR, TIMER_BEHAVIOR } from './domain/game-2d-puzzle.js';
|
|
15
|
+
export { CART_BEHAVIOR, CATALOG_BEHAVIOR, CHECKOUT_BEHAVIOR, COMMERCE_BEHAVIORS, ORDER_TRACKING_BEHAVIOR, PRICING_BEHAVIOR } from './domain/commerce.js';
|
|
16
|
+
export { ANNOTATION_BEHAVIOR, ARTICLE_BEHAVIOR, BOOKMARK_BEHAVIOR, CONTENT_BEHAVIORS, CONTENT_FEED_BEHAVIOR, READER_BEHAVIOR } from './domain/content.js';
|
|
17
|
+
export { CHART_VIEW_BEHAVIOR, DASHBOARD_BEHAVIORS, KPI_BEHAVIOR, REPORT_BEHAVIOR, STATS_PANEL_BEHAVIOR } from './domain/dashboard.js';
|
|
18
|
+
export { AVAILABILITY_BEHAVIOR, BOOKING_BEHAVIOR, CALENDAR_BEHAVIOR, REMINDER_BEHAVIOR, SCHEDULING_BEHAVIORS } from './domain/scheduling.js';
|
|
19
|
+
export { APPROVAL_BEHAVIOR, KANBAN_BEHAVIOR, PIPELINE_BEHAVIOR, REVIEW_BEHAVIOR, WORKFLOW_BEHAVIORS } from './domain/workflow.js';
|
|
20
|
+
export { FEED_BEHAVIOR, MESSAGING_BEHAVIOR, PROFILE_BEHAVIOR, REACTIONS_BEHAVIOR, SOCIAL_BEHAVIORS } from './domain/social.js';
|
|
21
|
+
export { CURRICULUM_BEHAVIOR, EDUCATION_BEHAVIORS, GRADING_BEHAVIOR, PROGRESS_TRACKER_BEHAVIOR, QUIZ_BEHAVIOR } from './domain/education.js';
|
|
22
|
+
export { GALLERY_BEHAVIOR, MEDIA_BEHAVIORS, PLAYER_BEHAVIOR, PLAYLIST_BEHAVIOR, UPLOAD_BEHAVIOR } from './domain/media.js';
|
|
23
|
+
export { GEOSPATIAL_BEHAVIORS, LOCATION_PICKER_BEHAVIOR, MAP_VIEW_BEHAVIOR, ROUTE_PLANNER_BEHAVIOR } from './domain/geospatial.js';
|
|
24
|
+
export { FINANCE_BEHAVIORS, LEDGER_BEHAVIOR, PORTFOLIO_BEHAVIOR, TRANSACTION_BEHAVIOR } from './domain/finance.js';
|
|
25
|
+
export { HEALTHCARE_BEHAVIORS, INTAKE_FORM_BEHAVIOR, PRESCRIPTION_BEHAVIOR, VITALS_BEHAVIOR } from './domain/healthcare.js';
|
|
26
|
+
export { ALERT_THRESHOLD_BEHAVIOR, DEVICE_MGMT_BEHAVIOR, IOT_BEHAVIORS, SENSOR_FEED_BEHAVIOR } from './domain/iot.js';
|
|
27
|
+
export { AGENT_SIM_BEHAVIOR, RULE_ENGINE_BEHAVIOR, SIMULATION_BEHAVIORS, TIME_STEP_BEHAVIOR } from './domain/simulation.js';
|
|
11
28
|
export { BEHAVIOR_REGISTRY, STANDARD_BEHAVIORS, findBehaviorsForUseCase, getAllBehaviorMetadata, getAllBehaviorNames, getAllBehaviors, getBehavior, getBehaviorLibraryStats, getBehaviorsForEvent, getBehaviorsWithState, isKnownBehavior, validateBehaviorReference } from './registry.js';
|
|
12
29
|
export { Effect, Entity, Event, Expression, Orbital, OrbitalSchema, State, StateMachine, Trait, TraitCategory, TraitDataEntity, TraitEntityField, TraitTick, Transition } from '@almadar/core/types';
|