@almadar/ui 2.14.0 → 2.15.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 (407) hide show
  1. package/dist/{chunk-M7MOIE46.js → chunk-4KP6IZEQ.js} +1 -1
  2. package/dist/{chunk-SKWPSQHQ.js → chunk-YPY74G7F.js} +16 -8
  3. package/dist/components/atoms/AnimatedCounter.d.ts +20 -0
  4. package/dist/components/atoms/Avatar.d.ts +58 -0
  5. package/dist/components/atoms/Badge.d.ts +14 -0
  6. package/dist/components/atoms/Box.d.ts +57 -0
  7. package/dist/components/atoms/Button.d.ts +24 -0
  8. package/dist/components/atoms/Card.d.ts +18 -0
  9. package/dist/components/atoms/Center.d.ts +33 -0
  10. package/dist/components/atoms/Checkbox.d.ts +9 -0
  11. package/dist/components/atoms/ConditionalWrapper.d.ts +68 -0
  12. package/dist/components/atoms/ConfettiEffect.d.ts +19 -0
  13. package/dist/components/atoms/DayCell.d.ts +21 -0
  14. package/dist/components/atoms/Divider.d.ts +29 -0
  15. package/dist/components/atoms/FlipContainer.d.ts +21 -0
  16. package/dist/components/atoms/Icon.d.ts +39 -0
  17. package/dist/components/atoms/InfiniteScrollSentinel.d.ts +23 -0
  18. package/dist/components/atoms/Input.d.ts +26 -0
  19. package/dist/components/atoms/Label.d.ts +5 -0
  20. package/dist/components/atoms/LawReferenceTooltip.d.ts +48 -0
  21. package/dist/components/atoms/Overlay.d.ts +16 -0
  22. package/dist/components/atoms/ProgressBar.d.ts +63 -0
  23. package/dist/components/atoms/Radio.d.ts +26 -0
  24. package/dist/components/atoms/RangeSlider.d.ts +31 -0
  25. package/dist/components/atoms/Select.d.ts +12 -0
  26. package/dist/components/atoms/Spacer.d.ts +25 -0
  27. package/dist/components/atoms/Spinner.d.ts +6 -0
  28. package/dist/components/atoms/Stack.d.ts +66 -0
  29. package/dist/components/atoms/StatusDot.d.ts +14 -0
  30. package/dist/components/atoms/Switch.d.ts +12 -0
  31. package/dist/components/atoms/TextHighlight.d.ts +53 -0
  32. package/dist/components/atoms/Textarea.d.ts +5 -0
  33. package/dist/components/atoms/ThemeSelector.d.ts +21 -0
  34. package/dist/components/atoms/ThemeToggle.d.ts +33 -0
  35. package/dist/components/atoms/TimeSlotCell.d.ts +23 -0
  36. package/dist/components/atoms/TrendIndicator.d.ts +18 -0
  37. package/dist/components/atoms/TypewriterText.d.ts +20 -0
  38. package/dist/components/atoms/Typography.d.ts +57 -0
  39. package/dist/components/atoms/game/ActionButton.d.ts +25 -0
  40. package/dist/components/atoms/game/ChoiceButton.d.ts +18 -0
  41. package/dist/components/atoms/game/ComboCounter.d.ts +16 -0
  42. package/dist/components/atoms/game/ControlButton.d.ts +31 -0
  43. package/dist/components/atoms/game/DamageNumber.d.ts +14 -0
  44. package/dist/components/atoms/game/DialogueBubble.d.ts +16 -0
  45. package/dist/components/atoms/game/HealthBar.d.ts +18 -0
  46. package/dist/components/atoms/game/ItemSlot.d.ts +25 -0
  47. package/dist/components/atoms/game/MiniMap.d.ts +36 -0
  48. package/dist/components/atoms/game/ResourceCounter.d.ts +21 -0
  49. package/dist/components/atoms/game/ScoreDisplay.d.ts +21 -0
  50. package/dist/components/atoms/game/Sprite.d.ts +63 -0
  51. package/dist/components/atoms/game/StateIndicator.d.ts +31 -0
  52. package/dist/components/atoms/game/StatusEffect.d.ts +21 -0
  53. package/dist/components/atoms/game/TimerDisplay.d.ts +18 -0
  54. package/dist/components/atoms/game/TurnIndicator.d.ts +18 -0
  55. package/dist/components/atoms/game/WaypointMarker.d.ts +19 -0
  56. package/dist/components/atoms/game/XPBar.d.ts +20 -0
  57. package/dist/components/atoms/game/index.d.ts +25 -0
  58. package/dist/components/atoms/index.d.ts +37 -0
  59. package/dist/components/index.d.ts +6 -0
  60. package/dist/components/index.js +2 -2
  61. package/dist/components/molecules/Accordion.d.ts +67 -0
  62. package/dist/components/molecules/Alert.d.ts +24 -0
  63. package/dist/components/molecules/Breadcrumb.d.ts +55 -0
  64. package/dist/components/molecules/ButtonGroup.d.ts +67 -0
  65. package/dist/components/molecules/CalendarGrid.d.ts +43 -0
  66. package/dist/components/molecules/Card.d.ts +56 -0
  67. package/dist/components/molecules/Carousel.d.ts +31 -0
  68. package/dist/components/molecules/ChartLegend.d.ts +20 -0
  69. package/dist/components/molecules/Container.d.ts +30 -0
  70. package/dist/components/molecules/DataGrid.d.ts +75 -0
  71. package/dist/components/molecules/DataList.d.ts +95 -0
  72. package/dist/components/molecules/DateRangeSelector.d.ts +22 -0
  73. package/dist/components/molecules/Drawer.d.ts +46 -0
  74. package/dist/components/molecules/EmptyState.d.ts +25 -0
  75. package/dist/components/molecules/ErrorBoundary.d.ts +55 -0
  76. package/dist/components/molecules/ErrorState.d.ts +13 -0
  77. package/dist/components/molecules/FilterGroup.d.ts +54 -0
  78. package/dist/components/molecules/Flex.d.ts +43 -0
  79. package/dist/components/molecules/FlipCard.d.ts +25 -0
  80. package/dist/components/molecules/FloatingActionButton.d.ts +69 -0
  81. package/dist/components/molecules/FormField.d.ts +16 -0
  82. package/dist/components/molecules/FormSectionHeader.d.ts +30 -0
  83. package/dist/components/molecules/GraphView.d.ts +45 -0
  84. package/dist/components/molecules/Grid.d.ts +54 -0
  85. package/dist/components/molecules/InputGroup.d.ts +24 -0
  86. package/dist/components/molecules/Lightbox.d.ts +25 -0
  87. package/dist/components/molecules/LineChart.d.ts +33 -0
  88. package/dist/components/molecules/LoadingState.d.ts +7 -0
  89. package/dist/components/molecules/MapView.d.ts +40 -0
  90. package/dist/components/molecules/Menu.d.ts +40 -0
  91. package/dist/components/molecules/Meter.d.ts +51 -0
  92. package/dist/components/molecules/Modal.d.ts +28 -0
  93. package/dist/components/molecules/NumberStepper.d.ts +27 -0
  94. package/dist/components/molecules/Pagination.d.ts +66 -0
  95. package/dist/components/molecules/Popover.d.ts +39 -0
  96. package/dist/components/molecules/ProgressDots.d.ts +24 -0
  97. package/dist/components/molecules/PullToRefresh.d.ts +21 -0
  98. package/dist/components/molecules/QuizBlock.d.ts +20 -0
  99. package/dist/components/molecules/RelationSelect.d.ts +48 -0
  100. package/dist/components/molecules/RepeatableFormSection.d.ts +58 -0
  101. package/dist/components/molecules/ScaledDiagram.d.ts +20 -0
  102. package/dist/components/molecules/SearchInput.d.ts +60 -0
  103. package/dist/components/molecules/SidePanel.d.ts +47 -0
  104. package/dist/components/molecules/SimpleGrid.d.ts +27 -0
  105. package/dist/components/molecules/Skeleton.d.ts +35 -0
  106. package/dist/components/molecules/SortableList.d.ts +17 -0
  107. package/dist/components/molecules/StarRating.d.ts +26 -0
  108. package/dist/components/molecules/StatDisplay.d.ts +37 -0
  109. package/dist/components/molecules/SwipeableRow.d.ts +24 -0
  110. package/dist/components/molecules/Tabs.d.ts +45 -0
  111. package/dist/components/molecules/Toast.d.ts +35 -0
  112. package/dist/components/molecules/Tooltip.d.ts +25 -0
  113. package/dist/components/molecules/UploadDropZone.d.ts +26 -0
  114. package/dist/components/molecules/ViolationAlert.d.ts +49 -0
  115. package/dist/components/molecules/WizardNavigation.d.ts +51 -0
  116. package/dist/components/molecules/WizardProgress.d.ts +42 -0
  117. package/dist/components/molecules/game/ActionButtons.d.ts +34 -0
  118. package/dist/components/molecules/game/CombatLog.d.ts +30 -0
  119. package/dist/components/molecules/game/CraftingRecipe.d.ts +33 -0
  120. package/dist/components/molecules/game/DPad.d.ts +22 -0
  121. package/dist/components/molecules/game/DialogueBox.d.ts +78 -0
  122. package/dist/components/molecules/game/EnemyPlate.d.ts +27 -0
  123. package/dist/components/molecules/game/GameCanvas2D.d.ts +18 -0
  124. package/dist/components/molecules/game/GameHud.d.ts +49 -0
  125. package/dist/components/molecules/game/GameMenu.d.ts +43 -0
  126. package/dist/components/molecules/game/GameOverScreen.d.ts +56 -0
  127. package/dist/components/molecules/game/HealthPanel.d.ts +27 -0
  128. package/dist/components/molecules/game/InventoryGrid.d.ts +30 -0
  129. package/dist/components/molecules/game/InventoryPanel.d.ts +67 -0
  130. package/dist/components/molecules/game/IsometricCanvas.d.ts +127 -0
  131. package/dist/components/molecules/game/PlatformerCanvas.d.ts +52 -0
  132. package/dist/components/molecules/game/PowerupSlots.d.ts +23 -0
  133. package/dist/components/molecules/game/QuestTracker.d.ts +20 -0
  134. package/dist/components/molecules/game/ResourceBar.d.ts +23 -0
  135. package/dist/components/molecules/game/ScoreBoard.d.ts +18 -0
  136. package/dist/components/molecules/game/StatBadge.d.ts +27 -0
  137. package/dist/components/molecules/game/TurnPanel.d.ts +29 -0
  138. package/dist/components/molecules/game/UnitCommandBar.d.ts +25 -0
  139. package/dist/components/molecules/game/index.d.ts +30 -0
  140. package/dist/components/molecules/index.d.ts +59 -0
  141. package/dist/components/molecules/markdown/CodeBlock.d.ts +25 -0
  142. package/dist/components/molecules/markdown/MarkdownContent.d.ts +26 -0
  143. package/dist/components/molecules/markdown/index.d.ts +2 -0
  144. package/dist/components/organisms/CardGrid.d.ts +80 -0
  145. package/dist/components/organisms/Chart.d.ts +59 -0
  146. package/dist/components/organisms/CodeViewer.d.ts +67 -0
  147. package/dist/components/organisms/ComponentPatterns.d.ts +453 -0
  148. package/dist/components/organisms/ConfirmDialog.d.ts +50 -0
  149. package/dist/components/organisms/ContentRenderer.d.ts +23 -0
  150. package/dist/components/organisms/CustomPattern.d.ts +104 -0
  151. package/dist/components/organisms/DataTable.d.ts +67 -0
  152. package/dist/components/organisms/DetailPanel.d.ts +78 -0
  153. package/dist/components/organisms/DocumentViewer.d.ts +60 -0
  154. package/dist/components/organisms/DrawerSlot.d.ts +39 -0
  155. package/dist/components/organisms/Form.d.ts +206 -0
  156. package/dist/components/organisms/FormSection.d.ts +41 -0
  157. package/dist/components/organisms/GraphCanvas.d.ts +69 -0
  158. package/dist/components/organisms/Header.d.ts +110 -0
  159. package/dist/components/organisms/JazariStateMachine.d.ts +60 -0
  160. package/dist/components/organisms/LayoutPatterns.d.ts +181 -0
  161. package/dist/components/organisms/List.d.ts +78 -0
  162. package/dist/components/organisms/MasterDetail.d.ts +32 -0
  163. package/dist/components/organisms/MediaGallery.d.ts +57 -0
  164. package/dist/components/organisms/Meter.d.ts +58 -0
  165. package/dist/components/organisms/ModalSlot.d.ts +35 -0
  166. package/dist/components/organisms/Navigation.d.ts +68 -0
  167. package/dist/components/organisms/NotifyListener.d.ts +15 -0
  168. package/dist/components/organisms/OrbitalVisualization.d.ts +48 -0
  169. package/dist/components/organisms/PageHeader.d.ts +59 -0
  170. package/dist/components/organisms/Section.d.ts +44 -0
  171. package/dist/components/organisms/Sidebar.d.ts +63 -0
  172. package/dist/components/organisms/SignaturePad.d.ts +44 -0
  173. package/dist/components/organisms/Split.d.ts +42 -0
  174. package/dist/components/organisms/StatCard.d.ts +62 -0
  175. package/dist/components/organisms/StateMachineView.d.ts +36 -0
  176. package/dist/components/organisms/Table.d.ts +99 -0
  177. package/dist/components/organisms/Timeline.d.ts +49 -0
  178. package/dist/components/organisms/ToastSlot.d.ts +38 -0
  179. package/dist/components/organisms/UISlotRenderer.d.ts +112 -0
  180. package/dist/components/organisms/WizardContainer.d.ts +160 -0
  181. package/dist/components/organisms/book/BookChapterView.d.ts +17 -0
  182. package/dist/components/organisms/book/BookCoverPage.d.ts +20 -0
  183. package/dist/components/organisms/book/BookNavBar.d.ts +19 -0
  184. package/dist/components/organisms/book/BookTableOfContents.d.ts +18 -0
  185. package/dist/components/organisms/book/BookViewer.d.ts +28 -0
  186. package/dist/components/organisms/book/index.d.ts +7 -0
  187. package/dist/components/organisms/book/types.d.ts +77 -0
  188. package/dist/components/organisms/component-registry.generated.d.ts +9 -0
  189. package/dist/components/organisms/debug/RuntimeDebugger.d.ts +19 -0
  190. package/dist/components/organisms/debug/hooks/useDebugData.d.ts +25 -0
  191. package/dist/components/organisms/debug/index.d.ts +13 -0
  192. package/dist/components/organisms/debug/tabs/EntitiesTab.d.ts +13 -0
  193. package/dist/components/organisms/debug/tabs/EventDispatcherTab.d.ts +16 -0
  194. package/dist/components/organisms/debug/tabs/EventFlowTab.d.ts +9 -0
  195. package/dist/components/organisms/debug/tabs/GuardsPanel.d.ts +9 -0
  196. package/dist/components/organisms/debug/tabs/ServerBridgeTab.d.ts +9 -0
  197. package/dist/components/organisms/debug/tabs/TicksTab.d.ts +13 -0
  198. package/dist/components/organisms/debug/tabs/TraitsTab.d.ts +13 -0
  199. package/dist/components/organisms/debug/tabs/TransitionTimeline.d.ts +9 -0
  200. package/dist/components/organisms/debug/tabs/VerificationTab.d.ts +10 -0
  201. package/dist/components/organisms/game/BattleBoard.d.ts +175 -0
  202. package/dist/components/organisms/game/CanvasEffect.d.ts +68 -0
  203. package/dist/components/organisms/game/CastleBoard.d.ts +85 -0
  204. package/dist/components/organisms/game/CombatLog.d.ts +2 -0
  205. package/dist/components/organisms/game/DialogueBox.d.ts +2 -0
  206. package/dist/components/organisms/game/GameAudioProvider.d.ts +47 -0
  207. package/dist/components/organisms/game/GameAudioToggle.d.ts +28 -0
  208. package/dist/components/organisms/game/GameCanvas3D.d.ts +181 -0
  209. package/dist/components/organisms/game/GameHud.d.ts +2 -0
  210. package/dist/components/organisms/game/GameMenu.d.ts +2 -0
  211. package/dist/components/organisms/game/GameOverScreen.d.ts +2 -0
  212. package/dist/components/organisms/game/InventoryPanel.d.ts +2 -0
  213. package/dist/components/organisms/game/IsometricCanvas.d.ts +3 -0
  214. package/dist/components/organisms/game/PlatformerCanvas.d.ts +2 -0
  215. package/dist/components/organisms/game/TraitSlot.d.ts +90 -0
  216. package/dist/components/organisms/game/TraitStateViewer.d.ts +53 -0
  217. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +26 -0
  218. package/dist/components/organisms/game/WorldMapBoard.d.ts +156 -0
  219. package/dist/components/organisms/game/editor/editorUtils.d.ts +109 -0
  220. package/dist/components/organisms/game/editor/index.d.ts +9 -0
  221. package/dist/components/organisms/game/hooks/useBattleState.d.ts +35 -0
  222. package/dist/components/organisms/game/hooks/useCamera.d.ts +41 -0
  223. package/dist/components/organisms/game/hooks/useGameAudio.d.ts +47 -0
  224. package/dist/components/organisms/game/hooks/useImageCache.d.ts +16 -0
  225. package/dist/components/organisms/game/hooks/usePhysics2D.d.ts +45 -0
  226. package/dist/components/organisms/game/hooks/useSpriteAnimations.d.ts +43 -0
  227. package/dist/components/organisms/game/index.d.ts +52 -0
  228. package/dist/components/organisms/game/managers/PhysicsManager.d.ts +103 -0
  229. package/dist/components/organisms/game/physics-sim/SimulationCanvas.d.ts +20 -0
  230. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +28 -0
  231. package/dist/components/organisms/game/physics-sim/SimulationGraph.d.ts +25 -0
  232. package/dist/components/organisms/game/physics-sim/index.d.ts +7 -0
  233. package/dist/components/organisms/game/physics-sim/presets/index.d.ts +4 -0
  234. package/dist/components/organisms/game/physics-sim/presets/mechanics.d.ts +4 -0
  235. package/dist/components/organisms/game/physics-sim/presets/types.d.ts +43 -0
  236. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +52 -0
  237. package/dist/components/organisms/game/puzzles/builder/index.d.ts +2 -0
  238. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +53 -0
  239. package/dist/components/organisms/game/puzzles/classifier/index.d.ts +2 -0
  240. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +45 -0
  241. package/dist/components/organisms/game/puzzles/debugger/index.d.ts +2 -0
  242. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +55 -0
  243. package/dist/components/organisms/game/puzzles/event-handler/EventLog.d.ts +31 -0
  244. package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts +45 -0
  245. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +41 -0
  246. package/dist/components/organisms/game/puzzles/event-handler/index.d.ts +8 -0
  247. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +54 -0
  248. package/dist/components/organisms/game/puzzles/negotiator/index.d.ts +2 -0
  249. package/dist/components/organisms/game/puzzles/sequencer/ActionPalette.d.ts +34 -0
  250. package/dist/components/organisms/game/puzzles/sequencer/ActionTile.d.ts +30 -0
  251. package/dist/components/organisms/game/puzzles/sequencer/SequenceBar.d.ts +41 -0
  252. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +72 -0
  253. package/dist/components/organisms/game/puzzles/sequencer/index.d.ts +8 -0
  254. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +54 -0
  255. package/dist/components/organisms/game/puzzles/simulator/index.d.ts +2 -0
  256. package/dist/components/organisms/game/puzzles/state-architect/CodeView.d.ts +24 -0
  257. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +76 -0
  258. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +33 -0
  259. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +36 -0
  260. package/dist/components/organisms/game/puzzles/state-architect/VariablePanel.d.ts +28 -0
  261. package/dist/components/organisms/game/puzzles/state-architect/index.d.ts +10 -0
  262. package/dist/components/organisms/game/three/Camera3D.d.ts +60 -0
  263. package/dist/components/organisms/game/three/Lighting3D.d.ts +47 -0
  264. package/dist/components/organisms/game/three/Scene3D.d.ts +37 -0
  265. package/dist/components/organisms/game/three/components/Canvas3DErrorBoundary.d.ts +51 -0
  266. package/dist/components/organisms/game/three/components/Canvas3DLoadingState.d.ts +44 -0
  267. package/dist/components/organisms/game/three/components/ModelLoader.d.ts +44 -0
  268. package/dist/components/organisms/game/three/components/PhysicsObject3D.d.ts +74 -0
  269. package/dist/components/organisms/game/three/components/index.d.ts +10 -0
  270. package/dist/components/organisms/game/three/hooks/useAssetLoader.d.ts +58 -0
  271. package/dist/components/organisms/game/three/hooks/useGameCanvas3DEvents.d.ts +79 -0
  272. package/dist/components/organisms/game/three/hooks/useRaycaster.d.ts +86 -0
  273. package/dist/components/organisms/game/three/hooks/useSceneGraph.d.ts +66 -0
  274. package/dist/components/organisms/game/three/hooks/useThree.d.ts +58 -0
  275. package/dist/components/organisms/game/three/index.d.ts +23 -0
  276. package/dist/components/organisms/game/three/loaders/AssetLoader.d.ts +80 -0
  277. package/dist/components/organisms/game/three/renderers/FeatureRenderer.d.ts +44 -0
  278. package/dist/components/organisms/game/three/renderers/FeatureRenderer3D.d.ts +44 -0
  279. package/dist/components/organisms/game/three/renderers/TileRenderer.d.ts +57 -0
  280. package/dist/components/organisms/game/three/renderers/UnitRenderer.d.ts +46 -0
  281. package/dist/components/organisms/game/three/renderers/index.d.ts +11 -0
  282. package/dist/components/organisms/game/three/utils/culling.d.ts +134 -0
  283. package/dist/components/organisms/game/three/utils/grid3D.d.ts +154 -0
  284. package/dist/components/organisms/game/types/effects.d.ts +253 -0
  285. package/dist/components/organisms/game/types/game.d.ts +92 -0
  286. package/dist/components/organisms/game/types/isometric.d.ts +109 -0
  287. package/dist/components/organisms/game/types/spriteAnimation.d.ts +73 -0
  288. package/dist/components/organisms/game/useCanvasEffects.d.ts +26 -0
  289. package/dist/components/organisms/game/utils/canvasEffects.d.ts +50 -0
  290. package/dist/components/organisms/game/utils/combatEffects.d.ts +64 -0
  291. package/dist/components/organisms/game/utils/combatPresets.d.ts +15 -0
  292. package/dist/components/organisms/game/utils/isometric.d.ts +61 -0
  293. package/dist/components/organisms/game/utils/spriteAnimation.d.ts +57 -0
  294. package/dist/components/organisms/game/utils/spriteSheetConstants.d.ts +16 -0
  295. package/dist/components/organisms/index.d.ts +38 -0
  296. package/dist/components/organisms/layout/DashboardGrid.d.ts +35 -0
  297. package/dist/components/organisms/layout/MasterDetail.d.ts +32 -0
  298. package/dist/components/organisms/layout/SplitPane.d.ts +34 -0
  299. package/dist/components/organisms/layout/TabbedContainer.d.ts +42 -0
  300. package/dist/components/organisms/layout/index.d.ts +9 -0
  301. package/dist/components/organisms/types.d.ts +63 -0
  302. package/dist/components/templates/AuthLayout.d.ts +14 -0
  303. package/dist/components/templates/BattleTemplate.d.ts +25 -0
  304. package/dist/components/templates/CastleTemplate.d.ts +23 -0
  305. package/dist/components/templates/CounterTemplate.d.ts +44 -0
  306. package/dist/components/templates/DashboardLayout.d.ts +34 -0
  307. package/dist/components/templates/GameCanvas3DBattleTemplate.d.ts +96 -0
  308. package/dist/components/templates/GameCanvas3DCastleTemplate.d.ts +90 -0
  309. package/dist/components/templates/GameCanvas3DWorldMapTemplate.d.ts +96 -0
  310. package/dist/components/templates/GameShell.d.ts +34 -0
  311. package/dist/components/templates/GameTemplate.d.ts +36 -0
  312. package/dist/components/templates/GenericAppTemplate.d.ts +30 -0
  313. package/dist/components/templates/WorldMapTemplate.d.ts +29 -0
  314. package/dist/components/templates/index.d.ts +10 -0
  315. package/dist/components/templates/types.d.ts +22 -0
  316. package/dist/context/DesignThemeContext.d.ts +21 -0
  317. package/dist/context/ThemeContext.d.ts +104 -0
  318. package/dist/context/UISlotContext.d.ts +75 -0
  319. package/dist/context/UserContext.d.ts +111 -0
  320. package/dist/context/index.d.ts +8 -0
  321. package/dist/hooks/event-bus-types.d.ts +71 -0
  322. package/dist/hooks/index.d.ts +31 -0
  323. package/dist/hooks/useAgentChat.d.ts +104 -0
  324. package/dist/hooks/useAuthContext.d.ts +25 -0
  325. package/dist/hooks/useCompile.d.ts +22 -0
  326. package/dist/hooks/useDeepAgentGeneration.d.ts +46 -0
  327. package/dist/hooks/useDragReorder.d.ts +26 -0
  328. package/dist/hooks/useEntities.d.ts +52 -0
  329. package/dist/hooks/useEntityData.d.ts +155 -0
  330. package/dist/hooks/useEntityMutations.d.ts +80 -0
  331. package/dist/hooks/useEventBus.d.ts +96 -0
  332. package/dist/hooks/useExtensions.d.ts +32 -0
  333. package/dist/hooks/useFileEditor.d.ts +32 -0
  334. package/dist/hooks/useFileSystem.d.ts +40 -0
  335. package/dist/hooks/useGitHub.d.ts +58 -0
  336. package/dist/hooks/useInfiniteScroll.d.ts +13 -0
  337. package/dist/hooks/useLongPress.d.ts +16 -0
  338. package/dist/hooks/useOrbitalHistory.d.ts +39 -0
  339. package/dist/hooks/useOrbitalMutations.d.ts +95 -0
  340. package/dist/hooks/usePinchZoom.d.ts +22 -0
  341. package/dist/hooks/usePreview.d.ts +57 -0
  342. package/dist/hooks/usePullToRefresh.d.ts +25 -0
  343. package/dist/hooks/useQuerySingleton.d.ts +78 -0
  344. package/dist/hooks/useResolvedEntity.d.ts +32 -0
  345. package/dist/hooks/useSwipeGesture.d.ts +26 -0
  346. package/dist/hooks/useTranslate.d.ts +35 -0
  347. package/dist/hooks/useUIEvents.d.ts +35 -0
  348. package/dist/hooks/useUISlots.d.ts +84 -0
  349. package/dist/hooks/useValidation.d.ts +46 -0
  350. package/dist/lib/api-client.d.ts +42 -0
  351. package/dist/lib/cn.d.ts +6 -0
  352. package/dist/lib/debug.d.ts +43 -0
  353. package/dist/lib/debugRegistry.d.ts +29 -0
  354. package/dist/lib/debugUtils.d.ts +27 -0
  355. package/dist/lib/entityDebug.d.ts +38 -0
  356. package/dist/lib/getNestedValue.d.ts +33 -0
  357. package/dist/lib/guardRegistry.d.ts +32 -0
  358. package/dist/lib/index.d.ts +18 -0
  359. package/dist/lib/jazari/index.d.ts +5 -0
  360. package/dist/lib/jazari/layout.d.ts +30 -0
  361. package/dist/lib/jazari/svg-paths.d.ts +61 -0
  362. package/dist/lib/jazari/types.d.ts +91 -0
  363. package/dist/lib/parseContentSegments.d.ts +41 -0
  364. package/dist/lib/tickRegistry.d.ts +40 -0
  365. package/dist/lib/traitRegistry.d.ts +34 -0
  366. package/dist/lib/verificationRegistry.d.ts +138 -0
  367. package/dist/lib/visualizer/browser.d.ts +47 -0
  368. package/dist/lib/visualizer/index.d.ts +143 -0
  369. package/dist/locales/index.d.ts +20 -0
  370. package/dist/providers/EventBusProvider.d.ts +60 -0
  371. package/dist/providers/FetchedDataProvider.d.ts +105 -0
  372. package/dist/providers/OfflineModeProvider.d.ts +79 -0
  373. package/dist/providers/OrbitalProvider.d.ts +101 -0
  374. package/dist/providers/SelectionProvider.d.ts +81 -0
  375. package/dist/providers/VerificationProvider.d.ts +63 -0
  376. package/dist/providers/index.d.ts +17 -0
  377. package/dist/providers/index.js +2 -2
  378. package/dist/renderer/client-effect-executor.d.ts +68 -0
  379. package/dist/renderer/data-resolver.d.ts +68 -0
  380. package/dist/renderer/index.d.ts +28 -0
  381. package/dist/renderer/init.d.ts +14 -0
  382. package/dist/renderer/navigation.d.ts +142 -0
  383. package/dist/renderer/offline-executor.d.ts +238 -0
  384. package/dist/renderer/pattern-resolver.d.ts +91 -0
  385. package/dist/renderer/slot-definitions.d.ts +45 -0
  386. package/dist/renderer/types.d.ts +160 -0
  387. package/dist/renderer/useClientEffects.d.ts +88 -0
  388. package/dist/runtime/EntitySchemaContext.d.ts +40 -0
  389. package/dist/runtime/TraitProvider.d.ts +52 -0
  390. package/dist/runtime/createClientEffectHandlers.d.ts +23 -0
  391. package/dist/runtime/index.d.ts +15 -0
  392. package/dist/runtime/index.js +2 -2
  393. package/dist/runtime/types.d.ts +10 -0
  394. package/dist/runtime/ui/SlotsContext.d.ts +71 -0
  395. package/dist/runtime/useResolvedSchema.d.ts +45 -0
  396. package/dist/runtime/useTraitStateMachine.d.ts +48 -0
  397. package/dist/scripts/generate-design-system.d.ts +29 -0
  398. package/dist/scripts/generate-theme-from-schema.d.ts +10 -0
  399. package/dist/scripts/generate.d.ts +12 -0
  400. package/dist/scripts/suggest-components.d.ts +31 -0
  401. package/dist/scripts/types.d.ts +129 -0
  402. package/dist/stores/entityStore.d.ts +99 -0
  403. package/dist/stores/filtering.d.ts +51 -0
  404. package/dist/stores/index.d.ts +7 -0
  405. package/dist/tsup.config.d.ts +2 -0
  406. package/dist/vitest.config.d.ts +2 -0
  407. package/package.json +2 -2
