@almadar/ui 5.75.0 → 5.76.0

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 (340) hide show
  1. package/dist/avl/index.cjs +2545 -6006
  2. package/dist/avl/index.d.ts +43 -43
  3. package/dist/avl/index.js +1250 -4711
  4. package/dist/components/avl/atoms/AvlApplication.d.ts +1 -1
  5. package/dist/components/avl/atoms/AvlBindingRef.d.ts +1 -1
  6. package/dist/components/avl/atoms/AvlEffect.d.ts +1 -1
  7. package/dist/components/avl/atoms/AvlEntity.d.ts +1 -1
  8. package/dist/components/avl/atoms/AvlEvent.d.ts +1 -1
  9. package/dist/components/avl/atoms/AvlField.d.ts +1 -1
  10. package/dist/components/avl/atoms/AvlFieldType.d.ts +1 -1
  11. package/dist/components/avl/atoms/AvlGuard.d.ts +1 -1
  12. package/dist/components/avl/atoms/AvlLiteral.d.ts +1 -1
  13. package/dist/components/avl/atoms/AvlOperator.d.ts +1 -1
  14. package/dist/components/avl/atoms/AvlPage.d.ts +1 -1
  15. package/dist/components/avl/atoms/AvlPersistence.d.ts +1 -1
  16. package/dist/components/avl/atoms/AvlSExpr.d.ts +1 -1
  17. package/dist/components/avl/atoms/AvlState.d.ts +2 -2
  18. package/dist/components/avl/atoms/index.d.ts +4 -4
  19. package/dist/components/avl/{molecules → lib}/avl-behavior-compose-converter.d.ts +1 -1
  20. package/dist/components/avl/{molecules → lib}/avl-elk-layout.d.ts +2 -2
  21. package/dist/components/avl/{molecules → lib}/avl-flow-converter.d.ts +1 -1
  22. package/dist/components/avl/{molecules → lib}/avl-preview-converter.d.ts +1 -1
  23. package/dist/components/avl/{molecules → lib}/avl-story-schemas.d.ts +6 -6
  24. package/dist/components/avl/{molecules → lib}/avl-zoom-band.d.ts +1 -1
  25. package/dist/components/avl/molecules/Avl3DExprTree.d.ts +1 -1
  26. package/dist/components/avl/molecules/AvlBehaviorGlyph.d.ts +1 -1
  27. package/dist/components/avl/molecules/AvlClosedCircuit.d.ts +1 -1
  28. package/dist/components/avl/molecules/AvlOrbitalUnit.d.ts +1 -1
  29. package/dist/components/avl/molecules/AvlStateMachine.d.ts +1 -1
  30. package/dist/components/avl/molecules/AvlTransitionLane.d.ts +1 -1
  31. package/dist/components/avl/molecules/BehaviorView.d.ts +1 -1
  32. package/dist/components/avl/molecules/DetailView.d.ts +1 -1
  33. package/dist/components/avl/molecules/MiniStateMachine.d.ts +1 -1
  34. package/dist/components/avl/molecules/ModuleCard.d.ts +1 -1
  35. package/dist/components/avl/molecules/OrbPreviewNode.d.ts +1 -1
  36. package/dist/components/avl/molecules/SystemNode.d.ts +1 -1
  37. package/dist/components/avl/molecules/index.d.ts +9 -9
  38. package/dist/components/avl/organisms/Avl3DApplicationScene.d.ts +1 -1
  39. package/dist/components/avl/organisms/Avl3DEffects.d.ts +1 -1
  40. package/dist/components/avl/organisms/Avl3DOrbitalScene.d.ts +1 -1
  41. package/dist/components/avl/organisms/Avl3DTraitScene.d.ts +1 -1
  42. package/dist/components/avl/organisms/Avl3DTransitionScene.d.ts +1 -1
  43. package/dist/components/avl/organisms/Avl3DViewer.d.ts +2 -2
  44. package/dist/components/avl/organisms/AvlCosmicZoom.d.ts +1 -1
  45. package/dist/components/avl/organisms/AvlLegend.d.ts +1 -1
  46. package/dist/components/avl/organisms/AvlTraitScene.d.ts +1 -1
  47. package/dist/components/avl/organisms/AvlTransitionDetail.d.ts +1 -1
  48. package/dist/components/avl/organisms/AvlTransitionScene.d.ts +1 -1
  49. package/dist/components/avl/organisms/FlowCanvas.d.ts +2 -2
  50. package/dist/components/avl/organisms/OrbInspector.d.ts +1 -1
  51. package/dist/components/avl/organisms/ZoomBreadcrumb.d.ts +1 -1
  52. package/dist/components/avl/organisms/ZoomLegend.d.ts +1 -1
  53. package/dist/components/avl/organisms/index.d.ts +2 -2
  54. package/dist/components/avl/{molecules → types}/avl-behavior-compose-types.d.ts +1 -1
  55. package/dist/components/avl/{molecules → types}/avl-canvas-types.d.ts +1 -1
  56. package/dist/components/core/atoms/index.d.ts +2 -3
  57. package/dist/components/core/molecules/Breadcrumb.d.ts +1 -1
  58. package/dist/components/core/molecules/Card.d.ts +1 -1
  59. package/dist/components/core/molecules/Chart.d.ts +0 -2
  60. package/dist/components/core/molecules/ConfirmDialog.d.ts +0 -2
  61. package/dist/components/core/molecules/DataGrid.d.ts +1 -1
  62. package/dist/components/core/molecules/DataList.d.ts +1 -1
  63. package/dist/components/core/molecules/EmptyState.d.ts +1 -1
  64. package/dist/components/core/molecules/FloatingActionButton.d.ts +1 -1
  65. package/dist/components/core/molecules/FormSectionHeader.d.ts +1 -1
  66. package/dist/components/core/molecules/GraphCanvas.d.ts +0 -2
  67. package/dist/components/core/molecules/Header.d.ts +1 -1
  68. package/dist/components/core/molecules/Menu.d.ts +1 -1
  69. package/dist/components/core/molecules/Navigation.d.ts +1 -1
  70. package/dist/components/core/molecules/OrbitalVisualization.d.ts +0 -2
  71. package/dist/components/core/molecules/PageHeader.d.ts +1 -1
  72. package/dist/components/core/molecules/Section.d.ts +0 -2
  73. package/dist/components/core/molecules/Sidebar.d.ts +1 -1
  74. package/dist/components/core/molecules/SignaturePad.d.ts +0 -2
  75. package/dist/components/core/molecules/Split.d.ts +0 -2
  76. package/dist/components/core/molecules/StatDisplay.d.ts +1 -1
  77. package/dist/components/core/molecules/SwipeableRow.d.ts +1 -1
  78. package/dist/components/core/molecules/TableView.d.ts +1 -1
  79. package/dist/components/core/molecules/Tabs.d.ts +1 -1
  80. package/dist/components/core/molecules/UploadDropZone.d.ts +1 -1
  81. package/dist/components/core/molecules/WizardContainer.d.ts +0 -2
  82. package/dist/components/core/molecules/index.d.ts +1 -1
  83. package/dist/components/core/organisms/UISlotRenderer.d.ts +1 -1
  84. package/dist/components/core/organisms/index.d.ts +4 -4
  85. package/dist/components/core/templates/index.d.ts +12 -12
  86. package/dist/components/game/2d/{ActionButton.d.ts → atoms/ActionButton.d.ts} +1 -1
  87. package/dist/components/game/2d/{ChoiceButton.d.ts → atoms/ChoiceButton.d.ts} +1 -1
  88. package/dist/components/game/2d/{ControlButton.d.ts → atoms/ControlButton.d.ts} +1 -1
  89. package/dist/components/game/2d/{GameAudioToggle.d.ts → atoms/GameAudioToggle.d.ts} +1 -3
  90. package/dist/components/game/2d/atoms/GameIcon.d.ts +18 -0
  91. package/dist/components/game/2d/{ItemSlot.d.ts → atoms/ItemSlot.d.ts} +1 -1
  92. package/dist/components/game/2d/{MiniMap.d.ts → atoms/MiniMap.d.ts} +1 -1
  93. package/dist/components/game/2d/{ResourceCounter.d.ts → atoms/ResourceCounter.d.ts} +2 -2
  94. package/dist/components/game/2d/{ScoreDisplay.d.ts → atoms/ScoreDisplay.d.ts} +1 -1
  95. package/dist/components/game/2d/{Sprite.d.ts → atoms/Sprite.d.ts} +1 -1
  96. package/dist/components/game/2d/{StateIndicator.d.ts → atoms/StateIndicator.d.ts} +5 -4
  97. package/dist/components/game/2d/{StatusEffect.d.ts → atoms/StatusEffect.d.ts} +2 -2
  98. package/dist/components/game/2d/{WaypointMarker.d.ts → atoms/WaypointMarker.d.ts} +1 -1
  99. package/dist/components/game/2d/{Canvas2D.d.ts → molecules/Canvas2D.d.ts} +3 -3
  100. package/dist/components/game/2d/{ControlGrid.d.ts → molecules/ControlGrid.d.ts} +3 -2
  101. package/dist/components/game/2d/{GameHud.d.ts → molecules/GameHud.d.ts} +3 -1
  102. package/dist/components/game/2d/{GameMenu.d.ts → molecules/GameMenu.d.ts} +1 -1
  103. package/dist/components/game/2d/{InventoryGrid.d.ts → molecules/InventoryGrid.d.ts} +3 -2
  104. package/dist/components/game/2d/{ResourceBar.d.ts → molecules/ResourceBar.d.ts} +3 -1
  105. package/dist/components/game/2d/{StatBadge.d.ts → molecules/StatBadge.d.ts} +1 -1
  106. package/dist/components/game/2d/molecules/index.d.ts +107 -0
  107. package/dist/components/game/2d/{ActionTile.d.ts → organisms/ActionTile.d.ts} +1 -1
  108. package/dist/components/game/2d/{BattleBoard.d.ts → organisms/BattleBoard.d.ts} +4 -3
  109. package/dist/components/game/2d/{BoardgameBoard.d.ts → organisms/BoardgameBoard.d.ts} +3 -3
  110. package/dist/components/game/2d/{BuilderBoard.d.ts → organisms/BuilderBoard.d.ts} +7 -3
  111. package/dist/components/game/2d/{CanvasEffect.d.ts → organisms/CanvasEffect.d.ts} +4 -4
  112. package/dist/components/game/2d/{CardBattlerBoard.d.ts → organisms/CardBattlerBoard.d.ts} +1 -1
  113. package/dist/components/game/2d/{CastleBoard.d.ts → organisms/CastleBoard.d.ts} +2 -1
  114. package/dist/components/game/2d/{CityBuilderBoard.d.ts → organisms/CityBuilderBoard.d.ts} +1 -1
  115. package/dist/components/game/2d/{ClassifierBoard.d.ts → organisms/ClassifierBoard.d.ts} +7 -3
  116. package/dist/components/game/2d/{DebuggerBoard.d.ts → organisms/DebuggerBoard.d.ts} +7 -3
  117. package/dist/components/game/2d/{EventHandlerBoard.d.ts → organisms/EventHandlerBoard.d.ts} +1 -1
  118. package/dist/components/game/2d/{FishingBoard.d.ts → organisms/FishingBoard.d.ts} +12 -2
  119. package/dist/components/game/2d/{HexStrategyBoard.d.ts → organisms/HexStrategyBoard.d.ts} +13 -6
  120. package/dist/components/game/2d/{HolidayRunnerBoard.d.ts → organisms/HolidayRunnerBoard.d.ts} +3 -3
  121. package/dist/components/game/2d/{MatchPuzzleBoard.d.ts → organisms/MatchPuzzleBoard.d.ts} +3 -3
  122. package/dist/components/game/2d/{MinigolfBoard.d.ts → organisms/MinigolfBoard.d.ts} +3 -3
  123. package/dist/components/game/2d/{NegotiatorBoard.d.ts → organisms/NegotiatorBoard.d.ts} +7 -3
  124. package/dist/components/game/2d/{PinballBoard.d.ts → organisms/PinballBoard.d.ts} +12 -4
  125. package/dist/components/game/2d/{PirateBoard.d.ts → organisms/PirateBoard.d.ts} +13 -6
  126. package/dist/components/game/2d/{PlatformerBoard.d.ts → organisms/PlatformerBoard.d.ts} +1 -1
  127. package/dist/components/game/2d/{RacingBoard.d.ts → organisms/RacingBoard.d.ts} +13 -6
  128. package/dist/components/game/2d/{RoguelikeBoard.d.ts → organisms/RoguelikeBoard.d.ts} +2 -2
  129. package/dist/components/game/2d/{SequencerBoard.d.ts → organisms/SequencerBoard.d.ts} +1 -1
  130. package/dist/components/game/2d/{SimulationCanvas.d.ts → organisms/SimulationCanvas.d.ts} +3 -2
  131. package/dist/components/game/2d/{SimulationControls.d.ts → organisms/SimulationControls.d.ts} +6 -1
  132. package/dist/components/game/2d/{SimulatorBoard.d.ts → organisms/SimulatorBoard.d.ts} +7 -3
  133. package/dist/components/game/2d/{SokobanBoard.d.ts → organisms/SokobanBoard.d.ts} +3 -3
  134. package/dist/components/game/2d/{SpaceShmupBoard.d.ts → organisms/SpaceShmupBoard.d.ts} +13 -6
  135. package/dist/components/game/2d/{SpaceStationBoard.d.ts → organisms/SpaceStationBoard.d.ts} +3 -3
  136. package/dist/components/game/2d/{SportsBoard.d.ts → organisms/SportsBoard.d.ts} +3 -3
  137. package/dist/components/game/2d/{StateArchitectBoard.d.ts → organisms/StateArchitectBoard.d.ts} +1 -1
  138. package/dist/components/game/2d/{StateNode.d.ts → organisms/StateNode.d.ts} +1 -1
  139. package/dist/components/game/2d/{TanksBoard.d.ts → organisms/TanksBoard.d.ts} +3 -3
  140. package/dist/components/game/2d/{TowerDefenseBoard.d.ts → organisms/TowerDefenseBoard.d.ts} +1 -1
  141. package/dist/components/game/2d/{TraitSlot.d.ts → organisms/TraitSlot.d.ts} +1 -1
  142. package/dist/components/game/2d/{TraitStateViewer.d.ts → organisms/TraitStateViewer.d.ts} +2 -2
  143. package/dist/components/game/2d/{TransitionArrow.d.ts → organisms/TransitionArrow.d.ts} +1 -1
  144. package/dist/components/game/2d/{UncontrolledBattleBoard.d.ts → organisms/UncontrolledBattleBoard.d.ts} +1 -1
  145. package/dist/components/game/2d/{VisualNovelBoard.d.ts → organisms/VisualNovelBoard.d.ts} +1 -9
  146. package/dist/components/game/2d/{WorldMapBoard.d.ts → organisms/WorldMapBoard.d.ts} +4 -3
  147. package/dist/components/game/2d/{BattleTemplate.d.ts → templates/BattleTemplate.d.ts} +4 -4
  148. package/dist/components/game/2d/{CardBattlerTemplate.d.ts → templates/CardBattlerTemplate.d.ts} +2 -2
  149. package/dist/components/game/2d/{CastleTemplate.d.ts → templates/CastleTemplate.d.ts} +4 -4
  150. package/dist/components/game/2d/{CityBuilderTemplate.d.ts → templates/CityBuilderTemplate.d.ts} +2 -2
  151. package/dist/components/game/2d/{GameTemplate.d.ts → templates/GameTemplate.d.ts} +1 -1
  152. package/dist/components/game/2d/{PlatformerTemplate.d.ts → templates/PlatformerTemplate.d.ts} +2 -2
  153. package/dist/components/game/2d/{RoguelikeTemplate.d.ts → templates/RoguelikeTemplate.d.ts} +3 -3
  154. package/dist/components/game/2d/{TopDownShooterTemplate.d.ts → templates/TopDownShooterTemplate.d.ts} +2 -2
  155. package/dist/components/game/2d/{TowerDefenseTemplate.d.ts → templates/TowerDefenseTemplate.d.ts} +2 -2
  156. package/dist/components/game/2d/{VisualNovelTemplate.d.ts → templates/VisualNovelTemplate.d.ts} +2 -2
  157. package/dist/components/game/2d/{WorldMapTemplate.d.ts → templates/WorldMapTemplate.d.ts} +4 -4
  158. package/dist/components/game/3d/{Canvas3D.d.ts → molecules/Canvas3D.d.ts} +1 -1
  159. package/dist/components/game/3d/{GameCanvas3D.d.ts → molecules/GameCanvas3D.d.ts} +3 -3
  160. package/dist/components/game/3d/{index.d.ts → molecules/index.d.ts} +20 -25
  161. package/dist/components/game/3d/{GameBoard3D.d.ts → organisms/GameBoard3D.d.ts} +2 -2
  162. package/dist/components/game/3d/{GameCanvas3DBattleTemplate.d.ts → templates/GameCanvas3DBattleTemplate.d.ts} +3 -3
  163. package/dist/components/game/3d/{GameCanvas3DCastleTemplate.d.ts → templates/GameCanvas3DCastleTemplate.d.ts} +3 -3
  164. package/dist/components/game/3d/{GameCanvas3DWorldMapTemplate.d.ts → templates/GameCanvas3DWorldMapTemplate.d.ts} +3 -3
  165. package/dist/components/game/{3d → shared/hooks}/useAssetLoader.d.ts +1 -1
  166. package/dist/components/game/{2d → shared/hooks}/useBattleState.d.ts +1 -1
  167. package/dist/components/game/{2d → shared/hooks}/useCamera.d.ts +1 -1
  168. package/dist/components/game/{2d → shared/hooks}/useCanvasEffects.d.ts +1 -1
  169. package/dist/components/game/{3d → shared/hooks}/useGameCanvas3DEvents.d.ts +1 -1
  170. package/dist/components/game/{3d → shared/hooks}/useThree.d.ts +1 -1
  171. package/dist/components/game/{2d → shared/hooks}/useUnitSpriteAtlas.d.ts +2 -2
  172. package/dist/components/game/shared/index.d.ts +0 -2
  173. package/dist/components/game/{2d → shared/lib}/editorUtils.d.ts +6 -1
  174. package/dist/components/game/{2d → shared/lib}/game3dAssetManifest.d.ts +1 -1
  175. package/dist/components/game/{2d → shared/lib}/mechanics.d.ts +1 -1
  176. package/dist/components/game/{2d → shared/lib}/physicsPresets.d.ts +2 -2
  177. package/dist/components/game/{2d → shared/lib}/puzzleObject.d.ts +1 -1
  178. package/dist/components/game/{2d → shared/providers}/GameAudioProvider.d.ts +3 -4
  179. package/dist/components/index.cjs +4459 -5117
  180. package/dist/components/index.d.ts +5 -5
  181. package/dist/components/index.js +3378 -4061
  182. package/dist/context/index.cjs +93 -827
  183. package/dist/context/index.d.ts +8 -8
  184. package/dist/context/index.js +3 -807
  185. package/dist/hooks/index.cjs +9 -278
  186. package/dist/hooks/index.d.ts +5 -6
  187. package/dist/hooks/index.js +11 -262
  188. package/dist/hooks/useAgentChat.d.ts +7 -6
  189. package/dist/{renderer → hooks}/useClientEffects.d.ts +1 -1
  190. package/dist/hooks/useCompile.d.ts +2 -6
  191. package/dist/hooks/useDeepAgentGeneration.d.ts +4 -4
  192. package/dist/hooks/useEventBus.d.ts +5 -3
  193. package/dist/hooks/useFileSystem.d.ts +11 -1
  194. package/dist/hooks/useOrbitalHistory.d.ts +2 -2
  195. package/dist/hooks/useQuerySingleton.d.ts +5 -4
  196. package/dist/{runtime → hooks}/useResolvedSchema.d.ts +1 -1
  197. package/dist/{runtime → hooks}/useTraitStateMachine.d.ts +5 -5
  198. package/dist/hooks/useUISlots.d.ts +7 -10
  199. package/dist/lib/api-client.d.ts +4 -3
  200. package/dist/{renderer → lib}/client-effect-executor.d.ts +4 -15
  201. package/dist/{runtime → lib}/createClientEffectHandlers.d.ts +4 -4
  202. package/dist/{renderer → lib}/data-resolver.d.ts +3 -16
  203. package/dist/lib/debugRegistry.d.ts +8 -7
  204. package/dist/lib/entityDebug.d.ts +4 -3
  205. package/dist/lib/getNestedValue.d.ts +15 -3
  206. package/dist/lib/guardRegistry.d.ts +3 -2
  207. package/dist/lib/index.cjs +11 -12
  208. package/dist/lib/index.d.ts +1 -1
  209. package/dist/lib/index.js +11 -12
  210. package/dist/lib/jazari/layout.d.ts +3 -2
  211. package/dist/{renderer → lib}/offline-executor.d.ts +6 -5
  212. package/dist/lib/parseContentSegments.d.ts +2 -1
  213. package/dist/{renderer → lib}/pattern-resolver.d.ts +2 -2
  214. package/dist/{runtime → lib}/perf.d.ts +0 -2
  215. package/dist/{renderer → lib}/slot-definitions.d.ts +3 -15
  216. package/dist/{renderer → lib}/trait-binding-resolver.d.ts +6 -2
  217. package/dist/lib/visualizer/browser.d.ts +3 -2
  218. package/dist/lib/visualizer/index.d.ts +6 -5
  219. package/dist/marketing/index.cjs +6 -6
  220. package/dist/marketing/index.js +6 -6
  221. package/dist/{runtime → providers}/EntitySchemaContext.d.ts +0 -4
  222. package/dist/providers/EventBusProvider.d.ts +3 -2
  223. package/dist/providers/OfflineModeProvider.d.ts +1 -1
  224. package/dist/providers/OrbitalProvider.d.ts +5 -4
  225. package/dist/providers/SelectionProvider.d.ts +6 -5
  226. package/dist/{runtime → providers}/ServerBridge.d.ts +14 -11
  227. package/dist/{context → providers}/ThemeContext.d.ts +5 -5
  228. package/dist/{runtime → providers}/TraitProvider.d.ts +4 -3
  229. package/dist/{context → providers}/UISlotContext.d.ts +2 -2
  230. package/dist/{context → providers}/UserContext.d.ts +3 -2
  231. package/dist/providers/VerificationProvider.d.ts +2 -1
  232. package/dist/providers/index.cjs +2101 -4930
  233. package/dist/providers/index.d.ts +1 -1
  234. package/dist/providers/index.js +1263 -4092
  235. package/dist/{renderer → providers}/navigation.d.ts +7 -7
  236. package/dist/renderer/index.cjs +84 -322
  237. package/dist/renderer/index.d.ts +12 -12
  238. package/dist/renderer/index.js +30 -301
  239. package/dist/runtime/OrbPreview.d.ts +1 -1
  240. package/dist/runtime/index.cjs +2809 -6315
  241. package/dist/runtime/index.d.ts +11 -11
  242. package/dist/runtime/index.js +1740 -5270
  243. package/dist/{hooks → types}/event-bus-types.d.ts +2 -1
  244. package/dist/{renderer/types.d.ts → types/renderer-types.d.ts} +14 -28
  245. package/dist/types/runtime-types.d.ts +21 -0
  246. package/dist/{runtime/ui → types}/slot-types.d.ts +5 -4
  247. package/locales/index.ts +1 -1
  248. package/package.json +4 -21
  249. package/dist/components/core/atoms/ThemeSelector.d.ts +0 -21
  250. package/dist/components/game/2d/CardHand.d.ts +0 -35
  251. package/dist/components/game/2d/CombatLog.d.ts +0 -30
  252. package/dist/components/game/2d/CraftingRecipe.d.ts +0 -40
  253. package/dist/components/game/2d/DialogueBox.d.ts +0 -66
  254. package/dist/components/game/2d/EnemyPlate.d.ts +0 -30
  255. package/dist/components/game/2d/GameCanvas2D.d.ts +0 -27
  256. package/dist/components/game/2d/GameOverScreen.d.ts +0 -57
  257. package/dist/components/game/2d/HealthPanel.d.ts +0 -31
  258. package/dist/components/game/2d/InventoryPanel.d.ts +0 -58
  259. package/dist/components/game/2d/IsometricCanvas.d.ts +0 -137
  260. package/dist/components/game/2d/PlatformerCanvas.d.ts +0 -60
  261. package/dist/components/game/2d/PowerupSlots.d.ts +0 -26
  262. package/dist/components/game/2d/QuestTracker.d.ts +0 -20
  263. package/dist/components/game/2d/ScoreBoard.d.ts +0 -18
  264. package/dist/components/game/2d/TurnPanel.d.ts +0 -32
  265. package/dist/components/game/2d/UnitCommandBar.d.ts +0 -25
  266. package/dist/components/game/2d/index.d.ts +0 -122
  267. package/dist/components/game/3d/FeatureRenderer.d.ts +0 -38
  268. package/dist/components/game/3d/FeatureRenderer3D.d.ts +0 -44
  269. package/dist/components/game/3d/PhysicsObject3D.d.ts +0 -74
  270. package/dist/components/game/3d/TileRenderer.d.ts +0 -57
  271. package/dist/components/game/3d/UnitRenderer.d.ts +0 -46
  272. package/dist/components/game/3d/index.cjs +0 -7715
  273. package/dist/components/game/3d/index.css +0 -503
  274. package/dist/components/game/3d/index.js +0 -7633
  275. package/dist/components/game/3d/patterns.d.ts +0 -20
  276. package/dist/components/game/shared/combatEffects.d.ts +0 -64
  277. package/dist/docs/index.cjs +0 -7024
  278. package/dist/docs/index.css +0 -1252
  279. package/dist/docs/index.d.cts +0 -574
  280. package/dist/docs/index.d.ts +0 -29
  281. package/dist/docs/index.js +0 -6981
  282. package/dist/hooks/useAgentTrace.d.ts +0 -85
  283. package/dist/hooks/useEntities.d.ts +0 -52
  284. package/dist/hooks/usePinchZoom.d.ts +0 -22
  285. package/dist/runtime/types.d.ts +0 -37
  286. package/dist/stores/entityStore.d.ts +0 -99
  287. package/dist/stores/filtering.d.ts +0 -51
  288. package/dist/stores/index.cjs +0 -217
  289. package/dist/stores/index.d.ts +0 -7
  290. package/dist/stores/index.js +0 -194
  291. /package/dist/components/avl/{molecules → hooks}/useCanvasDnd.d.ts +0 -0
  292. /package/dist/components/avl/{organisms → lib}/avl-3d-layout.d.ts +0 -0
  293. /package/dist/components/avl/{molecules → lib}/avl-layout.d.ts +0 -0
  294. /package/dist/components/avl/{organisms → lib}/avl-schema-parser.d.ts +0 -0
  295. /package/dist/components/avl/{organisms → lib}/avl-zoom-state.d.ts +0 -0
  296. /package/dist/components/avl/{derive-edit-focus.d.ts → lib/derive-edit-focus.d.ts} +0 -0
  297. /package/dist/components/avl/{molecules → lib}/wire-validation.d.ts +0 -0
  298. /package/dist/components/avl/{organisms → providers}/avl-3d-context.d.ts +0 -0
  299. /package/dist/components/avl/{atoms/types.d.ts → types/avl-atom-types.d.ts} +0 -0
  300. /package/dist/components/avl/{molecules → types}/avl-preview-types.d.ts +0 -0
  301. /package/dist/components/game/2d/{ComboCounter.d.ts → atoms/ComboCounter.d.ts} +0 -0
  302. /package/dist/components/game/2d/{DamageNumber.d.ts → atoms/DamageNumber.d.ts} +0 -0
  303. /package/dist/components/game/2d/{DialogueBubble.d.ts → atoms/DialogueBubble.d.ts} +0 -0
  304. /package/dist/components/game/2d/{GameCard.d.ts → atoms/GameCard.d.ts} +0 -0
  305. /package/dist/components/game/2d/{HealthBar.d.ts → atoms/HealthBar.d.ts} +0 -0
  306. /package/dist/components/game/2d/{TimerDisplay.d.ts → atoms/TimerDisplay.d.ts} +0 -0
  307. /package/dist/components/game/2d/{TurnIndicator.d.ts → atoms/TurnIndicator.d.ts} +0 -0
  308. /package/dist/components/game/2d/{ActionPalette.d.ts → organisms/ActionPalette.d.ts} +0 -0
  309. /package/dist/components/game/2d/{EventLog.d.ts → organisms/EventLog.d.ts} +0 -0
  310. /package/dist/components/game/2d/{ObjectRulePanel.d.ts → organisms/ObjectRulePanel.d.ts} +0 -0
  311. /package/dist/components/game/2d/{RuleEditor.d.ts → organisms/RuleEditor.d.ts} +0 -0
  312. /package/dist/components/game/2d/{SequenceBar.d.ts → organisms/SequenceBar.d.ts} +0 -0
  313. /package/dist/components/game/2d/{SimulationGraph.d.ts → organisms/SimulationGraph.d.ts} +0 -0
  314. /package/dist/components/game/2d/{StateJsonView.d.ts → organisms/StateJsonView.d.ts} +0 -0
  315. /package/dist/components/game/2d/{TopDownShooterBoard.d.ts → organisms/TopDownShooterBoard.d.ts} +0 -0
  316. /package/dist/components/game/2d/{VariablePanel.d.ts → organisms/VariablePanel.d.ts} +0 -0
  317. /package/dist/components/game/2d/{GameShell.d.ts → templates/GameShell.d.ts} +0 -0
  318. /package/dist/components/game/3d/{Camera3D.d.ts → molecules/Camera3D.d.ts} +0 -0
  319. /package/dist/components/game/3d/{Canvas3DErrorBoundary.d.ts → molecules/Canvas3DErrorBoundary.d.ts} +0 -0
  320. /package/dist/components/game/3d/{Canvas3DLoadingState.d.ts → molecules/Canvas3DLoadingState.d.ts} +0 -0
  321. /package/dist/components/game/3d/{Lighting3D.d.ts → molecules/Lighting3D.d.ts} +0 -0
  322. /package/dist/components/game/3d/{ModelLoader.d.ts → molecules/ModelLoader.d.ts} +0 -0
  323. /package/dist/components/game/3d/{Scene3D.d.ts → molecules/Scene3D.d.ts} +0 -0
  324. /package/dist/components/game/{2d → shared/hooks}/useGameAudio.d.ts +0 -0
  325. /package/dist/components/game/{3d → shared/hooks}/useRaycaster.d.ts +0 -0
  326. /package/dist/components/game/{3d → shared/hooks}/useSceneGraph.d.ts +0 -0
  327. /package/dist/components/game/{3d → shared/lib}/AssetLoader.d.ts +0 -0
  328. /package/dist/components/game/{3d → shared/lib}/culling.d.ts +0 -0
  329. /package/dist/components/game/{3d → shared/lib}/grid3D.d.ts +0 -0
  330. /package/dist/components/game/{2d/types.d.ts → shared/lib/physicsTypes.d.ts} +0 -0
  331. /package/dist/{runtime → lib}/embedded-traits.d.ts +0 -0
  332. /package/dist/{runtime → lib}/fn-form-lambda.d.ts +0 -0
  333. /package/dist/{renderer → lib}/init.d.ts +0 -0
  334. /package/dist/{runtime → lib}/orbitalsByTrait.d.ts +0 -0
  335. /package/dist/{runtime → lib}/prepareSchemaForPreview.d.ts +0 -0
  336. /package/dist/{context → lib}/themeTokens.d.ts +0 -0
  337. /package/dist/{runtime → lib}/wrapCallbackForEvent.d.ts +0 -0
  338. /package/dist/{context → providers}/CurrentPagePathContext.d.ts +0 -0
  339. /package/dist/{context → providers}/DesignThemeContext.d.ts +0 -0
  340. /package/dist/{context → providers}/OrbitalThemeProvider.d.ts +0 -0
