@almadar/ui 5.110.0 → 5.112.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 +126 -29
  10. package/dist/avl/index.js +128 -31
  11. package/dist/avl-schema-parser-DKRm-nyh.d.cts +611 -0
  12. package/dist/avl-schema-parser-DKRm-nyh.d.ts +611 -0
  13. package/dist/cn-BbPvQLHt.d.cts +294 -0
  14. package/dist/cn-BbPvQLHt.d.ts +294 -0
  15. package/dist/components/index.cjs +56 -18
  16. package/dist/components/index.d.cts +11224 -0
  17. package/dist/components/index.d.ts +11224 -6
  18. package/dist/components/index.js +56 -18
  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 +317 -178
  26. package/dist/lib/drawable/three/index.d.cts +1484 -0
  27. package/dist/lib/drawable/three/index.d.ts +1483 -38
  28. package/dist/lib/drawable/three/index.js +161 -22
  29. package/dist/lib/index.cjs +8 -0
  30. package/dist/lib/index.d.cts +504 -0
  31. package/dist/lib/index.d.ts +503 -18
  32. package/dist/lib/index.js +8 -1
  33. package/dist/locales/index.d.cts +22 -0
  34. package/dist/locales/index.d.ts +7 -5
  35. package/dist/offline-executor-aRuNznZx.d.cts +520 -0
  36. package/dist/offline-executor-aRuNznZx.d.ts +520 -0
  37. package/dist/providers/index.cjs +56 -18
  38. package/dist/providers/index.d.cts +428 -0
  39. package/dist/providers/index.d.ts +427 -26
  40. package/dist/providers/index.js +56 -18
  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 +126 -29
  46. package/dist/runtime/index.d.cts +426 -0
  47. package/dist/runtime/index.d.ts +421 -16
  48. package/dist/runtime/index.js +128 -31
  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 +13 -13
  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 -91
  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