@@ -0,0 +1,175 @@
1
+ /**
2
+ * BattleBoard
3
+ *
4
+ * Core rendering organism for turn-based battles.
5
+ *
6
+ * This is a **controlled-only** component: all game state (units, phase,
7
+ * turn, gameResult, selectedUnitId) must be provided via the `entity` prop.
8
+ * User interactions are communicated via event bus emissions so the parent
9
+ * (typically an Orbital trait or the `useBattleState` hook) can manage
10
+ * state transitions.
11
+ *
12
+ * For a self-managing version, use `UncontrolledBattleBoard` which
13
+ * composes this component with the `useBattleState` hook.
14
+ *
15
+ * Animation-only state (movement interpolation, screen shake, hover) is
16
+ * always managed locally.
17
+ *
18
+ * @packageDocumentation
19
+ */
20
+ import React from 'react';
21
+ import type { EntityDisplayProps } from '../types';
22
+ import type { IsometricTile, IsometricFeature } from './types/isometric';
23
+ import type { ResolvedFrame } from './types/spriteAnimation';
24
+ /** Battle phases an encounter walks through */
25
+ export type BattlePhase = 'observation' | 'selection' | 'movement' | 'action' | 'enemy_turn' | 'game_over';
26
+ /** A unit participating in battle */
27
+ export interface BattleUnit {
28
+ id: string;
29
+ name: string;
30
+ unitType?: string;
31
+ heroId?: string;
32
+ sprite?: string;
33
+ /** Optional sprite sheet for animation (null = use static sprite) */
34
+ spriteSheet?: {
35
+ se: string;
36
+ sw: string;
37
+ frameWidth: number;
38
+ frameHeight: number;
39
+ } | null;
40
+ team: 'player' | 'enemy';
41
+ position: {
42
+ x: number;
43
+ y: number;
44
+ };
45
+ health: number;
46
+ maxHealth: number;
47
+ movement: number;
48
+ attack: number;
49
+ defense: number;
50
+ traits?: {
51
+ name: string;
52
+ currentState: string;
53
+ states: string[];
54
+ cooldown?: number;
55
+ }[];
56
+ }
57
+ /** Minimal tile for map generation */
58
+ export interface BattleTile {
59
+ x: number;
60
+ y: number;
61
+ terrain: string;
62
+ terrainSprite?: string;
63
+ }
64
+ /** Entity prop containing all board data.
65
+ *
66
+ * BattleBoard is **controlled-only**: all game-state fields (`units`, `phase`,
67
+ * `turn`, `gameResult`, `selectedUnitId`) must be provided. Mutations are
68
+ * communicated via event bus emissions — the component never calls `setState`
69
+ * for game-logic values.
70
+ *
71
+ * For a self-managing variant, use `UncontrolledBattleBoard`.
72
+ *
73
+ * Animation-only state (`movingPositions`, `isShaking`, `hoveredTile`) is
74
+ * always managed locally.
75
+ */
76
+ export interface BattleEntity {
77
+ id: string;
78
+ tiles: IsometricTile[];
79
+ features?: IsometricFeature[];
80
+ boardWidth?: number;
81
+ boardHeight?: number;
82
+ assetManifest?: {
83
+ baseUrl: string;
84
+ terrains?: Record<string, string>;
85
+ units?: Record<string, string>;
86
+ features?: Record<string, string>;
87
+ effects?: Record<string, string>;
88
+ };
89
+ backgroundImage?: string;
90
+ /** Current unit state. */
91
+ units: BattleUnit[];
92
+ /** Current battle phase. */
93
+ phase: BattlePhase;
94
+ /** Current turn number. */
95
+ turn: number;
96
+ /** Game result. `null` = still in progress. */
97
+ gameResult: 'victory' | 'defeat' | null;
98
+ /** Currently selected unit ID. */
99
+ selectedUnitId: string | null;
100
+ }
101
+ /** Context exposed to render-prop slots */
102
+ export interface BattleSlotContext {
103
+ phase: BattlePhase;
104
+ turn: number;
105
+ selectedUnit: BattleUnit | null;
106
+ hoveredUnit: BattleUnit | null;
107
+ playerUnits: BattleUnit[];
108
+ enemyUnits: BattleUnit[];
109
+ gameResult: 'victory' | 'defeat' | null;
110
+ onEndTurn: () => void;
111
+ onCancel: () => void;
112
+ onReset: () => void;
113
+ attackTargets: Array<{
114
+ x: number;
115
+ y: number;
116
+ }>;
117
+ /** Resolve screen position of a tile for overlays */
118
+ tileToScreen: (x: number, y: number) => {
119
+ x: number;
120
+ y: number;
121
+ };
122
+ }
123
+ export interface BattleBoardProps extends Omit<EntityDisplayProps, 'entity'> {
124
+ /** Entity containing all board data */
125
+ entity: BattleEntity;
126
+ /** Canvas render scale */
127
+ scale?: number;
128
+ /** Unit draw-size multiplier */
129
+ unitScale?: number;
130
+ /** Header area -- receives battle context */
131
+ header?: (ctx: BattleSlotContext) => React.ReactNode;
132
+ /** Sidebar content (combat log, unit roster, etc.) */
133
+ sidebar?: (ctx: BattleSlotContext) => React.ReactNode;
134
+ /** Floating action buttons */
135
+ actions?: (ctx: BattleSlotContext) => React.ReactNode;
136
+ /** Floating overlays above the canvas (damage popups, tooltips) */
137
+ overlay?: (ctx: BattleSlotContext) => React.ReactNode;
138
+ /** Game-over screen overlay */
139
+ gameOverOverlay?: (ctx: BattleSlotContext) => React.ReactNode;
140
+ /** Called when a unit attacks another */
141
+ onAttack?: (attacker: BattleUnit, target: BattleUnit, damage: number) => void;
142
+ /** Called when battle ends */
143
+ onGameEnd?: (result: 'victory' | 'defeat') => void;
144
+ /** Called after a unit moves */
145
+ onUnitMove?: (unit: BattleUnit, to: {
146
+ x: number;
147
+ y: number;
148
+ }) => void;
149
+ /** Custom combat damage calculator */
150
+ calculateDamage?: (attacker: BattleUnit, target: BattleUnit) => number;
151
+ onDrawEffects?: (ctx: CanvasRenderingContext2D, timestamp: number) => void;
152
+ hasActiveEffects?: boolean;
153
+ effectSpriteUrls?: string[];
154
+ resolveUnitFrame?: (unitId: string) => ResolvedFrame | null;
155
+ /** Emits UI:{tileClickEvent} with { x, y } on tile click */
156
+ tileClickEvent?: string;
157
+ /** Emits UI:{unitClickEvent} with { unitId } on unit click */
158
+ unitClickEvent?: string;
159
+ /** Emits UI:{endTurnEvent} with {} on end turn */
160
+ endTurnEvent?: string;
161
+ /** Emits UI:{cancelEvent} with {} on cancel */
162
+ cancelEvent?: string;
163
+ /** Emits UI:{gameEndEvent} with { result } on game end */
164
+ gameEndEvent?: string;
165
+ /** Emits UI:{playAgainEvent} with {} on play again / reset */
166
+ playAgainEvent?: string;
167
+ /** Emits UI:{attackEvent} with { attackerId, targetId, damage } on attack */
168
+ attackEvent?: string;
169
+ className?: string;
170
+ }
171
+ export declare function BattleBoard({ entity, scale, unitScale, header, sidebar, actions, overlay, gameOverOverlay, onAttack, onGameEnd, onUnitMove, calculateDamage, onDrawEffects, hasActiveEffects, effectSpriteUrls, resolveUnitFrame, tileClickEvent, unitClickEvent, endTurnEvent, cancelEvent, gameEndEvent, playAgainEvent, attackEvent, className, }: BattleBoardProps): React.JSX.Element;
172
+ export declare namespace BattleBoard {
173
+ var displayName: string;
174
+ }
175
+ export default BattleBoard;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * CanvasEffect Component
3
+ *
4
+ * Renders animated visual effects using a `<canvas>` element with
5
+ * sprite-based particles, frame-sequence animations, and overlays.
6
+ * This is a render-ui pattern that can be placed in any slot —
7
+ * it renders on top of whatever occupies that slot.
8
+ *
9
+ * Pattern: canvas-effect
10
+ *
11
+ * When an EffectAssetManifest is provided (via assetManifest prop),
12
+ * the component uses the full particle engine with tinted sprites.
13
+ * Without a manifest, it falls back to emoji-based rendering.
14
+ *
15
+ * **State categories (closed-circuit compliant):**
16
+ * - Configuration (actionType, position, duration, manifest) → received via props
17
+ * - Animation state (particles, shake, flash, RAF loop, phase timers) → local only
18
+ * - Completion event → emitted via `useEventBus()` for trait integration
19
+ *
20
+ * This is an **ephemeral fire-and-forget** animation component. All
21
+ * internal state is rendering-only (particle physics, screen shake decay,
22
+ * flash alpha, emoji phase timers). No game logic lives here.
23
+ *
24
+ * @packageDocumentation
25
+ */
26
+ import * as React from 'react';
27
+ import type { CombatActionType, EffectAssetManifest } from './types/effects';
28
+ export type { CombatActionType } from './types/effects';
29
+ export type { EffectAssetManifest } from './types/effects';
30
+ export interface CanvasEffectProps {
31
+ /** The type of combat action to visualise */
32
+ actionType: CombatActionType;
33
+ /** Screen-space X position (center of the effect) */
34
+ x: number;
35
+ /** Screen-space Y position (center of the effect) */
36
+ y: number;
37
+ /** Duration in ms before auto-dismiss (default 2000 for canvas, 800 for emoji) */
38
+ duration?: number;
39
+ /** Optional intensity multiplier (1 = normal, 2 = double size/brightness) */
40
+ intensity?: number;
41
+ /** Callback when the effect animation completes */
42
+ onComplete?: () => void;
43
+ /** Declarative event: emits UI:{completeEvent} when the effect animation completes */
44
+ completeEvent?: string;
45
+ /** Additional CSS classes */
46
+ className?: string;
47
+ /** Loading state indicator */
48
+ isLoading?: boolean;
49
+ /** Error state */
50
+ error?: Error | null;
51
+ /** Sprite URL for the effect (emoji fallback mode).
52
+ * When set without assetManifest, renders this image instead of emoji. */
53
+ effectSpriteUrl?: string;
54
+ /** Base URL for remote assets. Prepended to relative effectSpriteUrl paths. */
55
+ assetBaseUrl?: string;
56
+ /** Full effect asset manifest for the sprite particle engine.
57
+ * When provided, enables the canvas-based particle system. */
58
+ assetManifest?: EffectAssetManifest;
59
+ /** Canvas width (default 400) */
60
+ width?: number;
61
+ /** Canvas height (default 300) */
62
+ height?: number;
63
+ }
64
+ export declare function CanvasEffect(props: CanvasEffectProps): React.JSX.Element | null;
65
+ export declare namespace CanvasEffect {
66
+ var displayName: string;
67
+ }
68
+ export default CanvasEffect;
@@ -0,0 +1,85 @@
1
+ /**
2
+ * CastleBoard
3
+ *
4
+ * Self-contained castle / base-management game board organism. Encapsulates all
5
+ * isometric canvas rendering, hover/selection state, and slot-based layout.
6
+ * Designed to be consumed by CastleTemplate (thin wrapper) or embedded directly
7
+ * in any page that needs an isometric castle view.
8
+ *
9
+ * Accepts an `entity` prop conforming to `CastleEntity` and optional declarative
10
+ * event props (`featureClickEvent`, `unitClickEvent`, `tileClickEvent`) that
11
+ * emit through the Orbital event bus.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ import React from 'react';
16
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
17
+ /** Entity shape consumed by CastleBoard */
18
+ export interface CastleEntity {
19
+ id: string;
20
+ tiles: IsometricTile[];
21
+ features?: IsometricFeature[];
22
+ units?: IsometricUnit[];
23
+ assetManifest?: {
24
+ baseUrl: string;
25
+ terrains?: Record<string, string>;
26
+ units?: Record<string, string>;
27
+ features?: Record<string, string>;
28
+ };
29
+ backgroundImage?: string;
30
+ }
31
+ /** Context exposed to render-prop slots */
32
+ export interface CastleSlotContext {
33
+ /** Currently hovered tile coordinates (null when not hovering) */
34
+ hoveredTile: {
35
+ x: number;
36
+ y: number;
37
+ } | null;
38
+ /** Feature that sits on the hovered tile, if any */
39
+ hoveredFeature: IsometricFeature | null;
40
+ /** Unit that sits on the hovered tile, if any */
41
+ hoveredUnit: IsometricUnit | null;
42
+ /** The clicked feature (e.g. building) for detail view */
43
+ selectedFeature: IsometricFeature | null;
44
+ /** Clear selected feature */
45
+ clearSelection: () => void;
46
+ /** Resolve screen position for overlay positioning */
47
+ tileToScreen: (x: number, y: number) => {
48
+ x: number;
49
+ y: number;
50
+ };
51
+ /** Canvas scale */
52
+ scale: number;
53
+ }
54
+ export interface CastleBoardProps {
55
+ /** Castle entity data */
56
+ entity: CastleEntity;
57
+ /** Canvas render scale */
58
+ scale?: number;
59
+ /** Top bar / header */
60
+ header?: (ctx: CastleSlotContext) => React.ReactNode;
61
+ /** Side panel content (buildings list, recruit tab, garrison tab) */
62
+ sidePanel?: (ctx: CastleSlotContext) => React.ReactNode;
63
+ /** Canvas overlay (hover tooltips, etc.) */
64
+ overlay?: (ctx: CastleSlotContext) => React.ReactNode;
65
+ /** Bottom bar (income summary, etc.) */
66
+ footer?: (ctx: CastleSlotContext) => React.ReactNode;
67
+ /** Called when a feature (building) is clicked */
68
+ onFeatureClick?: (feature: IsometricFeature) => void;
69
+ /** Called when a unit is clicked */
70
+ onUnitClick?: (unit: IsometricUnit) => void;
71
+ /** Called when any tile is clicked */
72
+ onTileClick?: (x: number, y: number) => void;
73
+ /** Event name to emit via event bus when a feature is clicked (emits UI:{featureClickEvent}) */
74
+ featureClickEvent?: string;
75
+ /** Event name to emit via event bus when a unit is clicked (emits UI:{unitClickEvent}) */
76
+ unitClickEvent?: string;
77
+ /** Event name to emit via event bus when a tile is clicked (emits UI:{tileClickEvent}) */
78
+ tileClickEvent?: string;
79
+ className?: string;
80
+ }
81
+ export declare function CastleBoard({ entity, scale, header, sidePanel, overlay, footer, onFeatureClick, onUnitClick, onTileClick, featureClickEvent, unitClickEvent, tileClickEvent, className, }: CastleBoardProps): React.JSX.Element;
82
+ export declare namespace CastleBoard {
83
+ var displayName: string;
84
+ }
85
+ export default CastleBoard;
@@ -0,0 +1,2 @@
1
+ export { CombatLog } from '../../molecules/game/CombatLog';
2
+ export type { CombatLogProps, CombatEvent, CombatLogEventType } from '../../molecules/game/CombatLog';
@@ -0,0 +1,2 @@
1
+ export { DialogueBox } from '../../molecules/game/DialogueBox';
2
+ export type { DialogueBoxProps, DialogueNode, DialogueChoice } from '../../molecules/game/DialogueBox';
@@ -0,0 +1,47 @@
1
+ /**
2
+ * GameAudioProvider
3
+ *
4
+ * Context provider that wires the audio system to the Almadar event bus.
5
+ * Wrap your game organism with this provider, then emit:
6
+ *
7
+ * emit('UI:PLAY_SOUND', { key: 'footstep' })
8
+ *
9
+ * from anywhere inside the tree and the corresponding sound will play.
10
+ *
11
+ * The provider also exposes `muted`/`setMuted` and `masterVolume`/
12
+ * `setMasterVolume` via the `GameAudioContext` for toggle buttons.
13
+ *
14
+ * Closed-circuit props (`className`, `isLoading`, `error`, `entity`) are
15
+ * accepted but intentionally unused — the provider renders only its children.
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ import React from 'react';
20
+ import { type AudioManifest, type GameAudioControls } from './hooks/useGameAudio';
21
+ export type GameAudioContextValue = Pick<GameAudioControls, 'muted' | 'setMuted' | 'masterVolume' | 'setMasterVolume' | 'play' | 'playMusic' | 'stopMusic'>;
22
+ export declare const GameAudioContext: React.Context<GameAudioContextValue | null>;
23
+ /**
24
+ * Access the game audio context.
25
+ * Must be called from within a `<GameAudioProvider>` tree.
26
+ */
27
+ export declare function useGameAudioContext(): GameAudioContextValue;
28
+ export interface GameAudioProviderProps {
29
+ /** Sound manifest — keys mapped to SoundEntry definitions */
30
+ manifest: AudioManifest;
31
+ /** Base URL prepended to all sound paths (default '') */
32
+ baseUrl?: string;
33
+ /** Children to render */
34
+ children: React.ReactNode;
35
+ /** Initial muted state */
36
+ initialMuted?: boolean;
37
+ /** Closed-circuit props (unused, accepted for runtime compatibility) */
38
+ className?: string;
39
+ isLoading?: boolean;
40
+ error?: Error | null;
41
+ entity?: string;
42
+ }
43
+ export declare function GameAudioProvider({ manifest, baseUrl, children, initialMuted, }: GameAudioProviderProps): React.JSX.Element;
44
+ export declare namespace GameAudioProvider {
45
+ var displayName: string;
46
+ }
47
+ export default GameAudioProvider;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * GameAudioToggle
3
+ *
4
+ * A small mute/unmute button for game HUDs.
5
+ * Must be rendered inside a <GameAudioProvider> tree.
6
+ *
7
+ * Shows 🔊 when sound is on and 🔇 when muted.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ import React from 'react';
12
+ export interface GameAudioToggleProps {
13
+ /** Button size */
14
+ size?: 'sm' | 'md' | 'lg';
15
+ /** Additional CSS classes */
16
+ className?: string;
17
+ /** Loading state (passed through) */
18
+ isLoading?: boolean;
19
+ /** Error state (passed through) */
20
+ error?: Error | null;
21
+ /** Entity name for schema-driven auto-fetch */
22
+ entity?: string;
23
+ }
24
+ export declare function GameAudioToggle({ size, className, }: GameAudioToggleProps): React.JSX.Element;
25
+ export declare namespace GameAudioToggle {
26
+ var displayName: string;
27
+ }
28
+ export default GameAudioToggle;
@@ -0,0 +1,181 @@
1
+ /**
2
+ * GameCanvas3D
3
+ *
4
+ * 3D game canvas component using Three.js.
5
+ * Mirrors the IsometricCanvas API for easy migration.
6
+ *
7
+ * **State categories (closed-circuit compliant):**
8
+ * - All game data (tiles, units, features, selection, validMoves) → received via props
9
+ * - Rendering state (hoveredTile, internalError, asset loading, camera) → local only
10
+ * - Events → emitted via `useGameCanvas3DEvents()` hook for trait integration
11
+ *
12
+ * This component is a **pure 3D renderer** — it holds no game logic state.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import React from 'react';
17
+ import * as THREE from 'three';
18
+ import { AssetLoader } from './three/loaders/AssetLoader';
19
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from './types/isometric';
20
+ import './GameCanvas3D.css';
21
+ export type { IsometricTile, IsometricUnit, IsometricFeature };
22
+ /** Game event for canvas display */
23
+ export interface GameEvent {
24
+ id: string;
25
+ type: string;
26
+ x: number;
27
+ z?: number;
28
+ y?: number;
29
+ message?: string;
30
+ }
31
+ /** Camera mode for 3D view */
32
+ export type CameraMode = 'isometric' | 'perspective' | 'top-down';
33
+ /** Map orientation */
34
+ export type MapOrientation = 'standard' | 'rotated';
35
+ /** Overlay control */
36
+ export type OverlayControl = 'default' | 'hidden' | 'minimap';
37
+ /** Unit animation state */
38
+ export type UnitAnimationState = 'idle' | 'walk' | 'attack' | 'hurt' | 'die';
39
+ /** Props for GameCanvas3D component */
40
+ export interface GameCanvas3DProps {
41
+ /** Additional CSS classes */
42
+ className?: string;
43
+ /** Children to render inside the 3D canvas (e.g., physics objects, custom meshes) */
44
+ children?: React.ReactNode;
45
+ /** Loading state indicator */
46
+ isLoading?: boolean;
47
+ /** Error state */
48
+ error?: string | null;
49
+ /** Entity name for schema-driven auto-fetch */
50
+ entity?: string;
51
+ /** Array of tiles to render */
52
+ tiles?: IsometricTile[];
53
+ /** Array of units to render */
54
+ units?: IsometricUnit[];
55
+ /** Array of features to render */
56
+ features?: IsometricFeature[];
57
+ /** Array of events to display */
58
+ events?: Array<GameEvent>;
59
+ /** Fog of war data */
60
+ fogOfWar?: boolean[][];
61
+ /** Map orientation */
62
+ orientation?: MapOrientation;
63
+ /** Camera mode */
64
+ cameraMode?: CameraMode;
65
+ /** Show grid */
66
+ showGrid?: boolean;
67
+ /** Show coordinates overlay */
68
+ showCoordinates?: boolean;
69
+ /** Show tile information */
70
+ showTileInfo?: boolean;
71
+ /** Overlay control mode */
72
+ overlay?: OverlayControl;
73
+ /** Enable shadows */
74
+ shadows?: boolean;
75
+ /** Background color */
76
+ backgroundColor?: string;
77
+ /** Callback when a tile is clicked */
78
+ onTileClick?: (tile: IsometricTile, event: React.MouseEvent) => void;
79
+ /** Callback when a unit is clicked */
80
+ onUnitClick?: (unit: IsometricUnit, event: React.MouseEvent) => void;
81
+ /** Callback when a feature is clicked */
82
+ onFeatureClick?: (feature: IsometricFeature, event: React.MouseEvent) => void;
83
+ /** Callback when canvas is clicked (background) */
84
+ onCanvasClick?: (event: React.MouseEvent) => void;
85
+ /** Callback when mouse moves over a tile */
86
+ onTileHover?: (tile: IsometricTile | null, event: React.MouseEvent) => void;
87
+ /** Callback for unit animation state change */
88
+ onUnitAnimation?: (unitId: string, state: string) => void;
89
+ /** Asset loader instance (uses global singleton if not provided) */
90
+ assetLoader?: AssetLoader;
91
+ /** Custom tile renderer component */
92
+ tileRenderer?: React.FC<{
93
+ tile: IsometricTile;
94
+ position: [number, number, number];
95
+ }>;
96
+ /** Custom unit renderer component */
97
+ unitRenderer?: React.FC<{
98
+ unit: IsometricUnit;
99
+ position: [number, number, number];
100
+ }>;
101
+ /** Custom feature renderer component */
102
+ featureRenderer?: React.FC<{
103
+ feature: IsometricFeature;
104
+ position: [number, number, number];
105
+ }>;
106
+ /** URLs to preload */
107
+ preloadAssets?: string[];
108
+ /** Declarative event: tile click */
109
+ tileClickEvent?: string;
110
+ /** Declarative event: unit click */
111
+ unitClickEvent?: string;
112
+ /** Declarative event: feature click */
113
+ featureClickEvent?: string;
114
+ /** Declarative event: canvas click */
115
+ canvasClickEvent?: string;
116
+ /** Declarative event: tile hover */
117
+ tileHoverEvent?: string;
118
+ /** Declarative event: tile leave */
119
+ tileLeaveEvent?: string;
120
+ /** Declarative event: unit animation */
121
+ unitAnimationEvent?: string;
122
+ /** Declarative event: camera change */
123
+ cameraChangeEvent?: string;
124
+ /** Loading message */
125
+ loadingMessage?: string;
126
+ /** Whether to use instancing for tiles */
127
+ useInstancing?: boolean;
128
+ /** Valid move positions */
129
+ validMoves?: Array<{
130
+ x: number;
131
+ z: number;
132
+ }>;
133
+ /** Attack target positions */
134
+ attackTargets?: Array<{
135
+ x: number;
136
+ z: number;
137
+ }>;
138
+ /** Selected tile IDs */
139
+ selectedTileIds?: string[];
140
+ /** Selected unit ID */
141
+ selectedUnitId?: string | null;
142
+ }
143
+ /** Imperative handle for GameCanvas3D */
144
+ export interface GameCanvas3DHandle {
145
+ /** Get current camera position */
146
+ getCameraPosition: () => THREE.Vector3 | null;
147
+ /** Set camera position */
148
+ setCameraPosition: (x: number, y: number, z: number) => void;
149
+ /** Look at a specific point */
150
+ lookAt: (x: number, y: number, z: number) => void;
151
+ /** Reset camera to default position */
152
+ resetCamera: () => void;
153
+ /** Take a screenshot */
154
+ screenshot: () => string | null;
155
+ /** Export current view as data */
156
+ export: () => {
157
+ tiles: IsometricTile[];
158
+ units: IsometricUnit[];
159
+ features: IsometricFeature[];
160
+ };
161
+ }
162
+ /**
163
+ * GameCanvas3D Component
164
+ *
165
+ * 3D game canvas that mirrors the IsometricCanvas API.
166
+ * Uses Three.js and React Three Fiber for rendering.
167
+ *
168
+ * @example
169
+ * ```tsx
170
+ * <GameCanvas3D
171
+ * tiles={tiles}
172
+ * units={units}
173
+ * features={features}
174
+ * cameraMode="isometric"
175
+ * tileClickEvent="TILE_SELECTED"
176
+ * onTileClick={(tile) => console.log('Clicked:', tile)}
177
+ * />
178
+ * ```
179
+ */
180
+ export declare const GameCanvas3D: React.ForwardRefExoticComponent<GameCanvas3DProps & React.RefAttributes<GameCanvas3DHandle>>;
181
+ export default GameCanvas3D;
@@ -0,0 +1,2 @@
1
+ export { GameHud } from '../../molecules/game/GameHud';
2
+ export type { GameHudProps, GameHudStat, GameHudElement } from '../../molecules/game/GameHud';
@@ -0,0 +1,2 @@
1
+ export { GameMenu } from '../../molecules/game/GameMenu';
2
+ export type { GameMenuProps, MenuOption } from '../../molecules/game/GameMenu';
@@ -0,0 +1,2 @@
1
+ export { GameOverScreen } from '../../molecules/game/GameOverScreen';
2
+ export type { GameOverScreenProps, GameOverStat, GameOverAction } from '../../molecules/game/GameOverScreen';
@@ -0,0 +1,2 @@
1
+ export { InventoryPanel } from '../../molecules/game/InventoryPanel';
2
+ export type { InventoryPanelProps, InventoryItem } from '../../molecules/game/InventoryPanel';
@@ -0,0 +1,3 @@
1
+ export { IsometricCanvas } from '../../molecules/game/IsometricCanvas';
2
+ export { default } from '../../molecules/game/IsometricCanvas';
3
+ export type { IsometricCanvasProps } from '../../molecules/game/IsometricCanvas';
@@ -0,0 +1,2 @@
1
+ export { PlatformerCanvas } from '../../molecules/game/PlatformerCanvas';
2
+ export type { PlatformerCanvasProps, PlatformerPlatform, PlatformerPlayer } from '../../molecules/game/PlatformerCanvas';