@almadar/ui 5.111.0 → 5.113.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 (589) hide show
  1. package/dist/GameAudioProvider-CPGwD49P.d.cts +151 -0
  2. package/dist/GameAudioProvider-CPGwD49P.d.ts +151 -0
  3. package/dist/TraitProvider-YkK6tXDw.d.cts +236 -0
  4. package/dist/TraitProvider-YkK6tXDw.d.ts +236 -0
  5. package/dist/{providers/UISlotContext.d.ts → UISlotContext-C1FsU9GB.d.ts} +14 -10
  6. package/dist/UISlotContext-D8_SoDsD.d.cts +79 -0
  7. package/dist/UserContext-bziZwgFL.d.cts +278 -0
  8. package/dist/UserContext-bziZwgFL.d.ts +278 -0
  9. package/dist/avl/index.cjs +137 -18
  10. package/dist/avl/index.js +139 -20
  11. package/dist/avl-schema-parser-B8Onmfsu.d.cts +393 -0
  12. package/dist/avl-schema-parser-B8Onmfsu.d.ts +393 -0
  13. package/dist/cn-BkQrMR01.d.cts +295 -0
  14. package/dist/cn-CTEFm9PC.d.ts +295 -0
  15. package/dist/components/index.cjs +33 -6
  16. package/dist/components/index.d.cts +11225 -0
  17. package/dist/components/index.d.ts +11225 -6
  18. package/dist/components/index.js +33 -6
  19. package/dist/{lib/themeTokens.d.ts → context/index.d.cts} +13 -4
  20. package/dist/context/index.d.ts +62 -9
  21. package/dist/{types/event-bus-types.d.ts → event-bus-types-Bl78kokd.d.cts} +7 -6
  22. package/dist/event-bus-types-Bl78kokd.d.ts +65 -0
  23. package/dist/hooks/index.d.cts +995 -0
  24. package/dist/hooks/index.d.ts +994 -32
  25. package/dist/lib/drawable/three/index.cjs +11 -24
  26. package/dist/lib/drawable/three/index.d.cts +1485 -0
  27. package/dist/lib/drawable/three/index.d.ts +1484 -38
  28. package/dist/lib/drawable/three/index.js +11 -24
  29. package/dist/lib/index.d.cts +505 -0
  30. package/dist/lib/index.d.ts +504 -18
  31. package/dist/locales/index.d.cts +22 -0
  32. package/dist/locales/index.d.ts +7 -5
  33. package/dist/offline-executor-aRuNznZx.d.cts +520 -0
  34. package/dist/offline-executor-aRuNznZx.d.ts +520 -0
  35. package/dist/paintDispatch-DR942knx.d.cts +221 -0
  36. package/dist/paintDispatch-DR942knx.d.ts +221 -0
  37. package/dist/providers/index.cjs +33 -6
  38. package/dist/providers/index.d.cts +428 -0
  39. package/dist/providers/index.d.ts +427 -26
  40. package/dist/providers/index.js +33 -6
  41. package/dist/renderer/index.cjs +1 -1
  42. package/dist/renderer/index.d.cts +343 -0
  43. package/dist/renderer/index.d.ts +337 -22
  44. package/dist/renderer/index.js +1 -1
  45. package/dist/runtime/index.cjs +137 -18
  46. package/dist/runtime/index.d.cts +426 -0
  47. package/dist/runtime/index.d.ts +421 -16
  48. package/dist/runtime/index.js +139 -20
  49. package/dist/useEventBus-CQWyAWpK.d.ts +65 -0
  50. package/dist/useEventBus-Ckr4wqW3.d.cts +65 -0
  51. package/dist/{hooks/useUISlots.d.ts → useUISlots-BesZYMks.d.cts} +16 -14
  52. package/dist/useUISlots-BesZYMks.d.ts +216 -0
  53. package/package.json +11 -11
  54. package/dist/avl/index.d.cts +0 -1853
  55. package/dist/avl/index.d.ts +0 -64
  56. package/dist/components/avl/atoms/Avl3DLabel.d.ts +0 -23
  57. package/dist/components/avl/atoms/Avl3DTooltip.d.ts +0 -25
  58. package/dist/components/avl/atoms/AvlApplication.d.ts +0 -8
  59. package/dist/components/avl/atoms/AvlBinding.d.ts +0 -12
  60. package/dist/components/avl/atoms/AvlBindingRef.d.ts +0 -7
  61. package/dist/components/avl/atoms/AvlEffect.d.ts +0 -10
  62. package/dist/components/avl/atoms/AvlEntity.d.ts +0 -9
  63. package/dist/components/avl/atoms/AvlEvent.d.ts +0 -7
  64. package/dist/components/avl/atoms/AvlField.d.ts +0 -10
  65. package/dist/components/avl/atoms/AvlFieldType.d.ts +0 -8
  66. package/dist/components/avl/atoms/AvlGuard.d.ts +0 -7
  67. package/dist/components/avl/atoms/AvlLiteral.d.ts +0 -7
  68. package/dist/components/avl/atoms/AvlOperator.d.ts +0 -8
  69. package/dist/components/avl/atoms/AvlOrbital.d.ts +0 -11
  70. package/dist/components/avl/atoms/AvlPage.d.ts +0 -7
  71. package/dist/components/avl/atoms/AvlPersistence.d.ts +0 -8
  72. package/dist/components/avl/atoms/AvlSExpr.d.ts +0 -8
  73. package/dist/components/avl/atoms/AvlState.d.ts +0 -15
  74. package/dist/components/avl/atoms/AvlTrait.d.ts +0 -13
  75. package/dist/components/avl/atoms/AvlTransition.d.ts +0 -18
  76. package/dist/components/avl/atoms/index.d.ts +0 -24
  77. package/dist/components/avl/hooks/useCanvasDnd.d.ts +0 -155
  78. package/dist/components/avl/lib/avl-3d-layout.d.ts +0 -116
  79. package/dist/components/avl/lib/avl-behavior-compose-converter.d.ts +0 -55
  80. package/dist/components/avl/lib/avl-elk-layout.d.ts +0 -55
  81. package/dist/components/avl/lib/avl-flow-converter.d.ts +0 -17
  82. package/dist/components/avl/lib/avl-layout.d.ts +0 -32
  83. package/dist/components/avl/lib/avl-preview-converter.d.ts +0 -71
  84. package/dist/components/avl/lib/avl-schema-parser.d.ts +0 -128
  85. package/dist/components/avl/lib/avl-story-schemas.d.ts +0 -34
  86. package/dist/components/avl/lib/avl-zoom-band.d.ts +0 -19
  87. package/dist/components/avl/lib/avl-zoom-state.d.ts +0 -72
  88. package/dist/components/avl/lib/derive-edit-focus.d.ts +0 -8
  89. package/dist/components/avl/lib/wire-validation.d.ts +0 -30
  90. package/dist/components/avl/molecules/Avl3DCrossWire.d.ts +0 -22
  91. package/dist/components/avl/molecules/Avl3DEntityCore.d.ts +0 -26
  92. package/dist/components/avl/molecules/Avl3DExprTree.d.ts +0 -21
  93. package/dist/components/avl/molecules/Avl3DOrbitalNode.d.ts +0 -29
  94. package/dist/components/avl/molecules/Avl3DStateNode.d.ts +0 -34
  95. package/dist/components/avl/molecules/Avl3DTransitionArc.d.ts +0 -38
  96. package/dist/components/avl/molecules/AvlBackwardEdge.d.ts +0 -8
  97. package/dist/components/avl/molecules/AvlBehaviorGlyph.d.ts +0 -61
  98. package/dist/components/avl/molecules/AvlBindingEdge.d.ts +0 -9
  99. package/dist/components/avl/molecules/AvlClosedCircuit.d.ts +0 -20
  100. package/dist/components/avl/molecules/AvlEmitListen.d.ts +0 -16
  101. package/dist/components/avl/molecules/AvlEventWireEdge.d.ts +0 -15
  102. package/dist/components/avl/molecules/AvlExprTree.d.ts +0 -13
  103. package/dist/components/avl/molecules/AvlOrbitalNode.d.ts +0 -12
  104. package/dist/components/avl/molecules/AvlOrbitalUnit.d.ts +0 -20
  105. package/dist/components/avl/molecules/AvlPageEdge.d.ts +0 -8
  106. package/dist/components/avl/molecules/AvlSlotMap.d.ts +0 -18
  107. package/dist/components/avl/molecules/AvlStateMachine.d.ts +0 -22
  108. package/dist/components/avl/molecules/AvlSwimLane.d.ts +0 -10
  109. package/dist/components/avl/molecules/AvlTransitionEdge.d.ts +0 -17
  110. package/dist/components/avl/molecules/AvlTransitionLane.d.ts +0 -18
  111. package/dist/components/avl/molecules/BehaviorComposeNode.d.ts +0 -13
  112. package/dist/components/avl/molecules/BehaviorView.d.ts +0 -12
  113. package/dist/components/avl/molecules/DetailView.d.ts +0 -13
  114. package/dist/components/avl/molecules/EventFlowEdge.d.ts +0 -13
  115. package/dist/components/avl/molecules/MiniStateMachine.d.ts +0 -14
  116. package/dist/components/avl/molecules/ModuleCard.d.ts +0 -22
  117. package/dist/components/avl/molecules/OrbPreviewNode.d.ts +0 -38
  118. package/dist/components/avl/molecules/SystemNode.d.ts +0 -12
  119. package/dist/components/avl/molecules/TraitCardNode.d.ts +0 -33
  120. package/dist/components/avl/molecules/index.d.ts +0 -38
  121. package/dist/components/avl/organisms/Avl3DApplicationScene.d.ts +0 -19
  122. package/dist/components/avl/organisms/Avl3DEffects.d.ts +0 -18
  123. package/dist/components/avl/organisms/Avl3DOrbitalScene.d.ts +0 -23
  124. package/dist/components/avl/organisms/Avl3DTraitScene.d.ts +0 -19
  125. package/dist/components/avl/organisms/Avl3DTransitionScene.d.ts +0 -17
  126. package/dist/components/avl/organisms/Avl3DViewer.d.ts +0 -40
  127. package/dist/components/avl/organisms/AvlClickTarget.d.ts +0 -31
  128. package/dist/components/avl/organisms/AvlCosmicZoom.d.ts +0 -41
  129. package/dist/components/avl/organisms/AvlLegend.d.ts +0 -15
  130. package/dist/components/avl/organisms/AvlOrbitalsCosmicZoom.d.ts +0 -54
  131. package/dist/components/avl/organisms/AvlTraitScene.d.ts +0 -17
  132. package/dist/components/avl/organisms/AvlTransitionDetail.d.ts +0 -20
  133. package/dist/components/avl/organisms/AvlTransitionScene.d.ts +0 -13
  134. package/dist/components/avl/organisms/FlowCanvas.d.ts +0 -134
  135. package/dist/components/avl/organisms/OrbInspector.d.ts +0 -45
  136. package/dist/components/avl/organisms/ZoomBreadcrumb.d.ts +0 -16
  137. package/dist/components/avl/organisms/ZoomLegend.d.ts +0 -10
  138. package/dist/components/avl/organisms/index.d.ts +0 -19
  139. package/dist/components/avl/providers/avl-3d-context.d.ts +0 -32
  140. package/dist/components/avl/types/avl-atom-types.d.ts +0 -53
  141. package/dist/components/avl/types/avl-behavior-compose-types.d.ts +0 -120
  142. package/dist/components/avl/types/avl-canvas-types.d.ts +0 -39
  143. package/dist/components/avl/types/avl-preview-types.d.ts +0 -240
  144. package/dist/components/core/atoms/Aside.d.ts +0 -15
  145. package/dist/components/core/atoms/AtlasImage.d.ts +0 -58
  146. package/dist/components/core/atoms/Avatar.d.ts +0 -61
  147. package/dist/components/core/atoms/Badge.d.ts +0 -29
  148. package/dist/components/core/atoms/Box.d.ts +0 -68
  149. package/dist/components/core/atoms/Button.d.ts +0 -33
  150. package/dist/components/core/atoms/Card.d.ts +0 -34
  151. package/dist/components/core/atoms/Center.d.ts +0 -33
  152. package/dist/components/core/atoms/Checkbox.d.ts +0 -14
  153. package/dist/components/core/atoms/ConditionalWrapper.d.ts +0 -69
  154. package/dist/components/core/atoms/ConfettiEffect.d.ts +0 -19
  155. package/dist/components/core/atoms/DayCell.d.ts +0 -22
  156. package/dist/components/core/atoms/Dialog.d.ts +0 -18
  157. package/dist/components/core/atoms/Divider.d.ts +0 -29
  158. package/dist/components/core/atoms/FilterPill.d.ts +0 -30
  159. package/dist/components/core/atoms/FlipContainer.d.ts +0 -21
  160. package/dist/components/core/atoms/GameIcon.d.ts +0 -19
  161. package/dist/components/core/atoms/Icon.d.ts +0 -57
  162. package/dist/components/core/atoms/InfiniteScrollSentinel.d.ts +0 -24
  163. package/dist/components/core/atoms/Input.d.ts +0 -39
  164. package/dist/components/core/atoms/Label.d.ts +0 -12
  165. package/dist/components/core/atoms/LawReferenceTooltip.d.ts +0 -48
  166. package/dist/components/core/atoms/Overlay.d.ts +0 -17
  167. package/dist/components/core/atoms/ProgressBar.d.ts +0 -63
  168. package/dist/components/core/atoms/Radio.d.ts +0 -35
  169. package/dist/components/core/atoms/RangeSlider.d.ts +0 -34
  170. package/dist/components/core/atoms/SectionHeader.d.ts +0 -14
  171. package/dist/components/core/atoms/Select.d.ts +0 -49
  172. package/dist/components/core/atoms/Spacer.d.ts +0 -25
  173. package/dist/components/core/atoms/Sparkline.d.ts +0 -30
  174. package/dist/components/core/atoms/Spinner.d.ts +0 -10
  175. package/dist/components/core/atoms/Stack.d.ts +0 -67
  176. package/dist/components/core/atoms/StatusDot.d.ts +0 -16
  177. package/dist/components/core/atoms/Switch.d.ts +0 -12
  178. package/dist/components/core/atoms/TextHighlight.d.ts +0 -54
  179. package/dist/components/core/atoms/Textarea.d.ts +0 -17
  180. package/dist/components/core/atoms/ThemeToggle.d.ts +0 -33
  181. package/dist/components/core/atoms/TimeSlotCell.d.ts +0 -23
  182. package/dist/components/core/atoms/TraitFrame.d.ts +0 -54
  183. package/dist/components/core/atoms/TrendIndicator.d.ts +0 -20
  184. package/dist/components/core/atoms/TypewriterText.d.ts +0 -20
  185. package/dist/components/core/atoms/Typography.d.ts +0 -39
  186. package/dist/components/core/atoms/index.d.ts +0 -52
  187. package/dist/components/core/atoms/svg/SvgBranch.d.ts +0 -16
  188. package/dist/components/core/atoms/svg/SvgConnection.d.ts +0 -17
  189. package/dist/components/core/atoms/svg/SvgFlow.d.ts +0 -14
  190. package/dist/components/core/atoms/svg/SvgGrid.d.ts +0 -18
  191. package/dist/components/core/atoms/svg/SvgLobe.d.ts +0 -17
  192. package/dist/components/core/atoms/svg/SvgMesh.d.ts +0 -16
  193. package/dist/components/core/atoms/svg/SvgMorph.d.ts +0 -15
  194. package/dist/components/core/atoms/svg/SvgNode.d.ts +0 -16
  195. package/dist/components/core/atoms/svg/SvgPulse.d.ts +0 -16
  196. package/dist/components/core/atoms/svg/SvgRing.d.ts +0 -17
  197. package/dist/components/core/atoms/svg/SvgShield.d.ts +0 -15
  198. package/dist/components/core/atoms/svg/SvgStack.d.ts +0 -17
  199. package/dist/components/core/atoms/svg/index.d.ts +0 -12
  200. package/dist/components/core/atoms/types.d.ts +0 -47
  201. package/dist/components/core/molecules/Accordion.d.ts +0 -71
  202. package/dist/components/core/molecules/ActivationBlock.d.ts +0 -22
  203. package/dist/components/core/molecules/Alert.d.ts +0 -25
  204. package/dist/components/core/molecules/AnimatedCounter.d.ts +0 -18
  205. package/dist/components/core/molecules/AssetPicker.d.ts +0 -21
  206. package/dist/components/core/molecules/BloomQuizBlock.d.ts +0 -25
  207. package/dist/components/core/molecules/BranchingLogicBuilder.d.ts +0 -33
  208. package/dist/components/core/molecules/Breadcrumb.d.ts +0 -55
  209. package/dist/components/core/molecules/ButtonGroup.d.ts +0 -77
  210. package/dist/components/core/molecules/CalendarGrid.d.ts +0 -61
  211. package/dist/components/core/molecules/Card.d.ts +0 -58
  212. package/dist/components/core/molecules/Carousel.d.ts +0 -42
  213. package/dist/components/core/molecules/Chart.d.ts +0 -106
  214. package/dist/components/core/molecules/ChartLegend.d.ts +0 -20
  215. package/dist/components/core/molecules/Coachmark.d.ts +0 -47
  216. package/dist/components/core/molecules/ConfirmDialog.d.ts +0 -49
  217. package/dist/components/core/molecules/ConnectionBlock.d.ts +0 -18
  218. package/dist/components/core/molecules/Container.d.ts +0 -30
  219. package/dist/components/core/molecules/ContentRenderer.d.ts +0 -23
  220. package/dist/components/core/molecules/DataGrid.d.ts +0 -117
  221. package/dist/components/core/molecules/DataList.d.ts +0 -129
  222. package/dist/components/core/molecules/DateRangePicker.d.ts +0 -56
  223. package/dist/components/core/molecules/DateRangeSelector.d.ts +0 -21
  224. package/dist/components/core/molecules/DocBreadcrumb.d.ts +0 -20
  225. package/dist/components/core/molecules/DocPagination.d.ts +0 -21
  226. package/dist/components/core/molecules/DocSearch.d.ts +0 -22
  227. package/dist/components/core/molecules/DocSidebar.d.ts +0 -24
  228. package/dist/components/core/molecules/DocTOC.d.ts +0 -24
  229. package/dist/components/core/molecules/DocumentViewer.d.ts +0 -61
  230. package/dist/components/core/molecules/Drawer.d.ts +0 -47
  231. package/dist/components/core/molecules/EdgeDecoration.d.ts +0 -36
  232. package/dist/components/core/molecules/EmptyState.d.ts +0 -29
  233. package/dist/components/core/molecules/ErrorBoundary.d.ts +0 -54
  234. package/dist/components/core/molecules/ErrorState.d.ts +0 -14
  235. package/dist/components/core/molecules/FeatureGrid.d.ts +0 -19
  236. package/dist/components/core/molecules/FileTree.d.ts +0 -37
  237. package/dist/components/core/molecules/FilterGroup.d.ts +0 -61
  238. package/dist/components/core/molecules/Flex.d.ts +0 -43
  239. package/dist/components/core/molecules/FlipCard.d.ts +0 -24
  240. package/dist/components/core/molecules/FloatingActionButton.d.ts +0 -83
  241. package/dist/components/core/molecules/FormField.d.ts +0 -16
  242. package/dist/components/core/molecules/FormSection.d.ts +0 -39
  243. package/dist/components/core/molecules/FormSectionHeader.d.ts +0 -31
  244. package/dist/components/core/molecules/GradientDivider.d.ts +0 -15
  245. package/dist/components/core/molecules/GraphCanvas.d.ts +0 -83
  246. package/dist/components/core/molecules/GraphView.d.ts +0 -45
  247. package/dist/components/core/molecules/Grid.d.ts +0 -54
  248. package/dist/components/core/molecules/GridPicker.d.ts +0 -44
  249. package/dist/components/core/molecules/Header.d.ts +0 -113
  250. package/dist/components/core/molecules/IconPicker.d.ts +0 -18
  251. package/dist/components/core/molecules/InputGroup.d.ts +0 -24
  252. package/dist/components/core/molecules/JazariStateMachine.d.ts +0 -34
  253. package/dist/components/core/molecules/JsonTreeEditor.d.ts +0 -13
  254. package/dist/components/core/molecules/Lightbox.d.ts +0 -26
  255. package/dist/components/core/molecules/LikertScale.d.ts +0 -34
  256. package/dist/components/core/molecules/LineChart.d.ts +0 -35
  257. package/dist/components/core/molecules/LoadingState.d.ts +0 -7
  258. package/dist/components/core/molecules/MapView.d.ts +0 -87
  259. package/dist/components/core/molecules/MatrixQuestion.d.ts +0 -35
  260. package/dist/components/core/molecules/Menu.d.ts +0 -44
  261. package/dist/components/core/molecules/Meter.d.ts +0 -52
  262. package/dist/components/core/molecules/Modal.d.ts +0 -36
  263. package/dist/components/core/molecules/Navigation.d.ts +0 -67
  264. package/dist/components/core/molecules/NodeSlotEditor.d.ts +0 -17
  265. package/dist/components/core/molecules/NumberStepper.d.ts +0 -28
  266. package/dist/components/core/molecules/OnboardingSpotlight.d.ts +0 -27
  267. package/dist/components/core/molecules/OptionConstraintGroup.d.ts +0 -44
  268. package/dist/components/core/molecules/OrbitalVisualization.d.ts +0 -48
  269. package/dist/components/core/molecules/PageHeader.d.ts +0 -60
  270. package/dist/components/core/molecules/Pagination.d.ts +0 -71
  271. package/dist/components/core/molecules/Popover.d.ts +0 -39
  272. package/dist/components/core/molecules/PositionedCanvas.d.ts +0 -40
  273. package/dist/components/core/molecules/ProgressDots.d.ts +0 -24
  274. package/dist/components/core/molecules/PropertyInspector.d.ts +0 -38
  275. package/dist/components/core/molecules/PullToRefresh.d.ts +0 -22
  276. package/dist/components/core/molecules/QrScanner.d.ts +0 -24
  277. package/dist/components/core/molecules/QuizBlock.d.ts +0 -20
  278. package/dist/components/core/molecules/ReflectionBlock.d.ts +0 -23
  279. package/dist/components/core/molecules/RelationSelect.d.ts +0 -48
  280. package/dist/components/core/molecules/RepeatableFormSection.d.ts +0 -60
  281. package/dist/components/core/molecules/ReplyTree.d.ts +0 -46
  282. package/dist/components/core/molecules/RichBlockEditor.d.ts +0 -43
  283. package/dist/components/core/molecules/ScaledDiagram.d.ts +0 -20
  284. package/dist/components/core/molecules/SearchInput.d.ts +0 -60
  285. package/dist/components/core/molecules/Section.d.ts +0 -43
  286. package/dist/components/core/molecules/SidePanel.d.ts +0 -53
  287. package/dist/components/core/molecules/Sidebar.d.ts +0 -72
  288. package/dist/components/core/molecules/SignaturePad.d.ts +0 -46
  289. package/dist/components/core/molecules/SimpleGrid.d.ts +0 -27
  290. package/dist/components/core/molecules/Skeleton.d.ts +0 -35
  291. package/dist/components/core/molecules/SocialProof.d.ts +0 -25
  292. package/dist/components/core/molecules/SortableList.d.ts +0 -19
  293. package/dist/components/core/molecules/Split.d.ts +0 -41
  294. package/dist/components/core/molecules/StarRating.d.ts +0 -27
  295. package/dist/components/core/molecules/StatDisplay.d.ts +0 -58
  296. package/dist/components/core/molecules/SwipeableRow.d.ts +0 -26
  297. package/dist/components/core/molecules/TableView.d.ts +0 -111
  298. package/dist/components/core/molecules/Tabs.d.ts +0 -60
  299. package/dist/components/core/molecules/TagInput.d.ts +0 -52
  300. package/dist/components/core/molecules/Toast.d.ts +0 -36
  301. package/dist/components/core/molecules/Tooltip.d.ts +0 -25
  302. package/dist/components/core/molecules/UploadDropZone.d.ts +0 -28
  303. package/dist/components/core/molecules/VersionDiff.d.ts +0 -62
  304. package/dist/components/core/molecules/ViolationAlert.d.ts +0 -46
  305. package/dist/components/core/molecules/VoteStack.d.ts +0 -35
  306. package/dist/components/core/molecules/WizardContainer.d.ts +0 -166
  307. package/dist/components/core/molecules/WizardNavigation.d.ts +0 -61
  308. package/dist/components/core/molecules/WizardProgress.d.ts +0 -45
  309. package/dist/components/core/molecules/index.d.ts +0 -138
  310. package/dist/components/core/molecules/lessonSegmentUtils.d.ts +0 -18
  311. package/dist/components/core/molecules/markdown/CodeBlock.d.ts +0 -108
  312. package/dist/components/core/molecules/markdown/MarkdownContent.d.ts +0 -26
  313. package/dist/components/core/molecules/markdown/index.d.ts +0 -2
  314. package/dist/components/core/molecules/parseLessonSegments.d.ts +0 -44
  315. package/dist/components/core/molecules/useDataDnd.d.ts +0 -63
  316. package/dist/components/core/organisms/CardGrid.d.ts +0 -84
  317. package/dist/components/core/organisms/ChatBar.d.ts +0 -31
  318. package/dist/components/core/organisms/CodeRunnerPanel.d.ts +0 -42
  319. package/dist/components/core/organisms/ComponentPatterns.d.ts +0 -185
  320. package/dist/components/core/organisms/CustomPattern.d.ts +0 -105
  321. package/dist/components/core/organisms/DataTable.d.ts +0 -79
  322. package/dist/components/core/organisms/DetailPanel.d.ts +0 -80
  323. package/dist/components/core/organisms/DrawerSlot.d.ts +0 -42
  324. package/dist/components/core/organisms/Form.d.ts +0 -214
  325. package/dist/components/core/organisms/LayoutPatterns.d.ts +0 -108
  326. package/dist/components/core/organisms/List.d.ts +0 -81
  327. package/dist/components/core/organisms/MasterDetail.d.ts +0 -35
  328. package/dist/components/core/organisms/MediaGallery.d.ts +0 -63
  329. package/dist/components/core/organisms/ModalSlot.d.ts +0 -38
  330. package/dist/components/core/organisms/NotifyListener.d.ts +0 -15
  331. package/dist/components/core/organisms/SegmentRenderer.d.ts +0 -38
  332. package/dist/components/core/organisms/StatCard.d.ts +0 -65
  333. package/dist/components/core/organisms/StateMachineView.d.ts +0 -45
  334. package/dist/components/core/organisms/SubagentTracePanel.d.ts +0 -50
  335. package/dist/components/core/organisms/Timeline.d.ts +0 -71
  336. package/dist/components/core/organisms/ToastSlot.d.ts +0 -41
  337. package/dist/components/core/organisms/UISlotRenderer.d.ts +0 -116
  338. package/dist/components/core/organisms/book/index.d.ts +0 -7
  339. package/dist/components/core/organisms/book/types.d.ts +0 -62
  340. package/dist/components/core/organisms/component-registry.generated.d.ts +0 -9
  341. package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +0 -29
  342. package/dist/components/core/organisms/debug/WalkMinimap.d.ts +0 -17
  343. package/dist/components/core/organisms/debug/hooks/useDebugData.d.ts +0 -25
  344. package/dist/components/core/organisms/debug/index.d.ts +0 -13
  345. package/dist/components/core/organisms/debug/tabs/EntitiesTab.d.ts +0 -14
  346. package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +0 -18
  347. package/dist/components/core/organisms/debug/tabs/EventFlowTab.d.ts +0 -14
  348. package/dist/components/core/organisms/debug/tabs/GuardsPanel.d.ts +0 -14
  349. package/dist/components/core/organisms/debug/tabs/ServerBridgeTab.d.ts +0 -20
  350. package/dist/components/core/organisms/debug/tabs/TicksTab.d.ts +0 -14
  351. package/dist/components/core/organisms/debug/tabs/TraitsTab.d.ts +0 -14
  352. package/dist/components/core/organisms/debug/tabs/TransitionTimeline.d.ts +0 -19
  353. package/dist/components/core/organisms/debug/tabs/VerificationTab.d.ts +0 -17
  354. package/dist/components/core/organisms/index.d.ts +0 -33
  355. package/dist/components/core/organisms/layout/DashboardGrid.d.ts +0 -33
  356. package/dist/components/core/organisms/layout/MasterDetailLayout.d.ts +0 -32
  357. package/dist/components/core/organisms/layout/SplitPane.d.ts +0 -34
  358. package/dist/components/core/organisms/layout/TabbedContainer.d.ts +0 -42
  359. package/dist/components/core/organisms/layout/index.d.ts +0 -9
  360. package/dist/components/core/organisms/marketing-types.d.ts +0 -8
  361. package/dist/components/core/organisms/trace-edit-focus.d.ts +0 -14
  362. package/dist/components/core/organisms/types.d.ts +0 -72
  363. package/dist/components/core/templates/CounterTemplate.d.ts +0 -51
  364. package/dist/components/core/templates/DashboardLayout.d.ts +0 -110
  365. package/dist/components/core/templates/GenericAppTemplate.d.ts +0 -24
  366. package/dist/components/core/templates/index.d.ts +0 -10
  367. package/dist/components/core/templates/types.d.ts +0 -35
  368. package/dist/components/game/atoms/ChoiceButton.d.ts +0 -29
  369. package/dist/components/game/atoms/ControlButton.d.ts +0 -35
  370. package/dist/components/game/atoms/DialogueBubble.d.ts +0 -26
  371. package/dist/components/game/atoms/DrawShape.d.ts +0 -50
  372. package/dist/components/game/atoms/DrawSprite.d.ts +0 -47
  373. package/dist/components/game/atoms/DrawText.d.ts +0 -31
  374. package/dist/components/game/atoms/GameAudioToggle.d.ts +0 -34
  375. package/dist/components/game/atoms/HealthBar.d.ts +0 -32
  376. package/dist/components/game/atoms/MiniMap.d.ts +0 -40
  377. package/dist/components/game/atoms/ScoreDisplay.d.ts +0 -25
  378. package/dist/components/game/atoms/StateIndicator.d.ts +0 -29
  379. package/dist/components/game/atoms/TimerDisplay.d.ts +0 -22
  380. package/dist/components/game/molecules/ActionPalette.d.ts +0 -34
  381. package/dist/components/game/molecules/ActionTile.d.ts +0 -30
  382. package/dist/components/game/molecules/Canvas.d.ts +0 -96
  383. package/dist/components/game/molecules/Canvas2D.d.ts +0 -120
  384. package/dist/components/game/molecules/ControlGrid.d.ts +0 -49
  385. package/dist/components/game/molecules/DrawShapeLayer.d.ts +0 -19
  386. package/dist/components/game/molecules/DrawSpriteLayer.d.ts +0 -21
  387. package/dist/components/game/molecules/DrawTextLayer.d.ts +0 -22
  388. package/dist/components/game/molecules/GameHud.d.ts +0 -52
  389. package/dist/components/game/molecules/GameMenu.d.ts +0 -42
  390. package/dist/components/game/molecules/SequenceBar.d.ts +0 -51
  391. package/dist/components/game/molecules/StatBadge.d.ts +0 -39
  392. package/dist/components/game/molecules/StateGraph.d.ts +0 -38
  393. package/dist/components/game/molecules/StateJsonView.d.ts +0 -37
  394. package/dist/components/game/molecules/StateNode.d.ts +0 -31
  395. package/dist/components/game/molecules/TraitSlot.d.ts +0 -99
  396. package/dist/components/game/molecules/TraitStateViewer.d.ts +0 -52
  397. package/dist/components/game/molecules/TransitionArrow.d.ts +0 -31
  398. package/dist/components/game/molecules/index.d.ts +0 -39
  399. package/dist/components/game/patterns.d.ts +0 -20
  400. package/dist/components/game/templates/GameShell.d.ts +0 -35
  401. package/dist/components/learning/atoms/LearningCanvas.d.ts +0 -80
  402. package/dist/components/learning/molecules/AlgorithmCanvas.d.ts +0 -58
  403. package/dist/components/learning/molecules/BiologyCanvas.d.ts +0 -47
  404. package/dist/components/learning/molecules/ChemistryCanvas.d.ts +0 -55
  405. package/dist/components/learning/molecules/MathCanvas.d.ts +0 -61
  406. package/dist/components/learning/molecules/PhysicsCanvas.d.ts +0 -54
  407. package/dist/components/marketing/atoms/AnimatedCounter.d.ts +0 -20
  408. package/dist/components/marketing/atoms/AnimatedGraphic.d.ts +0 -32
  409. package/dist/components/marketing/atoms/AnimatedReveal.d.ts +0 -26
  410. package/dist/components/marketing/atoms/ContentSection.d.ts +0 -16
  411. package/dist/components/marketing/atoms/MarketingStatCard.d.ts +0 -13
  412. package/dist/components/marketing/atoms/PatternTile.d.ts +0 -41
  413. package/dist/components/marketing/molecules/ArticleSection.d.ts +0 -18
  414. package/dist/components/marketing/molecules/CTABanner.d.ts +0 -26
  415. package/dist/components/marketing/molecules/CaseStudyCard.d.ts +0 -24
  416. package/dist/components/marketing/molecules/CommunityLinks.d.ts +0 -28
  417. package/dist/components/marketing/molecules/FeatureCard.d.ts +0 -26
  418. package/dist/components/marketing/molecules/GeometricPattern.d.ts +0 -33
  419. package/dist/components/marketing/molecules/HeroSection.d.ts +0 -28
  420. package/dist/components/marketing/molecules/InstallBox.d.ts +0 -16
  421. package/dist/components/marketing/molecules/MarketingFooter.d.ts +0 -29
  422. package/dist/components/marketing/molecules/PricingCard.d.ts +0 -19
  423. package/dist/components/marketing/molecules/PricingGrid.d.ts +0 -13
  424. package/dist/components/marketing/molecules/PullQuote.d.ts +0 -14
  425. package/dist/components/marketing/molecules/ServiceCatalog.d.ts +0 -19
  426. package/dist/components/marketing/molecules/ShowcaseCard.d.ts +0 -18
  427. package/dist/components/marketing/molecules/SplitSection.d.ts +0 -19
  428. package/dist/components/marketing/molecules/StatsGrid.d.ts +0 -18
  429. package/dist/components/marketing/molecules/StepFlow.d.ts +0 -21
  430. package/dist/components/marketing/molecules/TagCloud.d.ts +0 -18
  431. package/dist/components/marketing/molecules/TeamCard.d.ts +0 -19
  432. package/dist/components/marketing/organisms/CaseStudyOrganism.d.ts +0 -29
  433. package/dist/components/marketing/organisms/FeatureGridOrganism.d.ts +0 -30
  434. package/dist/components/marketing/organisms/HeroOrganism.d.ts +0 -42
  435. package/dist/components/marketing/organisms/PricingOrganism.d.ts +0 -33
  436. package/dist/components/marketing/organisms/ShowcaseOrganism.d.ts +0 -34
  437. package/dist/components/marketing/organisms/StatsOrganism.d.ts +0 -23
  438. package/dist/components/marketing/organisms/StepFlowOrganism.d.ts +0 -29
  439. package/dist/components/marketing/organisms/TeamOrganism.d.ts +0 -28
  440. package/dist/components/marketing/organisms/book/BookChapterView.d.ts +0 -21
  441. package/dist/components/marketing/organisms/book/BookCoverPage.d.ts +0 -21
  442. package/dist/components/marketing/organisms/book/BookNavBar.d.ts +0 -19
  443. package/dist/components/marketing/organisms/book/BookTableOfContents.d.ts +0 -20
  444. package/dist/components/marketing/organisms/book/BookViewer.d.ts +0 -31
  445. package/dist/components/marketing/templates/AboutPageTemplate.d.ts +0 -53
  446. package/dist/components/marketing/templates/AuthLayout.d.ts +0 -15
  447. package/dist/components/marketing/templates/FeatureDetailPageTemplate.d.ts +0 -37
  448. package/dist/components/marketing/templates/LandingPageTemplate.d.ts +0 -70
  449. package/dist/components/marketing/templates/PricingPageTemplate.d.ts +0 -44
  450. package/dist/hooks/useAgentChat.d.ts +0 -105
  451. package/dist/hooks/useAlmadarDndCollision.d.ts +0 -34
  452. package/dist/hooks/useAuthContext.d.ts +0 -25
  453. package/dist/hooks/useCamera.d.ts +0 -57
  454. package/dist/hooks/useCanvasGestures.d.ts +0 -44
  455. package/dist/hooks/useClientEffects.d.ts +0 -88
  456. package/dist/hooks/useCompile.d.ts +0 -18
  457. package/dist/hooks/useDeepAgentGeneration.d.ts +0 -46
  458. package/dist/hooks/useDragReorder.d.ts +0 -26
  459. package/dist/hooks/useDraggable.d.ts +0 -25
  460. package/dist/hooks/useDropZone.d.ts +0 -23
  461. package/dist/hooks/useEventBus.d.ts +0 -99
  462. package/dist/hooks/useExtensions.d.ts +0 -32
  463. package/dist/hooks/useFileEditor.d.ts +0 -32
  464. package/dist/hooks/useFileSystem.d.ts +0 -50
  465. package/dist/hooks/useGameAudio.d.ts +0 -47
  466. package/dist/hooks/useGitHub.d.ts +0 -58
  467. package/dist/hooks/useImageCache.d.ts +0 -16
  468. package/dist/hooks/useInfiniteScroll.d.ts +0 -13
  469. package/dist/hooks/useLongPress.d.ts +0 -16
  470. package/dist/hooks/useOrbitalHistory.d.ts +0 -39
  471. package/dist/hooks/usePreview.d.ts +0 -57
  472. package/dist/hooks/usePullToRefresh.d.ts +0 -25
  473. package/dist/hooks/useQuerySingleton.d.ts +0 -79
  474. package/dist/hooks/useRenderInterpolation.d.ts +0 -33
  475. package/dist/hooks/useResolvedSchema.d.ts +0 -45
  476. package/dist/hooks/useSharedEntityStore.d.ts +0 -53
  477. package/dist/hooks/useSwipeGesture.d.ts +0 -26
  478. package/dist/hooks/useTapReveal.d.ts +0 -32
  479. package/dist/hooks/useTraitStateMachine.d.ts +0 -136
  480. package/dist/hooks/useTranslate.d.ts +0 -35
  481. package/dist/hooks/useUIEvents.d.ts +0 -41
  482. package/dist/hooks/useUnitSpriteAtlas.d.ts +0 -24
  483. package/dist/hooks/useValidation.d.ts +0 -46
  484. package/dist/lib/api-client.d.ts +0 -43
  485. package/dist/lib/atlasSlice.d.ts +0 -58
  486. package/dist/lib/boardEntity.d.ts +0 -44
  487. package/dist/lib/client-effect-executor.d.ts +0 -57
  488. package/dist/lib/cn.d.ts +0 -6
  489. package/dist/lib/createClientEffectHandlers.d.ts +0 -42
  490. package/dist/lib/data-resolver.d.ts +0 -55
  491. package/dist/lib/debug.d.ts +0 -36
  492. package/dist/lib/debugRegistry.d.ts +0 -30
  493. package/dist/lib/debugUtils.d.ts +0 -27
  494. package/dist/lib/drawable/contract.d.ts +0 -68
  495. package/dist/lib/drawable/hitTest.d.ts +0 -23
  496. package/dist/lib/drawable/paintDispatch.d.ts +0 -22
  497. package/dist/lib/drawable/projector.d.ts +0 -14
  498. package/dist/lib/drawable/projector3d.d.ts +0 -20
  499. package/dist/lib/drawable/three/Camera3D.d.ts +0 -60
  500. package/dist/lib/drawable/three/Canvas3DErrorBoundary.d.ts +0 -51
  501. package/dist/lib/drawable/three/Canvas3DHost.d.ts +0 -178
  502. package/dist/lib/drawable/three/Canvas3DLoadingState.d.ts +0 -44
  503. package/dist/lib/drawable/three/Drawable3D.d.ts +0 -20
  504. package/dist/lib/drawable/three/GameCamera3D.d.ts +0 -16
  505. package/dist/lib/drawable/three/Lighting3D.d.ts +0 -55
  506. package/dist/lib/drawable/three/ModelLoader.d.ts +0 -52
  507. package/dist/lib/drawable/three/Scene3D.d.ts +0 -37
  508. package/dist/lib/drawable/three/game3dTheme.d.ts +0 -14
  509. package/dist/lib/drawable/three/hooks/useAssetLoader.d.ts +0 -58
  510. package/dist/lib/drawable/three/hooks/useGameCanvas3DEvents.d.ts +0 -124
  511. package/dist/lib/drawable/three/hooks/useRaycaster.d.ts +0 -86
  512. package/dist/lib/drawable/three/hooks/useSceneGraph.d.ts +0 -67
  513. package/dist/lib/drawable/three/hooks/useThree.d.ts +0 -58
  514. package/dist/lib/drawable/three/lib/AssetLoader.d.ts +0 -80
  515. package/dist/lib/drawable/three/lib/culling.d.ts +0 -134
  516. package/dist/lib/drawable/three/lib/grid3D.d.ts +0 -154
  517. package/dist/lib/drawable/three/mesh3d.d.ts +0 -28
  518. package/dist/lib/editorUtils.d.ts +0 -114
  519. package/dist/lib/embedded-traits.d.ts +0 -39
  520. package/dist/lib/entityDebug.d.ts +0 -39
  521. package/dist/lib/fn-form-lambda.d.ts +0 -27
  522. package/dist/lib/game.d.ts +0 -92
  523. package/dist/lib/gameShared.d.ts +0 -18
  524. package/dist/lib/getNestedValue.d.ts +0 -34
  525. package/dist/lib/guardRegistry.d.ts +0 -33
  526. package/dist/lib/iconFamily.d.ts +0 -41
  527. package/dist/lib/imageCache.d.ts +0 -9
  528. package/dist/lib/init.d.ts +0 -14
  529. package/dist/lib/isometric.d.ts +0 -121
  530. package/dist/lib/isometricTypes.d.ts +0 -141
  531. package/dist/lib/jazari/index.d.ts +0 -5
  532. package/dist/lib/jazari/layout.d.ts +0 -31
  533. package/dist/lib/jazari/svg-paths.d.ts +0 -61
  534. package/dist/lib/jazari/types.d.ts +0 -91
  535. package/dist/lib/makeAsset.d.ts +0 -5
  536. package/dist/lib/mechanics.d.ts +0 -4
  537. package/dist/lib/offline-executor.d.ts +0 -239
  538. package/dist/lib/orbitalsByTrait.d.ts +0 -34
  539. package/dist/lib/painter2d.d.ts +0 -81
  540. package/dist/lib/parseContentSegments.d.ts +0 -42
  541. package/dist/lib/pattern-resolver.d.ts +0 -88
  542. package/dist/lib/perf.d.ts +0 -32
  543. package/dist/lib/physicsPresets.d.ts +0 -4
  544. package/dist/lib/physicsTypes.d.ts +0 -43
  545. package/dist/lib/prepareSchemaForPreview.d.ts +0 -71
  546. package/dist/lib/puzzleObject.d.ts +0 -41
  547. package/dist/lib/slot-definitions.d.ts +0 -33
  548. package/dist/lib/spriteAnimation.d.ts +0 -85
  549. package/dist/lib/spriteAnimationTypes.d.ts +0 -72
  550. package/dist/lib/spriteSheetConstants.d.ts +0 -16
  551. package/dist/lib/tickRegistry.d.ts +0 -40
  552. package/dist/lib/trait-binding-resolver.d.ts +0 -57
  553. package/dist/lib/traitRegistry.d.ts +0 -34
  554. package/dist/lib/verificationRegistry.d.ts +0 -97
  555. package/dist/lib/visualizer/browser.d.ts +0 -48
  556. package/dist/lib/visualizer/index.d.ts +0 -144
  557. package/dist/lib/webPainter2d.d.ts +0 -7
  558. package/dist/lib/wrapCallbackForEvent.d.ts +0 -16
  559. package/dist/marketing/index.d.cts +0 -1067
  560. package/dist/marketing/index.d.ts +0 -72
  561. package/dist/providers/CurrentPagePathContext.d.ts +0 -9
  562. package/dist/providers/DesignThemeContext.d.ts +0 -21
  563. package/dist/providers/EntitySchemaContext.d.ts +0 -81
  564. package/dist/providers/EventBusProvider.d.ts +0 -47
  565. package/dist/providers/GameAudioProvider.d.ts +0 -53
  566. package/dist/providers/OfflineModeProvider.d.ts +0 -79
  567. package/dist/providers/OrbitalProvider.d.ts +0 -110
  568. package/dist/providers/OrbitalThemeProvider.d.ts +0 -37
  569. package/dist/providers/SelectionProvider.d.ts +0 -82
  570. package/dist/providers/ServerBridge.d.ts +0 -102
  571. package/dist/providers/ThemeContext.d.ts +0 -104
  572. package/dist/providers/TraitProvider.d.ts +0 -53
  573. package/dist/providers/TraitScopeProvider.d.ts +0 -43
  574. package/dist/providers/UserContext.d.ts +0 -112
  575. package/dist/providers/VerificationProvider.d.ts +0 -64
  576. package/dist/providers/navigation.d.ts +0 -142
  577. package/dist/runtime/BrowserPlayground.d.ts +0 -34
  578. package/dist/runtime/OrbPreview.d.ts +0 -84
  579. package/dist/scripts/audit-tailwind-safelist.d.ts +0 -27
  580. package/dist/scripts/generate-design-system.d.ts +0 -29
  581. package/dist/scripts/generate-theme-from-schema.d.ts +0 -10
  582. package/dist/scripts/generate.d.ts +0 -12
  583. package/dist/scripts/suggest-components.d.ts +0 -31
  584. package/dist/scripts/types.d.ts +0 -129
  585. package/dist/tsup.config.d.ts +0 -3
  586. package/dist/types/renderer-types.d.ts +0 -146
  587. package/dist/types/runtime-types.d.ts +0 -21
  588. package/dist/types/slot-types.d.ts +0 -49
  589. package/dist/vitest.config.d.ts +0 -2