@@ -0,0 +1,520 @@
1
+ import React__default from 'react';
2
+ import { FieldValue, OrbitalSchema, OrbitalPage, PatternConfig, EntityRow, UISlot } from '@almadar/core';
3
+
4
+ /**
5
+ * NavigationContext - Schema-Driven Navigation for Orbital Runtime
6
+ *
7
+ * Provides navigation within the orbital schema without react-router dependency.
8
+ * Navigation works by:
9
+ * 1. Matching path to a page in the schema
10
+ * 2. Extracting route params (e.g., /inspection/:id → { id: "123" })
11
+ * 3. Switching active page
12
+ * 4. Triggering INIT with merged payload
13
+ *
14
+ * This approach works whether OrbitalRuntime is standalone or embedded in another app.
15
+ *
16
+ * Used by both:
17
+ * - Builder runtime (interpreted execution)
18
+ * - Compiled shells (generated applications)
19
+ *
20
+ * @packageDocumentation
21
+ */
22
+
23
+ /**
24
+ * Match a concrete path against a pattern with :param placeholders.
25
+ * Returns null if no match, or the extracted params if match.
26
+ *
27
+ * @example
28
+ * matchPath('/inspection/:id', '/inspection/123') // { id: '123' }
29
+ * matchPath('/users/:userId/posts/:postId', '/users/42/posts/7') // { userId: '42', postId: '7' }
30
+ * matchPath('/about', '/about') // {}
31
+ * matchPath('/about', '/contact') // null
32
+ */
33
+ declare function matchPath(pattern: string, path: string): Record<string, string> | null;
34
+ /**
35
+ * Extract route params from a path given its pattern.
36
+ * Wrapper around matchPath for explicit use.
37
+ */
38
+ declare function extractRouteParams(pattern: string, path: string): Record<string, string>;
39
+ /**
40
+ * Check if a path matches a pattern.
41
+ */
42
+ declare function pathMatches(pattern: string, path: string): boolean;
43
+ /**
44
+ * Find a page in the schema by matching its path pattern against a concrete path.
45
+ * Returns the page and extracted route params.
46
+ */
47
+ declare function findPageByPath(schema: OrbitalSchema, path: string): {
48
+ page: OrbitalPage;
49
+ params: Record<string, string>;
50
+ orbitalName: string;
51
+ } | null;
52
+ /**
53
+ * Find a page by name.
54
+ */
55
+ declare function findPageByName(schema: OrbitalSchema, pageName: string): {
56
+ page: OrbitalPage;
57
+ orbitalName: string;
58
+ } | null;
59
+ /**
60
+ * Get the first page in the schema (default page).
61
+ */
62
+ declare function getDefaultPage(schema: OrbitalSchema): {
63
+ page: OrbitalPage;
64
+ orbitalName: string;
65
+ } | null;
66
+ /**
67
+ * Get all pages from the schema.
68
+ */
69
+ declare function getAllPages(schema: OrbitalSchema): Array<{
70
+ page: OrbitalPage;
71
+ orbitalName: string;
72
+ }>;
73
+ interface NavigationState {
74
+ /** Current active page name */
75
+ activePage: string;
76
+ /** Current path (for URL sync) */
77
+ currentPath: string;
78
+ /** Payload to pass to INIT when page loads */
79
+ initPayload: Record<string, FieldValue>;
80
+ /** Navigation counter (increments on each navigation) */
81
+ navigationId: number;
82
+ }
83
+ interface NavigationContextValue {
84
+ /** Current navigation state */
85
+ state: NavigationState;
86
+ /** Navigate to a path with optional payload */
87
+ navigateTo: (path: string, payload?: Record<string, FieldValue>) => void;
88
+ /** Navigate to a page by name with optional payload */
89
+ navigateToPage: (pageName: string, payload?: Record<string, FieldValue>) => void;
90
+ /** The schema being navigated */
91
+ schema: OrbitalSchema;
92
+ /** Whether navigation is ready (schema loaded) */
93
+ isReady: boolean;
94
+ }
95
+ interface NavigationProviderProps {
96
+ /** The schema to navigate within */
97
+ schema: OrbitalSchema;
98
+ /** Initial page name (optional, defaults to first page) */
99
+ initialPage?: string;
100
+ /** Whether to update browser URL on navigation (default: true) */
101
+ updateUrl?: boolean;
102
+ /** Callback when navigation occurs */
103
+ onNavigate?: (pageName: string, path: string, payload: Record<string, FieldValue>) => void;
104
+ /** Children */
105
+ children: React__default.ReactNode;
106
+ }
107
+ /**
108
+ * NavigationProvider - Provides schema-driven navigation context
109
+ *
110
+ * @example
111
+ * ```tsx
112
+ * <NavigationProvider schema={mySchema}>
113
+ * <OrbitalRuntimeContent />
114
+ * </NavigationProvider>
115
+ * ```
116
+ */
117
+ declare function NavigationProvider({ schema, initialPage, updateUrl, onNavigate, children, }: NavigationProviderProps): React__default.ReactElement;
118
+ /**
119
+ * Hook to access navigation context.
120
+ * Returns null if not within NavigationProvider.
121
+ */
122
+ declare function useNavigation(): NavigationContextValue | null;
123
+ /**
124
+ * Hook to get the navigateTo function.
125
+ * Returns a no-op function if not within NavigationProvider.
126
+ */
127
+ declare function useNavigateTo(): (path: string, payload?: Record<string, FieldValue>) => void;
128
+ /**
129
+ * Hook to get current navigation state.
130
+ */
131
+ declare function useNavigationState(): NavigationState | null;
132
+ /**
133
+ * Hook to get the current INIT payload (for passing to trait INIT events).
134
+ */
135
+ declare function useInitPayload(): Record<string, FieldValue>;
136
+ /**
137
+ * Hook to get current active page name.
138
+ */
139
+ declare function useActivePage(): string | null;
140
+ /**
141
+ * Hook to get navigation ID (changes on each navigation, useful for triggering effects).
142
+ */
143
+ declare function useNavigationId(): number;
144
+
145
+ /**
146
+ * Shared Renderer Types
147
+ *
148
+ * Type definitions used by both Builder and compiled shells for
149
+ * the dual execution model. These types define the contract between
150
+ * server and client for effect execution.
151
+ *
152
+ * @packageDocumentation
153
+ */
154
+
155
+ type ClientEffect = ['render-ui', string, PatternConfig | null] | ['navigate', string, Record<string, FieldValue>?] | ['notify', string, NotifyOptions?] | ['emit', string, FieldValue?];
156
+ /**
157
+ * Options for notify effect
158
+ */
159
+ interface NotifyOptions {
160
+ type?: 'success' | 'error' | 'info' | 'warning';
161
+ duration?: number;
162
+ }
163
+ /**
164
+ * Resolved pattern with component information from component-mapping.json
165
+ */
166
+ interface MappedPattern {
167
+ /** Component name (e.g., 'DataTable') */
168
+ component: string;
169
+ /** Import path for the component */
170
+ importPath: string;
171
+ /** Pattern category (e.g., 'display', 'form') */
172
+ category: string;
173
+ /** Validated and normalized props */
174
+ validatedProps: Record<string, FieldValue>;
175
+ }
176
+ /**
177
+ * Response from server after processing an event.
178
+ * This is the unified response format for both Builder and compiled shells.
179
+ */
180
+ interface EventResponse {
181
+ /** Whether the event was processed successfully */
182
+ success: boolean;
183
+ /** New state after transition (if transition occurred) */
184
+ newState?: string;
185
+ /** Data fetched by server effects (e.g., { Task: [...] }) */
186
+ data?: Record<string, EntityRow[]>;
187
+ /** Client effects to execute (render-ui, navigate, notify, emit) */
188
+ clientEffects?: ClientEffect[];
189
+ /** Results of individual effect executions (for debugging) */
190
+ effectResults?: Array<{
191
+ effect: string;
192
+ success: boolean;
193
+ data?: FieldValue;
194
+ error?: string;
195
+ }>;
196
+ /** Error message if success is false */
197
+ error?: string;
198
+ }
199
+ /**
200
+ * Configuration for the client effect executor.
201
+ * Provides implementations for each effect type.
202
+ */
203
+ interface ClientEffectExecutorConfig {
204
+ /**
205
+ * Render a pattern to a slot.
206
+ * Called for 'render-ui' effects.
207
+ */
208
+ renderToSlot: (slot: string, pattern: PatternConfig | null) => void;
209
+ /**
210
+ * Navigate to a route.
211
+ * Called for 'navigate' effects.
212
+ */
213
+ navigate: (path: string, params?: Record<string, FieldValue>) => void;
214
+ /**
215
+ * Show a notification.
216
+ * Called for 'notify' effects.
217
+ */
218
+ notify: (message: string, options?: NotifyOptions) => void;
219
+ /**
220
+ * Emit an event to the event bus.
221
+ * Called for 'emit' effects.
222
+ */
223
+ eventBus: {
224
+ emit: (event: string, payload?: FieldValue) => void;
225
+ };
226
+ /**
227
+ * Optional: Data from server response for render-ui.
228
+ * Components can use this to access fetched entity data.
229
+ */
230
+ data?: Record<string, EntityRow[]>;
231
+ /**
232
+ * Optional: Callback when all effects have been executed.
233
+ */
234
+ onComplete?: () => void;
235
+ }
236
+ /**
237
+ * Slot type classification
238
+ */
239
+ type SlotType = 'inline' | 'portal';
240
+ /**
241
+ * Definition of a slot including its rendering behavior
242
+ */
243
+ interface SlotDefinition {
244
+ /** Slot name */
245
+ name: UISlot;
246
+ /** Whether to render inline or via portal */
247
+ type: SlotType;
248
+ /** For portal slots: where to render (default: document.body) */
249
+ portalTarget?: string;
250
+ /** Z-index for portal slots */
251
+ zIndex?: number;
252
+ }
253
+ /**
254
+ * Context for resolving entity data.
255
+ * Supports multiple data sources with priority.
256
+ */
257
+ interface DataContext {
258
+ /** Server-provided data (highest priority) */
259
+ fetchedData?: Record<string, EntityRow[]>;
260
+ /** In-memory mock data (for Builder preview) */
261
+ entityStore?: {
262
+ getRecords: (entityName: string) => EntityRow[];
263
+ };
264
+ /** Query singleton for filtering */
265
+ querySingleton?: {
266
+ getFilters: (queryRef: string) => Record<string, FieldValue>;
267
+ };
268
+ }
269
+ /**
270
+ * Result of data resolution
271
+ */
272
+ interface DataResolution {
273
+ /** Resolved data array */
274
+ data: EntityRow[];
275
+ /** Whether data is still loading */
276
+ loading: boolean;
277
+ /** Error if resolution failed */
278
+ error?: Error;
279
+ }
280
+
281
+ /**
282
+ * Offline Effect Executor
283
+ *
284
+ * Enables client-only mode for applications that need to work without
285
+ * server connectivity. Provides:
286
+ * - Mock data providers for simulating server responses
287
+ * - Local effect execution without server round-trip
288
+ * - Sync queue for effects that need server persistence when back online
289
+ *
290
+ * Used by both Builder preview (offline mode) and compiled shells (PWA mode).
291
+ *
292
+ * @packageDocumentation
293
+ */
294
+
295
+ /**
296
+ * Effect that needs to be synced to server when online
297
+ */
298
+ interface PendingSyncEffect {
299
+ /** Unique ID for this effect */
300
+ id: string;
301
+ /** Timestamp when effect was queued */
302
+ timestamp: number;
303
+ /** Effect type (persist, call-service, etc.) */
304
+ type: string;
305
+ /** Effect payload */
306
+ payload: Record<string, FieldValue>;
307
+ /** Number of retry attempts */
308
+ retries: number;
309
+ /** Maximum retries before giving up */
310
+ maxRetries: number;
311
+ }
312
+ /**
313
+ * Configuration for offline executor
314
+ */
315
+ interface OfflineExecutorConfig extends ClientEffectExecutorConfig {
316
+ /**
317
+ * Mock data provider for simulating fetch responses.
318
+ * Returns data for a given entity name.
319
+ */
320
+ mockDataProvider?: (entityName: string) => EntityRow[];
321
+ /**
322
+ * Whether to queue server effects for sync when online.
323
+ * Default: true
324
+ */
325
+ enableSyncQueue?: boolean;
326
+ /**
327
+ * Maximum number of effects to queue before dropping oldest.
328
+ * Default: 100
329
+ */
330
+ maxQueueSize?: number;
331
+ /**
332
+ * Callback when an effect is added to sync queue.
333
+ */
334
+ onEffectQueued?: (effect: PendingSyncEffect) => void;
335
+ /**
336
+ * Callback when sync queue changes.
337
+ */
338
+ onQueueChange?: (queue: PendingSyncEffect[]) => void;
339
+ }
340
+ /**
341
+ * Offline executor state
342
+ */
343
+ interface OfflineExecutorState {
344
+ /** Whether we're in offline mode */
345
+ isOffline: boolean;
346
+ /** Pending effects waiting for sync */
347
+ syncQueue: PendingSyncEffect[];
348
+ /** Number of effects processed locally */
349
+ localEffectsProcessed: number;
350
+ /** Number of effects synced to server */
351
+ effectsSynced: number;
352
+ /** Last sync attempt timestamp */
353
+ lastSyncAttempt?: number;
354
+ /** Last successful sync timestamp */
355
+ lastSuccessfulSync?: number;
356
+ }
357
+ /**
358
+ * OfflineExecutor - Handles effects in offline/client-only mode.
359
+ *
360
+ * Features:
361
+ * - Executes client effects immediately (render-ui, navigate, notify, emit)
362
+ * - Queues server effects (persist, fetch, call-service) for later sync
363
+ * - Provides mock data for fetch effects when offline
364
+ * - Syncs queued effects when connection is restored
365
+ *
366
+ * @example
367
+ * ```typescript
368
+ * const executor = new OfflineExecutor({
369
+ * renderToSlot: (slot, pattern) => slotManager.render(slot, pattern),
370
+ * navigate: (path) => router.push(path),
371
+ * notify: (message, opts) => toast.show(message, opts),
372
+ * eventBus: { emit: (event, payload) => bus.emit(event, payload) },
373
+ * mockDataProvider: (entityName) => mockStore.getAll(entityName),
374
+ * });
375
+ *
376
+ * // Process effects locally
377
+ * const response = executor.processEventOffline('LOAD', { id: '123' });
378
+ *
379
+ * // When back online
380
+ * await executor.syncPendingEffects(serverUrl);
381
+ * ```
382
+ */
383
+ declare class OfflineExecutor {
384
+ private config;
385
+ private state;
386
+ private storage;
387
+ constructor(config: OfflineExecutorConfig);
388
+ /**
389
+ * Check if we're online (browser API)
390
+ */
391
+ private checkOnline;
392
+ /**
393
+ * Handle going online
394
+ */
395
+ private handleOnline;
396
+ /**
397
+ * Handle going offline
398
+ */
399
+ private handleOffline;
400
+ /**
401
+ * Load sync queue from localStorage
402
+ */
403
+ private loadSyncQueue;
404
+ /**
405
+ * Save sync queue to localStorage
406
+ */
407
+ private saveSyncQueue;
408
+ /**
409
+ * Add an effect to the sync queue
410
+ */
411
+ private queueForSync;
412
+ /**
413
+ * Execute client effects immediately.
414
+ */
415
+ executeClientEffects(effects: ClientEffect[]): void;
416
+ /**
417
+ * Process an event in offline mode.
418
+ *
419
+ * Returns a simulated EventResponse with mock data.
420
+ * Client effects are executed immediately.
421
+ * Server effects are queued for sync.
422
+ */
423
+ processEventOffline(event: string, payload?: Record<string, FieldValue>, effects?: Array<FieldValue[]>): EventResponse;
424
+ /**
425
+ * Sync pending effects to server.
426
+ *
427
+ * @param serverUrl - Base URL for the orbital server
428
+ * @param authToken - Optional auth token for requests
429
+ * @returns Number of successfully synced effects
430
+ */
431
+ syncPendingEffects(serverUrl: string, authToken?: string): Promise<number>;
432
+ /**
433
+ * Get current executor state
434
+ */
435
+ getState(): OfflineExecutorState;
436
+ /**
437
+ * Get number of pending effects
438
+ */
439
+ getPendingCount(): number;
440
+ /**
441
+ * Clear the sync queue
442
+ */
443
+ clearQueue(): void;
444
+ /**
445
+ * Dispose the executor and clean up listeners
446
+ */
447
+ dispose(): void;
448
+ }
449
+ /**
450
+ * Create an offline executor with sensible defaults.
451
+ *
452
+ * @example
453
+ * ```typescript
454
+ * const executor = createOfflineExecutor({
455
+ * renderToSlot: slotManager.render,
456
+ * navigate: router.push,
457
+ * notify: toast.show,
458
+ * eventBus: { emit: bus.emit },
459
+ * mockDataProvider: (entity) => store.getAll(entity),
460
+ * });
461
+ * ```
462
+ */
463
+ declare function createOfflineExecutor(config: OfflineExecutorConfig): OfflineExecutor;
464
+ /**
465
+ * Options for useOfflineExecutor hook
466
+ */
467
+ interface UseOfflineExecutorOptions extends OfflineExecutorConfig {
468
+ /** Server URL for syncing */
469
+ serverUrl?: string;
470
+ /** Auth token for server requests */
471
+ authToken?: string;
472
+ /** Auto-sync when coming back online */
473
+ autoSync?: boolean;
474
+ }
475
+ /**
476
+ * Result of useOfflineExecutor hook
477
+ */
478
+ interface UseOfflineExecutorResult {
479
+ /** Current executor state */
480
+ state: OfflineExecutorState;
481
+ /** Whether we're offline */
482
+ isOffline: boolean;
483
+ /** Number of pending effects */
484
+ pendingCount: number;
485
+ /** Execute client effects */
486
+ executeClientEffects: (effects: ClientEffect[]) => void;
487
+ /** Process event offline */
488
+ processEventOffline: (event: string, payload?: Record<string, FieldValue>, effects?: Array<FieldValue[]>) => EventResponse;
489
+ /** Manually trigger sync */
490
+ sync: () => Promise<number>;
491
+ /** Clear the queue */
492
+ clearQueue: () => void;
493
+ }
494
+ /**
495
+ * React hook for offline effect execution.
496
+ *
497
+ * @example
498
+ * ```tsx
499
+ * function MyComponent() {
500
+ * const { isOffline, pendingCount, processEventOffline, sync } = useOfflineExecutor({
501
+ * renderToSlot: slotManager.render,
502
+ * navigate: router.push,
503
+ * notify: toast.show,
504
+ * eventBus: { emit: bus.emit },
505
+ * serverUrl: '/api/orbitals',
506
+ * autoSync: true,
507
+ * });
508
+ *
509
+ * return (
510
+ * <div>
511
+ * {isOffline && <Banner>Offline - {pendingCount} changes pending</Banner>}
512
+ * <button onClick={() => processEventOffline('SAVE', data)}>Save</button>
513
+ * </div>
514
+ * );
515
+ * }
516
+ * ```
517
+ */
518
+ declare function useOfflineExecutor(options: UseOfflineExecutorOptions): UseOfflineExecutorResult;
519
+
520
+ export { type ClientEffect as C, type DataContext as D, type EventResponse as E, type MappedPattern as M, type NavigationContextValue as N, OfflineExecutor as O, type PendingSyncEffect as P, type SlotDefinition as S, type UseOfflineExecutorResult as U, type UseOfflineExecutorOptions as a, NavigationProvider as b, type NavigationProviderProps as c, type NavigationState as d, extractRouteParams as e, findPageByName as f, findPageByPath as g, getAllPages as h, getDefaultPage as i, useInitPayload as j, useNavigateTo as k, useNavigation as l, matchPath as m, useNavigationId as n, useNavigationState as o, pathMatches as p, type ClientEffectExecutorConfig as q, type NotifyOptions as r, type DataResolution as s, type OfflineExecutorConfig as t, useActivePage as u, type OfflineExecutorState as v, type SlotType as w, createOfflineExecutor as x, useOfflineExecutor as y };
@@ -41,7 +41,7 @@ var core$1 = require('@dnd-kit/core');
41
41
  var sortable = require('@dnd-kit/sortable');
