@almadar/ui 2.14.0 → 2.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/{chunk-M7MOIE46.js → chunk-2KQPOTRM.js} +1 -1
  2. package/dist/{chunk-SKWPSQHQ.js → chunk-FP3PNF7I.js} +22 -10
  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 +3 -3
  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 +3 -3
  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 +3 -3
  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,51 @@
1
+ /**
2
+ * Canvas3DErrorBoundary
3
+ *
4
+ * Error boundary for 3D canvas components.
5
+ * Catches Three.js and React Three Fiber errors gracefully.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { Component, type ReactNode, type ErrorInfo } from 'react';
10
+ import './Canvas3DErrorBoundary.css';
11
+ export interface Canvas3DErrorBoundaryProps {
12
+ /** Child components */
13
+ children: ReactNode;
14
+ /** Custom fallback component */
15
+ fallback?: ReactNode;
16
+ /** Error callback */
17
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
18
+ /** Reset callback */
19
+ onReset?: () => void;
20
+ }
21
+ export interface Canvas3DErrorBoundaryState {
22
+ /** Whether an error has occurred */
23
+ hasError: boolean;
24
+ /** The error that occurred */
25
+ error: Error | null;
26
+ /** Error info from React */
27
+ errorInfo: ErrorInfo | null;
28
+ }
29
+ /**
30
+ * Canvas3DErrorBoundary Component
31
+ *
32
+ * Catches errors in 3D canvas and displays a user-friendly fallback.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * <Canvas3DErrorBoundary
37
+ * onError={(error) => console.error('3D Error:', error)}
38
+ * onReset={() => console.log('Resetting...')}
39
+ * >
40
+ * <GameCanvas3D {...props} />
41
+ * </Canvas3DErrorBoundary>
42
+ * ```
43
+ */
44
+ export declare class Canvas3DErrorBoundary extends Component<Canvas3DErrorBoundaryProps, Canvas3DErrorBoundaryState> {
45
+ constructor(props: Canvas3DErrorBoundaryProps);
46
+ static getDerivedStateFromError(error: Error): Canvas3DErrorBoundaryState;
47
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
48
+ handleReset: () => void;
49
+ render(): ReactNode;
50
+ }
51
+ export default Canvas3DErrorBoundary;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Canvas3DLoadingState
3
+ *
4
+ * Loading state component for 3D canvas with progress indicator.
5
+ * Displays asset loading progress and estimated time remaining.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import React from 'react';
10
+ import './Canvas3DLoadingState.css';
11
+ export interface Canvas3DLoadingStateProps {
12
+ /** Current loading progress (0-100) */
13
+ progress?: number;
14
+ /** Number of assets loaded */
15
+ loaded?: number;
16
+ /** Total assets to load */
17
+ total?: number;
18
+ /** Loading message */
19
+ message?: string;
20
+ /** Secondary details message */
21
+ details?: string;
22
+ /** Whether to show spinner */
23
+ showSpinner?: boolean;
24
+ /** Custom className */
25
+ className?: string;
26
+ }
27
+ /**
28
+ * Canvas3DLoadingState Component
29
+ *
30
+ * Displays loading progress for 3D assets.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * <Canvas3DLoadingState
35
+ * progress={65}
36
+ * loaded={13}
37
+ * total={20}
38
+ * message="Loading 3D models..."
39
+ * details="character-knight.glb"
40
+ * />
41
+ * ```
42
+ */
43
+ export declare function Canvas3DLoadingState({ progress, loaded, total, message, details, showSpinner, className, }: Canvas3DLoadingStateProps): React.JSX.Element;
44
+ export default Canvas3DLoadingState;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ModelLoader Component
3
+ *
4
+ * React Three Fiber component for loading and displaying GLB/GLTF models from URLs.
5
+ * Handles loading states and errors without requiring React Suspense.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import React from 'react';
10
+ export interface ModelLoaderProps {
11
+ /** URL to the GLB/GLTF model */
12
+ url: string;
13
+ /** Position [x, y, z] */
14
+ position?: [number, number, number];
15
+ /** Scale - either a single number or [x, y, z] */
16
+ scale?: number | [number, number, number];
17
+ /** Rotation in degrees [x, y, z] */
18
+ rotation?: [number, number, number];
19
+ /** Whether the model is selected */
20
+ isSelected?: boolean;
21
+ /** Whether the model is hovered */
22
+ isHovered?: boolean;
23
+ /** Click handler */
24
+ onClick?: () => void;
25
+ /** Hover handler */
26
+ onHover?: (hovered: boolean) => void;
27
+ /** Fallback geometry type */
28
+ fallbackGeometry?: 'box' | 'sphere' | 'cylinder' | 'none';
29
+ /** Enable shadows */
30
+ castShadow?: boolean;
31
+ /** Receive shadows */
32
+ receiveShadow?: boolean;
33
+ /**
34
+ * Base path for shared resources (textures, materials).
35
+ * If not provided, auto-detected from the URL by looking for a `/3d/` segment.
36
+ * E.g. "https://host/3d/" so that "Textures/colormap.png" resolves correctly.
37
+ */
38
+ resourceBasePath?: string;
39
+ }
40
+ /**
41
+ * ModelLoader component for rendering GLB models in React Three Fiber
42
+ */
43
+ export declare function ModelLoader({ url, position, scale, rotation, isSelected, isHovered, onClick, onHover, fallbackGeometry, castShadow, receiveShadow, resourceBasePath, }: ModelLoaderProps): React.JSX.Element;
44
+ export default ModelLoader;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * PhysicsObject3D Component
3
+ *
4
+ * Three.js component that syncs a 3D object's position with physics state.
5
+ * Use this to render physics-enabled entities in GameCanvas3D.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <PhysicsObject3D
10
+ * entityId="player-1"
11
+ * modelUrl="https://trait-wars-assets.web.app/3d/medieval/props/barrels.glb"
12
+ * initialPosition={[0, 10, 0]}
13
+ * mass={1}
14
+ * />
15
+ * ```
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ import React from 'react';
20
+ export interface Physics3DState {
21
+ id: string;
22
+ x: number;
23
+ y: number;
24
+ z: number;
25
+ vx: number;
26
+ vy: number;
27
+ vz: number;
28
+ rx: number;
29
+ ry: number;
30
+ rz: number;
31
+ isGrounded: boolean;
32
+ gravity: number;
33
+ friction: number;
34
+ mass: number;
35
+ state: 'Active' | 'Frozen';
36
+ }
37
+ export interface PhysicsObject3DProps {
38
+ /** Unique entity ID */
39
+ entityId: string;
40
+ /** GLB model URL */
41
+ modelUrl: string;
42
+ /** Initial position [x, y, z] */
43
+ initialPosition?: [number, number, number];
44
+ /** Initial velocity [vx, vy, vz] */
45
+ initialVelocity?: [number, number, number];
46
+ /** Mass for collision response */
47
+ mass?: number;
48
+ /** Gravity force (default: 9.8) */
49
+ gravity?: number;
50
+ /** Ground plane Y position (default: 0) */
51
+ groundY?: number;
52
+ /** Model scale */
53
+ scale?: number | [number, number, number];
54
+ /** Called when physics state updates */
55
+ onPhysicsUpdate?: (state: Physics3DState) => void;
56
+ /** Called when object hits ground */
57
+ onGroundHit?: () => void;
58
+ /** Called when collision occurs */
59
+ onCollision?: (otherEntityId: string) => void;
60
+ }
61
+ /**
62
+ * 3D Physics-enabled object for GameCanvas3D
63
+ */
64
+ export declare function PhysicsObject3D({ entityId, modelUrl, initialPosition, initialVelocity, mass, gravity, groundY, scale, onPhysicsUpdate, onGroundHit, onCollision, }: PhysicsObject3DProps): React.JSX.Element;
65
+ /**
66
+ * Hook for controlling a PhysicsObject3D from parent component
67
+ */
68
+ export declare function usePhysics3DController(entityId: string): {
69
+ applyForce: (fx: number, fy: number, fz: number) => void;
70
+ setVelocity: (vx: number, vy: number, vz: number) => void;
71
+ setPosition: (x: number, y: number, z: number) => void;
72
+ jump: (force?: number) => void;
73
+ };
74
+ export default PhysicsObject3D;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 3D Components
3
+ *
4
+ * UI components for 3D canvas states and error handling.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { Canvas3DLoadingState, type Canvas3DLoadingStateProps, } from './Canvas3DLoadingState';
9
+ export { Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, } from './Canvas3DErrorBoundary';
10
+ export { ModelLoader, type ModelLoaderProps, } from './ModelLoader';
@@ -0,0 +1,58 @@
1
+ import * as THREE from 'three';
2
+ import { AssetLoader, LoadedModel } from '../loaders/AssetLoader';
3
+ export interface UseAssetLoaderOptions {
4
+ /** URLs to preload on mount */
5
+ preloadUrls?: string[];
6
+ /** Asset loader instance (uses singleton if not provided) */
7
+ loader?: AssetLoader;
8
+ }
9
+ export interface AssetLoadingState {
10
+ /** Whether assets are currently loading */
11
+ isLoading: boolean;
12
+ /** Loading progress (0-100) */
13
+ progress: number;
14
+ /** Number of loaded assets */
15
+ loaded: number;
16
+ /** Total assets to load */
17
+ total: number;
18
+ /** Any loading errors */
19
+ errors: string[];
20
+ }
21
+ export interface UseAssetLoaderReturn extends AssetLoadingState {
22
+ /** Load a single model */
23
+ loadModel: (url: string) => Promise<LoadedModel>;
24
+ /** Load a single OBJ model */
25
+ loadOBJ: (url: string) => Promise<THREE.Group>;
26
+ /** Load a single texture */
27
+ loadTexture: (url: string) => Promise<THREE.Texture>;
28
+ /** Preload multiple assets */
29
+ preload: (urls: string[]) => Promise<void>;
30
+ /** Check if model is cached */
31
+ hasModel: (url: string) => boolean;
32
+ /** Check if texture is cached */
33
+ hasTexture: (url: string) => boolean;
34
+ /** Get cached model */
35
+ getModel: (url: string) => LoadedModel | undefined;
36
+ /** Get cached texture */
37
+ getTexture: (url: string) => THREE.Texture | undefined;
38
+ /** Clear all caches */
39
+ clearCache: () => void;
40
+ }
41
+ /**
42
+ * Hook for managing 3D asset loading in React components
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * const { loadModel, isLoading, progress } = useAssetLoader({
47
+ * preloadUrls: ['/assets/model.glb']
48
+ * });
49
+ *
50
+ * useEffect(() => {
51
+ * loadModel('/assets/character.glb').then((model) => {
52
+ * scene.add(model.scene);
53
+ * });
54
+ * }, []);
55
+ * ```
56
+ */
57
+ export declare function useAssetLoader(options?: UseAssetLoaderOptions): UseAssetLoaderReturn;
58
+ export default useAssetLoader;
@@ -0,0 +1,79 @@
1
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../../types/isometric';
2
+ export interface GameCanvas3DEventConfig {
3
+ /** Event name for tile clicks */
4
+ tileClickEvent?: string;
5
+ /** Event name for unit clicks */
6
+ unitClickEvent?: string;
7
+ /** Event name for feature clicks */
8
+ featureClickEvent?: string;
9
+ /** Event name for canvas clicks */
10
+ canvasClickEvent?: string;
11
+ /** Event name for tile hover */
12
+ tileHoverEvent?: string;
13
+ /** Event name for tile leave */
14
+ tileLeaveEvent?: string;
15
+ /** Event name for unit animation changes */
16
+ unitAnimationEvent?: string;
17
+ /** Event name for camera changes */
18
+ cameraChangeEvent?: string;
19
+ }
20
+ /** Minimal mouse event interface — satisfied by both React.MouseEvent and ThreeEvent<MouseEvent> */
21
+ export interface MinimalMouseEvent {
22
+ clientX: number;
23
+ clientY: number;
24
+ button: number;
25
+ }
26
+ export interface UseGameCanvas3DEventsOptions extends GameCanvas3DEventConfig {
27
+ /** Callback for tile clicks (direct) */
28
+ onTileClick?: (tile: IsometricTile, event: React.MouseEvent) => void;
29
+ /** Callback for unit clicks (direct) */
30
+ onUnitClick?: (unit: IsometricUnit, event: React.MouseEvent) => void;
31
+ /** Callback for feature clicks (direct) */
32
+ onFeatureClick?: (feature: IsometricFeature, event: React.MouseEvent) => void;
33
+ /** Callback for canvas clicks (direct) */
34
+ onCanvasClick?: (event: React.MouseEvent) => void;
35
+ /** Callback for tile hover (direct) */
36
+ onTileHover?: (tile: IsometricTile | null, event: React.MouseEvent) => void;
37
+ /** Callback for unit animation changes (direct) */
38
+ onUnitAnimation?: (unitId: string, state: string) => void;
39
+ }
40
+ export interface UseGameCanvas3DEventsReturn {
41
+ /** Handle tile click - emits event and calls callback */
42
+ handleTileClick: (tile: IsometricTile, event: React.MouseEvent) => void;
43
+ /** Handle unit click - emits event and calls callback */
44
+ handleUnitClick: (unit: IsometricUnit, event: React.MouseEvent) => void;
45
+ /** Handle feature click - emits event and calls callback */
46
+ handleFeatureClick: (feature: IsometricFeature, event: React.MouseEvent) => void;
47
+ /** Handle canvas click - emits event and calls callback */
48
+ handleCanvasClick: (event: MinimalMouseEvent) => void;
49
+ /** Handle tile hover - emits event and calls callback */
50
+ handleTileHover: (tile: IsometricTile | null, event: React.MouseEvent) => void;
51
+ /** Handle unit animation - emits event and calls callback */
52
+ handleUnitAnimation: (unitId: string, state: string) => void;
53
+ /** Handle camera change - emits event */
54
+ handleCameraChange: (position: {
55
+ x: number;
56
+ y: number;
57
+ z: number;
58
+ }) => void;
59
+ }
60
+ /**
61
+ * Hook for integrating GameCanvas3D with the event bus
62
+ *
63
+ * Supports both declarative event props (tileClickEvent) and
64
+ * direct callback props (onTileClick).
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * const events = useGameCanvas3DEvents({
69
+ * tileClickEvent: 'TILE_SELECTED',
70
+ * unitClickEvent: 'UNIT_SELECTED',
71
+ * onTileClick: (tile) => console.log('Tile:', tile)
72
+ * });
73
+ *
74
+ * // In component:
75
+ * <TileRenderer onTileClick={events.handleTileClick} />
76
+ * ```
77
+ */
78
+ export declare function useGameCanvas3DEvents(options: UseGameCanvas3DEventsOptions): UseGameCanvas3DEventsReturn;
79
+ export default useGameCanvas3DEvents;
@@ -0,0 +1,86 @@
1
+ import * as THREE from 'three';
2
+ export interface RaycastHit {
3
+ /** Intersected object */
4
+ object: THREE.Object3D;
5
+ /** Intersection point */
6
+ point: THREE.Vector3;
7
+ /** Distance from camera */
8
+ distance: number;
9
+ /** UV coordinates (if available) */
10
+ uv?: THREE.Vector2;
11
+ /** Face normal */
12
+ face?: THREE.Face;
13
+ /** Face index */
14
+ faceIndex?: number;
15
+ /** Instance ID (for instanced meshes) */
16
+ instanceId?: number;
17
+ }
18
+ export interface GridHit {
19
+ /** Grid X coordinate */
20
+ gridX: number;
21
+ /** Grid Z coordinate */
22
+ gridZ: number;
23
+ /** World position */
24
+ worldPosition: THREE.Vector3;
25
+ /** Intersected object type */
26
+ objectType?: 'tile' | 'unit' | 'feature';
27
+ /** Object ID if available */
28
+ objectId?: string;
29
+ }
30
+ export interface UseRaycasterOptions {
31
+ /** Camera reference */
32
+ camera: THREE.Camera | null;
33
+ /** Canvas element for coordinate conversion */
34
+ canvas: HTMLCanvasElement | null;
35
+ /** Grid cell size */
36
+ cellSize?: number;
37
+ /** Grid offset X */
38
+ offsetX?: number;
39
+ /** Grid offset Z */
40
+ offsetZ?: number;
41
+ }
42
+ export interface UseRaycasterReturn {
43
+ /** Raycaster instance */
44
+ raycaster: React.MutableRefObject<THREE.Raycaster>;
45
+ /** Mouse vector instance */
46
+ mouse: React.MutableRefObject<THREE.Vector2>;
47
+ /** Get intersection at client coordinates */
48
+ getIntersection: (clientX: number, clientY: number, objects: THREE.Object3D[]) => RaycastHit | null;
49
+ /** Get all intersections at client coordinates */
50
+ getAllIntersections: (clientX: number, clientY: number, objects: THREE.Object3D[]) => RaycastHit[];
51
+ /** Get grid coordinates at client position */
52
+ getGridCoordinates: (clientX: number, clientY: number) => {
53
+ x: number;
54
+ z: number;
55
+ } | null;
56
+ /** Get tile at client position from scene */
57
+ getTileAtPosition: (clientX: number, clientY: number, scene: THREE.Scene) => GridHit | null;
58
+ /** Convert client coordinates to normalized device coordinates */
59
+ clientToNDC: (clientX: number, clientY: number) => {
60
+ x: number;
61
+ y: number;
62
+ };
63
+ /** Check if point is within canvas bounds */
64
+ isWithinCanvas: (clientX: number, clientY: number) => boolean;
65
+ }
66
+ /**
67
+ * Hook for 3D raycasting operations
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * const { getIntersection, getGridCoordinates } = useRaycaster({
72
+ * camera,
73
+ * canvas: canvasRef.current
74
+ * });
75
+ *
76
+ * const handleClick = (e: MouseEvent) => {
77
+ * const hit = getIntersection(e.clientX, e.clientY, tileMeshes);
78
+ * if (hit) {
79
+ * const grid = getGridCoordinates(e.clientX, e.clientY);
80
+ * console.log('Clicked grid:', grid);
81
+ * }
82
+ * };
83
+ * ```
84
+ */
85
+ export declare function useRaycaster(options: UseRaycasterOptions): UseRaycasterReturn;
86
+ export default useRaycaster;
@@ -0,0 +1,66 @@
1
+ import * as THREE from 'three';
2
+ export type NodeType = 'tile' | 'unit' | 'feature' | 'highlight' | 'effect';
3
+ export interface SceneGraphNode {
4
+ /** Unique node identifier */
5
+ id: string;
6
+ /** Node type classification */
7
+ type: NodeType;
8
+ /** Three.js object */
9
+ mesh: THREE.Object3D;
10
+ /** World position */
11
+ position: {
12
+ x: number;
13
+ y: number;
14
+ z: number;
15
+ };
16
+ /** Grid position */
17
+ gridPosition: {
18
+ x: number;
19
+ z: number;
20
+ };
21
+ /** Optional metadata */
22
+ metadata?: Record<string, unknown>;
23
+ }
24
+ export interface UseSceneGraphReturn {
25
+ /** Reference to the nodes map */
26
+ nodesRef: React.MutableRefObject<Map<string, SceneGraphNode>>;
27
+ /** Add a node to the scene */
28
+ addNode: (node: SceneGraphNode) => void;
29
+ /** Remove a node from the scene */
30
+ removeNode: (id: string) => void;
31
+ /** Get a node by ID */
32
+ getNode: (id: string) => SceneGraphNode | undefined;
33
+ /** Update node position */
34
+ updateNodePosition: (id: string, x: number, y: number, z: number) => void;
35
+ /** Update node grid position */
36
+ updateNodeGridPosition: (id: string, gridX: number, gridZ: number) => void;
37
+ /** Get node at grid position */
38
+ getNodeAtGrid: (x: number, z: number, type?: NodeType) => SceneGraphNode | undefined;
39
+ /** Get all nodes of a specific type */
40
+ getNodesByType: (type: NodeType) => SceneGraphNode[];
41
+ /** Get all nodes within a bounding box */
42
+ getNodesInBounds: (minX: number, maxX: number, minZ: number, maxZ: number) => SceneGraphNode[];
43
+ /** Clear all nodes */
44
+ clearNodes: () => void;
45
+ /** Count nodes by type */
46
+ countNodes: (type?: NodeType) => number;
47
+ }
48
+ /**
49
+ * Hook for managing the 3D scene graph
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * const { addNode, removeNode, getNodeAtGrid } = useSceneGraph();
54
+ *
55
+ * // Add a tile
56
+ * addNode({
57
+ * id: 'tile-0-0',
58
+ * type: 'tile',
59
+ * mesh: tileMesh,
60
+ * position: { x: 0, y: 0, z: 0 },
61
+ * gridPosition: { x: 0, z: 0 }
62
+ * });
63
+ * ```
64
+ */
65
+ export declare function useSceneGraph(): UseSceneGraphReturn;
66
+ export default useSceneGraph;
@@ -0,0 +1,58 @@
1
+ import * as THREE from 'three';
2
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
3
+ import { AssetLoader } from '../loaders/AssetLoader';
4
+ export type CameraMode = 'isometric' | 'perspective' | 'top-down';
5
+ export interface UseThreeOptions {
6
+ /** Camera mode for viewing the scene */
7
+ cameraMode?: CameraMode;
8
+ /** Initial camera position [x, y, z] */
9
+ cameraPosition?: [number, number, number];
10
+ /** Background color */
11
+ backgroundColor?: string;
12
+ /** Enable shadows */
13
+ shadows?: boolean;
14
+ /** Enable grid helper */
15
+ showGrid?: boolean;
16
+ /** Grid size */
17
+ gridSize?: number;
18
+ /** Asset loader instance */
19
+ assetLoader?: AssetLoader;
20
+ }
21
+ export interface UseThreeReturn {
22
+ /** Canvas element reference (for React Three Fiber) */
23
+ canvasRef: React.RefObject<HTMLCanvasElement | null>;
24
+ /** Three.js renderer */
25
+ renderer: THREE.WebGLRenderer | null;
26
+ /** Three.js scene */
27
+ scene: THREE.Scene | null;
28
+ /** Three.js camera */
29
+ camera: THREE.Camera | null;
30
+ /** Orbit controls */
31
+ controls: OrbitControls | null;
32
+ /** Is scene ready */
33
+ isReady: boolean;
34
+ /** Canvas dimensions */
35
+ dimensions: {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ /** Set camera position */
40
+ setCameraPosition: (x: number, y: number, z: number) => void;
41
+ /** Look at a specific point */
42
+ lookAt: (x: number, y: number, z: number) => void;
43
+ /** Reset camera to initial position */
44
+ resetCamera: () => void;
45
+ /** Fit view to bounds */
46
+ fitView: (bounds: {
47
+ minX: number;
48
+ maxX: number;
49
+ minZ: number;
50
+ maxZ: number;
51
+ }) => void;
52
+ }
53
+ /**
54
+ * Hook for managing a Three.js scene
55
+ * This is a lower-level hook used by GameCanvas3D
56
+ */
57
+ export declare function useThree(options?: UseThreeOptions): UseThreeReturn;
58
+ export default useThree;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Three.js Subdirectory
3
+ *
4
+ * Core Three.js components, hooks, loaders, and utilities for GameCanvas3D.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { Scene3D, type Scene3DProps } from './Scene3D';
9
+ export { Camera3D, type Camera3DProps, type Camera3DHandle, type CameraMode } from './Camera3D';
10
+ export { Lighting3D, type Lighting3DProps } from './Lighting3D';
11
+ export { Canvas3DLoadingState, type Canvas3DLoadingStateProps, } from './components/Canvas3DLoadingState';
12
+ export { Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, } from './components/Canvas3DErrorBoundary';
13
+ export { ModelLoader, type ModelLoaderProps, } from './components/ModelLoader';
14
+ export { PhysicsObject3D, usePhysics3DController, type PhysicsObject3DProps, type Physics3DState, } from './components/PhysicsObject3D';
15
+ export { useThree, type UseThreeOptions, type UseThreeReturn, } from './hooks/useThree';
16
+ export { useAssetLoader, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type AssetLoadingState, } from './hooks/useAssetLoader';
17
+ export { useSceneGraph, type UseSceneGraphReturn, type SceneGraphNode, type NodeType, } from './hooks/useSceneGraph';
18
+ export { useRaycaster, type UseRaycasterOptions, type UseRaycasterReturn, type RaycastHit, type GridHit, } from './hooks/useRaycaster';
19
+ export { useGameCanvas3DEvents, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type GameCanvas3DEventConfig, } from './hooks/useGameCanvas3DEvents';
20
+ export { AssetLoader, assetLoader, type LoadedModel, } from './loaders/AssetLoader';
21
+ export { TileRenderer, UnitRenderer, FeatureRenderer, FeatureRenderer3D, preloadFeatures, type TileRendererProps, type UnitRendererProps, type FeatureRendererProps, type FeatureRenderer3DProps, type UnitAnimationState, } from './renderers';
22
+ export { gridToWorld, worldToGrid, raycastToPlane, raycastToObjects, gridDistance, gridManhattanDistance, getNeighbors, isInBounds, getCellsInRadius, createGridHighlight, normalizeMouseCoordinates, type Grid3DConfig, type GridCoordinate, } from './utils/grid3D';
23
+ export { isInFrustum, filterByFrustum, getVisibleIndices, calculateLODLevel, updateInstanceLOD, cullInstancedMesh, SpatialHashGrid, type CullingOptions, type LODLevel, type LODConfig, } from './utils/culling';
@@ -0,0 +1,80 @@
1
+ /**
2
+ * AssetLoader
3
+ *
4
+ * Three.js asset loading manager for 3D models and textures.
5
+ * Supports GLB/GLTF (primary), OBJ (fallback), and texture loading.
6
+ * Implements caching for performance.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import * as THREE from 'three';
11
+ export interface LoadedModel {
12
+ scene: THREE.Group;
13
+ animations: THREE.AnimationClip[];
14
+ }
15
+ export declare class AssetLoader {
16
+ private objLoader;
17
+ private textureLoader;
18
+ private modelCache;
19
+ private textureCache;
20
+ private loadingPromises;
21
+ constructor();
22
+ /**
23
+ * Load a GLB/GLTF model
24
+ * @param url - URL to the .glb or .gltf file
25
+ * @returns Promise with loaded model scene and animations
26
+ */
27
+ loadModel(url: string): Promise<LoadedModel>;
28
+ /**
29
+ * Load an OBJ model (fallback for non-GLB assets)
30
+ * @param url - URL to the .obj file
31
+ * @returns Promise with loaded object group
32
+ */
33
+ loadOBJ(url: string): Promise<THREE.Group>;
34
+ /**
35
+ * Load a texture
36
+ * @param url - URL to the texture image
37
+ * @returns Promise with loaded texture
38
+ */
39
+ loadTexture(url: string): Promise<THREE.Texture>;
40
+ /**
41
+ * Preload multiple assets
42
+ * @param urls - Array of asset URLs to preload
43
+ * @returns Promise that resolves when all assets are loaded
44
+ */
45
+ preload(urls: string[]): Promise<void>;
46
+ /**
47
+ * Check if a model is cached
48
+ * @param url - Model URL
49
+ */
50
+ hasModel(url: string): boolean;
51
+ /**
52
+ * Check if a texture is cached
53
+ * @param url - Texture URL
54
+ */
55
+ hasTexture(url: string): boolean;
56
+ /**
57
+ * Get cached model (throws if not cached)
58
+ * @param url - Model URL
59
+ */
60
+ getModel(url: string): LoadedModel;
61
+ /**
62
+ * Get cached texture (throws if not cached)
63
+ * @param url - Texture URL
64
+ */
65
+ getTexture(url: string): THREE.Texture;
66
+ /**
67
+ * Clear all caches
68
+ */
69
+ clearCache(): void;
70
+ /**
71
+ * Get cache statistics
72
+ */
73
+ getStats(): {
74
+ models: number;
75
+ textures: number;
76
+ loading: number;
77
+ };
78
+ }
79
+ export declare const assetLoader: AssetLoader;
80
+ export default AssetLoader;