@@ -1,39 +1,1485 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { Component, ReactNode, ErrorInfo } from 'react';
3
+ import { ScenePos, EventEmit, JsonObject, OrbitalSchema } from '@almadar/core';
4
+ import * as THREE from 'three';
5
+ import { QuadraticBezierCurve3 } from 'three';
6
+ import { D as DrawableNode } from '../../../paintDispatch-DR942knx.js';
7
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
8
+ import { I as IsometricTile, a as IsometricUnit, b as IsometricFeature, A as ApplicationLevelData, O as OrbitalLevelData, T as TraitLevelData, c as TransitionLevelData } from '../../../avl-schema-parser-B8Onmfsu.js';
9
+ export { U as UnitAnimationState } from '../../../avl-schema-parser-B8Onmfsu.js';
10
+
1
11
  /**
2
- * The three.js VESSEL — the 3D painter backend of the drawable substrate.
3
- *
4
- * three.js is a rasterizer behind the neutral `draw-*` descriptors (the exact 3D
5
- * analogue of the 2D `Painter2D` seam), NOT a parallel React component tree. This
6
- * barrel is the SOLE entry into the R3F module graph: it is the tsup `three` entry
7
- * and is published behind the `@almadar/ui/components/{molecules,organisms}/game/three`
8
- * subpath (a STABLE alias). It is NEVER re-exported from the main `components/index.ts`
9
- * / `lib/index.ts` / `hooks/index.ts` barrels that would statically pull
10
- * @react-three/fiber into every app's bundle. `Canvas.tsx` (the `canvas` host) lazy
11
- * imports this subpath for `mode:"3d"`; a 2D-only app never loads it.
12
- *
13
- * @packageDocumentation
14
- */
15
- export { Canvas3DHost, Canvas3DHost as GameCanvas3D } from './Canvas3DHost';
16
- export type { Canvas3DHostProps, Canvas3DHostHandle } from './Canvas3DHost';
17
- export { Scene3D, type Scene3DProps } from './Scene3D';
18
- export { Camera3D, type Camera3DProps, type Camera3DHandle, type CameraMode } from './Camera3D';
19
- export { Lighting3D, type Lighting3DProps } from './Lighting3D';
20
- export { Canvas3DLoadingState, type Canvas3DLoadingStateProps, } from './Canvas3DLoadingState';
21
- export { Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, } from './Canvas3DErrorBoundary';
22
- export { ModelLoader, type ModelLoaderProps, } from './ModelLoader';
23
- export { useThree, type UseThreeOptions, type UseThreeReturn, } from './hooks/useThree';
24
- export { useAssetLoader, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type AssetLoadingState, } from './hooks/useAssetLoader';
25
- export { useSceneGraph, type UseSceneGraphReturn, type SceneGraphNode, type NodeType, } from './hooks/useSceneGraph';
26
- export { useRaycaster, type UseRaycasterOptions, type UseRaycasterReturn, type RaycastHit, type GridHit, } from './hooks/useRaycaster';
27
- export { useGameCanvas3DEvents, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type GameCanvas3DEventConfig, } from './hooks/useGameCanvas3DEvents';
28
- export { AssetLoader, assetLoader, type LoadedModel, } from './lib/AssetLoader';
29
- export type { UnitAnimationState } from '../../spriteAnimationTypes';
30
- export { gridToWorld, worldToGrid, raycastToPlane, raycastToObjects, gridDistance, gridManhattanDistance, getNeighbors, isInBounds, getCellsInRadius, createGridHighlight, normalizeMouseCoordinates, type Grid3DConfig, type GridCoordinate, } from './lib/grid3D';
31
- export { isInFrustum, filterByFrustum, getVisibleIndices, calculateLODLevel, updateInstanceLOD, cullInstancedMesh, SpatialHashGrid, type CullingOptions, type LODLevel, type LODConfig, } from './lib/culling';
32
- export { Avl3DViewer, type Avl3DViewerProps } from '../../../components/avl/organisms/Avl3DViewer';
33
- export { Avl3DApplicationScene, type Avl3DApplicationSceneProps } from '../../../components/avl/organisms/Avl3DApplicationScene';
34
- export { Avl3DOrbitalScene, type Avl3DOrbitalSceneProps } from '../../../components/avl/organisms/Avl3DOrbitalScene';
35
- export { Avl3DTraitScene, type Avl3DTraitSceneProps } from '../../../components/avl/organisms/Avl3DTraitScene';
36
- export { Avl3DTransitionScene, type Avl3DTransitionSceneProps } from '../../../components/avl/organisms/Avl3DTransitionScene';
37
- export { Avl3DEffects, type Avl3DEffectsProps } from '../../../components/avl/organisms/Avl3DEffects';
38
- export { Avl3DContext, useAvl3DConfig, type Avl3DModelOverrides, type Avl3DConfig } from '../../../components/avl/providers/avl-3d-context';
39
- export { AVL_3D_COLORS, CAMERA_POSITIONS, goldenSpiralPositions, fibonacciSpherePositions, orbitRingPositions, arcCurve3D, selfLoopCurve3D, treeLayout3D, type Position3D, } from '../../../components/avl/lib/avl-3d-layout';
12
+ * Canvas3DHost — the thin 3D draw-host: the `canvas` host's 3D painter backend
13
+ * (the R3F "vessel" behind the neutral drawables), the exact 3D analogue of the
14
+ * 2D `Painter2D` seam. Reached only via the lazy `@almadar/ui/.../game/three`
15
+ * subpath so three.js never enters a 2D bundle.
16
+ *
17
+ * The 3D twin of Canvas2D: the board authors a `drawables` list (the neutral
18
+ * `draw-*` children) and this host maps each descriptor through `Drawable3D` to a
19
+ * three.js mesh (a raw descriptor NEVER reaches `<group>{children}` — R3F throws).
20
+ * It owns NO game data tiles, units, features, selection, health bars and labels
21
+ * are all `draw-*` children composed in `.lolo`, not props here. Only view state
22
+ * (camera, error boundary) is local.
23
+ *
24
+ * Camera: `isometric`/`perspective`/`top-down` frame the scene bounds (derived from
25
+ * the drawn descriptors); `follow`/`chase` track the neutral core `Camera.target`
26
+ * (forwarded as `followTarget`), falling back to the scene centre.
27
+ *
28
+ * Interaction: keyboard maps to semantic events (device-agnostic input). Pointer
29
+ * click/hover on neutral drawables needs a per-entity id + a scene-space raycast
30
+ * the descriptors don't yet carry — that hit-test is a tracked fork
31
+ * (docs/Almadar_Std_Game_V2_PLAN.md); the click/hover event props are accepted but
32
+ * not yet emitted from a raycast.
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+
37
+ /** Camera mode for 3D view.
38
+ * - `follow` tracks `followTarget` (the neutral `Camera.target`) from a fixed offset.
39
+ * - `chase` sits behind + above the target. */
40
+ type CameraMode$2 = 'isometric' | 'perspective' | 'top-down' | 'follow' | 'chase';
41
+ /** Map orientation */
42
+ type MapOrientation = 'standard' | 'rotated';
43
+ /** Overlay control */
44
+ type OverlayControl = 'default' | 'hidden' | 'minimap';
45
+ /** Props for GameCanvas3D component */
46
+ interface Canvas3DHostProps {
47
+ /** Additional CSS classes */
48
+ className?: string;
49
+ /** Children to render inside the 3D canvas (e.g., physics objects, custom meshes) */
50
+ children?: React__default.ReactNode;
51
+ /** Neutral drawable descriptors — the same `children` vocabulary as Canvas2D. The
52
+ * host maps each through `Drawable3D` to a mesh. */
53
+ drawables?: DrawableNode[];
54
+ /** Loading state indicator */
55
+ isLoading?: boolean;
56
+ /** Error state */
57
+ error?: string | null;
58
+ /** Fog of war data (accepted for API parity; presentation-only). */
59
+ fogOfWar?: boolean[][];
60
+ /** Map orientation (data attribute). */
61
+ orientation?: MapOrientation;
62
+ /** Camera mode */
63
+ cameraMode?: CameraMode$2;
64
+ /** Follow-camera target in scene space (the neutral core `Camera.target`). */
65
+ followTarget?: ScenePos;
66
+ /** Show grid */
67
+ showGrid?: boolean;
68
+ /** Show coordinates overlay (accepted for API parity). */
69
+ showCoordinates?: boolean;
70
+ /** Show tile information (accepted for API parity). */
71
+ showTileInfo?: boolean;
72
+ /** Overlay control mode (data attribute). */
73
+ overlay?: OverlayControl;
74
+ /** Enable shadows */
75
+ shadows?: boolean;
76
+ /** Background color */
77
+ backgroundColor?: string;
78
+ /** Declarative event: tile click. Emitted from a ground-plane raycast → scene cell
79
+ * `{ x, z }` (the FSM validates the cell). `tileId` is optional — the neutral host
80
+ * has no per-tile id, and the board FSMs key off the coordinate. */
81
+ tileClickEvent?: EventEmit<{
82
+ x: number;
83
+ z: number;
84
+ tileId?: string;
85
+ type?: string;
86
+ terrain?: string;
87
+ elevation?: number;
88
+ }>;
89
+ /** Declarative event: unit click. Emitted `{ unitId, x, z }` when the raycast lands on a
90
+ * cell whose descriptor carries an `id` (a tagged unit sprite). */
91
+ unitClickEvent?: EventEmit<{
92
+ unitId: string;
93
+ x: number;
94
+ z: number;
95
+ unitType?: string;
96
+ name?: string;
97
+ team?: string;
98
+ faction?: string;
99
+ health?: number;
100
+ maxHealth?: number;
101
+ }>;
102
+ /** Declarative event: feature click. Accepted; not yet emitted (see `tileClickEvent`). */
103
+ featureClickEvent?: EventEmit<{
104
+ featureId: string;
105
+ x: number;
106
+ z: number;
107
+ type?: string;
108
+ elevation?: number;
109
+ }>;
110
+ /** Declarative event: canvas (background) click. */
111
+ canvasClickEvent?: EventEmit<{
112
+ clientX: number;
113
+ clientY: number;
114
+ button: number;
115
+ }>;
116
+ /** Declarative event: tile hover. Accepted; not yet emitted (see `tileClickEvent`). */
117
+ tileHoverEvent?: EventEmit<{
118
+ tileId: string;
119
+ x: number;
120
+ z: number;
121
+ type?: string;
122
+ }>;
123
+ /** Declarative event: tile leave. */
124
+ tileLeaveEvent?: EventEmit<Record<string, never>>;
125
+ /** Declarative event: unit animation. */
126
+ unitAnimationEvent?: EventEmit<{
127
+ unitId: string;
128
+ state: string;
129
+ timestamp: number;
130
+ }>;
131
+ /** Declarative event: camera change. */
132
+ cameraChangeEvent?: EventEmit<{
133
+ position: {
134
+ x: number;
135
+ y: number;
136
+ z: number;
137
+ };
138
+ timestamp: number;
139
+ }>;
140
+ /** Loading message */
141
+ loadingMessage?: string;
142
+ /** Unit draw-size multiplier (accepted for API parity; sizing is drawable-authored). */
143
+ unitScale?: number;
144
+ /** Board zoom (accepted for API parity; 3D zoom is camera-driven, not group-scaled). */
145
+ scale?: number;
146
+ /** Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input). */
147
+ keyMap?: Record<string, string>;
148
+ /** Maps a keyup `e.code` → the board's SEMANTIC event. */
149
+ keyUpMap?: Record<string, string>;
150
+ /** Side-view world size in pixels (accepted for API parity). */
151
+ worldWidth?: number;
152
+ /** Side-view world size in pixels (accepted for API parity). */
153
+ worldHeight?: number;
154
+ /** Pixel→world-unit divisor for side view (accepted for API parity). */
155
+ pixelsPerUnit?: number;
156
+ }
157
+ /** Imperative handle for GameCanvas3D */
158
+ interface Canvas3DHostHandle {
159
+ /** Get current camera position */
160
+ getCameraPosition: () => THREE.Vector3 | null;
161
+ /** Set camera position */
162
+ setCameraPosition: (x: number, y: number, z: number) => void;
163
+ /** Look at a specific point */
164
+ lookAt: (x: number, y: number, z: number) => void;
165
+ /** Reset camera to default position */
166
+ resetCamera: () => void;
167
+ /** Take a screenshot */
168
+ screenshot: () => string | null;
169
+ }
170
+ /**
171
+ * Canvas3DHost — thin 3D draw-host. Walks `drawables` through `Drawable3D`.
172
+ */
173
+ declare const Canvas3DHost: React__default.ForwardRefExoticComponent<Canvas3DHostProps & React__default.RefAttributes<Canvas3DHostHandle>>;
174
+
175
+ /**
176
+ * Scene3D
177
+ *
178
+ * Three.js scene wrapper component for React Three Fiber.
179
+ * Manages the scene environment, fog, and background.
180
+ *
181
+ * @packageDocumentation
182
+ */
183
+
184
+ interface Scene3DProps {
185
+ /** Background color or URL */
186
+ background?: string;
187
+ /** Fog configuration */
188
+ fog?: {
189
+ color: string;
190
+ near: number;
191
+ far: number;
192
+ };
193
+ /** Children to render in scene */
194
+ children?: React__default.ReactNode;
195
+ }
196
+ /**
197
+ * Scene3D Component
198
+ *
199
+ * Manages Three.js scene settings like background and fog.
200
+ *
201
+ * @example
202
+ * ```tsx
203
+ * <Canvas>
204
+ * <Scene3D background="#1a1a2e" fog={{ color: '#1a1a2e', near: 10, far: 50 }}>
205
+ * <GameObjects />
206
+ * </Scene3D>
207
+ * </Canvas>
208
+ * ```
209
+ */
210
+ declare function Scene3D({ background, fog, children }: Scene3DProps): React__default.JSX.Element;
211
+
212
+ /**
213
+ * Camera3D
214
+ *
215
+ * Three.js camera component with orbit controls.
216
+ * Supports isometric, perspective, and top-down camera modes.
217
+ *
218
+ * @packageDocumentation
219
+ */
220
+
221
+ type CameraMode$1 = 'isometric' | 'perspective' | 'top-down';
222
+ interface Camera3DProps {
223
+ /** Camera mode */
224
+ mode?: CameraMode$1;
225
+ /** Initial camera position */
226
+ position?: [number, number, number];
227
+ /** Target to look at */
228
+ target?: [number, number, number];
229
+ /** Zoom level */
230
+ zoom?: number;
231
+ /** Field of view (perspective mode only) */
232
+ fov?: number;
233
+ /** Enable orbit controls */
234
+ enableOrbit?: boolean;
235
+ /** Minimum zoom distance */
236
+ minDistance?: number;
237
+ /** Maximum zoom distance */
238
+ maxDistance?: number;
239
+ /** Called when camera changes */
240
+ onChange?: (camera: THREE.Camera) => void;
241
+ }
242
+ interface Camera3DHandle {
243
+ /** Get current camera */
244
+ getCamera: () => THREE.Camera;
245
+ /** Set camera position */
246
+ setPosition: (x: number, y: number, z: number) => void;
247
+ /** Look at target */
248
+ lookAt: (x: number, y: number, z: number) => void;
249
+ /** Reset to initial position */
250
+ reset: () => void;
251
+ /** Get current view bounds */
252
+ getViewBounds: () => {
253
+ min: THREE.Vector3;
254
+ max: THREE.Vector3;
255
+ };
256
+ }
257
+ /**
258
+ * Camera3D Component
259
+ *
260
+ * Configurable camera with orbit controls and multiple modes.
261
+ *
262
+ * @example
263
+ * ```tsx
264
+ * <Canvas>
265
+ * <Camera3D mode="isometric" position={[10, 10, 10]} target={[0, 0, 0]} />
266
+ * </Canvas>
267
+ * ```
268
+ */
269
+ declare const Camera3D: React__default.ForwardRefExoticComponent<Camera3DProps & React__default.RefAttributes<Camera3DHandle>>;
270
+
271
+ /**
272
+ * Lighting3D
273
+ *
274
+ * Default lighting setup for 3D game scenes.
275
+ * Includes ambient, directional, and optional point lights.
276
+ *
277
+ * @packageDocumentation
278
+ */
279
+
280
+ interface Lighting3DProps {
281
+ /** Ambient light intensity */
282
+ ambientIntensity?: number;
283
+ /** Ambient light color */
284
+ ambientColor?: string;
285
+ /** Directional light intensity */
286
+ directionalIntensity?: number;
287
+ /** Directional light color */
288
+ directionalColor?: string;
289
+ /** Directional light position */
290
+ directionalPosition?: [number, number, number];
291
+ /** Enable shadows */
292
+ shadows?: boolean;
293
+ /** Shadow map size */
294
+ shadowMapSize?: number;
295
+ /** Shadow camera size (orthographic half-extent) */
296
+ shadowCameraSize?: number;
297
+ /** Shadow depth bias — reduces shadow acne */
298
+ shadowBias?: number;
299
+ /** Shadow normal bias — reduces acne on angled faces (undefined = three.js default 0) */
300
+ shadowNormalBias?: number;
301
+ /** Shadow camera near plane */
302
+ shadowCameraNear?: number;
303
+ /** Shadow camera far plane */
304
+ shadowCameraFar?: number;
305
+ /** Show helper for directional light */
306
+ showHelpers?: boolean;
307
+ }
308
+ /**
309
+ * Lighting3D Component
310
+ *
311
+ * Pre-configured lighting setup for game scenes.
312
+ *
313
+ * @example
314
+ * ```tsx
315
+ * <Canvas>
316
+ * <Lighting3D
317
+ * ambientIntensity={0.6}
318
+ * directionalIntensity={1.0}
319
+ * shadows={true}
320
+ * />
321
+ * </Canvas>
322
+ * ```
323
+ */
324
+ declare function Lighting3D({ ambientIntensity, ambientColor, directionalIntensity, directionalColor, directionalPosition, shadows, shadowMapSize, shadowCameraSize, shadowBias, shadowNormalBias, shadowCameraNear, shadowCameraFar, showHelpers, }: Lighting3DProps): React__default.JSX.Element;
325
+
326
+ /**
327
+ * Canvas3DLoadingState
328
+ *
329
+ * Loading state component for 3D canvas with progress indicator.
330
+ * Displays asset loading progress and estimated time remaining.
331
+ *
332
+ * @packageDocumentation
333
+ */
334
+
335
+ interface Canvas3DLoadingStateProps {
336
+ /** Current loading progress (0-100) */
337
+ progress?: number;
338
+ /** Number of assets loaded */
339
+ loaded?: number;
340
+ /** Total assets to load */
341
+ total?: number;
342
+ /** Loading message */
343
+ message?: string;
344
+ /** Secondary details message */
345
+ details?: string;
346
+ /** Whether to show spinner */
347
+ showSpinner?: boolean;
348
+ /** Custom className */
349
+ className?: string;
350
+ }
351
+ /**
352
+ * Canvas3DLoadingState Component
353
+ *
354
+ * Displays loading progress for 3D assets.
355
+ *
356
+ * @example
357
+ * ```tsx
358
+ * <Canvas3DLoadingState
359
+ * progress={65}
360
+ * loaded={13}
361
+ * total={20}
362
+ * message="Loading 3D models..."
363
+ * details="character-knight.glb"
364
+ * />
365
+ * ```
366
+ */
367
+ declare function Canvas3DLoadingState({ progress, loaded, total, message, details, showSpinner, className, }: Canvas3DLoadingStateProps): React__default.JSX.Element;
368
+
369
+ /**
370
+ * Canvas3DErrorBoundary
371
+ *
372
+ * Error boundary for 3D canvas components.
373
+ * Catches Three.js and React Three Fiber errors gracefully.
374
+ *
375
+ * @packageDocumentation
376
+ */
377
+
378
+ interface Canvas3DErrorBoundaryProps {
379
+ /** Child components */
380
+ children: ReactNode;
381
+ /** Custom fallback component */
382
+ fallback?: ReactNode;
383
+ /** Error callback */
384
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
385
+ /** Reset callback */
386
+ onReset?: () => void;
387
+ }
388
+ interface Canvas3DErrorBoundaryState {
389
+ /** Whether an error has occurred */
390
+ hasError: boolean;
391
+ /** The error that occurred */
392
+ error: Error | null;
393
+ /** Error info from React */
394
+ errorInfo: ErrorInfo | null;
395
+ }
396
+ /**
397
+ * Canvas3DErrorBoundary Component
398
+ *
399
+ * Catches errors in 3D canvas and displays a user-friendly fallback.
400
+ *
401
+ * @example
402
+ * ```tsx
403
+ * <Canvas3DErrorBoundary
404
+ * onError={(error) => console.error('3D Error:', error)}
405
+ * onReset={() => console.log('Resetting...')}
406
+ * >
407
+ * <GameCanvas3D {...props} />
408
+ * </Canvas3DErrorBoundary>
409
+ * ```
410
+ */
411
+ declare class Canvas3DErrorBoundary extends Component<Canvas3DErrorBoundaryProps, Canvas3DErrorBoundaryState> {
412
+ constructor(props: Canvas3DErrorBoundaryProps);
413
+ static getDerivedStateFromError(error: Error): Canvas3DErrorBoundaryState;
414
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
415
+ handleReset: () => void;
416
+ render(): ReactNode;
417
+ }
418
+
419
+ /**
420
+ * ModelLoader Component
421
+ *
422
+ * React Three Fiber component for loading and displaying GLB/GLTF models from URLs.
423
+ * Handles loading states and errors without requiring React Suspense.
424
+ *
425
+ * @packageDocumentation
426
+ */
427
+
428
+ interface ModelLoaderProps {
429
+ /** URL to the GLB/GLTF model */
430
+ url: string;
431
+ /** Position [x, y, z] */
432
+ position?: [number, number, number];
433
+ /** Scale - either a single number or [x, y, z] */
434
+ scale?: number | [number, number, number];
435
+ /** Rotation in degrees [x, y, z] */
436
+ rotation?: [number, number, number];
437
+ /** Whether the model is selected */
438
+ isSelected?: boolean;
439
+ /** Whether the model is hovered */
440
+ isHovered?: boolean;
441
+ /** Click handler */
442
+ onClick?: () => void;
443
+ /** Hover handler */
444
+ onHover?: (hovered: boolean) => void;
445
+ /** Fallback geometry type */
446
+ fallbackGeometry?: 'box' | 'sphere' | 'cylinder' | 'none';
447
+ /**
448
+ * Named GLB animation clip to play (e.g. "idle", "walk") — the LOLO state machine
449
+ * drives this from the unit's `animation` field. Matched case-insensitively; an
450
+ * unknown or absent name leaves the model static (bind pose).
451
+ */
452
+ animation?: string;
453
+ /** Multiply the model's material colors by this CSS color (per-instance; e.g. team tint). */
454
+ tint?: string;
455
+ /** Enable shadows */
456
+ castShadow?: boolean;
457
+ /** Receive shadows */
458
+ receiveShadow?: boolean;
459
+ /**
460
+ * Base path for shared resources (textures, materials).
461
+ * If not provided, auto-detected from the URL by looking for a `/3d/` segment.
462
+ * E.g. "https://host/3d/" so that "Textures/colormap.png" resolves correctly.
463
+ */
464
+ resourceBasePath?: string;
465
+ }
466
+ /**
467
+ * ModelLoader component for rendering GLB models in React Three Fiber
468
+ */
469
+ declare function ModelLoader({ url, position, scale, rotation, isSelected, isHovered, onClick, onHover, fallbackGeometry, castShadow, receiveShadow, resourceBasePath, animation, tint, }: ModelLoaderProps): React__default.JSX.Element;
470
+
471
+ /**
472
+ * AssetLoader
473
+ *
474
+ * Three.js asset loading manager for 3D models and textures.
475
+ * Supports GLB/GLTF (primary), OBJ (fallback), and texture loading.
476
+ * Implements caching for performance.
477
+ *
478
+ * @packageDocumentation
479
+ */
480
+
481
+ interface LoadedModel {
482
+ scene: THREE.Group;
483
+ animations: THREE.AnimationClip[];
484
+ }
485
+ declare class AssetLoader {
486
+ private objLoader;
487
+ private textureLoader;
488
+ private modelCache;
489
+ private textureCache;
490
+ private loadingPromises;
491
+ constructor();
492
+ /**
493
+ * Load a GLB/GLTF model
494
+ * @param url - URL to the .glb or .gltf file
495
+ * @returns Promise with loaded model scene and animations
496
+ */
497
+ loadModel(url: string): Promise<LoadedModel>;
498
+ /**
499
+ * Load an OBJ model (fallback for non-GLB assets)
500
+ * @param url - URL to the .obj file
501
+ * @returns Promise with loaded object group
502
+ */
503
+ loadOBJ(url: string): Promise<THREE.Group>;
504
+ /**
505
+ * Load a texture
506
+ * @param url - URL to the texture image
507
+ * @returns Promise with loaded texture
508
+ */
509
+ loadTexture(url: string): Promise<THREE.Texture>;
510
+ /**
511
+ * Preload multiple assets
512
+ * @param urls - Array of asset URLs to preload
513
+ * @returns Promise that resolves when all assets are loaded
514
+ */
515
+ preload(urls: string[]): Promise<void>;
516
+ /**
517
+ * Check if a model is cached
518
+ * @param url - Model URL
519
+ */
520
+ hasModel(url: string): boolean;
521
+ /**
522
+ * Check if a texture is cached
523
+ * @param url - Texture URL
524
+ */
525
+ hasTexture(url: string): boolean;
526
+ /**
527
+ * Get cached model (throws if not cached)
528
+ * @param url - Model URL
529
+ */
530
+ getModel(url: string): LoadedModel;
531
+ /**
532
+ * Get cached texture (throws if not cached)
533
+ * @param url - Texture URL
534
+ */
535
+ getTexture(url: string): THREE.Texture;
536
+ /**
537
+ * Clear all caches
538
+ */
539
+ clearCache(): void;
540
+ /**
541
+ * Get cache statistics
542
+ */
543
+ getStats(): {
544
+ models: number;
545
+ textures: number;
546
+ loading: number;
547
+ };
548
+ }
549
+ declare const assetLoader: AssetLoader;
550
+
551
+ type CameraMode = 'isometric' | 'perspective' | 'top-down';
552
+ interface UseThreeOptions {
553
+ /** Camera mode for viewing the scene */
554
+ cameraMode?: CameraMode;
555
+ /** Initial camera position [x, y, z] */
556
+ cameraPosition?: [number, number, number];
557
+ /** Background color */
558
+ backgroundColor?: string;
559
+ /** Enable shadows */
560
+ shadows?: boolean;
561
+ /** Enable grid helper */
562
+ showGrid?: boolean;
563
+ /** Grid size */
564
+ gridSize?: number;
565
+ /** Asset loader instance */
566
+ assetLoader?: AssetLoader;
567
+ }
568
+ interface UseThreeReturn {
569
+ /** Canvas element reference (for React Three Fiber) */
570
+ canvasRef: React.RefObject<HTMLCanvasElement | null>;
571
+ /** Three.js renderer */
572
+ renderer: THREE.WebGLRenderer | null;
573
+ /** Three.js scene */
574
+ scene: THREE.Scene | null;
575
+ /** Three.js camera */
576
+ camera: THREE.Camera | null;
577
+ /** Orbit controls */
578
+ controls: OrbitControls | null;
579
+ /** Is scene ready */
580
+ isReady: boolean;
581
+ /** Canvas dimensions */
582
+ dimensions: {
583
+ width: number;
584
+ height: number;
585
+ };
586
+ /** Set camera position */
587
+ setCameraPosition: (x: number, y: number, z: number) => void;
588
+ /** Look at a specific point */
589
+ lookAt: (x: number, y: number, z: number) => void;
590
+ /** Reset camera to initial position */
591
+ resetCamera: () => void;
592
+ /** Fit view to bounds */
593
+ fitView: (bounds: {
594
+ minX: number;
595
+ maxX: number;
596
+ minZ: number;
597
+ maxZ: number;
598
+ }) => void;
599
+ }
600
+ /**
601
+ * Hook for managing a Three.js scene
602
+ * This is a lower-level hook used by GameCanvas3D
603
+ */
604
+ declare function useThree(options?: UseThreeOptions): UseThreeReturn;
605
+
606
+ interface UseAssetLoaderOptions {
607
+ /** URLs to preload on mount */
608
+ preloadUrls?: string[];
609
+ /** Asset loader instance (uses singleton if not provided) */
610
+ loader?: AssetLoader;
611
+ }
612
+ interface AssetLoadingState {
613
+ /** Whether assets are currently loading */
614
+ isLoading: boolean;
615
+ /** Loading progress (0-100) */
616
+ progress: number;
617
+ /** Number of loaded assets */
618
+ loaded: number;
619
+ /** Total assets to load */
620
+ total: number;
621
+ /** Any loading errors */
622
+ errors: string[];
623
+ }
624
+ interface UseAssetLoaderReturn extends AssetLoadingState {
625
+ /** Load a single model */
626
+ loadModel: (url: string) => Promise<LoadedModel>;
627
+ /** Load a single OBJ model */
628
+ loadOBJ: (url: string) => Promise<THREE.Group>;
629
+ /** Load a single texture */
630
+ loadTexture: (url: string) => Promise<THREE.Texture>;
631
+ /** Preload multiple assets */
632
+ preload: (urls: string[]) => Promise<void>;
633
+ /** Check if model is cached */
634
+ hasModel: (url: string) => boolean;
635
+ /** Check if texture is cached */
636
+ hasTexture: (url: string) => boolean;
637
+ /** Get cached model */
638
+ getModel: (url: string) => LoadedModel | undefined;
639
+ /** Get cached texture */
640
+ getTexture: (url: string) => THREE.Texture | undefined;
641
+ /** Clear all caches */
642
+ clearCache: () => void;
643
+ }
644
+ /**
645
+ * Hook for managing 3D asset loading in React components
646
+ *
647
+ * @example
648
+ * ```tsx
649
+ * const { loadModel, isLoading, progress } = useAssetLoader({
650
+ * preloadUrls: ['/assets/model.glb']
651
+ * });
652
+ *
653
+ * useEffect(() => {
654
+ * loadModel('/assets/character.glb').then((model) => {
655
+ * scene.add(model.scene);
656
+ * });
657
+ * }, []);
658
+ * ```
659
+ */
660
+ declare function useAssetLoader(options?: UseAssetLoaderOptions): UseAssetLoaderReturn;
661
+
662
+ type NodeType = 'tile' | 'unit' | 'feature' | 'highlight' | 'effect';
663
+ interface SceneGraphNode {
664
+ /** Unique node identifier */
665
+ id: string;
666
+ /** Node type classification */
667
+ type: NodeType;
668
+ /** Three.js object */
669
+ mesh: THREE.Object3D;
670
+ /** World position */
671
+ position: {
672
+ x: number;
673
+ y: number;
674
+ z: number;
675
+ };
676
+ /** Grid position */
677
+ gridPosition: {
678
+ x: number;
679
+ z: number;
680
+ };
681
+ /** Optional metadata */
682
+ metadata?: JsonObject;
683
+ }
684
+ interface UseSceneGraphReturn {
685
+ /** Reference to the nodes map */
686
+ nodesRef: React.MutableRefObject<Map<string, SceneGraphNode>>;
687
+ /** Add a node to the scene */
688
+ addNode: (node: SceneGraphNode) => void;
689
+ /** Remove a node from the scene */
690
+ removeNode: (id: string) => void;
691
+ /** Get a node by ID */
692
+ getNode: (id: string) => SceneGraphNode | undefined;
693
+ /** Update node position */
694
+ updateNodePosition: (id: string, x: number, y: number, z: number) => void;
695
+ /** Update node grid position */
696
+ updateNodeGridPosition: (id: string, gridX: number, gridZ: number) => void;
697
+ /** Get node at grid position */
698
+ getNodeAtGrid: (x: number, z: number, type?: NodeType) => SceneGraphNode | undefined;
699
+ /** Get all nodes of a specific type */
700
+ getNodesByType: (type: NodeType) => SceneGraphNode[];
701
+ /** Get all nodes within a bounding box */
702
+ getNodesInBounds: (minX: number, maxX: number, minZ: number, maxZ: number) => SceneGraphNode[];
703
+ /** Clear all nodes */
704
+ clearNodes: () => void;
705
+ /** Count nodes by type */
706
+ countNodes: (type?: NodeType) => number;
707
+ }
708
+ /**
709
+ * Hook for managing the 3D scene graph
710
+ *
711
+ * @example
712
+ * ```tsx
713
+ * const { addNode, removeNode, getNodeAtGrid } = useSceneGraph();
714
+ *
715
+ * // Add a tile
716
+ * addNode({
717
+ * id: 'tile-0-0',
718
+ * type: 'tile',
719
+ * mesh: tileMesh,
720
+ * position: { x: 0, y: 0, z: 0 },
721
+ * gridPosition: { x: 0, z: 0 }
722
+ * });
723
+ * ```
724
+ */
725
+ declare function useSceneGraph(): UseSceneGraphReturn;
726
+
727
+ interface RaycastHit {
728
+ /** Intersected object */
729
+ object: THREE.Object3D;
730
+ /** Intersection point */
731
+ point: THREE.Vector3;
732
+ /** Distance from camera */
733
+ distance: number;
734
+ /** UV coordinates (if available) */
735
+ uv?: THREE.Vector2;
736
+ /** Face normal */
737
+ face?: THREE.Face;
738
+ /** Face index */
739
+ faceIndex?: number;
740
+ /** Instance ID (for instanced meshes) */
741
+ instanceId?: number;
742
+ }
743
+ interface GridHit {
744
+ /** Grid X coordinate */
745
+ gridX: number;
746
+ /** Grid Z coordinate */
747
+ gridZ: number;
748
+ /** World position */
749
+ worldPosition: THREE.Vector3;
750
+ /** Intersected object type */
751
+ objectType?: 'tile' | 'unit' | 'feature';
752
+ /** Object ID if available */
753
+ objectId?: string;
754
+ }
755
+ interface UseRaycasterOptions {
756
+ /** Camera reference */
757
+ camera: THREE.Camera | null;
758
+ /** Canvas element for coordinate conversion */
759
+ canvas: HTMLCanvasElement | null;
760
+ /** Grid cell size */
761
+ cellSize?: number;
762
+ /** Grid offset X */
763
+ offsetX?: number;
764
+ /** Grid offset Z */
765
+ offsetZ?: number;
766
+ }
767
+ interface UseRaycasterReturn {
768
+ /** Raycaster instance */
769
+ raycaster: React.MutableRefObject<THREE.Raycaster>;
770
+ /** Mouse vector instance */
771
+ mouse: React.MutableRefObject<THREE.Vector2>;
772
+ /** Get intersection at client coordinates */
773
+ getIntersection: (clientX: number, clientY: number, objects: THREE.Object3D[]) => RaycastHit | null;
774
+ /** Get all intersections at client coordinates */
775
+ getAllIntersections: (clientX: number, clientY: number, objects: THREE.Object3D[]) => RaycastHit[];
776
+ /** Get grid coordinates at client position */
777
+ getGridCoordinates: (clientX: number, clientY: number) => {
778
+ x: number;
779
+ z: number;
780
+ } | null;
781
+ /** Get tile at client position from scene */
782
+ getTileAtPosition: (clientX: number, clientY: number, scene: THREE.Scene) => GridHit | null;
783
+ /** Convert client coordinates to normalized device coordinates */
784
+ clientToNDC: (clientX: number, clientY: number) => {
785
+ x: number;
786
+ y: number;
787
+ };
788
+ /** Check if point is within canvas bounds */
789
+ isWithinCanvas: (clientX: number, clientY: number) => boolean;
790
+ }
791
+ /**
792
+ * Hook for 3D raycasting operations
793
+ *
794
+ * @example
795
+ * ```tsx
796
+ * const { getIntersection, getGridCoordinates } = useRaycaster({
797
+ * camera,
798
+ * canvas: canvasRef.current
799
+ * });
800
+ *
801
+ * const handleClick = (e: MouseEvent) => {
802
+ * const hit = getIntersection(e.clientX, e.clientY, tileMeshes);
803
+ * if (hit) {
804
+ * const grid = getGridCoordinates(e.clientX, e.clientY);
805
+ * console.log('Clicked grid:', grid);
806
+ * }
807
+ * };
808
+ * ```
809
+ */
810
+ declare function useRaycaster(options: UseRaycasterOptions): UseRaycasterReturn;
811
+
812
+ interface GameCanvas3DEventConfig {
813
+ /** Event name for tile clicks. `tileId` is optional — the neutral draw-host emits
814
+ * only the scene coordinate `{ x, z }` (the FSM keys off the cell, not an id). */
815
+ tileClickEvent?: EventEmit<{
816
+ x: number;
817
+ z: number;
818
+ tileId?: string;
819
+ type?: string;
820
+ terrain?: string;
821
+ elevation?: number;
822
+ }>;
823
+ /** Event name for unit clicks */
824
+ unitClickEvent?: EventEmit<{
825
+ unitId: string;
826
+ x: number;
827
+ z: number;
828
+ unitType?: string;
829
+ name?: string;
830
+ team?: string;
831
+ faction?: string;
832
+ health?: number;
833
+ maxHealth?: number;
834
+ }>;
835
+ /** Event name for feature clicks */
836
+ featureClickEvent?: EventEmit<{
837
+ featureId: string;
838
+ x: number;
839
+ z: number;
840
+ type?: string;
841
+ elevation?: number;
842
+ }>;
843
+ /** Event name for canvas clicks */
844
+ canvasClickEvent?: EventEmit<{
845
+ clientX: number;
846
+ clientY: number;
847
+ button: number;
848
+ }>;
849
+ /** Event name for tile hover */
850
+ tileHoverEvent?: EventEmit<{
851
+ tileId: string;
852
+ x: number;
853
+ z: number;
854
+ type?: string;
855
+ }>;
856
+ /** Event name for tile leave */
857
+ tileLeaveEvent?: EventEmit<Record<string, never>>;
858
+ /** Event name for unit animation changes */
859
+ unitAnimationEvent?: EventEmit<{
860
+ unitId: string;
861
+ state: string;
862
+ timestamp: number;
863
+ }>;
864
+ /** Event name for camera changes */
865
+ cameraChangeEvent?: EventEmit<{
866
+ position: {
867
+ x: number;
868
+ y: number;
869
+ z: number;
870
+ };
871
+ timestamp: number;
872
+ }>;
873
+ }
874
+ /** Minimal mouse event interface — satisfied by both React.MouseEvent and ThreeEvent<MouseEvent> */
875
+ interface MinimalMouseEvent {
876
+ clientX: number;
877
+ clientY: number;
878
+ button: number;
879
+ }
880
+ interface UseGameCanvas3DEventsOptions extends GameCanvas3DEventConfig {
881
+ /** Callback for tile clicks (direct) */
882
+ onTileClick?: (tile: IsometricTile, event: MinimalMouseEvent) => void;
883
+ /** Callback for unit clicks (direct) */
884
+ onUnitClick?: (unit: IsometricUnit, event: MinimalMouseEvent) => void;
885
+ /** Callback for feature clicks (direct) */
886
+ onFeatureClick?: (feature: IsometricFeature, event: MinimalMouseEvent) => void;
887
+ /** Callback for canvas clicks (direct) */
888
+ onCanvasClick?: (event: MinimalMouseEvent) => void;
889
+ /** Callback for tile hover (direct) */
890
+ onTileHover?: (tile: IsometricTile | null, event: MinimalMouseEvent) => void;
891
+ /** Callback for unit animation changes (direct) */
892
+ onUnitAnimation?: (unitId: string, state: string) => void;
893
+ }
894
+ interface UseGameCanvas3DEventsReturn {
895
+ /** Handle tile click - emits event and calls callback */
896
+ handleTileClick: (tile: IsometricTile, event: MinimalMouseEvent) => void;
897
+ /** Handle unit click - emits event and calls callback */
898
+ handleUnitClick: (unit: IsometricUnit, event: MinimalMouseEvent) => void;
899
+ /** Handle feature click - emits event and calls callback */
900
+ handleFeatureClick: (feature: IsometricFeature, event: MinimalMouseEvent) => void;
901
+ /** Handle canvas click - emits event and calls callback */
902
+ handleCanvasClick: (event: MinimalMouseEvent) => void;
903
+ /** Handle tile hover - emits event and calls callback */
904
+ handleTileHover: (tile: IsometricTile | null, event: MinimalMouseEvent) => void;
905
+ /** Handle unit animation - emits event and calls callback */
906
+ handleUnitAnimation: (unitId: string, state: string) => void;
907
+ /** Handle camera change - emits event */
908
+ handleCameraChange: (position: {
909
+ x: number;
910
+ y: number;
911
+ z: number;
912
+ }) => void;
913
+ }
914
+ /**
915
+ * Hook for integrating GameCanvas3D with the event bus
916
+ *
917
+ * Supports both declarative event props (tileClickEvent) and
918
+ * direct callback props (onTileClick).
919
+ *
920
+ * @example
921
+ * ```tsx
922
+ * const events = useGameCanvas3DEvents({
923
+ * tileClickEvent: 'TILE_SELECTED',
924
+ * unitClickEvent: 'UNIT_SELECTED',
925
+ * onTileClick: (tile) => console.log('Tile:', tile)
926
+ * });
927
+ *
928
+ * // In component:
929
+ * <TileRenderer onTileClick={events.handleTileClick} />
930
+ * ```
931
+ */
932
+ declare function useGameCanvas3DEvents(options: UseGameCanvas3DEventsOptions): UseGameCanvas3DEventsReturn;
933
+
934
+ /**
935
+ * Grid 3D Utilities
936
+ *
937
+ * Utility functions for 3D grid coordinate transformations,
938
+ * raycasting, and spatial calculations for GameCanvas3D.
939
+ *
940
+ * @packageDocumentation
941
+ */
942
+
943
+ interface Grid3DConfig {
944
+ /** Size of each grid cell */
945
+ cellSize: number;
946
+ /** Grid offset X */
947
+ offsetX?: number;
948
+ /** Grid offset Z */
949
+ offsetZ?: number;
950
+ /** Grid Y height (elevation) */
951
+ elevation?: number;
952
+ }
953
+ interface GridCoordinate {
954
+ x: number;
955
+ y: number;
956
+ z: number;
957
+ }
958
+ /**
959
+ * Convert grid coordinates to world position
960
+ * @param gridX - Grid X coordinate
961
+ * @param gridZ - Grid Z coordinate
962
+ * @param config - Grid configuration
963
+ * @returns World position vector
964
+ */
965
+ declare function gridToWorld(gridX: number, gridZ: number, config?: Grid3DConfig): THREE.Vector3;
966
+ /**
967
+ * Convert world position to grid coordinates
968
+ * @param worldX - World X position
969
+ * @param worldZ - World Z position
970
+ * @param config - Grid configuration
971
+ * @returns Grid coordinates
972
+ */
973
+ declare function worldToGrid(worldX: number, worldZ: number, config?: Grid3DConfig): {
974
+ x: number;
975
+ z: number;
976
+ };
977
+ /**
978
+ * Raycast from camera through mouse position to find grid intersection
979
+ * @param camera - Three.js camera
980
+ * @param mouseX - Mouse X position (normalized -1 to 1)
981
+ * @param mouseY - Mouse Y position (normalized -1 to 1)
982
+ * @param planeY - Y height of the intersection plane (default: 0)
983
+ * @returns Intersection point or null
984
+ */
985
+ declare function raycastToPlane(camera: THREE.Camera, mouseX: number, mouseY: number, planeY?: number): THREE.Vector3 | null;
986
+ /**
987
+ * Raycast from camera through mouse position against a set of objects
988
+ * @param camera - Three.js camera
989
+ * @param mouseX - Mouse X position (normalized -1 to 1)
990
+ * @param mouseY - Mouse Y position (normalized -1 to 1)
991
+ * @param objects - Array of objects to test
992
+ * @returns First intersection or null
993
+ */
994
+ declare function raycastToObjects(camera: THREE.Camera, mouseX: number, mouseY: number, objects: THREE.Object3D[]): THREE.Intersection | null;
995
+ /**
996
+ * Calculate distance between two grid coordinates
997
+ * @param a - First grid coordinate
998
+ * @param b - Second grid coordinate
999
+ * @returns Distance in grid units
1000
+ */
1001
+ declare function gridDistance(a: {
1002
+ x: number;
1003
+ z: number;
1004
+ }, b: {
1005
+ x: number;
1006
+ z: number;
1007
+ }): number;
1008
+ /**
1009
+ * Calculate Manhattan distance between two grid coordinates
1010
+ * @param a - First grid coordinate
1011
+ * @param b - Second grid coordinate
1012
+ * @returns Manhattan distance
1013
+ */
1014
+ declare function gridManhattanDistance(a: {
1015
+ x: number;
1016
+ z: number;
1017
+ }, b: {
1018
+ x: number;
1019
+ z: number;
1020
+ }): number;
1021
+ /**
1022
+ * Get neighboring grid cells
1023
+ * @param x - Center X coordinate
1024
+ * @param z - Center Z coordinate
1025
+ * @param includeDiagonal - Whether to include diagonal neighbors
1026
+ * @returns Array of neighbor coordinates
1027
+ */
1028
+ declare function getNeighbors(x: number, z: number, includeDiagonal?: boolean): {
1029
+ x: number;
1030
+ z: number;
1031
+ }[];
1032
+ /**
1033
+ * Check if a grid coordinate is within bounds
1034
+ * @param x - X coordinate
1035
+ * @param z - Z coordinate
1036
+ * @param bounds - Bounds object
1037
+ * @returns Whether the coordinate is within bounds
1038
+ */
1039
+ declare function isInBounds(x: number, z: number, bounds: {
1040
+ minX: number;
1041
+ maxX: number;
1042
+ minZ: number;
1043
+ maxZ: number;
1044
+ }): boolean;
1045
+ /**
1046
+ * Get all grid cells within a circular radius
1047
+ * @param centerX - Center X coordinate
1048
+ * @param centerZ - Center Z coordinate
1049
+ * @param radius - Radius in grid units
1050
+ * @returns Array of coordinates within radius
1051
+ */
1052
+ declare function getCellsInRadius(centerX: number, centerZ: number, radius: number): {
1053
+ x: number;
1054
+ z: number;
1055
+ }[];
1056
+ /**
1057
+ * Create a highlight mesh for grid cells
1058
+ * @param color - Highlight color
1059
+ * @param opacity - Opacity (0-1)
1060
+ * @returns Mesh that can be positioned at grid cells
1061
+ */
1062
+ declare function createGridHighlight(color?: number, opacity?: number): THREE.Mesh;
1063
+ /**
1064
+ * Normalize mouse coordinates to NDC (-1 to 1)
1065
+ * @param clientX - Mouse client X
1066
+ * @param clientY - Mouse client Y
1067
+ * @param element - Canvas element
1068
+ * @returns Normalized coordinates
1069
+ */
1070
+ declare function normalizeMouseCoordinates(clientX: number, clientY: number, element: HTMLElement): {
1071
+ x: number;
1072
+ y: number;
1073
+ };
1074
+
1075
+ /**
1076
+ * Culling Utilities
1077
+ *
1078
+ * Frustum culling and LOD (Level of Detail) management for 3D scene optimization.
1079
+ *
1080
+ * @packageDocumentation
1081
+ */
1082
+
1083
+ interface CullingOptions {
1084
+ /** Camera frustum for culling */
1085
+ camera: THREE.Camera;
1086
+ /** Optional padding around frustum */
1087
+ padding?: number;
1088
+ }
1089
+ interface LODLevel {
1090
+ /** Distance threshold for this LOD level */
1091
+ distance: number;
1092
+ /** Geometry or mesh for this level */
1093
+ geometry?: THREE.BufferGeometry;
1094
+ /** Scale multiplier for this level */
1095
+ scale?: number;
1096
+ /** Whether to use simplified material */
1097
+ simpleMaterial?: boolean;
1098
+ }
1099
+ interface LODConfig {
1100
+ /** LOD levels from closest to farthest */
1101
+ levels: LODLevel[];
1102
+ /** Transition smoothness (0-1) */
1103
+ transitionSmoothness?: number;
1104
+ }
1105
+ /**
1106
+ * Frustum culling check for a position
1107
+ * @param position - World position to check
1108
+ * @param camera - Camera to check against
1109
+ * @param padding - Optional padding in world units
1110
+ * @returns Whether the position is within the frustum
1111
+ */
1112
+ declare function isInFrustum(position: THREE.Vector3, camera: THREE.Camera, padding?: number): boolean;
1113
+ /**
1114
+ * Filter an array of positions to only those within the frustum
1115
+ * @param positions - Array of world positions
1116
+ * @param camera - Camera to check against
1117
+ * @param padding - Optional padding in world units
1118
+ * @returns Array of positions within frustum
1119
+ */
1120
+ declare function filterByFrustum(positions: THREE.Vector3[], camera: THREE.Camera, padding?: number): THREE.Vector3[];
1121
+ /**
1122
+ * Get indices of visible items from an array
1123
+ * @param positions - Array of world positions
1124
+ * @param camera - Camera to check against
1125
+ * @param padding - Optional padding in world units
1126
+ * @returns Set of visible indices
1127
+ */
1128
+ declare function getVisibleIndices(positions: THREE.Vector3[], camera: THREE.Camera, padding?: number): Set<number>;
1129
+ /**
1130
+ * Calculate LOD level based on distance from camera
1131
+ * @param position - Object position
1132
+ * @param camera - Camera position
1133
+ * @param lodLevels - Array of distance thresholds (sorted closest to farthest)
1134
+ * @returns Index of the LOD level to use
1135
+ */
1136
+ declare function calculateLODLevel(position: THREE.Vector3, camera: THREE.Camera, lodLevels: number[]): number;
1137
+ /**
1138
+ * Create a distance-based LOD system for an instanced mesh
1139
+ * @param instancedMesh - The instanced mesh to manage
1140
+ * @param positions - Array of instance positions
1141
+ * @param camera - Camera to calculate distances from
1142
+ * @param lodDistances - Distance thresholds for LOD levels
1143
+ * @returns Array of LOD indices for each instance
1144
+ */
1145
+ declare function updateInstanceLOD(instancedMesh: THREE.InstancedMesh, positions: THREE.Vector3[], camera: THREE.Camera, lodDistances: number[]): Uint8Array;
1146
+ /**
1147
+ * Create visibility data for instanced mesh culling
1148
+ * Updates the instance matrix to hide/show instances
1149
+ * @param instancedMesh - The instanced mesh
1150
+ * @param positions - Array of instance positions
1151
+ * @param visibleIndices - Set of visible indices
1152
+ * @returns Updated count of visible instances
1153
+ */
1154
+ declare function cullInstancedMesh(instancedMesh: THREE.InstancedMesh, positions: THREE.Vector3[], visibleIndices: Set<number>): number;
1155
+ /**
1156
+ * Spatial hash grid for efficient object queries
1157
+ */
1158
+ declare class SpatialHashGrid {
1159
+ private cellSize;
1160
+ private cells;
1161
+ private objectPositions;
1162
+ constructor(cellSize?: number);
1163
+ /**
1164
+ * Get cell key for a position
1165
+ */
1166
+ private getCellKey;
1167
+ /**
1168
+ * Insert an object into the grid
1169
+ */
1170
+ insert(id: string, position: THREE.Vector3): void;
1171
+ /**
1172
+ * Remove an object from the grid
1173
+ */
1174
+ remove(id: string): void;
1175
+ /**
1176
+ * Update an object's position
1177
+ */
1178
+ update(id: string, newPosition: THREE.Vector3): void;
1179
+ /**
1180
+ * Query objects within a radius of a position
1181
+ */
1182
+ queryRadius(center: THREE.Vector3, radius: number): string[];
1183
+ /**
1184
+ * Query objects within a bounding box
1185
+ */
1186
+ queryBox(minX: number, maxX: number, minZ: number, maxZ: number): string[];
1187
+ /**
1188
+ * Clear all objects from the grid
1189
+ */
1190
+ clear(): void;
1191
+ /**
1192
+ * Get statistics about the grid
1193
+ */
1194
+ getStats(): {
1195
+ objects: number;
1196
+ cells: number;
1197
+ };
1198
+ }
1199
+
1200
+ /**
1201
+ * AVL Cosmic Zoom State Machine
1202
+ *
1203
+ * useReducer-based state machine managing which zoom level is displayed,
1204
+ * what is selected, and animation state.
1205
+ *
1206
+ * Shared by AvlOrbitalsCosmicZoom (2D) and Avl3DViewer (3D). The 3D
1207
+ * viewer drills through every level (`application → orbital → trait →
1208
+ * transition`); the 2D cosmic view skips the `'orbital'` level after
1209
+ * COSMIC-1 (no Orbital-View screen) by dispatching `JUMP_TO_TRAIT_CIRCUIT`
1210
+ * to land directly at `'trait'`.
1211
+ *
1212
+ * @packageDocumentation
1213
+ */
1214
+ type ZoomLevel = 'application' | 'orbital' | 'trait' | 'transition';
1215
+
1216
+ /**
1217
+ * avl-3d-context.ts
1218
+ *
1219
+ * React context for AVL 3D model overrides and configuration.
1220
+ * Allows replacing primitive geometry with custom GLB/GLTF models.
1221
+ *
1222
+ * @packageDocumentation
1223
+ */
1224
+ interface Avl3DModelOverrides {
1225
+ /** GLB URL for orbital nodes (replaces sphere) */
1226
+ orbital?: string;
1227
+ /** GLB URL for entity core (replaces icosahedron) */
1228
+ entity?: string;
1229
+ /** GLB URL for state nodes (replaces sphere) */
1230
+ state?: string;
1231
+ /** GLB URL for guard gates (replaces octahedron) */
1232
+ guard?: string;
1233
+ /** GLB URL for page portals (replaces plane) */
1234
+ page?: string;
1235
+ }
1236
+ interface Avl3DConfig {
1237
+ /** Custom 3D model URLs to replace default primitive geometry */
1238
+ modelOverrides: Avl3DModelOverrides;
1239
+ /** Whether postprocessing effects are enabled */
1240
+ effectsEnabled: boolean;
1241
+ }
1242
+ declare const Avl3DContext: React$1.Context<Avl3DConfig>;
1243
+ /**
1244
+ * Access the current AVL 3D configuration.
1245
+ * Returns model overrides and effect settings.
1246
+ */
1247
+ declare function useAvl3DConfig(): Avl3DConfig;
1248
+
1249
+ /**
1250
+ * Avl3DViewer - Interactive 3D Orbital Visualization
1251
+ *
1252
+ * The host organism that owns the R3F Canvas and delegates to 3D scene
1253
+ * renderers at each zoom level. The 3D equivalent of AvlCosmicZoom.
1254
+ *
1255
+ * Reuses avl-schema-parser.ts and avl-zoom-state.ts directly.
1256
+ *
1257
+ * @packageDocumentation
1258
+ */
1259
+
1260
+ interface Avl3DViewerProps {
1261
+ /** The orbital schema (parsed object or JSON string) */
1262
+ schema: OrbitalSchema | string;
1263
+ /** CSS class for the outer container */
1264
+ className?: string;
1265
+ /** Enable animations (default: true) */
1266
+ animated?: boolean;
1267
+ /** Pre-select an orbital on mount */
1268
+ initialOrbital?: string;
1269
+ /** Pre-select a trait on mount */
1270
+ initialTrait?: string;
1271
+ /** Callback when zoom level changes */
1272
+ onZoomChange?: (level: ZoomLevel, context: {
1273
+ orbital?: string;
1274
+ trait?: string;
1275
+ }) => void;
1276
+ /** Container width */
1277
+ width?: number | string;
1278
+ /** Container height */
1279
+ height?: number | string;
1280
+ /** Enable postprocessing effects (bloom, DOF, vignette). Default: true */
1281
+ effects?: boolean;
1282
+ /** Custom 3D model URLs to replace default primitive geometry */
1283
+ modelOverrides?: Avl3DModelOverrides;
1284
+ }
1285
+ declare const Avl3DViewer: React__default.FC<Avl3DViewerProps>;
1286
+
1287
+ /**
1288
+ * Avl3DApplicationScene - Galaxy view of all orbitals.
1289
+ *
1290
+ * Positions orbitals on a golden-ratio spiral and renders cross-orbital
1291
+ * event wires between them. The 3D equivalent of AvlApplicationScene.
1292
+ *
1293
+ * @packageDocumentation
1294
+ */
1295
+
1296
+ interface Avl3DApplicationSceneProps {
1297
+ /** Parsed application-level data */
1298
+ data: ApplicationLevelData;
1299
+ /** Click handler for an orbital */
1300
+ onOrbitalClick?: (orbitalName: string) => void;
1301
+ /** Primary color */
1302
+ color?: string;
1303
+ }
1304
+ declare const Avl3DApplicationScene: React__default.FC<Avl3DApplicationSceneProps>;
1305
+
1306
+ /**
1307
+ * Avl3DOrbitalScene - Solar system view of a single orbital.
1308
+ *
1309
+ * Renders entity core at center, trait orbit rings, and page portals.
1310
+ * The 3D equivalent of AvlOrbitalScene.
1311
+ *
1312
+ * @packageDocumentation
1313
+ */
1314
+
1315
+ interface Avl3DOrbitalSceneProps {
1316
+ /** Parsed orbital-level data */
1317
+ data: OrbitalLevelData;
1318
+ /** Click handler for a trait */
1319
+ onTraitClick?: (traitName: string) => void;
1320
+ /** Currently highlighted trait */
1321
+ highlightedTrait?: string | null;
1322
+ /** Highlight change handler */
1323
+ onTraitHighlight?: (traitName: string | null) => void;
1324
+ /** Primary color */
1325
+ color?: string;
1326
+ }
1327
+ declare const Avl3DOrbitalScene: React__default.FC<Avl3DOrbitalSceneProps>;
1328
+
1329
+ /**
1330
+ * Avl3DTraitScene - 3D state machine view for a single trait.
1331
+ *
1332
+ * Positions states on a fibonacci sphere and renders transition arcs
1333
+ * between them. The 3D equivalent of AvlTraitScene.
1334
+ *
1335
+ * @packageDocumentation
1336
+ */
1337
+
1338
+ interface Avl3DTraitSceneProps {
1339
+ /** Parsed trait-level data */
1340
+ data: TraitLevelData;
1341
+ /** Click handler for a transition */
1342
+ onTransitionClick?: (transitionIndex: number) => void;
1343
+ /** Primary color */
1344
+ color?: string;
1345
+ }
1346
+ declare const Avl3DTraitScene: React__default.FC<Avl3DTraitSceneProps>;
1347
+
1348
+ /**
1349
+ * Avl3DTransitionScene - 3D expression tree and effect chain view.
1350
+ *
1351
+ * Renders a detailed view of a single transition with its guard
1352
+ * expression tree and effect chain. The 3D equivalent of AvlTransitionScene.
1353
+ *
1354
+ * @packageDocumentation
1355
+ */
1356
+
1357
+ interface Avl3DTransitionSceneProps {
1358
+ /** Parsed transition-level data */
1359
+ data: TransitionLevelData;
1360
+ /** Primary color */
1361
+ color?: string;
1362
+ }
1363
+ declare const Avl3DTransitionScene: React__default.FC<Avl3DTransitionSceneProps>;
1364
+
1365
+ /**
1366
+ * Avl3DEffects - Postprocessing effects and ambient visuals for AVL 3D.
1367
+ *
1368
+ * Two layers:
1369
+ * 1. Ambient visuals (sparkles, starfield) - always rendered via drei
1370
+ * 2. Postprocessing (bloom, DOF, vignette) - rendered via @react-three/postprocessing
1371
+ *
1372
+ * @packageDocumentation
1373
+ */
1374
+
1375
+ interface Avl3DEffectsProps {
1376
+ /** Current zoom level (effects vary by level) */
1377
+ level: ZoomLevel;
1378
+ /** Enable/disable all effects */
1379
+ enabled?: boolean;
1380
+ }
1381
+ declare const Avl3DEffects: React__default.FC<Avl3DEffectsProps>;
1382
+
1383
+ /**
1384
+ * avl-3d-layout.ts
1385
+ *
1386
+ * Pure math utilities for 3D positioning of AVL visualization nodes.
1387
+ * The 3D equivalent of avl-layout.ts (2D positioning helpers).
1388
+ *
1389
+ * @packageDocumentation
1390
+ */
1391
+
1392
+ interface Position3D {
1393
+ x: number;
1394
+ y: number;
1395
+ z: number;
1396
+ }
1397
+ interface ExprTreeNode3D {
1398
+ label: string;
1399
+ type: 'operator' | 'literal' | 'binding';
1400
+ children?: ExprTreeNode3D[];
1401
+ }
1402
+ interface TreeLayoutResult {
1403
+ node: ExprTreeNode3D;
1404
+ position: Position3D;
1405
+ }
1406
+ /**
1407
+ * Refined palette following Almadar UI Beauty principles:
1408
+ * - No pure black: deep navy tint (#0c1222) instead of #0A0A1A
1409
+ * - 60-30-10 rule: 60% deep background, 30% muted blues/grays, 10% bright accents
1410
+ * - Desaturated for dark backgrounds: softer blues, warmer golds
1411
+ * - Depth through color layering: surfaces get progressively lighter
1412
+ */
1413
+ declare const AVL_3D_COLORS: {
1414
+ readonly orbitalSphere: "#161b2e";
1415
+ readonly orbitalRim: "#5b9bd5";
1416
+ readonly entityCore: "#f0c040";
1417
+ readonly entityCoreGlow: "#ffd866";
1418
+ readonly traitOrbit: "#5b9bd5";
1419
+ readonly traitOrbitHighlight: "#7ab8f5";
1420
+ readonly stateIdle: "#1e2a3a";
1421
+ readonly stateEdge: "#5b9bd5";
1422
+ readonly stateActive: "#4ecb71";
1423
+ readonly transitionArc: "#e0944a";
1424
+ readonly transitionArcHover: "#f0a860";
1425
+ readonly guardPass: "#4ecb71";
1426
+ readonly guardFail: "#f06060";
1427
+ readonly crossWire: "#a78bda";
1428
+ readonly crossWireGlow: "#c4a8f0";
1429
+ readonly pagePortal: "#40c8aa";
1430
+ readonly background: "#0c1222";
1431
+ readonly backgroundSurface: "#111a2e";
1432
+ readonly fog: "#0c1222";
1433
+ readonly sparkle: "#7ab8f5";
1434
+ readonly sparkleWarm: "#f0c040";
1435
+ };
1436
+ /**
1437
+ * Positions N nodes on a golden-ratio spiral in the XZ plane (y=0).
1438
+ * Used as initial positions for the force-directed layout.
1439
+ */
1440
+ declare function goldenSpiralPositions(count: number, baseRadius: number): Position3D[];
1441
+ /**
1442
+ * Distributes N points on a sphere surface using Fibonacci lattice.
1443
+ * Produces near-uniform spacing regardless of count.
1444
+ */
1445
+ declare function fibonacciSpherePositions(count: number, radius: number): Position3D[];
1446
+ /**
1447
+ * Evenly spaces N points on a tilted ring (elliptical orbit).
1448
+ * `tilt` is the ring's inclination in radians relative to the XZ plane.
1449
+ */
1450
+ declare function orbitRingPositions(count: number, radius: number, tilt: number): Position3D[];
1451
+ /**
1452
+ * Creates a QuadraticBezierCurve3 between two 3D points with a control
1453
+ * point offset perpendicular to the from-to line. The offset direction
1454
+ * is computed in 3D using a cross product with the up vector.
1455
+ */
1456
+ declare function arcCurve3D(from: [number, number, number], to: [number, number, number], offset: number): QuadraticBezierCurve3;
1457
+ /**
1458
+ * Creates a loop curve above a point for self-transitions.
1459
+ */
1460
+ declare function selfLoopCurve3D(position: [number, number, number], loopRadius: number): QuadraticBezierCurve3;
1461
+ /**
1462
+ * Recursively positions an expression tree in 3D space.
1463
+ * Root at origin, children spread horizontally, depth goes downward (negative Y).
1464
+ */
1465
+ declare function treeLayout3D(node: ExprTreeNode3D, origin: Position3D, horizontalSpacing: number, verticalSpacing?: number): TreeLayoutResult[];
1466
+ declare const CAMERA_POSITIONS: {
1467
+ readonly application: {
1468
+ readonly position: [number, number, number];
1469
+ readonly target: [number, number, number];
1470
+ };
1471
+ readonly orbital: {
1472
+ readonly position: [number, number, number];
1473
+ readonly target: [number, number, number];
1474
+ };
1475
+ readonly trait: {
1476
+ readonly position: [number, number, number];
1477
+ readonly target: [number, number, number];
1478
+ };
1479
+ readonly transition: {
1480
+ readonly position: [number, number, number];
1481
+ readonly target: [number, number, number];
1482
+ };
1483
+ };
1484
+
1485
+ export { AVL_3D_COLORS, AssetLoader, type AssetLoadingState, Avl3DApplicationScene, type Avl3DApplicationSceneProps, type Avl3DConfig, Avl3DContext, Avl3DEffects, type Avl3DEffectsProps, type Avl3DModelOverrides, Avl3DOrbitalScene, type Avl3DOrbitalSceneProps, Avl3DTraitScene, type Avl3DTraitSceneProps, Avl3DTransitionScene, type Avl3DTransitionSceneProps, Avl3DViewer, type Avl3DViewerProps, CAMERA_POSITIONS, Camera3D, type Camera3DHandle, type Camera3DProps, type CameraMode$1 as CameraMode, Canvas3DErrorBoundary, type Canvas3DErrorBoundaryProps, type Canvas3DErrorBoundaryState, Canvas3DHost, type Canvas3DHostHandle, type Canvas3DHostProps, Canvas3DLoadingState, type Canvas3DLoadingStateProps, type CullingOptions, Canvas3DHost as GameCanvas3D, type GameCanvas3DEventConfig, type Grid3DConfig, type GridCoordinate, type GridHit, type LODConfig, type LODLevel, Lighting3D, type Lighting3DProps, type LoadedModel, ModelLoader, type ModelLoaderProps, type NodeType, type Position3D, type RaycastHit, Scene3D, type Scene3DProps, type SceneGraphNode, SpatialHashGrid, type UseAssetLoaderOptions, type UseAssetLoaderReturn, type UseGameCanvas3DEventsOptions, type UseGameCanvas3DEventsReturn, type UseRaycasterOptions, type UseRaycasterReturn, type UseSceneGraphReturn, type UseThreeOptions, type UseThreeReturn, arcCurve3D, assetLoader, calculateLODLevel, createGridHighlight, cullInstancedMesh, fibonacciSpherePositions, filterByFrustum, getCellsInRadius, getNeighbors, getVisibleIndices, goldenSpiralPositions, gridDistance, gridManhattanDistance, gridToWorld, isInBounds, isInFrustum, normalizeMouseCoordinates, orbitRingPositions, raycastToObjects, raycastToPlane, selfLoopCurve3D, treeLayout3D, updateInstanceLOD, useAssetLoader, useAvl3DConfig, useGameCanvas3DEvents, useRaycaster, useSceneGraph, useThree, worldToGrid };