42
42
  var utilities = require('@dnd-kit/utilities');
43
43
  var react = require('@xyflow/react');
44
- var patterns = require('@almadar/patterns');
44
+ var patterns = require('@almadar/core/patterns');
45
45
 
46
46
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
47
47
 
@@ -7407,6 +7407,13 @@ function bindCanvasCapture(captureFn) {
7407
7407
  window.__orbitalVerification.captureFrame = captureFn;
7408
7408
  }
7409
7409
  }
7410
+ function bindLastDrawables(getDrawables) {
7411
+ if (typeof window === "undefined") return;
7412
+ exposeOnWindow();
7413
+ if (window.__orbitalVerification) {
7414
+ window.__orbitalVerification.getLastDrawables = getDrawables;
7415
+ }
7416
+ }
7410
7417
  function updateAssetStatus(url, status) {
7411
7418
  if (typeof window === "undefined") return;
7412
7419
  exposeOnWindow();
@@ -8812,8 +8819,12 @@ var init_MiniMap = __esm({
8812
8819
  MiniMap.displayName = "MiniMap";
8813
8820
  }
8814
8821
  });
8815
- function useCamera() {
8816
- const cameraRef = React83.useRef({ x: 0, y: 0, zoom: 1 });
8822
+ function useCamera(initial) {
8823
+ const cameraRef = React83.useRef({
8824
+ x: initial?.x ?? 0,
8825
+ y: initial?.y ?? 0,
8826
+ zoom: initial?.zoom ?? 1
8827
+ });
8817
8828
  const targetCameraRef = React83.useRef(null);
8818
8829
  const isDraggingRef = React83.useRef(false);
8819
8830
  const dragDistanceRef = React83.useRef(0);
@@ -9251,8 +9262,9 @@ var init_DrawSprite = __esm({
9251
9262
  if (!r) return;
9252
9263
  src = { x: r.sx, y: r.sy, w: r.sw, h: r.sh };
9253
9264
  }
9254
- const w = node.width ?? (src ? src.w : tex.width);
9255
- const h = node.height ?? (src ? src.h : tex.height);
9265
+ const tw = dctx.projector.tileWidth;
9266
+ const w = node.width !== void 0 ? node.width * tw : src ? src.w : tex.width;
9267
+ const h = node.height !== void 0 ? node.height * tw : src ? src.h : tex.height;
9256
9268
  const anchor = node.anchor ?? "top-left";
9257
9269
  const p = dctx.projector.anchorPoint(node.position, anchor);
9258
9270
  const dx = anchor === "top-left" ? p.x : p.x - w / 2;
@@ -9299,27 +9311,30 @@ var init_DrawShape = __esm({
9299
9311
  }
9300
9312
  case "rect": {
9301
9313
  const p = dctx.projector.anchorPoint(node.position, node.anchor ?? "top-left");
9302
- const x = p.x + (node.offsetX ?? 0);
9303
- const y = p.y + (node.offsetY ?? 0);
9304
- const w = node.width ?? 0;
9305
- const h = node.height ?? 0;
9314
+ const tw = dctx.projector.tileWidth;
9315
+ const x = p.x + (node.offsetX ?? 0) * tw;
9316
+ const y = p.y + (node.offsetY ?? 0) * tw;
9317
+ const w = (node.width ?? 0) * tw;
9318
+ const h = (node.height ?? 0) * tw;
9306
9319
  if (node.fill) painter.fillRect(x, y, w, h, node.fill);
9307
9320
  if (node.stroke) painter.strokeRect(x, y, w, h, node.stroke, node.strokeWidth ?? 1);
9308
9321
  break;
9309
9322
  }
9310
9323
  case "ellipse": {
9311
9324
  const p = dctx.projector.anchorPoint(node.position, node.anchor ?? "ground");
9312
- const cx = p.x + (node.offsetX ?? 0);
9313
- const cy = p.y + (node.offsetY ?? 0);
9314
- const rx = node.radiusX ?? 0;
9315
- const ry = node.radiusY ?? rx;
9325
+ const tw = dctx.projector.tileWidth;
9326
+ const cx = p.x + (node.offsetX ?? 0) * tw;
9327
+ const cy = p.y + (node.offsetY ?? 0) * tw;
9328
+ const rx = (node.radiusX ?? 0) * tw;
9329
+ const ry = (node.radiusY ?? rx) * tw;
9316
9330
  if (node.fill) painter.fillEllipse(cx, cy, rx, ry, node.fill);
9317
9331
  if (node.stroke) painter.strokeEllipse(cx, cy, rx, ry, node.stroke, node.strokeWidth ?? 1);
9318
9332
  break;
9319
9333
  }
9320
9334
  case "poly": {
9321
9335
  const base = dctx.projector.project(node.position);
9322
- const pts = (node.points ?? []).map((pt) => ({ x: base.x + pt.x, y: base.y + pt.y }));
9336
+ const tw = dctx.projector.tileWidth;
9337
+ const pts = (node.points ?? []).map((pt) => ({ x: base.x + pt.x * tw, y: base.y + pt.y * tw }));
9323
9338
  if (node.fill) painter.fillPoly(pts, node.fill);
9324
9339
  if (node.stroke) painter.strokePoly(pts, node.stroke, node.strokeWidth ?? 1, true);
9325
9340
  break;
@@ -9485,9 +9500,17 @@ function Canvas2D({
9485
9500
  scale = 0.4,
9486
9501
  showMinimap = true,
9487
9502
  followTarget,
9503
+ cameraPos,
9488
9504
  bgColor
9489
9505
  }) {
9506
+ const layerSummaries = drawables?.map((d) => {
9507
+ if (!d || typeof d !== "object") return d;
9508
+ const rec = d;
9509
+ return { type: rec.type, itemsLen: Array.isArray(rec.items) ? rec.items.length : void 0, firstItem: Array.isArray(rec.items) ? rec.items[0] : void 0 };
9510
+ });
9511
+ console.error("[debug:Canvas2D] " + JSON.stringify({ projection, scale, cameraMode: camera, cameraPos, drawablesCount: drawables?.length, layerSummaries }));
9490
9512
  const backgroundImage = normalizeBackdrop(backgroundImageRaw);
9513
+ const instanceId = React83.useMemo(() => Math.random().toString(36).slice(2, 8), []);
9491
9514
  const isFree = projection === "free";
9492
9515
  const squareGrid = projection === "flat" || isFree || projection === "side";
9493
9516
  const layout = projection === "side" ? "free" : projection;
@@ -9550,10 +9573,12 @@ function Canvas2D({
9550
9573
  const canvas = canvasRef.current;
9551
9574
  if (!canvas) return;
9552
9575
  bindCanvasCapture(() => canvas.toDataURL("image/png"));
9576
+ bindLastDrawables(() => drawables ?? null);
9553
9577
  return () => {
9554
9578
  bindCanvasCapture(() => null);
9579
+ bindLastDrawables(() => null);
9555
9580
  };
9556
- }, []);
9581
+ }, [drawables]);
9557
9582
  const enableCamera = camera === "pan-zoom";
9558
9583
  const {
9559
9584
  cameraRef,
@@ -9567,8 +9592,8 @@ function Canvas2D({
9567
9592
  zoomAtPoint,
9568
9593
  screenToWorld,
9569
9594
  lerpToTarget
9570
- } = useCamera();
9571
- const [, setAtlasVersion] = React83.useState(0);
9595
+ } = useCamera({ zoom: scale });
9596
+ const [atlasVersion, setAtlasVersion] = React83.useState(0);
9572
9597
  const bumpAtlas = React83.useCallback(() => setAtlasVersion((v) => v + 1), []);
9573
9598
  const miniMapTiles = React83.useMemo(() => {
9574
9599
  if (!showMinimap) return [];
@@ -9613,6 +9638,14 @@ function Canvas2D({
9613
9638
  }
9614
9639
  if (!drawables || drawables.length === 0) return;
9615
9640
  const cam = cameraRef.current;
9641
+ if (cameraPos && dragDistance() === 0) {
9642
+ const p = projector.anchorPoint(cameraPos, "center");
9643
+ cam.x = p.x - viewportSize.width / 2;
9644
+ cam.y = p.y - viewportSize.height / 2;
9645
+ }
9646
+ const containerRect = containerRef.current?.getBoundingClientRect();
9647
+ const canvasRect = canvas.getBoundingClientRect();
9648
+ console.error("[debug:Canvas2D:draw:" + instanceId + "] " + JSON.stringify({ viewportSize, baseOffsetX, cam: { x: cam.x, y: cam.y, zoom: cam.zoom }, cameraPos, containerRect: containerRect ? { width: containerRect.width, height: containerRect.height } : null, canvasRect: canvasRect ? { width: canvasRect.width, height: canvasRect.height } : null }));
9616
9649
  const painter = createWebPainter(ctx, bumpAtlas);
9617
9650
  painter.save();
9618
9651
  painter.translate(viewportSize.width / 2, viewportSize.height / 2);
@@ -9636,6 +9669,9 @@ function Canvas2D({
9636
9669
  React83.useEffect(() => {
9637
9670
  draw();
9638
9671
  }, [_imagePendingCount, draw]);
9672
+ React83.useEffect(() => {
9673
+ draw();
9674
+ }, [atlasVersion, draw]);
9639
9675
  React83.useEffect(() => {
9640
9676
  if (camera !== "follow" || !followTarget) return;
9641
9677
  let running = true;
@@ -9880,6 +9916,7 @@ function Canvas({
9880
9916
  keyMap,
9881
9917
  keyUpMap
9882
9918
  }) {
9919
+ console.error("[debug:Canvas] " + JSON.stringify({ mode, drawablesCount: drawables?.length, projection, camera }));
9883
9920
  const zoom = camera?.zoom;
9884
9921
  if (mode === "3d") {
9885
9922
  const props3d = {
@@ -9919,6 +9956,7 @@ function Canvas({
9919
9956
  camera: to2DCamera(camera?.mode),
9920
9957
  ...zoom !== void 0 ? { scale: zoom } : {},
9921
9958
  ...camera?.target !== void 0 ? { followTarget: camera.target } : {},
9959
+ ...camera?.pos !== void 0 ? { cameraPos: camera.pos } : {},
9922
9960
  showMinimap,
9923
9961
  backgroundImage,
9924
9962
  ...backgroundColor !== void 0 ? { bgColor: backgroundColor } : {},
@@ -44297,7 +44335,7 @@ function SlotContentRenderer({
44297
44335
  const childrenConfig = content.props.children;
44298
44336
  const isSingleChild = typeof childrenConfig === "string" || typeof childrenConfig === "object" && childrenConfig !== null && !Array.isArray(childrenConfig) && "type" in childrenConfig;
44299
44337
  const hasChildren = PATTERNS_WITH_CHILDREN.has(content.pattern) || Array.isArray(childrenConfig) && childrenConfig.length > 0 || isSingleChild;
44300
- const isDrawHost = patterns.getPatternDefinition(content.pattern)?.drawHost === true;
44338
+ const isDrawHost = patterns.isDrawHostPattern(content.pattern);
44301
44339
  const myPath = patternPath ?? "root";
44302
44340
  const renderedChildren = hasChildren && !isDrawHost ? renderPatternChildren(childrenConfig, onDismiss, content.id, myPath, content.sourceTrait, {
44303
44341
  slot: content.slot,