@@ -8,7 +8,8 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  import type { BusEvent, BusEventSource, BusEventListener, EventPayload, Unsubscribe } from "@almadar/core";
11
- export type { BusEvent, BusEventSource, EventPayload, Unsubscribe };
11
+ export type { BusEvent, BusEventSource, BusEventListener, EventPayload, Unsubscribe };
12
+ /** @deprecated Use BusEventListener from @almadar/core directly. */
12
13
  export type EventListener = BusEventListener;
13
14
  /**
14
15
  * Event bus context type.
@@ -7,6 +7,7 @@
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
+ import type { EntityRow, FieldValue, UISlot, PatternConfig } from '@almadar/core';
10
11
  /**
11
12
  * A client effect is a tuple where the first element is the effect type
12
13
  * and the remaining elements are the arguments.
@@ -17,7 +18,8 @@
17
18
  * ['notify', 'Task created!', { type: 'success' }]
18
19
  * ['emit', 'TASK_CREATED', { id: '123' }]
19
20
  */
20
- export type ClientEffect = ['render-ui', string, PatternConfig | null] | ['navigate', string, Record<string, unknown>?] | ['notify', string, NotifyOptions?] | ['emit', string, unknown?];
21
+ export type { UISlot, PatternConfig };
22
+ export type ClientEffect = ['render-ui', string, PatternConfig | null] | ['navigate', string, Record<string, FieldValue>?] | ['notify', string, NotifyOptions?] | ['emit', string, FieldValue?];
21
23
  /**
22
24
  * Options for notify effect
23
25
  */
