@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.
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 +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../behaviors/domain/game-2d-rpg.ts"],"names":[],"mappings":"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","file":"game-2d-rpg.js","sourcesContent":["/**\n * 2D RPG Game Behaviors\n *\n * Standard behaviors for 2D RPG games: overworld navigation, quests,\n * NPC interaction, and crafting.\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: game-first patterns (isometric-canvas, game-hud, dialogue-box)\n * replacing stat-card dashboard layouts with proper game components.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema } from '../types.js';\n\n// ── Shared RPG Theme ────────────────────────────────────────────────\n\nconst RPG_THEME = {\n name: 'game-rpg-purple',\n tokens: {\n colors: {\n primary: '#7c3aed',\n 'primary-hover': '#6d28d9',\n 'primary-foreground': '#ffffff',\n accent: '#a78bfa',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ── Asset constants ─────────────────────────────────────────────────\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_8X6: Array<{ x: number; y: number; terrain: string }> = [];\nfor (let y = 0; y < 6; y++) {\n for (let x = 0; x < 8; x++) {\n TILES_8X6.push({ x, y, terrain: (x + y) % 3 === 0 ? 'stone' : (x + y) % 3 === 1 ? 'dirt' : 'bridge' });\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// std-overworld - World Map Navigation\n// ============================================================================\n\nconst overworldExploringMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_8X6,\n units: [{ id: 'player', x: 3, y: 2, unitType: 'guardian' }],\n features: [\n { id: 'mine', x: 1, y: 1, featureType: 'gold_mine' },\n { id: 'portal', x: 6, y: 4, featureType: 'portal' },\n { id: 'chest', x: 4, y: 0, featureType: 'treasure' },\n ],\n scale: 0.4,\n boardWidth: 8,\n boardHeight: 6,\n enableCamera: true,\n tileClickEvent: 'MOVE',\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst overworldExploringHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Zone', value: '@entity.currentZone', icon: 'map-pin' },\n { label: 'X', value: '@entity.playerX', icon: 'compass' },\n { label: 'Y', value: '@entity.playerY', icon: 'compass' },\n ] },\n { type: 'button', label: 'Travel to Zone', action: 'TRAVEL', icon: 'map', variant: 'primary' },\n ],\n}];\n\nconst overworldTravelingMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_8X6,\n units: [{ id: 'player', x: 4, y: 3, unitType: 'guardian' }],\n features: [\n { id: 'mine', x: 1, y: 1, featureType: 'gold_mine' },\n { id: 'portal', x: 6, y: 4, featureType: 'portal' },\n ],\n scale: 0.4,\n boardWidth: 8,\n boardHeight: 6,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst overworldTravelingHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'progress-bar', value: 50, max: 100, label: 'Travel Progress' },\n { type: 'badge', label: '@entity.currentZone', icon: 'map-pin', variant: 'primary' },\n { type: 'button', label: 'Arrive', action: 'ARRIVE', icon: 'flag', variant: 'primary' },\n ],\n}];\n\nconst overworldEventMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_8X6,\n units: [{ id: 'player', x: 3, y: 2, unitType: 'guardian' }],\n features: [\n { id: 'battle', x: 3, y: 2, featureType: 'battle_marker' },\n ],\n scale: 0.4,\n boardWidth: 8,\n boardHeight: 6,\n enableCamera: true,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst overworldEventHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Zone', value: '@entity.currentZone', icon: 'map-pin' },\n ] },\n { type: 'badge', label: 'World Event!', icon: 'swords', variant: 'warning' },\n { type: 'button', label: 'Resolve Event', action: 'RESOLVE_EVENT', icon: 'check-circle', variant: 'primary' },\n ],\n}];\n\n/**\n * std-overworld - Zone-based world map navigation.\n *\n * States: Exploring -> Traveling -> Event\n * Tracks current zone and player position on the overworld.\n */\nexport const OVERWORLD_BEHAVIOR: BehaviorSchema = {\n name: 'std-overworld',\n version: '1.0.0',\n description: 'Zone-based world map navigation for RPG overworld',\n theme: RPG_THEME,\n orbitals: [\n {\n name: 'OverworldOrbital',\n entity: {\n name: 'OverworldData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentZone', type: 'string', default: 'town' },\n { name: 'playerX', type: 'number', default: 0 },\n { name: 'playerY', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'Overworld',\n linkedEntity: 'OverworldData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Exploring', isInitial: true },\n { name: 'Traveling' },\n { name: 'Event' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'MOVE', name: 'Move', payloadSchema: [\n { name: 'dx', type: 'number', required: true },\n { name: 'dy', type: 'number', required: true },\n ] },\n { key: 'TRAVEL', name: 'Travel', payloadSchema: [\n { name: 'zone', type: 'string', required: true },\n ] },\n { key: 'ARRIVE', name: 'Arrive' },\n { key: 'TRIGGER_EVENT', name: 'Trigger Event' },\n { key: 'RESOLVE_EVENT', name: 'Resolve Event' },\n ],\n transitions: [\n {\n from: 'Exploring',\n to: 'Exploring',\n event: 'INIT',\n effects: [\n ['fetch', 'OverworldData'],\n ['set', '@entity.currentZone', 'town'],\n ['set', '@entity.playerX', 0],\n ['set', '@entity.playerY', 0],\n overworldExploringMainEffect,\n overworldExploringHud,\n ],\n },\n {\n from: 'Exploring',\n to: 'Exploring',\n event: 'MOVE',\n effects: [\n ['fetch', 'OverworldData'],\n ['set', '@entity.playerX', ['+', '@entity.playerX', '@payload.dx']],\n ['set', '@entity.playerY', ['+', '@entity.playerY', '@payload.dy']],\n overworldExploringMainEffect,\n overworldExploringHud,\n ],\n },\n {\n from: 'Exploring',\n to: 'Traveling',\n event: 'TRAVEL',\n effects: [\n ['set', '@entity.currentZone', '@payload.zone'],\n overworldTravelingMainEffect,\n overworldTravelingHud,\n ],\n },\n {\n from: 'Traveling',\n to: 'Exploring',\n event: 'ARRIVE',\n effects: [\n ['fetch', 'OverworldData'],\n ['set', '@entity.playerX', 0],\n ['set', '@entity.playerY', 0],\n overworldExploringMainEffect,\n overworldExploringHud,\n ],\n },\n {\n from: 'Exploring',\n to: 'Event',\n event: 'TRIGGER_EVENT',\n effects: [\n overworldEventMainEffect,\n overworldEventHud,\n ],\n },\n {\n from: 'Event',\n to: 'Exploring',\n event: 'RESOLVE_EVENT',\n effects: [\n ['fetch', 'OverworldData'],\n overworldExploringMainEffect,\n overworldExploringHud,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'OverworldPage',\n path: '/overworld',\n isInitial: true,\n traits: [{ ref: 'Overworld' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-quest - Quest Tracking\n// ============================================================================\n\n// ── Reusable main-view effects (quest list) ─────────────────────────\n\nconst questListMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: scroll icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'scroll', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Quests' },\n ] },\n ] },\n { type: 'divider' },\n // Quest data list\n { type: 'data-list', entity: 'Quest', variant: 'card',\n fields: [\n { name: 'title', label: 'Quest', icon: 'scroll', variant: 'h4' },\n { name: 'description', label: 'Description', icon: 'file-text', variant: 'body' },\n { name: 'status', label: 'Status', icon: 'flag', variant: 'badge' },\n { name: 'reward', label: 'Reward', icon: 'gem', variant: 'body', format: 'number' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'secondary' },\n ],\n },\n] }];\n\nconst questDetailModalEffect = ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Modal header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'scroll', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ] },\n { type: 'badge', label: '@entity.status', icon: 'flag', variant: 'accent' },\n ] },\n { type: 'divider' },\n // Quest details\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'typography', variant: 'body', content: '@entity.description' },\n { type: 'stats', label: 'Reward', icon: 'gem', value: '@entity.reward' },\n ] },\n { type: 'divider' },\n // Actions\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'end', children: [\n { type: 'button', label: 'Close', icon: 'x', variant: 'secondary', action: 'CLOSE' },\n ] },\n] }];\n\nconst closeModalEffect = ['render-ui', 'modal', null];\n\n/**\n * std-quest - Quest lifecycle management.\n *\n * States: Available -> Active -> Completed / Failed\n * CRUD-like quest tracking with status progression.\n */\nexport const QUEST_BEHAVIOR: BehaviorSchema = {\n name: 'std-quest',\n version: '1.0.0',\n description: 'Quest tracking with status progression',\n theme: RPG_THEME,\n orbitals: [\n {\n name: 'QuestOrbital',\n entity: {\n name: 'Quest',\n persistence: 'persistent',\n collection: 'quests',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'description', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'available' },\n { name: 'reward', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'QuestTracker',\n linkedEntity: 'Quest',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Available', isInitial: true },\n { name: 'Active' },\n { name: 'Completed' },\n { name: 'Failed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'ACCEPT', name: 'Accept Quest' },\n { key: 'COMPLETE', name: 'Complete Quest' },\n { key: 'FAIL', name: 'Fail Quest' },\n { key: 'RESET', name: 'Reset Quest' },\n { key: 'VIEW', name: 'View Quest' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'Available',\n to: 'Available',\n event: 'INIT',\n effects: [\n ['fetch', 'Quest'],\n questListMainEffect,\n ],\n },\n {\n from: 'Available',\n to: 'Active',\n event: 'ACCEPT',\n effects: [\n ['fetch', 'Quest'],\n ['set', '@entity.status', 'active'],\n questListMainEffect,\n ],\n },\n {\n from: 'Active',\n to: 'Completed',\n event: 'COMPLETE',\n effects: [\n ['fetch', 'Quest'],\n ['set', '@entity.status', 'completed'],\n questListMainEffect,\n ],\n },\n {\n from: 'Active',\n to: 'Failed',\n event: 'FAIL',\n effects: [\n ['fetch', 'Quest'],\n ['set', '@entity.status', 'failed'],\n questListMainEffect,\n ],\n },\n {\n from: 'Completed',\n to: 'Available',\n event: 'RESET',\n effects: [\n ['fetch', 'Quest'],\n ['set', '@entity.status', 'available'],\n questListMainEffect,\n ],\n },\n {\n from: 'Failed',\n to: 'Available',\n event: 'RESET',\n effects: [\n ['fetch', 'Quest'],\n ['set', '@entity.status', 'available'],\n questListMainEffect,\n ],\n },\n // VIEW from all states\n {\n from: 'Available',\n to: 'Available',\n event: 'VIEW',\n effects: [questDetailModalEffect],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'VIEW',\n effects: [questDetailModalEffect],\n },\n {\n from: 'Completed',\n to: 'Completed',\n event: 'VIEW',\n effects: [questDetailModalEffect],\n },\n {\n from: 'Failed',\n to: 'Failed',\n event: 'VIEW',\n effects: [questDetailModalEffect],\n },\n // CLOSE from all states\n { from: 'Available', to: 'Available', event: 'CLOSE', effects: [closeModalEffect] },\n { from: 'Active', to: 'Active', event: 'CLOSE', effects: [closeModalEffect] },\n { from: 'Completed', to: 'Completed', event: 'CLOSE', effects: [closeModalEffect] },\n { from: 'Failed', to: 'Failed', event: 'CLOSE', effects: [closeModalEffect] },\n // CANCEL from all states\n { from: 'Available', to: 'Available', event: 'CANCEL', effects: [closeModalEffect] },\n { from: 'Active', to: 'Active', event: 'CANCEL', effects: [closeModalEffect] },\n { from: 'Completed', to: 'Completed', event: 'CANCEL', effects: [closeModalEffect] },\n { from: 'Failed', to: 'Failed', event: 'CANCEL', effects: [closeModalEffect] },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'QuestsPage',\n path: '/quests',\n isInitial: true,\n traits: [{ ref: 'QuestTracker' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-npc - NPC Interaction\n// ============================================================================\n\nconst npcIdleMainEffect = ['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 npcIdleHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'NPC', value: '@entity.name', icon: 'crown' },\n { label: 'Disposition', value: '@entity.disposition', icon: 'heart' },\n ] },\n { type: 'button', label: 'Talk', action: 'TALK', icon: 'message-circle', variant: 'primary' },\n ],\n}];\n\nconst npcTalkingMainEffect = ['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 npcTalkingModal = ['render-ui', 'modal', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'message-circle' },\n { type: 'typography', variant: 'h3', content: '@entity.name' },\n ] },\n { type: 'divider' },\n { type: 'typography', variant: 'body', content: '@entity.dialogue' },\n { type: 'badge', label: '@entity.disposition', icon: 'heart', variant: 'accent' },\n { type: 'divider' },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Trade', action: 'TRADE', icon: 'gem', variant: 'primary' },\n { type: 'button', label: 'End Talk', action: 'END_TALK', icon: 'x', variant: 'secondary' },\n ] },\n ],\n}];\n\nconst npcTradingMainEffect = ['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 npcTradingModal = ['render-ui', 'modal', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'gem' },\n { type: 'typography', variant: 'h3', content: 'Trading' },\n ] },\n { type: 'badge', label: '@entity.name', icon: 'crown', variant: 'primary' },\n ] },\n { type: 'divider' },\n { type: 'typography', variant: 'body', content: 'Browse wares and make your trade.' },\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Merchant', icon: 'crown', value: '@entity.name' },\n { type: 'stats', label: 'Disposition', icon: 'heart', value: '@entity.disposition' },\n ] },\n { type: 'divider' },\n { type: 'button', label: 'End Trade', action: 'END_TRADE', icon: 'x', variant: 'secondary' },\n ],\n}];\n\n/**\n * std-npc - NPC interaction flow.\n *\n * States: Idle -> Talking -> Trading\n * Simple conversation and trade flow with NPCs.\n */\nexport const NPC_BEHAVIOR: BehaviorSchema = {\n name: 'std-npc',\n version: '1.0.0',\n description: 'NPC interaction with dialogue and trading',\n theme: RPG_THEME,\n orbitals: [\n {\n name: 'NpcOrbital',\n entity: {\n name: 'NpcData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'dialogue', type: 'string', default: '' },\n { name: 'disposition', type: 'string', default: 'neutral' },\n ],\n },\n traits: [\n {\n name: 'NpcInteraction',\n linkedEntity: 'NpcData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Talking' },\n { name: 'Trading' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'TALK', name: 'Talk' },\n { key: 'TRADE', name: 'Trade' },\n { key: 'END_TALK', name: 'End Talk' },\n { key: 'END_TRADE', name: 'End Trade' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.dialogue', ''],\n npcIdleMainEffect,\n npcIdleHud,\n ],\n },\n {\n from: 'Idle',\n to: 'Talking',\n event: 'TALK',\n effects: [\n npcTalkingMainEffect,\n npcTalkingModal,\n ],\n },\n {\n from: 'Talking',\n to: 'Trading',\n event: 'TRADE',\n effects: [\n ['fetch', 'NpcData'],\n npcTradingMainEffect,\n npcTradingModal,\n ],\n },\n {\n from: 'Talking',\n to: 'Idle',\n event: 'END_TALK',\n effects: [\n ['render-ui', 'modal', null],\n npcIdleMainEffect,\n npcIdleHud,\n ],\n },\n {\n from: 'Trading',\n to: 'Idle',\n event: 'END_TRADE',\n effects: [\n ['render-ui', 'modal', null],\n npcIdleMainEffect,\n npcIdleHud,\n ],\n },\n // CLOSE/CANCEL from modal states\n { from: 'Talking', to: 'Idle', event: 'CLOSE', effects: [['render-ui', 'modal', null], npcIdleMainEffect, npcIdleHud] },\n { from: 'Talking', to: 'Idle', event: 'CANCEL', effects: [['render-ui', 'modal', null], npcIdleMainEffect, npcIdleHud] },\n { from: 'Trading', to: 'Idle', event: 'CLOSE', effects: [['render-ui', 'modal', null], npcIdleMainEffect, npcIdleHud] },\n { from: 'Trading', to: 'Idle', event: 'CANCEL', effects: [['render-ui', 'modal', null], npcIdleMainEffect, npcIdleHud] },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'NpcPage',\n path: '/npc',\n isInitial: true,\n traits: [{ ref: 'NpcInteraction' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-crafting - Item Crafting\n// ============================================================================\n\nconst craftingBrowsingMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'crafter', x: 2, y: 2, unitType: 'guardian' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: false,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst craftingBrowsingHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'game-hud', position: 'top', elements: [\n { label: 'Recipe', value: '@entity.selectedRecipe', icon: 'scroll' },\n { label: 'Materials', value: '@entity.materials', icon: 'backpack' },\n ] },\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Select Recipe', action: 'SELECT_RECIPE', icon: 'scroll', variant: 'secondary' },\n { type: 'button', label: 'Craft', action: 'CRAFT', icon: 'wand-2', variant: 'primary' },\n ] },\n ],\n}];\n\nconst craftingInProgressMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'crafter', x: 2, y: 2, unitType: 'guardian' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: false,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst craftingInProgressHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'typography', variant: 'h3', content: 'Crafting...' },\n { type: 'progress-bar', value: 75, max: 100, label: 'Crafting Progress' },\n { type: 'stats', label: 'Recipe', icon: 'scroll', value: '@entity.selectedRecipe' },\n { type: 'button', label: 'Collect', action: 'COLLECT', icon: 'gem', variant: 'primary' },\n ],\n}];\n\nconst craftingDoneMainEffect = ['render-ui', 'main', {\n type: 'isometric-canvas',\n tiles: TILES_5X5,\n units: [{ id: 'crafter', x: 2, y: 2, unitType: 'guardian' }],\n scale: 0.5,\n boardWidth: 5,\n boardHeight: 5,\n enableCamera: false,\n assetBaseUrl: KFLOW_ASSETS,\n assetManifest: GAME_MANIFEST,\n}];\n\nconst craftingDoneHud = ['render-ui', 'overlay', {\n type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'gem' },\n { type: 'typography', variant: 'h3', content: 'Item Crafted!' },\n ] },\n { type: 'stats', label: 'Crafted Item', icon: 'gem', value: '@entity.result' },\n { type: 'badge', label: '@entity.selectedRecipe', icon: 'scroll', variant: 'success' },\n { type: 'button', label: 'Back to Recipes', action: 'BACK', icon: 'arrow-left', variant: 'secondary' },\n ],\n}];\n\n/**\n * std-crafting - Recipe-based item crafting.\n *\n * States: Browsing -> Crafting -> Done\n * Recipe selection and crafting execution flow.\n */\nexport const CRAFTING_BEHAVIOR: BehaviorSchema = {\n name: 'std-crafting',\n version: '1.0.0',\n description: 'Recipe-based item crafting system',\n theme: RPG_THEME,\n orbitals: [\n {\n name: 'CraftingOrbital',\n entity: {\n name: 'CraftingData',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selectedRecipe', type: 'string', default: '' },\n { name: 'materials', type: 'string', default: '' },\n { name: 'result', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'Crafting',\n linkedEntity: 'CraftingData',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'Crafting' },\n { name: 'Done' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_RECIPE', name: 'Select Recipe', payloadSchema: [\n { name: 'recipe', type: 'string', required: true },\n ] },\n { key: 'CRAFT', name: 'Craft' },\n { key: 'COLLECT', name: 'Collect Result' },\n { key: 'BACK', name: 'Back to Browsing' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'CraftingData'],\n ['set', '@entity.selectedRecipe', ''],\n ['set', '@entity.result', ''],\n craftingBrowsingMainEffect,\n craftingBrowsingHud,\n ],\n },\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'SELECT_RECIPE',\n effects: [\n ['fetch', 'CraftingData'],\n ['set', '@entity.selectedRecipe', '@payload.recipe'],\n craftingBrowsingMainEffect,\n craftingBrowsingHud,\n ],\n },\n {\n from: 'Browsing',\n to: 'Crafting',\n event: 'CRAFT',\n guard: ['!=', '@entity.selectedRecipe', ''],\n effects: [\n craftingInProgressMainEffect,\n craftingInProgressHud,\n ],\n },\n {\n from: 'Crafting',\n to: 'Done',\n event: 'COLLECT',\n effects: [\n ['set', '@entity.result', '@entity.selectedRecipe'],\n craftingDoneMainEffect,\n craftingDoneHud,\n ],\n },\n {\n from: 'Done',\n to: 'Browsing',\n event: 'BACK',\n effects: [\n ['fetch', 'CraftingData'],\n ['set', '@entity.selectedRecipe', ''],\n ['set', '@entity.result', ''],\n craftingBrowsingMainEffect,\n craftingBrowsingHud,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'CraftingPage',\n path: '/crafting',\n isInitial: true,\n traits: [{ ref: 'Crafting' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_2D_RPG_BEHAVIORS: BehaviorSchema[] = [\n OVERWORLD_BEHAVIOR,\n QUEST_BEHAVIOR,\n NPC_BEHAVIOR,\n CRAFTING_BEHAVIOR,\n];\n"]}
@@ -0,0 +1,48 @@
1
+ import { BehaviorSchema } from '../types.js';
2
+ import '@almadar/core/types';
3
+
4
+ /**
5
+ * 2D Strategy Game Behaviors
6
+ *
7
+ * Standard behaviors for 2D strategy games: turn management, unit commands,
8
+ * fog of war, and resource management.
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: game-first patterns (isometric-canvas, game-hud)
13
+ * replacing stat-card dashboard layouts with proper game components.
14
+ *
15
+ * @packageDocumentation
16
+ */
17
+
18
+ /**
19
+ * std-turn-system - Turn-based game cycle management.
20
+ *
21
+ * States: Waiting -> Acting -> Resolving
22
+ * Tracks current player, turn number, and phase.
23
+ */
24
+ declare const TURN_SYSTEM_BEHAVIOR: BehaviorSchema;
25
+ /**
26
+ * std-unit-command - Unit selection and command issuing.
27
+ *
28
+ * States: Idle -> Selected -> Commanding
29
+ * Select a unit and issue movement/attack orders.
30
+ */
31
+ declare const UNIT_COMMAND_BEHAVIOR: BehaviorSchema;
32
+ /**
33
+ * std-fog-of-war - Map visibility and exploration tracking.
34
+ *
35
+ * States: Hidden -> Partial -> Revealed
36
+ * Tracks visible tiles, explored tiles, and reveal radius.
37
+ */
38
+ declare const FOG_OF_WAR_BEHAVIOR: BehaviorSchema;
39
+ /**
40
+ * std-resource - Strategy game resource tracking.
41
+ *
42
+ * States: Stable -> Surplus -> Deficit
43
+ * Tracks gold, wood, stone, food, and capacity.
44
+ */
45
+ declare const RESOURCE_BEHAVIOR: BehaviorSchema;
46
+ declare const GAME_2D_STRATEGY_BEHAVIORS: BehaviorSchema[];
47
+
48
+ export { FOG_OF_WAR_BEHAVIOR, GAME_2D_STRATEGY_BEHAVIORS, RESOURCE_BEHAVIOR, TURN_SYSTEM_BEHAVIOR, UNIT_COMMAND_BEHAVIOR };