@almadar/std 2.1.0 → 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 +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../behaviors/domain/game-2d-platformer.ts"],"names":[],"mappings":"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","file":"game-2d-platformer.js","sourcesContent":["/**\n * 2D Platformer Game Behaviors\n *\n * Standard behaviors for 2D platformer games: character state, tile maps,\n * power-ups, and enemy AI.\n * Each behavior is a self-contained OrbitalSchema that passes orbital validate\n * with 0 errors and 0 warnings when exported as a standalone .orb file.\n *\n * UI Composition: molecule-first (atoms + molecules only, no organisms).\n * Each behavior has unique, domain-appropriate layouts composed with\n * VStack/HStack/Box wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema, BehaviorEffect } from '../types.js';\n\n// ── Shared Platformer Theme ────────────────────────────────────────\n\nconst PLATFORMER_THEME = {\n name: 'game-platformer-red',\n tokens: {\n colors: {\n primary: '#dc2626',\n 'primary-hover': '#b91c1c',\n 'primary-foreground': '#ffffff',\n accent: '#f87171',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-platformer - Platform Game Character State\n// ============================================================================\n\n// ── Reusable main-view effects (platformer: HUD) ──────────────────\n\nconst platformerHudEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: gamepad icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'gamepad-2', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Platformer' },\n ]},\n { type: 'badge', label: 'Active', variant: 'success', icon: 'zap' },\n ]},\n { type: 'divider' },\n // Stats row: lives, position, jump status\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Lives', icon: 'heart', entity: 'PlatformerData' },\n { type: 'stats', label: 'Level', icon: 'flag', entity: 'PlatformerData' },\n { type: 'stats', label: 'Position X', icon: 'map', entity: 'PlatformerData' },\n { type: 'stats', label: 'Position Y', icon: 'map', entity: 'PlatformerData' },\n ]},\n { type: 'divider' },\n // Character info grid\n { type: 'data-grid', entity: 'PlatformerData', cols: 2, gap: 'md',\n fields: [\n { name: 'id', label: 'Character', icon: 'sword', variant: 'h4' },\n { name: 'level', label: 'Level', icon: 'flag', variant: 'body', format: 'number' },\n { name: 'lives', label: 'Lives', icon: 'heart', variant: 'body', format: 'number' },\n { name: 'isJumping', label: 'Jumping', icon: 'zap', variant: 'badge' },\n ],\n },\n { type: 'divider' },\n // Health meter\n { type: 'meter', value: 0, label: 'Lives Remaining', icon: 'heart', entity: 'PlatformerData' },\n ]}],\n];\n\nconst platformerGameOverEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Game over header\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'center', children: [\n { type: 'icon', name: 'trophy', size: 'lg' },\n { type: 'typography', variant: 'h1', content: 'Game Over' },\n ]},\n { type: 'divider' },\n // Final stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Final Level', icon: 'flag', entity: 'PlatformerData' },\n { type: 'stats', label: 'Lives Left', icon: 'heart', entity: 'PlatformerData' },\n ]},\n { type: 'divider' },\n // Respawn button\n { type: 'button', label: 'Respawn', icon: 'star', variant: 'primary', action: 'RESPAWN' },\n ]}],\n];\n\n/**\n * std-platformer - Platform game character state machine.\n *\n * States: idle -> running -> jumping -> falling -> dead\n * Tracks position, lives, and jump state.\n * Tick applies gravity when not grounded.\n */\nexport const PLATFORMER_BEHAVIOR: BehaviorSchema = {\n name: 'std-platformer',\n version: '1.0.0',\n description: 'Platform game character state with movement and gravity',\n theme: PLATFORMER_THEME,\n orbitals: [\n {\n name: 'PlatformerOrbital',\n entity: {\n name: 'PlatformerData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'level', type: 'number', default: 1 },\n { name: 'lives', type: 'number', default: 3 },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'isJumping', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Platformer',\n linkedEntity: 'PlatformerData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Running' },\n { name: 'Jumping' },\n { name: 'Falling' },\n { name: 'Dead' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'RUN', name: 'Run', payloadSchema: [\n { name: 'direction', type: 'number', required: true },\n ] },\n { key: 'STOP', name: 'Stop' },\n { key: 'JUMP', name: 'Jump' },\n { key: 'LAND', name: 'Land' },\n { key: 'FALL', name: 'Fall' },\n { key: 'DIE', name: 'Die' },\n { key: 'RESPAWN', name: 'Respawn' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.x', 0],\n ['set', '@entity.y', 0],\n ['set', '@entity.isJumping', false],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Idle',\n to: 'Running',\n event: 'RUN',\n effects: [\n ['set', '@entity.x', ['+', '@entity.x', '@payload.direction']],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Running',\n to: 'Running',\n event: 'RUN',\n effects: [\n ['set', '@entity.x', ['+', '@entity.x', '@payload.direction']],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Running',\n to: 'Idle',\n event: 'STOP',\n effects: [\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Idle',\n to: 'Jumping',\n event: 'JUMP',\n effects: [\n ['set', '@entity.isJumping', true],\n ['set', '@entity.y', ['-', '@entity.y', 10]],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Running',\n to: 'Jumping',\n event: 'JUMP',\n effects: [\n ['set', '@entity.isJumping', true],\n ['set', '@entity.y', ['-', '@entity.y', 10]],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Jumping',\n to: 'Falling',\n event: 'FALL',\n effects: [\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Falling',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.isJumping', false],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Jumping',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.isJumping', false],\n ...platformerHudEffects,\n ],\n },\n {\n from: 'Idle',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.lives', ['-', '@entity.lives', 1]],\n ...platformerGameOverEffects,\n ],\n },\n {\n from: 'Running',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.lives', ['-', '@entity.lives', 1]],\n ...platformerGameOverEffects,\n ],\n },\n {\n from: 'Falling',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.lives', ['-', '@entity.lives', 1]],\n ...platformerGameOverEffects,\n ],\n },\n {\n from: 'Dead',\n to: 'Idle',\n event: 'RESPAWN',\n guard: ['>', '@entity.lives', 0],\n effects: [\n ['set', '@entity.x', 0],\n ['set', '@entity.y', 0],\n ['set', '@entity.isJumping', false],\n ...platformerHudEffects,\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'GravityTick',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Falling'], ['=', '@entity.isJumping', false]],\n effects: [\n ['set', '@entity.y', ['+', '@entity.y', 1]],\n ],\n },\n ],\n },\n ],\n pages: [\n {\n name: 'PlatformerPage',\n path: '/platformer',\n isInitial: true,\n traits: [{ ref: 'Platformer' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-tilemap - Tile Map Management\n// ============================================================================\n\n// ── Reusable main-view effects (tilemap: map display) ──────────────\n\nconst tilemapDisplayEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: map icon + title + reset button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Tile Map' },\n ]},\n { type: 'button', label: 'Reset View', icon: 'star', variant: 'secondary', action: 'RESET_SCROLL' },\n ]},\n { type: 'divider' },\n // Map stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Width', icon: 'shield', entity: 'TileMapData' },\n { type: 'stats', label: 'Height', icon: 'shield', entity: 'TileMapData' },\n { type: 'stats', label: 'Tile Size', icon: 'gamepad-2', entity: 'TileMapData' },\n ]},\n { type: 'divider' },\n // Scroll position info\n { type: 'data-grid', entity: 'TileMapData', cols: 2, gap: 'md',\n fields: [\n { name: 'id', label: 'Map ID', icon: 'map', variant: 'h4' },\n { name: 'width', label: 'Width', icon: 'shield', variant: 'body', format: 'number' },\n { name: 'height', label: 'Height', icon: 'shield', variant: 'body', format: 'number' },\n { name: 'scrollX', label: 'Scroll X', icon: 'zap', variant: 'body', format: 'number' },\n { name: 'scrollY', label: 'Scroll Y', icon: 'zap', variant: 'body', format: 'number' },\n ],\n },\n { type: 'divider' },\n // Scroll progress meter\n { type: 'meter', value: 0, label: 'Scroll Progress', icon: 'map', entity: 'TileMapData' },\n ]}],\n];\n\nconst tilemapLoadingEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Loading header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Tile Map' },\n ]},\n { type: 'divider' },\n // Loading indicator\n { type: 'progress-bar', value: 0, label: 'Loading Map...', icon: 'map' },\n // Map dimensions preview\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Width', icon: 'shield', entity: 'TileMapData' },\n { type: 'stats', label: 'Height', icon: 'shield', entity: 'TileMapData' },\n ]},\n ]}],\n];\n\n/**\n * std-tilemap - Tile map loading and scroll management.\n *\n * States: Loading -> Ready\n * Tracks map dimensions, tile size, and scroll position.\n */\nexport const TILEMAP_BEHAVIOR: BehaviorSchema = {\n name: 'std-tilemap',\n version: '1.0.0',\n description: 'Tile map management with scroll and dimensions',\n theme: PLATFORMER_THEME,\n orbitals: [\n {\n name: 'TileMapOrbital',\n entity: {\n name: 'TileMapData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'width', type: 'number', default: 20 },\n { name: 'height', type: 'number', default: 15 },\n { name: 'tileSize', type: 'number', default: 32 },\n { name: 'scrollX', type: 'number', default: 0 },\n { name: 'scrollY', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'TileMap',\n linkedEntity: 'TileMapData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Loading', isInitial: true },\n { name: 'Ready' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'LOADED', name: 'Map Loaded' },\n { key: 'SCROLL', name: 'Scroll', payloadSchema: [\n { name: 'dx', type: 'number', required: true },\n { name: 'dy', type: 'number', required: true },\n ] },\n { key: 'RESET_SCROLL', name: 'Reset Scroll' },\n ],\n transitions: [\n {\n from: 'Loading',\n to: 'Loading',\n event: 'INIT',\n effects: [\n ['fetch', 'TileMapData'],\n ...tilemapLoadingEffects,\n ],\n },\n {\n from: 'Loading',\n to: 'Ready',\n event: 'LOADED',\n effects: [\n ['fetch', 'TileMapData'],\n ...tilemapDisplayEffects,\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'SCROLL',\n effects: [\n ['fetch', 'TileMapData'],\n ['set', '@entity.scrollX', ['+', '@entity.scrollX', '@payload.dx']],\n ['set', '@entity.scrollY', ['+', '@entity.scrollY', '@payload.dy']],\n ...tilemapDisplayEffects,\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'RESET_SCROLL',\n effects: [\n ['fetch', 'TileMapData'],\n ['set', '@entity.scrollX', 0],\n ['set', '@entity.scrollY', 0],\n ...tilemapDisplayEffects,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'TileMapPage',\n path: '/tilemap',\n isInitial: true,\n traits: [{ ref: 'TileMap' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-powerup - Power-Up Collection\n// ============================================================================\n\n// ── Reusable main-view effects (powerup: HUD) ─────────────────────\n\nconst powerupHudEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: zap icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'zap', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Power-Ups' },\n ]},\n { type: 'badge', label: 'Ready', variant: 'primary', icon: 'star' },\n ]},\n { type: 'divider' },\n // Power-up stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Type', icon: 'star', entity: 'PowerUpData' },\n { type: 'stats', label: 'Duration', icon: 'zap', entity: 'PowerUpData' },\n { type: 'stats', label: 'Remaining', icon: 'heart', entity: 'PowerUpData' },\n ]},\n { type: 'divider' },\n // Power-up details grid\n { type: 'data-grid', entity: 'PowerUpData', cols: 2, gap: 'md',\n fields: [\n { name: 'id', label: 'Power-Up', icon: 'star', variant: 'h4' },\n { name: 'type', label: 'Type', icon: 'zap', variant: 'badge' },\n { name: 'duration', label: 'Duration', icon: 'shield', variant: 'body', format: 'number' },\n { name: 'remainingTime', label: 'Time Left', icon: 'heart', variant: 'body', format: 'number' },\n { name: 'isActive', label: 'Active', icon: 'zap', variant: 'badge' },\n ],\n },\n { type: 'divider' },\n // Duration meter\n { type: 'meter', value: 0, label: 'Time Remaining', icon: 'zap', entity: 'PowerUpData' },\n ]}],\n];\n\nconst powerupActiveEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Active header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'zap', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Power-Ups' },\n ]},\n { type: 'badge', label: 'Active', variant: 'success', icon: 'zap' },\n ]},\n { type: 'divider' },\n // Active power-up stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Type', icon: 'star', entity: 'PowerUpData' },\n { type: 'stats', label: 'Remaining', icon: 'heart', entity: 'PowerUpData' },\n ]},\n { type: 'divider' },\n // Duration countdown bar\n { type: 'progress-bar', value: 0, label: 'Power-Up Duration', icon: 'zap', entity: 'PowerUpData' },\n // Details\n { type: 'data-grid', entity: 'PowerUpData', cols: 2, gap: 'md',\n fields: [\n { name: 'type', label: 'Type', icon: 'star', variant: 'badge' },\n { name: 'remainingTime', label: 'Time Left', icon: 'heart', variant: 'body', format: 'number' },\n ],\n },\n ]}],\n];\n\n/**\n * std-powerup - Power-up activation and duration tracking.\n *\n * States: Inactive -> Active -> Expired\n * Tick counts down remaining time when active.\n */\nexport const POWERUP_BEHAVIOR: BehaviorSchema = {\n name: 'std-powerup',\n version: '1.0.0',\n description: 'Power-up collection with duration countdown',\n theme: PLATFORMER_THEME,\n orbitals: [\n {\n name: 'PowerUpOrbital',\n entity: {\n name: 'PowerUpData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'type', type: 'string', default: 'none' },\n { name: 'duration', type: 'number', default: 300 },\n { name: 'isActive', type: 'boolean', default: false },\n { name: 'remainingTime', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'PowerUp',\n linkedEntity: 'PowerUpData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Inactive', isInitial: true },\n { name: 'Active' },\n { name: 'Expired' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'COLLECT', name: 'Collect', payloadSchema: [\n { name: 'type', type: 'string', required: true },\n { name: 'duration', type: 'number', required: true },\n ] },\n { key: 'EXPIRE', name: 'Expire' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Inactive',\n to: 'Inactive',\n event: 'INIT',\n effects: [\n ['set', '@entity.isActive', false],\n ['set', '@entity.remainingTime', 0],\n ...powerupHudEffects,\n ],\n },\n {\n from: 'Inactive',\n to: 'Active',\n event: 'COLLECT',\n effects: [\n ['set', '@entity.type', '@payload.type'],\n ['set', '@entity.duration', '@payload.duration'],\n ['set', '@entity.remainingTime', '@payload.duration'],\n ['set', '@entity.isActive', true],\n ...powerupActiveEffects,\n ],\n },\n {\n from: 'Active',\n to: 'Expired',\n event: 'EXPIRE',\n effects: [\n ['set', '@entity.isActive', false],\n ['set', '@entity.remainingTime', 0],\n ...powerupHudEffects,\n ],\n },\n {\n from: 'Expired',\n to: 'Inactive',\n event: 'RESET',\n effects: [\n ['set', '@entity.type', 'none'],\n ...powerupHudEffects,\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'DurationCountdown',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Active'], ['>', '@entity.remainingTime', 0]],\n effects: [\n ['set', '@entity.remainingTime', ['-', '@entity.remainingTime', 1]],\n ],\n },\n ],\n },\n ],\n pages: [\n {\n name: 'PowerUpPage',\n path: '/powerups',\n isInitial: true,\n traits: [{ ref: 'PowerUp' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-enemy-ai - Enemy Behavior\n// ============================================================================\n\n// ── Reusable main-view effects (enemy AI: patrol HUD) ──────────────\n\nconst enemyPatrolHudEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: sword icon + title + state badge\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'sword', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Enemy AI' },\n ]},\n { type: 'badge', label: 'Patrolling', variant: 'primary', icon: 'shield' },\n ]},\n { type: 'divider' },\n // Enemy stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Position X', icon: 'map', entity: 'EnemyData' },\n { type: 'stats', label: 'Position Y', icon: 'map', entity: 'EnemyData' },\n { type: 'stats', label: 'Speed', icon: 'zap', entity: 'EnemyData' },\n { type: 'stats', label: 'Direction', icon: 'flag', entity: 'EnemyData' },\n ]},\n { type: 'divider' },\n // Enemy details grid\n { type: 'data-grid', entity: 'EnemyData', cols: 2, gap: 'md',\n fields: [\n { name: 'id', label: 'Enemy', icon: 'sword', variant: 'h4' },\n { name: 'speed', label: 'Speed', icon: 'zap', variant: 'body', format: 'number' },\n { name: 'patrolStart', label: 'Patrol Start', icon: 'flag', variant: 'body', format: 'number' },\n { name: 'patrolEnd', label: 'Patrol End', icon: 'flag', variant: 'body', format: 'number' },\n { name: 'direction', label: 'Direction', icon: 'map', variant: 'badge' },\n ],\n },\n { type: 'divider' },\n // Patrol progress meter\n { type: 'meter', value: 0, label: 'Patrol Progress', icon: 'shield', entity: 'EnemyData' },\n ]}],\n];\n\nconst enemyChaseHudEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Chase header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'sword', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Enemy AI' },\n ]},\n { type: 'badge', label: 'Chasing', variant: 'warning', icon: 'zap' },\n ]},\n { type: 'divider' },\n // Chase stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Position X', icon: 'map', entity: 'EnemyData' },\n { type: 'stats', label: 'Position Y', icon: 'map', entity: 'EnemyData' },\n { type: 'stats', label: 'Speed', icon: 'zap', entity: 'EnemyData' },\n ]},\n { type: 'divider' },\n // Enemy data\n { type: 'data-grid', entity: 'EnemyData', cols: 2, gap: 'md',\n fields: [\n { name: 'id', label: 'Enemy', icon: 'sword', variant: 'h4' },\n { name: 'speed', label: 'Speed', icon: 'zap', variant: 'body', format: 'number' },\n { name: 'direction', label: 'Direction', icon: 'map', variant: 'badge' },\n ],\n },\n ]}],\n];\n\nconst enemyStunnedHudEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Stunned header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'sword', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Enemy AI' },\n ]},\n { type: 'badge', label: 'Stunned', variant: 'error', icon: 'star' },\n ]},\n { type: 'divider' },\n // Stunned stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Position X', icon: 'map', entity: 'EnemyData' },\n { type: 'stats', label: 'Position Y', icon: 'map', entity: 'EnemyData' },\n ]},\n { type: 'divider' },\n // Recovery button\n { type: 'button', label: 'Recover', icon: 'heart', variant: 'primary', action: 'RECOVER' },\n ]}],\n];\n\n/**\n * std-enemy-ai - Enemy patrol and chase behavior.\n *\n * States: Patrolling -> Chasing -> Stunned\n * Tick moves enemy along patrol path.\n */\nexport const ENEMY_AI_BEHAVIOR: BehaviorSchema = {\n name: 'std-enemy-ai',\n version: '1.0.0',\n description: 'Enemy AI with patrol, chase, and stun behavior',\n theme: PLATFORMER_THEME,\n orbitals: [\n {\n name: 'EnemyAIOrbital',\n entity: {\n name: 'EnemyData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'patrolStart', type: 'number', default: 0 },\n { name: 'patrolEnd', type: 'number', default: 100 },\n { name: 'speed', type: 'number', default: 1 },\n { name: 'direction', type: 'number', default: 1 },\n ],\n },\n traits: [\n {\n name: 'EnemyAI',\n linkedEntity: 'EnemyData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Patrolling', isInitial: true },\n { name: 'Chasing' },\n { name: 'Stunned' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'DETECT_PLAYER', name: 'Detect Player' },\n { key: 'LOSE_PLAYER', name: 'Lose Player' },\n { key: 'STUN', name: 'Stun' },\n { key: 'RECOVER', name: 'Recover' },\n ],\n transitions: [\n {\n from: 'Patrolling',\n to: 'Patrolling',\n event: 'INIT',\n effects: [\n ['fetch', 'EnemyData'],\n ['set', '@entity.x', '@entity.patrolStart'],\n ['set', '@entity.direction', 1],\n ...enemyPatrolHudEffects,\n ],\n },\n {\n from: 'Patrolling',\n to: 'Chasing',\n event: 'DETECT_PLAYER',\n effects: [\n ['fetch', 'EnemyData'],\n ...enemyChaseHudEffects,\n ],\n },\n {\n from: 'Chasing',\n to: 'Patrolling',\n event: 'LOSE_PLAYER',\n effects: [\n ['fetch', 'EnemyData'],\n ...enemyPatrolHudEffects,\n ],\n },\n {\n from: 'Patrolling',\n to: 'Stunned',\n event: 'STUN',\n effects: [\n ['fetch', 'EnemyData'],\n ...enemyStunnedHudEffects,\n ],\n },\n {\n from: 'Chasing',\n to: 'Stunned',\n event: 'STUN',\n effects: [\n ['fetch', 'EnemyData'],\n ...enemyStunnedHudEffects,\n ],\n },\n {\n from: 'Stunned',\n to: 'Patrolling',\n event: 'RECOVER',\n effects: [\n ['fetch', 'EnemyData'],\n ...enemyPatrolHudEffects,\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'PatrolMovement',\n interval: 'frame',\n guard: ['=', '@state', 'Patrolling'],\n effects: [\n ['set', '@entity.x', ['+', '@entity.x', ['*', '@entity.speed', '@entity.direction']]],\n ],\n },\n ],\n },\n ],\n pages: [\n {\n name: 'EnemyAIPage',\n path: '/enemy-ai',\n isInitial: true,\n traits: [{ ref: 'EnemyAI' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_2D_PLATFORMER_BEHAVIORS: BehaviorSchema[] = [\n PLATFORMER_BEHAVIOR,\n TILEMAP_BEHAVIOR,\n POWERUP_BEHAVIOR,\n ENEMY_AI_BEHAVIOR,\n];\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BehaviorSchema } from '../types.js';
|
|
2
|
+
import '@almadar/core/types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 2D Puzzle Game Behaviors
|
|
6
|
+
*
|
|
7
|
+
* Standard behaviors for 2D puzzle games: grid puzzles, timers,
|
|
8
|
+
* and combo scoring chains.
|
|
9
|
+
* Each behavior is a self-contained OrbitalSchema that passes orbital validate
|
|
10
|
+
* with 0 errors and 0 warnings when exported as a standalone .orb file.
|
|
11
|
+
*
|
|
12
|
+
* UI Composition: molecule-first (atoms + molecules only, no organisms).
|
|
13
|
+
* Each behavior has unique, domain-appropriate layouts composed with
|
|
14
|
+
* VStack/HStack/Box wrappers around atoms and molecules.
|
|
15
|
+
*
|
|
16
|
+
* @packageDocumentation
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* std-grid-puzzle - Grid-based match puzzle mechanics.
|
|
21
|
+
*
|
|
22
|
+
* States: Playing -> Matched -> Completed
|
|
23
|
+
* Tracks grid size, moves, match count, and completion.
|
|
24
|
+
*/
|
|
25
|
+
declare const GRID_PUZZLE_BEHAVIOR: BehaviorSchema;
|
|
26
|
+
/**
|
|
27
|
+
* std-timer - Countdown timer for timed game modes.
|
|
28
|
+
*
|
|
29
|
+
* States: Idle -> Running -> Paused -> Expired
|
|
30
|
+
* Tick counts down remaining time each frame.
|
|
31
|
+
*/
|
|
32
|
+
declare const TIMER_BEHAVIOR: BehaviorSchema;
|
|
33
|
+
/**
|
|
34
|
+
* std-scoring-chain - Combo-based scoring with multiplier.
|
|
35
|
+
*
|
|
36
|
+
* States: Idle -> Chaining -> Breaking
|
|
37
|
+
* Tracks chain length, multiplier, and total score.
|
|
38
|
+
*/
|
|
39
|
+
declare const SCORING_CHAIN_BEHAVIOR: BehaviorSchema;
|
|
40
|
+
declare const GAME_2D_PUZZLE_BEHAVIORS: BehaviorSchema[];
|
|
41
|
+
|
|
42
|
+
export { GAME_2D_PUZZLE_BEHAVIORS, GRID_PUZZLE_BEHAVIOR, SCORING_CHAIN_BEHAVIOR, TIMER_BEHAVIOR };
|