@@ -25,22 +27,10 @@ export interface NotifyOptions {
25
27
  type?: 'success' | 'error' | 'info' | 'warning';
26
28
  duration?: number;
27
29
  }
28
- /**
29
- * Configuration for a pattern to render in a slot.
30
- * This is what render-ui effects carry as their payload.
31
- */
32
- export interface PatternConfig {
33
- /** Pattern type from registry (e.g., 'entity-table', 'form-section') */
34
- type: string;
35
- /** Entity name for data binding */
36
- entity?: string;
37
- /** Additional props for the pattern component */
38
- [key: string]: unknown;
39
- }
40
30
  /**
41
31
  * Resolved pattern with component information from component-mapping.json
42
32
  */
43
- export interface ResolvedPattern {
33
+ export interface MappedPattern {
44
34
  /** Component name (e.g., 'DataTable') */
45
35
  component: string;
46
36
  /** Import path for the component */
@@ -48,7 +38,7 @@ export interface ResolvedPattern {
48
38
  /** Pattern category (e.g., 'display', 'form') */
49
39
  category: string;
50
40
  /** Validated and normalized props */
51
- validatedProps: Record<string, unknown>;
41
+ validatedProps: Record<string, FieldValue>;
52
42
  }
53
43
  /**
54
44
  * Response from server after processing an event.
@@ -60,14 +50,14 @@ export interface EventResponse {
60
50
  /** New state after transition (if transition occurred) */
61
51
  newState?: string;
62
52
  /** Data fetched by server effects (e.g., { Task: [...] }) */
63
- data?: Record<string, unknown[]>;
53
+ data?: Record<string, EntityRow[]>;
64
54
  /** Client effects to execute (render-ui, navigate, notify, emit) */
65
55
  clientEffects?: ClientEffect[];
66
56
  /** Results of individual effect executions (for debugging) */
67
57
  effectResults?: Array<{
68
58
  effect: string;
69
59
  success: boolean;
70
- data?: unknown;
60
+ data?: FieldValue;
71
61
  error?: string;
72
62
  }>;
73
63
  /** Error message if success is false */
@@ -87,7 +77,7 @@ export interface ClientEffectExecutorConfig {
87
77
  * Navigate to a route.
88
78
  * Called for 'navigate' effects.
89
79
  */
90
- navigate: (path: string, params?: Record<string, unknown>) => void;
80
+ navigate: (path: string, params?: Record<string, FieldValue>) => void;
91
81
  /**
92
82
  * Show a notification.
93
83
  * Called for 'notify' effects.
@@ -98,22 +88,18 @@ export interface ClientEffectExecutorConfig {
98
88
  * Called for 'emit' effects.
99
89
  */
100
90
  eventBus: {
101
- emit: (event: string, payload?: unknown) => void;
91
+ emit: (event: string, payload?: FieldValue) => void;
102
92
  };
103
93
  /**
104
94
  * Optional: Data from server response for render-ui.
105
95
  * Components can use this to access fetched entity data.
106
96
  */
107
- data?: Record<string, unknown[]>;
97
+ data?: Record<string, EntityRow[]>;
108
98
  /**
109
99
  * Optional: Callback when all effects have been executed.
110
100
  */
111
101
  onComplete?: () => void;
112
102
  }
113
- /**
114
- * Valid UI slot names
115
- */
116
- export type UISlot = 'main' | 'sidebar' | 'modal' | 'drawer' | 'overlay' | 'center' | 'toast' | 'hud-top' | 'hud-bottom' | 'floating';
117
103
  /**
118
104
  * Slot type classification
119
105
  */
@@ -137,14 +123,14 @@ export interface SlotDefinition {
137
123
  */
138
124
  export interface DataContext {
139
125
  /** Server-provided data (highest priority) */
140
- fetchedData?: Record<string, unknown[]>;
126
+ fetchedData?: Record<string, EntityRow[]>;
141
127
  /** In-memory mock data (for Builder preview) */
142
128
  entityStore?: {
143
- getRecords: (entityName: string) => unknown[];
129
+ getRecords: (entityName: string) => EntityRow[];
144
130
  };
145
131
  /** Query singleton for filtering */
146
132
  querySingleton?: {
147
- getFilters: (queryRef: string) => Record<string, unknown>;
133
+ getFilters: (queryRef: string) => Record<string, FieldValue>;
148
134
  };
149
135
  }
150
136
  /**
@@ -152,7 +138,7 @@ export interface DataContext {
152
138
  */
153
139
  export interface DataResolution {
154
140
  /** Resolved data array */
155
- data: unknown[];
141
+ data: EntityRow[];
156
142
  /** Whether data is still loading */
157
143
  loading: boolean;
158
144
  /** Error if resolution failed */
@@ -0,0 +1,21 @@
1
+ /**
2
+ * OrbitalRuntime Types
3
+ *
4
+ * Re-exports IR types from @almadar/core.
5
+ * This ensures runtime uses the same types as the compiler.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export type { TransitionFrom, ResolvedField, ResolvedEntity, ResolvedEntityBinding, ResolvedTraitState, ResolvedTraitEvent, ResolvedTraitTransition, ResolvedTraitGuard, ResolvedTraitTick, ResolvedTraitDataEntity, ResolvedTraitUIBinding, ResolvedTrait, ResolvedTraitBinding, ResolvedPattern, ResolvedSectionEvent, ResolvedSection, ResolvedNavigation, ResolvedPage, ResolvedIR, } from '@almadar/core';
10
+ import type { ResolvedTraitListener as CoreResolvedTraitListener, ListenSource } from '@almadar/core';
11
+ export type { ListenSource };
12
+ /**
13
+ * Extended `ResolvedTraitListener` carrying the runtime `source` scope
14
+ * descriptor. Core's `ResolvedTraitListener` includes `source?: ListenSource`
15
+ * starting with the version that shipped `ListenSource`; this intersection
16
+ * keeps the field visible even if older core builds omit it.
17
+ */
18
+ export type ResolvedTraitListener = CoreResolvedTraitListener & {
19
+ source?: ListenSource;
20
+ };
21
+ export { createEmptyResolvedTrait, createEmptyResolvedPage, createResolvedField, inferTsType, isResolvedIR, } from '@almadar/core';
@@ -10,7 +10,8 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import type { PatternConfig, EventSource, ResolvedTrait } from '@almadar/core';
13
+ import type { PatternConfig, EventSource, ResolvedTrait, FieldValue, SExpr } from '@almadar/core';
14
+ import type { SlotPropValue } from '../hooks/useUISlots';
14
15
  /**
15
16
  * Slot-render observability channel. Used by `useTraitStateMachine`,
16
17
  * `OrbPreview.applyServerEffects`, and the `<SlotContentRenderer>` to
@@ -24,14 +25,14 @@ export declare const slotLog: import("@almadar/logger").Logger;
24
25
  * references across renders (e.g. spotting the form-reset bug where
25
26
  * the same logical row arrives with a fresh ref id every transition).
26
27
  */
27
- export declare function refId(obj: unknown): number | null;
28
+ export declare function refId(obj: SlotPropValue | null | undefined): number | null;
28
29
  /**
29
30
  * One pattern within a slot's accumulated render-ui set, plus any
30
31
  * caller-supplied props that should be merged on top.
31
32
  */
32
33
  export interface SlotPatternEntry {
33
34
  pattern: PatternConfig;
34
- props: Record<string, unknown>;
35
+ props: Record<string, FieldValue | undefined>;
35
36
  }
36
37
  /**
37
38
  * The originating trait + state for a slot write. Embedded in the
@@ -43,6 +44,6 @@ export interface SlotSource extends EventSource {
43
44
  trait: string;
44
45
  state: string;
45
46
  transition: string;
46
- effects: unknown[];
47
+ effects: SExpr[];
47
48
  traitDefinition: ResolvedTrait;
48
49
  }
package/locales/index.ts CHANGED
@@ -42,7 +42,7 @@ export function mergeMessages(
42
42
  }
43
43
 
44
44
  /** Remove $meta and $extends keys from a messages object */
45
- function stripMeta(obj: Record<string, unknown>): Record<string, string> {
45
+ function stripMeta(obj: Record<string, string | object>): Record<string, string> {
46
46
  const result: Record<string, string> = {};
47
47
  for (const [key, value] of Object.entries(obj)) {
48
48
  if (key.startsWith('$')) continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "5.75.0",
3
+ "version": "5.76.0",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -46,11 +46,6 @@
46
46
  "import": "./dist/runtime/index.js",
47
47
  "require": "./dist/runtime/index.cjs"
48
48
  },
49
- "./stores": {
50
- "types": "./dist/stores/index.d.ts",
51
- "import": "./dist/stores/index.js",
52
- "require": "./dist/stores/index.cjs"
53
- },
54
49
  "./lib": {
55
50
  "types": "./dist/lib/index.d.ts",
56
51
  "import": "./dist/lib/index.js",
@@ -83,11 +78,6 @@
83
78
  "import": "./dist/marketing/index.js",
84
79
  "require": "./dist/marketing/index.cjs"
85
80
  },
86
- "./docs": {
87
- "types": "./dist/docs/index.d.ts",
88
- "import": "./dist/docs/index.js",
89
- "require": "./dist/docs/index.cjs"
90
- },
91
81
  "./avl": {
92
82
  "types": "./dist/avl/index.d.ts",
93
83
  "import": "./dist/avl/index.js",
@@ -129,16 +119,15 @@
129
119
  "scripts": {
130
120
  "build": "tsup && tsc -p tsconfig.build.json",
131
121
  "build:watch": "tsup --watch",
132
- "storybook": "storybook dev -p 6006",
133
- "build-storybook": "storybook build -o storybook-static",
134
- "typecheck": "tsc --noEmit"
122
+ "typecheck": "tsc --noEmit",
123
+ "lint": "eslint --no-warn-ignored --max-warnings 0 ."
135
124
  },
136
125
  "dependencies": {
137
126
  "@almadar/core": "^10.8.0",
138
127
  "@almadar/evaluator": ">=2.9.2",
139
128
  "@almadar/logger": "^1.3.0",
140
129
  "@almadar/patterns": ">=2.35.0",
141
- "@almadar/runtime": "^6.7.0",
130
+ "@almadar/runtime": "^6.15.2",
142
131
  "@almadar/std": ">=6.4.1",
143
132
  "@almadar/syntax": ">=1.3.1",
144
133
  "@dnd-kit/core": "^6.3.1",
@@ -192,11 +181,6 @@
192
181
  "@react-three/drei": "^10.7.7",
193
182
  "@react-three/fiber": "^9.6.0",
194
183
  "@react-three/postprocessing": "3.0.4",
195
- "@storybook/addon-docs": "^10.2.6",
196
- "@storybook/addon-links": "^10.2.6",
197
- "@storybook/addon-themes": "^10.2.6",
198
- "@storybook/react": "^10.2.6",
199
- "@storybook/react-vite": "^10.2.6",
200
184
  "@tailwindcss/container-queries": "^0.1.1",
201
185
  "@tanstack/react-query": "^5.0.0",
202
186
  "@testing-library/jest-dom": "^6.4.0",
@@ -223,7 +207,6 @@
223
207
  "react-compiler-runtime": "19.0.0-beta-af1b7da-20250417",
224
208
  "react-dom": "^19.0.0",
225
209
  "react-router-dom": "^7.13.0",
226
- "storybook": "^10.2.6",
227
210
  "tailwindcss": "^3.4.0",
228
211
  "three": "^0.160.1",
229
212
  "tsup": "^8.0.0",
@@ -1,21 +0,0 @@
1
- /**
2
- * ThemeSelector - Design theme selector component
3
- *
4
- * A dropdown/toggle component for switching between design themes.
5
- *
6
- * @packageDocumentation
7
- */
8
- import React from "react";
9
- interface ThemeSelectorProps {
10
- /** Optional className */
11
- className?: string;
12
- /** Show as dropdown or buttons */
13
- variant?: "dropdown" | "buttons";
14
- /** Show labels */
15
- showLabels?: boolean;
16
- }
17
- /**
18
- * ThemeSelector component for switching design themes
19
- */
20
- export declare const ThemeSelector: React.FC<ThemeSelectorProps>;
21
- export default ThemeSelector;
@@ -1,35 +0,0 @@
1
- import * as React from 'react';
2
- import type { Asset, EventEmit } from '@almadar/core';
3
- /** One playable card (icon + title + a few stat numbers). UI value DTO. */
4
- export interface CardHandCard {
5
- id: string;
6
- iconUrl?: Asset;
7
- title?: string;
8
- cost?: number;
9
- attack?: number;
10
- defense?: number;
11
- disabled?: boolean;
12
- }
13
- export interface CardHandProps {
14
- /** Cards to lay out as a horizontal hand (or grid when wrapped). */
15
- cards: CardHandCard[];
16
- /** Currently selected card id. */
17
- selectedId?: string;
18
- /** Card-art size variant. */
19
- size?: 'sm' | 'md' | 'lg';
20
- /** Direct callback when a (non-disabled) card is clicked. */
21
- onCardClick?: (id: string) => void;
22
- /** Event-bus event emitted with `{ cardId }` on click. */
23
- cardClickEvent?: EventEmit<{
24
- cardId: string;
25
- }>;
26
- /** Empty-state label when there are no cards. */
27
- emptyLabel?: string;
28
- className?: string;
29
- }
30
- /** Pure card-hand molecule: renders a row/grid of cards from props alone. */
31
- export declare function CardHand({ cards, selectedId, size, onCardClick, cardClickEvent, emptyLabel, className, }: CardHandProps): React.JSX.Element;
32
- export declare namespace CardHand {
33
- var displayName: string;
34
- }
35
- export default CardHand;
@@ -1,30 +0,0 @@
1
- /**
2
- * CombatLog Component
3
- *
4
- * Scrollable log of combat events with icons and colors.
5
- * Generalized from Trait Wars — removed asset manifest coupling.
6
- */
7
- import React from 'react';
8
- export type CombatLogEventType = 'attack' | 'defend' | 'heal' | 'move' | 'special' | 'death' | 'spawn';
9
- export interface CombatEvent {
10
- id: string;
11
- type: CombatLogEventType;
12
- message: string;
13
- timestamp: number;
14
- actorName?: string;
15
- targetName?: string;
16
- value?: number;
17
- turn?: number;
18
- }
19
- export interface CombatLogProps {
20
- events: CombatEvent[];
21
- maxVisible?: number;
22
- autoScroll?: boolean;
23
- showTimestamps?: boolean;
24
- title?: string;
25
- className?: string;
26
- }
27
- export declare function CombatLog({ events, maxVisible, autoScroll, showTimestamps, className, title, }: CombatLogProps): React.JSX.Element;
28
- export declare namespace CombatLog {
29
- var displayName: string;
30
- }
@@ -1,40 +0,0 @@
1
- import type { EventEmit } from '@almadar/core';
2
- import { type IconInput } from '../../core/atoms/Icon';
3
- export type CraftingIngredient = {
4
- /** Icon component or emoji */
5
- icon?: IconInput;
6
- /** Ingredient label */
7
- label: string;
8
- /** Number required for the recipe */
9
- required: number;
10
- /** Number currently available */
11
- available: number;
12
- };
13
- export type CraftingOutput = {
14
- /** Icon component or emoji */
15
- icon?: IconInput;
16
- /** Output item label */
17
- label: string;
18
- /** Rarity tier */
19
- rarity?: string;
20
- };
21
- export interface CraftingRecipeProps {
22
- /** Input ingredients for the recipe */
23
- inputs: CraftingIngredient[];
24
- /** Output item produced by the recipe */
25
- output: CraftingOutput;
26
- /** Whether the player has enough ingredients to craft */
27
- canCraft?: boolean;
28
- /** Callback when the craft button is clicked */
29
- onCraft?: () => void;
30
- /** Event bus event name for crafting */
31
- craftEvent?: EventEmit<{
32
- output: string;
33
- }>;
34
- /** Additional CSS classes */
35
- className?: string;
36
- }
37
- export declare function CraftingRecipe({ inputs, output, canCraft, onCraft, craftEvent, className, }: CraftingRecipeProps): import("react/jsx-runtime").JSX.Element;
38
- export declare namespace CraftingRecipe {
39
- var displayName: string;
40
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * DialogueBox Component
3
- *
4
- * NPC dialogue display with typewriter effect and choices.
5
- *
6
- * **State categories (closed-circuit compliant):**
7
- * - Content (dialogue node, speaker, text, choices) → received via props
8
- * - UI-transient animation (displayedText, isTyping, charIndex, selectedChoice) → local only
9
- * - Events → emitted via `useEventBus()` (complete, choice, advance)
10
- *
11
- * Local state is typewriter animation only — an inherently rendering-only
12
- * concern analogous to Form's `formData`.
13
- */
14
- import React from 'react';
15
- import type { Asset, EventEmit, EventPayload } from '@almadar/core';
16
- export type DialogueChoice = EventPayload & {
17
- text: string;
18
- action?: string;
19
- next?: string;
20
- disabled?: boolean;
21
- };
22
- export type DialogueNode = {
23
- id?: string;
24
- speaker: string;
25
- text: string;
26
- portrait?: string;
27
- choices?: DialogueChoice[];
28
- autoAdvance?: number;
29
- };
30
- /** Event Contract:
31
- * Emits: UI:COMPLETE
32
- * Emits: UI:CHOICE
33
- * Emits: UI:ADVANCE
34
- */
35
- export interface DialogueBoxProps {
36
- /** Current dialogue node to display */
37
- dialogue: DialogueNode;
38
- /** Typewriter speed in ms per character (0 = instant) */
39
- typewriterSpeed?: number;
40
- /** Position of dialogue box */
41
- position?: 'top' | 'bottom';
42
- /** Called when text animation completes */
43
- onComplete?: () => void;
44
- /** Called when a choice is selected */
45
- onChoice?: (choice: DialogueChoice) => void;
46
- /** Called when dialogue is advanced (no choices) */
47
- onAdvance?: () => void;
48
- /** Declarative event: emits UI:{completeEvent} when text animation completes */
49
- completeEvent?: EventEmit<Record<string, never>>;
50
- /** Declarative event: emits UI:{choiceEvent} with { choice: DialogueChoice } when a choice is selected */
51
- choiceEvent?: EventEmit<{
52
- choice: DialogueChoice;
53
- }>;
54
- /** Declarative event: emits UI:{advanceEvent} when dialogue is advanced */
55
- advanceEvent?: EventEmit<Record<string, never>>;
56
- /** Optional full-frame scene image rendered behind the dialogue (visual-novel mode). */
57
- backgroundImage?: Asset;
58
- /** Optional larger character portrait rendered standing over the scene (visual-novel mode). */
59
- portraitUrl?: Asset;
60
- /** Multiplier for the large `portraitUrl` height relative to its default (default 1). */
61
- portraitScale?: number;
62
- /** Optional className */
63
- className?: string;
64
- }
65
- export declare function DialogueBox({ dialogue, typewriterSpeed, position, onComplete, onChoice, onAdvance, completeEvent, choiceEvent, advanceEvent, backgroundImage, portraitUrl, portraitScale, className, }: DialogueBoxProps): React.JSX.Element;
66
- export default DialogueBox;
@@ -1,30 +0,0 @@
1
- import type { IconInput } from '../../core/atoms';
2
- import type { Asset } from '@almadar/core';
3
- export interface EnemyPlateEffect {
4
- /** Effect icon */
5
- icon: IconInput;
6
- /** Effect label */
7
- label?: string;
8
- /** Effect type */
9
- variant?: 'buff' | 'debuff' | 'neutral';
10
- }
11
- export interface EnemyPlateProps {
12
- /** Portrait sprite asset — takes precedence over the default avatar slot */
13
- assetUrl?: Asset;
14
- /** Enemy name */
15
- name: string;
16
- /** Current health */
17
- health: number;
18
- /** Maximum health */
19
- maxHealth: number;
20
- /** Enemy level */
21
- level?: number;
22
- /** Active status effects */
23
- effects?: EnemyPlateEffect[];
24
- /** Additional CSS classes */
25
- className?: string;
26
- }
27
- export declare function EnemyPlate({ assetUrl, name, health, maxHealth, level, effects, className, }: EnemyPlateProps): import("react/jsx-runtime").JSX.Element;
28
- export declare namespace EnemyPlate {
29
- var displayName: string;
30
- }
@@ -1,27 +0,0 @@
1
- import type { Asset, AssetUrl } from '@almadar/core';
2
- export interface GameCanvas2DProps {
3
- /** Canvas width in pixels */
4
- width?: number;
5
- /** Canvas height in pixels */
6
- height?: number;
7
- /** Called each frame with the 2D context and current frame count */
8
- onDraw?: (ctx: CanvasRenderingContext2D, frame: number) => void;
9
- /** Called each tick with delta time in seconds */
10
- onTick?: (dt: number) => void;
11
- /** Event name emitted each tick with { dt, frame } — for closed-circuit .orb integration */
12
- tickEvent?: string;
13
- /** Event name emitted each draw frame with { frame } — for closed-circuit .orb integration */
14
- drawEvent?: string;
15
- /** Target frames per second */
16
- fps?: number;
17
- /** Background image asset */
18
- backgroundImage?: Asset;
19
- /** Base URL prefix for asset URLs */
20
- assetBaseUrl?: AssetUrl;
21
- /** Additional CSS classes */
22
- className?: string;
23
- }
24
- export declare function GameCanvas2D({ width, height, onDraw, onTick, tickEvent, drawEvent, fps, backgroundImage, assetBaseUrl, className, }: GameCanvas2DProps): import("react/jsx-runtime").JSX.Element;
25
- export declare namespace GameCanvas2D {
26
- var displayName: string;
27
- }
@@ -1,57 +0,0 @@
1
- import type { EventPayload } from "@almadar/core";
2
- import { type IconInput } from "../../core/atoms/Icon";
3
- import { type EventBusContextType } from "../../../hooks/useEventBus";
4
- export interface GameOverStat {
5
- /** Stat label */
6
- label: string;
7
- /** Stat value (required if bind is not provided) */
8
- value?: number | string;
9
- /**
10
- * Schema-style data binding (e.g., "player.score").
11
- * Alternative to value - used when stats come from schema render_ui effects.
12
- * Component will display 0 as placeholder since runtime binding is not implemented.
13
- */
14
- bind?: string;
15
- /** Display format */
16
- format?: "number" | "time" | "text";
17
- /** Icon */
18
- icon?: IconInput;
19
- }
20
- export type GameOverAction = EventPayload & {
21
- /** Display label */
22
- label: string;
23
- /** Event to emit on click */
24
- event?: string;
25
- /** Page to navigate to */
26
- navigatesTo?: string;
27
- /** Button variant */
28
- variant?: "primary" | "secondary" | "ghost";
29
- };
30
- export interface GameOverScreenProps {
31
- /** Screen title (e.g., "Game Over", "Victory!") */
32
- title: string;
33
- /** Optional message */
34
- message?: string;
35
- /** Stats to display */
36
- stats?: GameOverStat[];
37
- /** Action buttons */
38
- actions?: GameOverAction[];
39
- /** Alias for actions (schema compatibility) */
40
- menuItems?: GameOverAction[];
41
- /** Called when an action is selected (legacy callback, prefer event bus) */
42
- onAction?: (action: GameOverAction) => void;
43
- /** Event bus for emitting UI events (optional, uses hook if not provided) */
44
- eventBus?: EventBusContextType;
45
- /** Victory or defeat variant */
46
- variant?: "victory" | "defeat" | "neutral";
47
- /** High score (optional, shows "NEW HIGH SCORE!" if exceeded) */
48
- highScore?: number | string;
49
- /** Current score for high score comparison (accepts string for schema bindings) */
50
- currentScore?: number | string;
51
- /** Additional CSS classes */
52
- className?: string;
53
- }
54
- export declare function GameOverScreen({ title, message, stats, actions, menuItems, onAction, eventBus: eventBusProp, variant, highScore, currentScore, className, }: GameOverScreenProps): import("react/jsx-runtime").JSX.Element;
55
- export declare namespace GameOverScreen {
56
- var displayName: string;
57
- }
@@ -1,31 +0,0 @@
1
- import type { IconInput } from '../../core/atoms';
2
- import type { Asset } from '@almadar/core';
3
- export interface HealthEffect {
4
- icon: IconInput;
5
- /** Sprite asset — takes precedence over icon when provided */
6
- assetUrl?: Asset;
7
- label?: string;
8
- variant?: 'buff' | 'debuff' | 'neutral';
9
- }
10
- export interface HealthPanelProps {
11
- /** Current health value */
12
- current: number;
13
- /** Maximum health value */
14
- max: number;
15
- /** Shield/armor points */
16
- shield?: number;
17
- /** Label shown above the bar */
18
- label?: string;
19
- /** Active status effects displayed as small badges */
20
- effects?: HealthEffect[];
21
- /** Whether to display numeric HP values */
22
- showNumbers?: boolean;
23
- /** Size variant */
24
- size?: 'sm' | 'md' | 'lg';
25
- /** Additional CSS classes */
26
- className?: string;
27
- }
28
- export declare function HealthPanel({ current, max, shield, label, effects, showNumbers, size, className, }: HealthPanelProps): import("react/jsx-runtime").JSX.Element;
29
- export declare namespace HealthPanel {
30
- var displayName: string;
31
- }