@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.
Files changed (86) hide show
  1. package/dist/behaviors/async.d.ts +12 -7
  2. package/dist/behaviors/async.js +1085 -312
  3. package/dist/behaviors/async.js.map +1 -1
  4. package/dist/behaviors/data-management.d.ts +27 -13
  5. package/dist/behaviors/data-management.js +600 -244
  6. package/dist/behaviors/data-management.js.map +1 -1
  7. package/dist/behaviors/domain/commerce.d.ts +51 -0
  8. package/dist/behaviors/domain/commerce.js +1093 -0
  9. package/dist/behaviors/domain/commerce.js.map +1 -0
  10. package/dist/behaviors/domain/content.d.ts +51 -0
  11. package/dist/behaviors/domain/content.js +1294 -0
  12. package/dist/behaviors/domain/content.js.map +1 -0
  13. package/dist/behaviors/domain/dashboard.d.ts +45 -0
  14. package/dist/behaviors/domain/dashboard.js +783 -0
  15. package/dist/behaviors/domain/dashboard.js.map +1 -0
  16. package/dist/behaviors/domain/education.d.ts +41 -0
  17. package/dist/behaviors/domain/education.js +738 -0
  18. package/dist/behaviors/domain/education.js.map +1 -0
  19. package/dist/behaviors/domain/finance.d.ts +49 -0
  20. package/dist/behaviors/domain/finance.js +660 -0
  21. package/dist/behaviors/domain/finance.js.map +1 -0
  22. package/dist/behaviors/domain/game-2d-platformer.d.ts +50 -0
  23. package/dist/behaviors/domain/game-2d-platformer.js +810 -0
  24. package/dist/behaviors/domain/game-2d-platformer.js.map +1 -0
  25. package/dist/behaviors/domain/game-2d-puzzle.d.ts +42 -0
  26. package/dist/behaviors/domain/game-2d-puzzle.js +622 -0
  27. package/dist/behaviors/domain/game-2d-puzzle.js.map +1 -0
  28. package/dist/behaviors/domain/game-2d-rpg.d.ts +48 -0
  29. package/dist/behaviors/domain/game-2d-rpg.js +860 -0
  30. package/dist/behaviors/domain/game-2d-rpg.js.map +1 -0
  31. package/dist/behaviors/domain/game-2d-strategy.d.ts +48 -0
  32. package/dist/behaviors/domain/game-2d-strategy.js +692 -0
  33. package/dist/behaviors/domain/game-2d-strategy.js.map +1 -0
  34. package/dist/behaviors/domain/geospatial.d.ts +35 -0
  35. package/dist/behaviors/domain/geospatial.js +634 -0
  36. package/dist/behaviors/domain/geospatial.js.map +1 -0
  37. package/dist/behaviors/domain/healthcare.d.ts +36 -0
  38. package/dist/behaviors/domain/healthcare.js +1068 -0
  39. package/dist/behaviors/domain/healthcare.js.map +1 -0
  40. package/dist/behaviors/domain/iot.d.ts +45 -0
  41. package/dist/behaviors/domain/iot.js +589 -0
  42. package/dist/behaviors/domain/iot.js.map +1 -0
  43. package/dist/behaviors/domain/media.d.ts +41 -0
  44. package/dist/behaviors/domain/media.js +771 -0
  45. package/dist/behaviors/domain/media.js.map +1 -0
  46. package/dist/behaviors/domain/scheduling.d.ts +41 -0
  47. package/dist/behaviors/domain/scheduling.js +930 -0
  48. package/dist/behaviors/domain/scheduling.js.map +1 -0
  49. package/dist/behaviors/domain/simulation.d.ts +36 -0
  50. package/dist/behaviors/domain/simulation.js +706 -0
  51. package/dist/behaviors/domain/simulation.js.map +1 -0
  52. package/dist/behaviors/domain/social.d.ts +41 -0
  53. package/dist/behaviors/domain/social.js +840 -0
  54. package/dist/behaviors/domain/social.js.map +1 -0
  55. package/dist/behaviors/domain/workflow.d.ts +41 -0
  56. package/dist/behaviors/domain/workflow.js +879 -0
  57. package/dist/behaviors/domain/workflow.js.map +1 -0
  58. package/dist/behaviors/feedback.d.ts +10 -5
  59. package/dist/behaviors/feedback.js +279 -194
  60. package/dist/behaviors/feedback.js.map +1 -1
  61. package/dist/behaviors/game-core.d.ts +15 -8
  62. package/dist/behaviors/game-core.js +412 -80
  63. package/dist/behaviors/game-core.js.map +1 -1
  64. package/dist/behaviors/game-entity.d.ts +17 -10
  65. package/dist/behaviors/game-entity.js +544 -237
  66. package/dist/behaviors/game-entity.js.map +1 -1
  67. package/dist/behaviors/game-ui.d.ts +16 -8
  68. package/dist/behaviors/game-ui.js +451 -316
  69. package/dist/behaviors/game-ui.js.map +1 -1
  70. package/dist/behaviors/index.d.ts +18 -1
  71. package/dist/behaviors/index.js +18905 -2140
  72. package/dist/behaviors/index.js.map +1 -1
  73. package/dist/behaviors/infrastructure.d.ts +9 -8
  74. package/dist/behaviors/infrastructure.js +597 -169
  75. package/dist/behaviors/infrastructure.js.map +1 -1
  76. package/dist/behaviors/registry.d.ts +11 -11
  77. package/dist/behaviors/registry.js +18904 -2139
  78. package/dist/behaviors/registry.js.map +1 -1
  79. package/dist/behaviors/types.d.ts +19 -2
  80. package/dist/behaviors/types.js.map +1 -1
  81. package/dist/behaviors/ui-interaction.d.ts +20 -14
  82. package/dist/behaviors/ui-interaction.js +928 -518
  83. package/dist/behaviors/ui-interaction.js.map +1 -1
  84. package/dist/index.js +18906 -2141
  85. package/dist/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../behaviors/game-core.ts"],"names":[],"mappings":"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","file":"game-core.js","sourcesContent":["/**\n * Game Core Behaviors\n *\n * Foundation behaviors for game systems: loop, physics, input, collision.\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-gameloop - Master Game Tick Coordination\n// ============================================================================\n\n/**\n * std-gameloop - Coordinates game tick execution at 60fps.\n *\n * States: Running, Paused\n * Provides the master clock for all game systems.\n */\nexport const GAME_LOOP_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameloop',\n version: '1.0.0',\n description: 'Master game loop coordinator running at 60fps',\n orbitals: [\n {\n name: 'GameLoopOrbital',\n entity: {\n name: 'GameLoopState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'frameCount', type: 'number', default: 0 },\n { name: 'deltaTime', type: 'number', default: 16 },\n { name: 'elapsedTime', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'GameLoop',\n linkedEntity: 'GameLoopState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Running' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'TICK', name: 'Tick' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Running',\n event: 'START',\n effects: [\n ['set', '@entity.frameCount', 0],\n ['set', '@entity.elapsedTime', 0],\n ],\n },\n {\n from: 'Running',\n to: 'Paused',\n event: 'PAUSE',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Running',\n event: 'RESUME',\n effects: [],\n },\n {\n from: 'Running',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'GameTick',\n interval: 'frame',\n guard: ['=', '@state', 'Running'],\n effects: [\n ['set', '@entity.frameCount', ['+', '@entity.frameCount', 1]],\n ['set', '@entity.elapsedTime', ['+', '@entity.elapsedTime', '@entity.deltaTime']],\n ['emit', 'GAME_TICK', { frame: '@entity.frameCount', delta: '@entity.deltaTime' }],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-physics2d - Gravity and Velocity\n// ============================================================================\n\n/**\n * std-physics2d - 2D physics with gravity, velocity, and friction.\n *\n * Applied to entities that need physics simulation.\n */\nexport const PHYSICS_2D_BEHAVIOR: OrbitalSchema = {\n name: 'std-physics2d',\n version: '1.0.0',\n description: '2D physics with gravity, velocity, and friction',\n orbitals: [\n {\n name: 'Physics2DOrbital',\n entity: {\n name: 'Physics2DState',\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: 'vx', type: 'number', default: 0 },\n { name: 'vy', type: 'number', default: 0 },\n { name: 'isGrounded', type: 'boolean', default: false },\n // Config fields (previously @config bindings)\n { name: 'gravity', type: 'number', default: 0.5 },\n { name: 'friction', type: 'number', default: 0.8 },\n { name: 'airResistance', type: 'number', default: 0.99 },\n { name: 'maxVelocityY', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Physics2D',\n linkedEntity: 'Physics2DState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Frozen' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'APPLY_FORCE', name: 'Apply Force' },\n { key: 'GROUND_HIT', name: 'Ground Hit' },\n { key: 'FREEZE', name: 'Freeze' },\n { key: 'UNFREEZE', name: 'Unfreeze' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'APPLY_FORCE',\n effects: [\n ['set', '@entity.vx', ['+', '@entity.vx', '@payload.fx']],\n ['set', '@entity.vy', ['+', '@entity.vy', '@payload.fy']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GROUND_HIT',\n effects: [\n ['set', '@entity.isGrounded', true],\n ['set', '@entity.vy', 0],\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.friction']],\n ],\n },\n {\n from: 'Active',\n to: 'Frozen',\n event: 'FREEZE',\n effects: [],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'UNFREEZE',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyGravity',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Active'], ['not', '@entity.isGrounded']],\n effects: [\n ['set', '@entity.vy', ['math/min', '@entity.maxVelocityY', ['+', '@entity.vy', '@entity.gravity']]],\n ],\n },\n {\n name: 'ApplyVelocity',\n interval: 'frame',\n guard: ['=', '@state', 'Active'],\n effects: [\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.airResistance']],\n ['set', '@entity.x', ['+', '@entity.x', '@entity.vx']],\n ['set', '@entity.y', ['+', '@entity.y', '@entity.vy']],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-input - Unified Input State\n// ============================================================================\n\n/**\n * std-input - Manages keyboard and touch input state.\n *\n * Singleton behavior that tracks all input state.\n */\nexport const INPUT_BEHAVIOR: OrbitalSchema = {\n name: 'std-input',\n version: '1.0.0',\n description: 'Unified keyboard and touch input state management',\n orbitals: [\n {\n name: 'InputOrbital',\n entity: {\n name: 'InputState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'left', type: 'boolean', default: false },\n { name: 'right', type: 'boolean', default: false },\n { name: 'up', type: 'boolean', default: false },\n { name: 'down', type: 'boolean', default: false },\n { name: 'jump', type: 'boolean', default: false },\n { name: 'action', type: 'boolean', default: false },\n { name: 'pause', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Input',\n linkedEntity: 'InputState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'KEY_DOWN', name: 'Key Down' },\n { key: 'KEY_UP', name: 'Key Up' },\n { key: 'TOUCH_START', name: 'Touch Start' },\n { key: 'TOUCH_END', name: 'Touch End' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_DOWN',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', true]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', true]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', true]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', true]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_UP',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', false]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', false]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', false]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', false]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'RESET',\n effects: [\n ['set', '@entity.left', false],\n ['set', '@entity.right', false],\n ['set', '@entity.up', false],\n ['set', '@entity.down', false],\n ['set', '@entity.jump', false],\n ['set', '@entity.action', false],\n ['set', '@entity.pause', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-collision - Collision Detection & Response\n// ============================================================================\n\n/**\n * std-collision - Handles collision detection and response.\n *\n * Configures how an entity responds to collisions.\n */\nexport const COLLISION_BEHAVIOR: OrbitalSchema = {\n name: 'std-collision',\n version: '1.0.0',\n description: 'Collision detection and response configuration',\n orbitals: [\n {\n name: 'CollisionOrbital',\n entity: {\n name: 'CollisionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isColliding', type: 'boolean', default: false },\n { name: 'collidingWith', type: 'array', default: [] },\n // Config fields (previously @config bindings)\n { name: 'onCollision', type: 'string', default: null },\n { name: 'onTrigger', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Collision',\n linkedEntity: 'CollisionState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Disabled' },\n ],\n events: [\n { key: 'COLLISION', name: 'Collision' },\n { key: 'TRIGGER_ENTER', name: 'Trigger Enter' },\n { key: 'TRIGGER_EXIT', name: 'Trigger Exit' },\n { key: 'ENABLE', name: 'Enable' },\n { key: 'DISABLE', name: 'Disable' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'COLLISION',\n effects: [\n ['set', '@entity.isColliding', true],\n ['set', '@entity.collidingWith', ['array/append', '@entity.collidingWith', '@payload.entityId']],\n ['if', '@entity.onCollision', ['emit', '@entity.onCollision', { entityId: '@payload.entityId', side: '@payload.side' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_ENTER',\n effects: [\n ['if', '@entity.onTrigger', ['emit', '@entity.onTrigger', { entityId: '@payload.entityId', action: 'enter' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_EXIT',\n effects: [\n ['set', '@entity.collidingWith', ['array/filter', '@entity.collidingWith', ['fn', 'id', ['!=', '@id', '@payload.entityId']]]],\n ['if', ['=', ['array/len', '@entity.collidingWith'], 0], ['set', '@entity.isColliding', false]],\n ],\n },\n {\n from: 'Active',\n to: 'Disabled',\n event: 'DISABLE',\n effects: [\n ['set', '@entity.isColliding', false],\n ['set', '@entity.collidingWith', []],\n ],\n },\n {\n from: 'Disabled',\n to: 'Active',\n event: 'ENABLE',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_CORE_BEHAVIORS: OrbitalSchema[] = [\n GAME_LOOP_BEHAVIOR,\n PHYSICS_2D_BEHAVIOR,\n INPUT_BEHAVIOR,\n COLLISION_BEHAVIOR,\n];\n"]}
1
+ {"version":3,"sources":["../../behaviors/game-core.ts"],"names":[],"mappings":"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","file":"game-core.js","sourcesContent":["/**\n * Game Core Behaviors\n *\n * Foundation behaviors for game systems: loop, physics, input, collision.\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 * @packageDocumentation\n */\n\nimport type { BehaviorSchema, BehaviorEffect } from './types.js';\n\n// ============================================================================\n// Shared theme for all game-core behaviors\n// ============================================================================\n\nconst GAME_CORE_THEME = {\n name: 'game-core-cyan',\n tokens: {\n colors: {\n primary: '#0891b2',\n 'primary-hover': '#0e7490',\n 'primary-foreground': '#ffffff',\n accent: '#06b6d4',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// Shared asset constants\n// ============================================================================\n\nconst KFLOW_ASSETS = 'https://almadar-kflow-assets.web.app/shared';\n\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 },\n features: {\n gold_mine: '/world-map/gold_mine.png',\n portal: '/world-map/portal_open.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\n// --- std-gameloop views ---\n\nconst gameLoopCanvasView: 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 tileClickEvent: 'START',\n}];\n\nconst gameLoopHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Frame', value: '@entity.frameCount', icon: 'hash' },\n { label: 'Delta', value: '@entity.deltaTime', icon: 'clock' },\n { label: 'Elapsed', value: '@entity.elapsedTime', icon: 'timer' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Start', action: 'START', icon: 'play', variant: 'primary' },\n { type: 'button', label: 'Pause', action: 'PAUSE', icon: 'pause', variant: 'secondary' },\n { type: 'button', label: 'Stop', action: 'STOP', icon: 'square', variant: 'destructive' },\n ] },\n ],\n}];\n\n// --- std-physics2d views ---\n\nconst physicsCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'simulation-canvas',\n preset: 'projectile',\n running: true,\n width: 600,\n height: 400,\n}];\n\nconst physicsHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: 'X', value: '@entity.x', icon: 'move-horizontal' },\n { type: 'badge', label: 'Y', value: '@entity.y', icon: 'move-vertical' },\n { type: 'badge', label: 'VX', value: '@entity.vx', icon: 'arrow-right' },\n { type: 'badge', label: 'VY', value: '@entity.vy', icon: 'arrow-down' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Apply Force', action: 'APPLY_FORCE', icon: 'zap', variant: 'primary' },\n { type: 'button', label: 'Freeze', action: 'FREEZE', icon: 'snowflake', variant: 'secondary' },\n ] },\n ],\n}];\n\nconst physicsFrozenCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'simulation-canvas',\n preset: 'projectile',\n running: false,\n width: 600,\n height: 400,\n}];\n\nconst physicsFrozenHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: 'X', value: '@entity.x', icon: 'move-horizontal' },\n { type: 'badge', label: 'Y', value: '@entity.y', icon: 'move-vertical' },\n { type: 'badge', label: 'VX', value: '@entity.vx', icon: 'arrow-right' },\n { type: 'badge', label: 'VY', value: '@entity.vy', icon: 'arrow-down' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Unfreeze', action: 'UNFREEZE', icon: 'flame', variant: 'primary' },\n ] },\n ],\n}];\n\n// --- std-input views ---\n\nconst inputCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'cursor', x: 2, y: 2, unitType: 'breaker' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst inputHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: 'Key Down', value: '@entity.lastKeyDown', icon: 'arrow-down-circle' },\n { type: 'badge', label: 'Key Up', value: '@entity.lastKeyUp', icon: 'arrow-up-circle' },\n { type: 'badge', label: 'Active', value: '@entity.isActive', icon: 'activity' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Reset', action: 'RESET', icon: 'rotate-ccw', variant: 'secondary' },\n ] },\n ],\n}];\n\n// --- std-collision views ---\n\nconst collisionCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst collisionHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: 'Colliding', value: '@entity.isColliding', icon: 'alert-triangle' },\n { type: 'badge', label: 'Last Hit', value: '@entity.lastCollisionId', icon: 'target' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Clear', action: 'CLEAR', icon: 'x-circle', variant: 'secondary' },\n { type: 'button', label: 'Disable', action: 'DISABLE', icon: 'circle-off', variant: 'destructive' },\n ] },\n ],\n}];\n\nconst collisionHitEffectView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'canvas-effect',\n actionType: 'hit',\n x: 200,\n y: 200,\n duration: 600,\n}];\n\nconst collisionDisabledCanvasView: BehaviorEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst collisionDisabledHudView: BehaviorEffect = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: 'Colliding', value: '@entity.isColliding', icon: 'alert-triangle' },\n { type: 'badge', label: 'Last Hit', value: '@entity.lastCollisionId', icon: 'target' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Enable', action: 'ENABLE', icon: 'circle-dot', variant: 'primary' },\n ] },\n ],\n}];\n\n// ============================================================================\n// std-gameloop - Master Game Tick Coordination\n// ============================================================================\n\n/**\n * std-gameloop - Coordinates game tick execution at 60fps.\n *\n * States: Stopped -> Running -> Paused\n * Provides the master clock for all game systems.\n * Uses a concrete GameLoopData entity to track frame count and elapsed time.\n */\nexport const GAME_LOOP_BEHAVIOR: BehaviorSchema = {\n name: 'std-gameloop',\n version: '1.0.0',\n description: 'Master game loop coordinator running at 60fps',\n orbitals: [\n {\n name: 'GameLoopOrbital',\n theme: GAME_CORE_THEME,\n entity: {\n name: 'GameLoopData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'frameCount', type: 'number', default: 0 },\n { name: 'deltaTime', type: 'number', default: 16 },\n { name: 'elapsedTime', type: 'number', default: 0 },\n { name: 'status', type: 'string', default: 'stopped' },\n ],\n },\n traits: [\n {\n name: 'GameLoop',\n linkedEntity: 'GameLoopData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Running' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Stopped',\n event: 'INIT',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.frameCount', 0],\n ['set', '@entity.elapsedTime', 0],\n ['set', '@entity.status', 'stopped'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n {\n from: 'Stopped',\n to: 'Running',\n event: 'START',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.frameCount', 0],\n ['set', '@entity.elapsedTime', 0],\n ['set', '@entity.status', 'running'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n {\n from: 'Running',\n to: 'Paused',\n event: 'PAUSE',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.status', 'paused'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n {\n from: 'Paused',\n to: 'Running',\n event: 'RESUME',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.status', 'running'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n {\n from: 'Running',\n to: 'Stopped',\n event: 'STOP',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.status', 'stopped'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [\n ['fetch', 'GameLoopData'],\n ['set', '@entity.status', 'stopped'],\n gameLoopCanvasView,\n gameLoopHudView,\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'GameTick',\n interval: 'frame',\n guard: ['=', '@state', 'Running'],\n effects: [\n ['set', '@entity.frameCount', ['+', '@entity.frameCount', 1]],\n ['set', '@entity.elapsedTime', ['+', '@entity.elapsedTime', '@entity.deltaTime']],\n ],\n },\n ],\n },\n ],\n pages: [\n {\n name: 'GameLoopPage',\n path: '/game-loop',\n isInitial: true,\n traits: [{ ref: 'GameLoop' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-physics2d - Gravity and Velocity\n// ============================================================================\n\n/**\n * std-physics2d - 2D physics with gravity, velocity, and friction.\n *\n * Applied to entities that need physics simulation.\n * Uses a concrete Physics2DData entity to track position and velocity.\n */\nexport const PHYSICS_2D_BEHAVIOR: BehaviorSchema = {\n name: 'std-physics2d',\n version: '1.0.0',\n description: '2D physics with gravity, velocity, and friction',\n orbitals: [\n {\n name: 'Physics2DOrbital',\n theme: GAME_CORE_THEME,\n entity: {\n name: 'Physics2DData',\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: 'vx', type: 'number', default: 0 },\n { name: 'vy', type: 'number', default: 0 },\n { name: 'fx', type: 'number', default: 0 },\n { name: 'fy', type: 'number', default: 0 },\n { name: 'isGrounded', type: 'boolean', default: false },\n { name: 'gravity', type: 'number', default: 0.5 },\n { name: 'friction', type: 'number', default: 0.8 },\n { name: 'airResistance', type: 'number', default: 0.99 },\n { name: 'maxVelocityY', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Physics2D',\n linkedEntity: 'Physics2DData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Frozen' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'APPLY_FORCE', name: 'Apply Force', payloadSchema: [\n { name: 'fx', type: 'number', required: true },\n { name: 'fy', type: 'number', required: true },\n ] },\n { key: 'GROUND_HIT', name: 'Ground Hit' },\n { key: 'FREEZE', name: 'Freeze' },\n { key: 'UNFREEZE', name: 'Unfreeze' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['fetch', 'Physics2DData'],\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n physicsCanvasView,\n physicsHudView,\n ],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['fetch', 'Physics2DData'],\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n physicsCanvasView,\n physicsHudView,\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'APPLY_FORCE',\n effects: [\n ['fetch', 'Physics2DData'],\n ['set', '@entity.vx', ['+', '@entity.vx', '@payload.fx']],\n ['set', '@entity.vy', ['+', '@entity.vy', '@payload.fy']],\n physicsCanvasView,\n physicsHudView,\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GROUND_HIT',\n effects: [\n ['fetch', 'Physics2DData'],\n ['set', '@entity.isGrounded', true],\n ['set', '@entity.vy', 0],\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.friction']],\n physicsCanvasView,\n physicsHudView,\n ],\n },\n {\n from: 'Active',\n to: 'Frozen',\n event: 'FREEZE',\n effects: [\n ['fetch', 'Physics2DData'],\n physicsFrozenCanvasView,\n physicsFrozenHudView,\n ],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'UNFREEZE',\n effects: [\n ['fetch', 'Physics2DData'],\n physicsCanvasView,\n physicsHudView,\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyGravity',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Active'], ['not', '@entity.isGrounded']],\n effects: [\n ['set', '@entity.vy', ['math/min', '@entity.maxVelocityY', ['+', '@entity.vy', '@entity.gravity']]],\n ],\n },\n {\n name: 'ApplyVelocity',\n interval: 'frame',\n guard: ['=', '@state', 'Active'],\n effects: [\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.airResistance']],\n ['set', '@entity.x', ['+', '@entity.x', '@entity.vx']],\n ['set', '@entity.y', ['+', '@entity.y', '@entity.vy']],\n ],\n },\n ],\n },\n ],\n pages: [\n {\n name: 'PhysicsPage',\n path: '/physics',\n isInitial: true,\n traits: [{ ref: 'Physics2D' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-input - Unified Input State\n// ============================================================================\n\n/**\n * std-input - Manages keyboard and touch input state.\n *\n * Singleton behavior that tracks all input state.\n * Simplified to track last key pressed/released as strings\n * rather than mapping individual keys via conditionals.\n */\nexport const INPUT_BEHAVIOR: BehaviorSchema = {\n name: 'std-input',\n version: '1.0.0',\n description: 'Unified keyboard and touch input state management',\n orbitals: [\n {\n name: 'InputOrbital',\n theme: GAME_CORE_THEME,\n entity: {\n name: 'InputData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'lastKeyDown', type: 'string', default: '' },\n { name: 'lastKeyUp', type: 'string', default: '' },\n { name: 'isActive', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'Input',\n linkedEntity: 'InputData',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'KEY_DOWN', name: 'Key Down', payloadSchema: [\n { name: 'key', type: 'string', required: true },\n ] },\n { key: 'KEY_UP', name: 'Key Up', payloadSchema: [\n { name: 'key', type: 'string', required: true },\n ] },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'INIT',\n effects: [\n ['fetch', 'InputData'],\n ['set', '@entity.lastKeyDown', ''],\n ['set', '@entity.lastKeyUp', ''],\n ['set', '@entity.isActive', true],\n inputCanvasView,\n inputHudView,\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_DOWN',\n effects: [\n ['fetch', 'InputData'],\n ['set', '@entity.lastKeyDown', '@payload.key'],\n inputCanvasView,\n inputHudView,\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_UP',\n effects: [\n ['fetch', 'InputData'],\n ['set', '@entity.lastKeyUp', '@payload.key'],\n inputCanvasView,\n inputHudView,\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'RESET',\n effects: [\n ['fetch', 'InputData'],\n ['set', '@entity.lastKeyDown', ''],\n ['set', '@entity.lastKeyUp', ''],\n inputCanvasView,\n inputHudView,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'InputPage',\n path: '/input',\n isInitial: true,\n traits: [{ ref: 'Input' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-collision - Collision Detection & Response\n// ============================================================================\n\n/**\n * std-collision - Handles collision detection and response.\n *\n * Configures how an entity responds to collisions.\n * Uses a concrete CollisionData entity to track collision status.\n */\nexport const COLLISION_BEHAVIOR: BehaviorSchema = {\n name: 'std-collision',\n version: '1.0.0',\n description: 'Collision detection and response configuration',\n orbitals: [\n {\n name: 'CollisionOrbital',\n theme: GAME_CORE_THEME,\n entity: {\n name: 'CollisionData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isColliding', type: 'boolean', default: false },\n { name: 'lastCollisionId', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'Collision',\n linkedEntity: 'CollisionData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Disabled' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'COLLISION', name: 'Collision', payloadSchema: [\n { name: 'entityId', type: 'string', required: true },\n ] },\n { key: 'CLEAR', name: 'Clear Collision' },\n { key: 'ENABLE', name: 'Enable' },\n { key: 'DISABLE', name: 'Disable' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['fetch', 'CollisionData'],\n ['set', '@entity.isColliding', false],\n ['set', '@entity.lastCollisionId', ''],\n collisionCanvasView,\n collisionHudView,\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'COLLISION',\n effects: [\n ['fetch', 'CollisionData'],\n ['set', '@entity.isColliding', true],\n ['set', '@entity.lastCollisionId', '@payload.entityId'],\n collisionCanvasView,\n collisionHudView,\n collisionHitEffectView,\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR',\n effects: [\n ['fetch', 'CollisionData'],\n ['set', '@entity.isColliding', false],\n ['set', '@entity.lastCollisionId', ''],\n collisionCanvasView,\n collisionHudView,\n ],\n },\n {\n from: 'Active',\n to: 'Disabled',\n event: 'DISABLE',\n effects: [\n ['fetch', 'CollisionData'],\n ['set', '@entity.isColliding', false],\n ['set', '@entity.lastCollisionId', ''],\n collisionDisabledCanvasView,\n collisionDisabledHudView,\n ],\n },\n {\n from: 'Disabled',\n to: 'Active',\n event: 'ENABLE',\n effects: [\n ['fetch', 'CollisionData'],\n collisionCanvasView,\n collisionHudView,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'CollisionPage',\n path: '/collision',\n isInitial: true,\n traits: [{ ref: 'Collision' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_CORE_BEHAVIORS: BehaviorSchema[] = [\n GAME_LOOP_BEHAVIOR,\n PHYSICS_2D_BEHAVIOR,\n INPUT_BEHAVIOR,\n COLLISION_BEHAVIOR,\n];\n"]}
@@ -1,10 +1,12 @@
1
- import { OrbitalSchema } from '@almadar/core/types';
1
+ import { BehaviorSchema } from './types.js';
2
+ import '@almadar/core/types';
2
3
 
3
4
  /**
4
5
  * Game Entity Behaviors
5
6
  *
6
7
  * Entity state behaviors: health, score, movement, combat, inventory.
7
- * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.
8
+ * Each behavior is a self-contained OrbitalSchema that passes orbital validate
9
+ * with 0 errors and 0 warnings when exported as a standalone .orb file.
8
10
  *
9
11
  * @packageDocumentation
10
12
  */
@@ -12,27 +14,32 @@ import { OrbitalSchema } from '@almadar/core/types';
12
14
  /**
13
15
  * std-health - Manages entity health with damage, healing, and death.
14
16
  *
15
- * States: Alive Damaged Dead
17
+ * States: Alive -> Damaged -> Dead
16
18
  */
17
- declare const HEALTH_BEHAVIOR: OrbitalSchema;
19
+ declare const HEALTH_BEHAVIOR: BehaviorSchema;
18
20
  /**
19
21
  * std-score - Manages score with points, combos, and multipliers.
20
22
  */
21
- declare const SCORE_BEHAVIOR: OrbitalSchema;
23
+ declare const SCORE_BEHAVIOR: BehaviorSchema;
22
24
  /**
23
25
  * std-movement - Basic movement for any entity.
24
26
  *
25
- * Handles position updates based on input or AI.
27
+ * Handles position updates based on input direction.
28
+ * States: Idle -> Moving -> Jumping -> Falling
26
29
  */
27
- declare const MOVEMENT_BEHAVIOR: OrbitalSchema;
30
+ declare const MOVEMENT_BEHAVIOR: BehaviorSchema;
28
31
  /**
29
32
  * std-combat - Handles attacks, cooldowns, and hit detection.
33
+ *
34
+ * States: Ready -> Attacking -> Cooldown
30
35
  */
31
- declare const COMBAT_BEHAVIOR: OrbitalSchema;
36
+ declare const COMBAT_BEHAVIOR: BehaviorSchema;
32
37
  /**
33
38
  * std-inventory - Manages collected items and equipment.
39
+ *
40
+ * States: browsing -> viewing
34
41
  */
35
- declare const INVENTORY_BEHAVIOR: OrbitalSchema;
36
- declare const GAME_ENTITY_BEHAVIORS: OrbitalSchema[];
42
+ declare const INVENTORY_BEHAVIOR: BehaviorSchema;
43
+ declare const GAME_ENTITY_BEHAVIORS: BehaviorSchema[];
37
44
 
38
45
  export { COMBAT_BEHAVIOR, GAME_ENTITY_BEHAVIORS, HEALTH_BEHAVIOR, INVENTORY_BEHAVIOR, MOVEMENT_BEHAVIOR, SCORE_BEHAVIOR };