@almadar/ui 5.111.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 (587) 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 +97 -16
  10. package/dist/avl/index.js +99 -18
  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 +27 -5
  16. package/dist/components/index.d.cts +11224 -0
  17. package/dist/components/index.d.ts +11224 -6
  18. package/dist/components/index.js +27 -5
  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 +1484 -0
  27. package/dist/lib/drawable/three/index.d.ts +1483 -38
  28. package/dist/lib/drawable/three/index.js +11 -24
  29. package/dist/lib/index.d.cts +504 -0
  30. package/dist/lib/index.d.ts +503 -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/providers/index.cjs +27 -5
  36. package/dist/providers/index.d.cts +428 -0
  37. package/dist/providers/index.d.ts +427 -26
  38. package/dist/providers/index.js +27 -5
  39. package/dist/renderer/index.cjs +1 -1
  40. package/dist/renderer/index.d.cts +343 -0
  41. package/dist/renderer/index.d.ts +337 -22
  42. package/dist/renderer/index.js +1 -1
  43. package/dist/runtime/index.cjs +97 -16
  44. package/dist/runtime/index.d.cts +426 -0
  45. package/dist/runtime/index.d.ts +421 -16
  46. package/dist/runtime/index.js +99 -18
  47. package/dist/useEventBus-CQWyAWpK.d.ts +65 -0
  48. package/dist/useEventBus-Ckr4wqW3.d.cts +65 -0
  49. package/dist/{hooks/useUISlots.d.ts → useUISlots-BesZYMks.d.cts} +16 -14
  50. package/dist/useUISlots-BesZYMks.d.ts +216 -0
  51. package/package.json +11 -11
  52. package/dist/avl/index.d.cts +0 -1853
  53. package/dist/avl/index.d.ts +0 -64
  54. package/dist/components/avl/atoms/Avl3DLabel.d.ts +0 -23
  55. package/dist/components/avl/atoms/Avl3DTooltip.d.ts +0 -25
  56. package/dist/components/avl/atoms/AvlApplication.d.ts +0 -8
  57. package/dist/components/avl/atoms/AvlBinding.d.ts +0 -12
  58. package/dist/components/avl/atoms/AvlBindingRef.d.ts +0 -7
  59. package/dist/components/avl/atoms/AvlEffect.d.ts +0 -10
  60. package/dist/components/avl/atoms/AvlEntity.d.ts +0 -9
  61. package/dist/components/avl/atoms/AvlEvent.d.ts +0 -7
  62. package/dist/components/avl/atoms/AvlField.d.ts +0 -10
  63. package/dist/components/avl/atoms/AvlFieldType.d.ts +0 -8
  64. package/dist/components/avl/atoms/AvlGuard.d.ts +0 -7
  65. package/dist/components/avl/atoms/AvlLiteral.d.ts +0 -7
  66. package/dist/components/avl/atoms/AvlOperator.d.ts +0 -8
  67. package/dist/components/avl/atoms/AvlOrbital.d.ts +0 -11
  68. package/dist/components/avl/atoms/AvlPage.d.ts +0 -7
  69. package/dist/components/avl/atoms/AvlPersistence.d.ts +0 -8
  70. package/dist/components/avl/atoms/AvlSExpr.d.ts +0 -8
  71. package/dist/components/avl/atoms/AvlState.d.ts +0 -15
  72. package/dist/components/avl/atoms/AvlTrait.d.ts +0 -13
  73. package/dist/components/avl/atoms/AvlTransition.d.ts +0 -18
  74. package/dist/components/avl/atoms/index.d.ts +0 -24
  75. package/dist/components/avl/hooks/useCanvasDnd.d.ts +0 -155
  76. package/dist/components/avl/lib/avl-3d-layout.d.ts +0 -116
  77. package/dist/components/avl/lib/avl-behavior-compose-converter.d.ts +0 -55
  78. package/dist/components/avl/lib/avl-elk-layout.d.ts +0 -55
  79. package/dist/components/avl/lib/avl-flow-converter.d.ts +0 -17
  80. package/dist/components/avl/lib/avl-layout.d.ts +0 -32
  81. package/dist/components/avl/lib/avl-preview-converter.d.ts +0 -71
  82. package/dist/components/avl/lib/avl-schema-parser.d.ts +0 -128
  83. package/dist/components/avl/lib/avl-story-schemas.d.ts +0 -34
  84. package/dist/components/avl/lib/avl-zoom-band.d.ts +0 -19
  85. package/dist/components/avl/lib/avl-zoom-state.d.ts +0 -72
  86. package/dist/components/avl/lib/derive-edit-focus.d.ts +0 -8
  87. package/dist/components/avl/lib/wire-validation.d.ts +0 -30
  88. package/dist/components/avl/molecules/Avl3DCrossWire.d.ts +0 -22
  89. package/dist/components/avl/molecules/Avl3DEntityCore.d.ts +0 -26
  90. package/dist/components/avl/molecules/Avl3DExprTree.d.ts +0 -21
  91. package/dist/components/avl/molecules/Avl3DOrbitalNode.d.ts +0 -29
  92. package/dist/components/avl/molecules/Avl3DStateNode.d.ts +0 -34
  93. package/dist/components/avl/molecules/Avl3DTransitionArc.d.ts +0 -38
  94. package/dist/components/avl/molecules/AvlBackwardEdge.d.ts +0 -8
  95. package/dist/components/avl/molecules/AvlBehaviorGlyph.d.ts +0 -61
  96. package/dist/components/avl/molecules/AvlBindingEdge.d.ts +0 -9
  97. package/dist/components/avl/molecules/AvlClosedCircuit.d.ts +0 -20
  98. package/dist/components/avl/molecules/AvlEmitListen.d.ts +0 -16
  99. package/dist/components/avl/molecules/AvlEventWireEdge.d.ts +0 -15
  100. package/dist/components/avl/molecules/AvlExprTree.d.ts +0 -13
  101. package/dist/components/avl/molecules/AvlOrbitalNode.d.ts +0 -12
  102. package/dist/components/avl/molecules/AvlOrbitalUnit.d.ts +0 -20
  103. package/dist/components/avl/molecules/AvlPageEdge.d.ts +0 -8
  104. package/dist/components/avl/molecules/AvlSlotMap.d.ts +0 -18
  105. package/dist/components/avl/molecules/AvlStateMachine.d.ts +0 -22
  106. package/dist/components/avl/molecules/AvlSwimLane.d.ts +0 -10
  107. package/dist/components/avl/molecules/AvlTransitionEdge.d.ts +0 -17
  108. package/dist/components/avl/molecules/AvlTransitionLane.d.ts +0 -18
  109. package/dist/components/avl/molecules/BehaviorComposeNode.d.ts +0 -13
  110. package/dist/components/avl/molecules/BehaviorView.d.ts +0 -12
  111. package/dist/components/avl/molecules/DetailView.d.ts +0 -13
  112. package/dist/components/avl/molecules/EventFlowEdge.d.ts +0 -13
  113. package/dist/components/avl/molecules/MiniStateMachine.d.ts +0 -14
  114. package/dist/components/avl/molecules/ModuleCard.d.ts +0 -22
  115. package/dist/components/avl/molecules/OrbPreviewNode.d.ts +0 -38
  116. package/dist/components/avl/molecules/SystemNode.d.ts +0 -12
  117. package/dist/components/avl/molecules/TraitCardNode.d.ts +0 -33
  118. package/dist/components/avl/molecules/index.d.ts +0 -38
  119. package/dist/components/avl/organisms/Avl3DApplicationScene.d.ts +0 -19
  120. package/dist/components/avl/organisms/Avl3DEffects.d.ts +0 -18
  121. package/dist/components/avl/organisms/Avl3DOrbitalScene.d.ts +0 -23
  122. package/dist/components/avl/organisms/Avl3DTraitScene.d.ts +0 -19
  123. package/dist/components/avl/organisms/Avl3DTransitionScene.d.ts +0 -17
  124. package/dist/components/avl/organisms/Avl3DViewer.d.ts +0 -40
  125. package/dist/components/avl/organisms/AvlClickTarget.d.ts +0 -31
  126. package/dist/components/avl/organisms/AvlCosmicZoom.d.ts +0 -41
  127. package/dist/components/avl/organisms/AvlLegend.d.ts +0 -15
  128. package/dist/components/avl/organisms/AvlOrbitalsCosmicZoom.d.ts +0 -54
  129. package/dist/components/avl/organisms/AvlTraitScene.d.ts +0 -17
  130. package/dist/components/avl/organisms/AvlTransitionDetail.d.ts +0 -20
  131. package/dist/components/avl/organisms/AvlTransitionScene.d.ts +0 -13
  132. package/dist/components/avl/organisms/FlowCanvas.d.ts +0 -134
  133. package/dist/components/avl/organisms/OrbInspector.d.ts +0 -45
  134. package/dist/components/avl/organisms/ZoomBreadcrumb.d.ts +0 -16
  135. package/dist/components/avl/organisms/ZoomLegend.d.ts +0 -10
  136. package/dist/components/avl/organisms/index.d.ts +0 -19
  137. package/dist/components/avl/providers/avl-3d-context.d.ts +0 -32
  138. package/dist/components/avl/types/avl-atom-types.d.ts +0 -53
  139. package/dist/components/avl/types/avl-behavior-compose-types.d.ts +0 -120
  140. package/dist/components/avl/types/avl-canvas-types.d.ts +0 -39
  141. package/dist/components/avl/types/avl-preview-types.d.ts +0 -240
  142. package/dist/components/core/atoms/Aside.d.ts +0 -15
  143. package/dist/components/core/atoms/AtlasImage.d.ts +0 -58
  144. package/dist/components/core/atoms/Avatar.d.ts +0 -61
  145. package/dist/components/core/atoms/Badge.d.ts +0 -29
  146. package/dist/components/core/atoms/Box.d.ts +0 -68
  147. package/dist/components/core/atoms/Button.d.ts +0 -33
  148. package/dist/components/core/atoms/Card.d.ts +0 -34
  149. package/dist/components/core/atoms/Center.d.ts +0 -33
  150. package/dist/components/core/atoms/Checkbox.d.ts +0 -14
  151. package/dist/components/core/atoms/ConditionalWrapper.d.ts +0 -69
  152. package/dist/components/core/atoms/ConfettiEffect.d.ts +0 -19
  153. package/dist/components/core/atoms/DayCell.d.ts +0 -22
  154. package/dist/components/core/atoms/Dialog.d.ts +0 -18
  155. package/dist/components/core/atoms/Divider.d.ts +0 -29
  156. package/dist/components/core/atoms/FilterPill.d.ts +0 -30
  157. package/dist/components/core/atoms/FlipContainer.d.ts +0 -21
  158. package/dist/components/core/atoms/GameIcon.d.ts +0 -19
  159. package/dist/components/core/atoms/Icon.d.ts +0 -57
  160. package/dist/components/core/atoms/InfiniteScrollSentinel.d.ts +0 -24
  161. package/dist/components/core/atoms/Input.d.ts +0 -39
  162. package/dist/components/core/atoms/Label.d.ts +0 -12
  163. package/dist/components/core/atoms/LawReferenceTooltip.d.ts +0 -48
  164. package/dist/components/core/atoms/Overlay.d.ts +0 -17
  165. package/dist/components/core/atoms/ProgressBar.d.ts +0 -63
  166. package/dist/components/core/atoms/Radio.d.ts +0 -35
  167. package/dist/components/core/atoms/RangeSlider.d.ts +0 -34
  168. package/dist/components/core/atoms/SectionHeader.d.ts +0 -14
  169. package/dist/components/core/atoms/Select.d.ts +0 -49
  170. package/dist/components/core/atoms/Spacer.d.ts +0 -25
  171. package/dist/components/core/atoms/Sparkline.d.ts +0 -30
  172. package/dist/components/core/atoms/Spinner.d.ts +0 -10
  173. package/dist/components/core/atoms/Stack.d.ts +0 -67
  174. package/dist/components/core/atoms/StatusDot.d.ts +0 -16
  175. package/dist/components/core/atoms/Switch.d.ts +0 -12
  176. package/dist/components/core/atoms/TextHighlight.d.ts +0 -54
  177. package/dist/components/core/atoms/Textarea.d.ts +0 -17
  178. package/dist/components/core/atoms/ThemeToggle.d.ts +0 -33
  179. package/dist/components/core/atoms/TimeSlotCell.d.ts +0 -23
  180. package/dist/components/core/atoms/TraitFrame.d.ts +0 -54
  181. package/dist/components/core/atoms/TrendIndicator.d.ts +0 -20
  182. package/dist/components/core/atoms/TypewriterText.d.ts +0 -20
  183. package/dist/components/core/atoms/Typography.d.ts +0 -39
  184. package/dist/components/core/atoms/index.d.ts +0 -52
  185. package/dist/components/core/atoms/svg/SvgBranch.d.ts +0 -16
  186. package/dist/components/core/atoms/svg/SvgConnection.d.ts +0 -17
  187. package/dist/components/core/atoms/svg/SvgFlow.d.ts +0 -14
  188. package/dist/components/core/atoms/svg/SvgGrid.d.ts +0 -18
  189. package/dist/components/core/atoms/svg/SvgLobe.d.ts +0 -17
  190. package/dist/components/core/atoms/svg/SvgMesh.d.ts +0 -16
  191. package/dist/components/core/atoms/svg/SvgMorph.d.ts +0 -15
  192. package/dist/components/core/atoms/svg/SvgNode.d.ts +0 -16
  193. package/dist/components/core/atoms/svg/SvgPulse.d.ts +0 -16
  194. package/dist/components/core/atoms/svg/SvgRing.d.ts +0 -17
  195. package/dist/components/core/atoms/svg/SvgShield.d.ts +0 -15
  196. package/dist/components/core/atoms/svg/SvgStack.d.ts +0 -17
  197. package/dist/components/core/atoms/svg/index.d.ts +0 -12
  198. package/dist/components/core/atoms/types.d.ts +0 -47
  199. package/dist/components/core/molecules/Accordion.d.ts +0 -71
  200. package/dist/components/core/molecules/ActivationBlock.d.ts +0 -22
  201. package/dist/components/core/molecules/Alert.d.ts +0 -25
  202. package/dist/components/core/molecules/AnimatedCounter.d.ts +0 -18
  203. package/dist/components/core/molecules/AssetPicker.d.ts +0 -21
  204. package/dist/components/core/molecules/BloomQuizBlock.d.ts +0 -25
  205. package/dist/components/core/molecules/BranchingLogicBuilder.d.ts +0 -33
  206. package/dist/components/core/molecules/Breadcrumb.d.ts +0 -55
  207. package/dist/components/core/molecules/ButtonGroup.d.ts +0 -77
  208. package/dist/components/core/molecules/CalendarGrid.d.ts +0 -61
  209. package/dist/components/core/molecules/Card.d.ts +0 -58
  210. package/dist/components/core/molecules/Carousel.d.ts +0 -42
  211. package/dist/components/core/molecules/Chart.d.ts +0 -106
  212. package/dist/components/core/molecules/ChartLegend.d.ts +0 -20
  213. package/dist/components/core/molecules/Coachmark.d.ts +0 -47
  214. package/dist/components/core/molecules/ConfirmDialog.d.ts +0 -49
  215. package/dist/components/core/molecules/ConnectionBlock.d.ts +0 -18
  216. package/dist/components/core/molecules/Container.d.ts +0 -30
  217. package/dist/components/core/molecules/ContentRenderer.d.ts +0 -23
  218. package/dist/components/core/molecules/DataGrid.d.ts +0 -117
  219. package/dist/components/core/molecules/DataList.d.ts +0 -129
  220. package/dist/components/core/molecules/DateRangePicker.d.ts +0 -56
  221. package/dist/components/core/molecules/DateRangeSelector.d.ts +0 -21
  222. package/dist/components/core/molecules/DocBreadcrumb.d.ts +0 -20
  223. package/dist/components/core/molecules/DocPagination.d.ts +0 -21
  224. package/dist/components/core/molecules/DocSearch.d.ts +0 -22
  225. package/dist/components/core/molecules/DocSidebar.d.ts +0 -24
  226. package/dist/components/core/molecules/DocTOC.d.ts +0 -24
  227. package/dist/components/core/molecules/DocumentViewer.d.ts +0 -61
  228. package/dist/components/core/molecules/Drawer.d.ts +0 -47
  229. package/dist/components/core/molecules/EdgeDecoration.d.ts +0 -36
  230. package/dist/components/core/molecules/EmptyState.d.ts +0 -29
  231. package/dist/components/core/molecules/ErrorBoundary.d.ts +0 -54
  232. package/dist/components/core/molecules/ErrorState.d.ts +0 -14
  233. package/dist/components/core/molecules/FeatureGrid.d.ts +0 -19
  234. package/dist/components/core/molecules/FileTree.d.ts +0 -37
  235. package/dist/components/core/molecules/FilterGroup.d.ts +0 -61
  236. package/dist/components/core/molecules/Flex.d.ts +0 -43
  237. package/dist/components/core/molecules/FlipCard.d.ts +0 -24
  238. package/dist/components/core/molecules/FloatingActionButton.d.ts +0 -83
  239. package/dist/components/core/molecules/FormField.d.ts +0 -16
  240. package/dist/components/core/molecules/FormSection.d.ts +0 -39
  241. package/dist/components/core/molecules/FormSectionHeader.d.ts +0 -31
  242. package/dist/components/core/molecules/GradientDivider.d.ts +0 -15
  243. package/dist/components/core/molecules/GraphCanvas.d.ts +0 -83
  244. package/dist/components/core/molecules/GraphView.d.ts +0 -45
  245. package/dist/components/core/molecules/Grid.d.ts +0 -54
  246. package/dist/components/core/molecules/GridPicker.d.ts +0 -44
  247. package/dist/components/core/molecules/Header.d.ts +0 -113
  248. package/dist/components/core/molecules/IconPicker.d.ts +0 -18
  249. package/dist/components/core/molecules/InputGroup.d.ts +0 -24
  250. package/dist/components/core/molecules/JazariStateMachine.d.ts +0 -34
  251. package/dist/components/core/molecules/JsonTreeEditor.d.ts +0 -13
  252. package/dist/components/core/molecules/Lightbox.d.ts +0 -26
  253. package/dist/components/core/molecules/LikertScale.d.ts +0 -34
  254. package/dist/components/core/molecules/LineChart.d.ts +0 -35
  255. package/dist/components/core/molecules/LoadingState.d.ts +0 -7
  256. package/dist/components/core/molecules/MapView.d.ts +0 -87
  257. package/dist/components/core/molecules/MatrixQuestion.d.ts +0 -35
  258. package/dist/components/core/molecules/Menu.d.ts +0 -44
  259. package/dist/components/core/molecules/Meter.d.ts +0 -52
  260. package/dist/components/core/molecules/Modal.d.ts +0 -36
  261. package/dist/components/core/molecules/Navigation.d.ts +0 -67
  262. package/dist/components/core/molecules/NodeSlotEditor.d.ts +0 -17
  263. package/dist/components/core/molecules/NumberStepper.d.ts +0 -28
  264. package/dist/components/core/molecules/OnboardingSpotlight.d.ts +0 -27
  265. package/dist/components/core/molecules/OptionConstraintGroup.d.ts +0 -44
  266. package/dist/components/core/molecules/OrbitalVisualization.d.ts +0 -48
  267. package/dist/components/core/molecules/PageHeader.d.ts +0 -60
  268. package/dist/components/core/molecules/Pagination.d.ts +0 -71
  269. package/dist/components/core/molecules/Popover.d.ts +0 -39
  270. package/dist/components/core/molecules/PositionedCanvas.d.ts +0 -40
  271. package/dist/components/core/molecules/ProgressDots.d.ts +0 -24
  272. package/dist/components/core/molecules/PropertyInspector.d.ts +0 -38
  273. package/dist/components/core/molecules/PullToRefresh.d.ts +0 -22
  274. package/dist/components/core/molecules/QrScanner.d.ts +0 -24
  275. package/dist/components/core/molecules/QuizBlock.d.ts +0 -20
  276. package/dist/components/core/molecules/ReflectionBlock.d.ts +0 -23
  277. package/dist/components/core/molecules/RelationSelect.d.ts +0 -48
  278. package/dist/components/core/molecules/RepeatableFormSection.d.ts +0 -60
  279. package/dist/components/core/molecules/ReplyTree.d.ts +0 -46
  280. package/dist/components/core/molecules/RichBlockEditor.d.ts +0 -43
  281. package/dist/components/core/molecules/ScaledDiagram.d.ts +0 -20
  282. package/dist/components/core/molecules/SearchInput.d.ts +0 -60
  283. package/dist/components/core/molecules/Section.d.ts +0 -43
  284. package/dist/components/core/molecules/SidePanel.d.ts +0 -53
  285. package/dist/components/core/molecules/Sidebar.d.ts +0 -72
  286. package/dist/components/core/molecules/SignaturePad.d.ts +0 -46
  287. package/dist/components/core/molecules/SimpleGrid.d.ts +0 -27
  288. package/dist/components/core/molecules/Skeleton.d.ts +0 -35
  289. package/dist/components/core/molecules/SocialProof.d.ts +0 -25
  290. package/dist/components/core/molecules/SortableList.d.ts +0 -19
  291. package/dist/components/core/molecules/Split.d.ts +0 -41
  292. package/dist/components/core/molecules/StarRating.d.ts +0 -27
  293. package/dist/components/core/molecules/StatDisplay.d.ts +0 -58
  294. package/dist/components/core/molecules/SwipeableRow.d.ts +0 -26
  295. package/dist/components/core/molecules/TableView.d.ts +0 -111
  296. package/dist/components/core/molecules/Tabs.d.ts +0 -60
  297. package/dist/components/core/molecules/TagInput.d.ts +0 -52
  298. package/dist/components/core/molecules/Toast.d.ts +0 -36
  299. package/dist/components/core/molecules/Tooltip.d.ts +0 -25
  300. package/dist/components/core/molecules/UploadDropZone.d.ts +0 -28
  301. package/dist/components/core/molecules/VersionDiff.d.ts +0 -62
  302. package/dist/components/core/molecules/ViolationAlert.d.ts +0 -46
  303. package/dist/components/core/molecules/VoteStack.d.ts +0 -35
  304. package/dist/components/core/molecules/WizardContainer.d.ts +0 -166
  305. package/dist/components/core/molecules/WizardNavigation.d.ts +0 -61
  306. package/dist/components/core/molecules/WizardProgress.d.ts +0 -45
  307. package/dist/components/core/molecules/index.d.ts +0 -138
  308. package/dist/components/core/molecules/lessonSegmentUtils.d.ts +0 -18
  309. package/dist/components/core/molecules/markdown/CodeBlock.d.ts +0 -108
  310. package/dist/components/core/molecules/markdown/MarkdownContent.d.ts +0 -26
  311. package/dist/components/core/molecules/markdown/index.d.ts +0 -2
  312. package/dist/components/core/molecules/parseLessonSegments.d.ts +0 -44
  313. package/dist/components/core/molecules/useDataDnd.d.ts +0 -63
  314. package/dist/components/core/organisms/CardGrid.d.ts +0 -84
  315. package/dist/components/core/organisms/ChatBar.d.ts +0 -31
  316. package/dist/components/core/organisms/CodeRunnerPanel.d.ts +0 -42
  317. package/dist/components/core/organisms/ComponentPatterns.d.ts +0 -185
  318. package/dist/components/core/organisms/CustomPattern.d.ts +0 -105
  319. package/dist/components/core/organisms/DataTable.d.ts +0 -79
  320. package/dist/components/core/organisms/DetailPanel.d.ts +0 -80
  321. package/dist/components/core/organisms/DrawerSlot.d.ts +0 -42
  322. package/dist/components/core/organisms/Form.d.ts +0 -214
  323. package/dist/components/core/organisms/LayoutPatterns.d.ts +0 -108
  324. package/dist/components/core/organisms/List.d.ts +0 -81
  325. package/dist/components/core/organisms/MasterDetail.d.ts +0 -35
  326. package/dist/components/core/organisms/MediaGallery.d.ts +0 -63
  327. package/dist/components/core/organisms/ModalSlot.d.ts +0 -38
  328. package/dist/components/core/organisms/NotifyListener.d.ts +0 -15
  329. package/dist/components/core/organisms/SegmentRenderer.d.ts +0 -38
  330. package/dist/components/core/organisms/StatCard.d.ts +0 -65
  331. package/dist/components/core/organisms/StateMachineView.d.ts +0 -45
  332. package/dist/components/core/organisms/SubagentTracePanel.d.ts +0 -50
  333. package/dist/components/core/organisms/Timeline.d.ts +0 -71
  334. package/dist/components/core/organisms/ToastSlot.d.ts +0 -41
  335. package/dist/components/core/organisms/UISlotRenderer.d.ts +0 -116
  336. package/dist/components/core/organisms/book/index.d.ts +0 -7
  337. package/dist/components/core/organisms/book/types.d.ts +0 -62
  338. package/dist/components/core/organisms/component-registry.generated.d.ts +0 -9
  339. package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +0 -29
  340. package/dist/components/core/organisms/debug/WalkMinimap.d.ts +0 -17
  341. package/dist/components/core/organisms/debug/hooks/useDebugData.d.ts +0 -25
  342. package/dist/components/core/organisms/debug/index.d.ts +0 -13
  343. package/dist/components/core/organisms/debug/tabs/EntitiesTab.d.ts +0 -14
  344. package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +0 -18
  345. package/dist/components/core/organisms/debug/tabs/EventFlowTab.d.ts +0 -14
  346. package/dist/components/core/organisms/debug/tabs/GuardsPanel.d.ts +0 -14
  347. package/dist/components/core/organisms/debug/tabs/ServerBridgeTab.d.ts +0 -20
  348. package/dist/components/core/organisms/debug/tabs/TicksTab.d.ts +0 -14
  349. package/dist/components/core/organisms/debug/tabs/TraitsTab.d.ts +0 -14
  350. package/dist/components/core/organisms/debug/tabs/TransitionTimeline.d.ts +0 -19
  351. package/dist/components/core/organisms/debug/tabs/VerificationTab.d.ts +0 -17
  352. package/dist/components/core/organisms/index.d.ts +0 -33
  353. package/dist/components/core/organisms/layout/DashboardGrid.d.ts +0 -33
  354. package/dist/components/core/organisms/layout/MasterDetailLayout.d.ts +0 -32
  355. package/dist/components/core/organisms/layout/SplitPane.d.ts +0 -34
  356. package/dist/components/core/organisms/layout/TabbedContainer.d.ts +0 -42
  357. package/dist/components/core/organisms/layout/index.d.ts +0 -9
  358. package/dist/components/core/organisms/marketing-types.d.ts +0 -8
  359. package/dist/components/core/organisms/trace-edit-focus.d.ts +0 -14
  360. package/dist/components/core/organisms/types.d.ts +0 -72
  361. package/dist/components/core/templates/CounterTemplate.d.ts +0 -51
  362. package/dist/components/core/templates/DashboardLayout.d.ts +0 -110
  363. package/dist/components/core/templates/GenericAppTemplate.d.ts +0 -24
  364. package/dist/components/core/templates/index.d.ts +0 -10
  365. package/dist/components/core/templates/types.d.ts +0 -35
  366. package/dist/components/game/atoms/ChoiceButton.d.ts +0 -29
  367. package/dist/components/game/atoms/ControlButton.d.ts +0 -35
  368. package/dist/components/game/atoms/DialogueBubble.d.ts +0 -26
  369. package/dist/components/game/atoms/DrawShape.d.ts +0 -50
  370. package/dist/components/game/atoms/DrawSprite.d.ts +0 -47
  371. package/dist/components/game/atoms/DrawText.d.ts +0 -31
  372. package/dist/components/game/atoms/GameAudioToggle.d.ts +0 -34
  373. package/dist/components/game/atoms/HealthBar.d.ts +0 -32
  374. package/dist/components/game/atoms/MiniMap.d.ts +0 -40
  375. package/dist/components/game/atoms/ScoreDisplay.d.ts +0 -25
  376. package/dist/components/game/atoms/StateIndicator.d.ts +0 -29
  377. package/dist/components/game/atoms/TimerDisplay.d.ts +0 -22
  378. package/dist/components/game/molecules/ActionPalette.d.ts +0 -34
  379. package/dist/components/game/molecules/ActionTile.d.ts +0 -30
  380. package/dist/components/game/molecules/Canvas.d.ts +0 -96
  381. package/dist/components/game/molecules/Canvas2D.d.ts +0 -120
  382. package/dist/components/game/molecules/ControlGrid.d.ts +0 -49
  383. package/dist/components/game/molecules/DrawShapeLayer.d.ts +0 -19
  384. package/dist/components/game/molecules/DrawSpriteLayer.d.ts +0 -21
  385. package/dist/components/game/molecules/DrawTextLayer.d.ts +0 -22
  386. package/dist/components/game/molecules/GameHud.d.ts +0 -52
  387. package/dist/components/game/molecules/GameMenu.d.ts +0 -42
  388. package/dist/components/game/molecules/SequenceBar.d.ts +0 -51
  389. package/dist/components/game/molecules/StatBadge.d.ts +0 -39
  390. package/dist/components/game/molecules/StateGraph.d.ts +0 -38
  391. package/dist/components/game/molecules/StateJsonView.d.ts +0 -37
  392. package/dist/components/game/molecules/StateNode.d.ts +0 -31
  393. package/dist/components/game/molecules/TraitSlot.d.ts +0 -99
  394. package/dist/components/game/molecules/TraitStateViewer.d.ts +0 -52
  395. package/dist/components/game/molecules/TransitionArrow.d.ts +0 -31
  396. package/dist/components/game/molecules/index.d.ts +0 -39
  397. package/dist/components/game/patterns.d.ts +0 -20
  398. package/dist/components/game/templates/GameShell.d.ts +0 -35
  399. package/dist/components/learning/atoms/LearningCanvas.d.ts +0 -80
  400. package/dist/components/learning/molecules/AlgorithmCanvas.d.ts +0 -58
  401. package/dist/components/learning/molecules/BiologyCanvas.d.ts +0 -47
  402. package/dist/components/learning/molecules/ChemistryCanvas.d.ts +0 -55
  403. package/dist/components/learning/molecules/MathCanvas.d.ts +0 -61
  404. package/dist/components/learning/molecules/PhysicsCanvas.d.ts +0 -54
  405. package/dist/components/marketing/atoms/AnimatedCounter.d.ts +0 -20
  406. package/dist/components/marketing/atoms/AnimatedGraphic.d.ts +0 -32
  407. package/dist/components/marketing/atoms/AnimatedReveal.d.ts +0 -26
  408. package/dist/components/marketing/atoms/ContentSection.d.ts +0 -16
  409. package/dist/components/marketing/atoms/MarketingStatCard.d.ts +0 -13
  410. package/dist/components/marketing/atoms/PatternTile.d.ts +0 -41
  411. package/dist/components/marketing/molecules/ArticleSection.d.ts +0 -18
  412. package/dist/components/marketing/molecules/CTABanner.d.ts +0 -26
  413. package/dist/components/marketing/molecules/CaseStudyCard.d.ts +0 -24
  414. package/dist/components/marketing/molecules/CommunityLinks.d.ts +0 -28
  415. package/dist/components/marketing/molecules/FeatureCard.d.ts +0 -26
  416. package/dist/components/marketing/molecules/GeometricPattern.d.ts +0 -33
  417. package/dist/components/marketing/molecules/HeroSection.d.ts +0 -28
  418. package/dist/components/marketing/molecules/InstallBox.d.ts +0 -16
  419. package/dist/components/marketing/molecules/MarketingFooter.d.ts +0 -29
  420. package/dist/components/marketing/molecules/PricingCard.d.ts +0 -19
  421. package/dist/components/marketing/molecules/PricingGrid.d.ts +0 -13
  422. package/dist/components/marketing/molecules/PullQuote.d.ts +0 -14
  423. package/dist/components/marketing/molecules/ServiceCatalog.d.ts +0 -19
  424. package/dist/components/marketing/molecules/ShowcaseCard.d.ts +0 -18
  425. package/dist/components/marketing/molecules/SplitSection.d.ts +0 -19
  426. package/dist/components/marketing/molecules/StatsGrid.d.ts +0 -18
  427. package/dist/components/marketing/molecules/StepFlow.d.ts +0 -21
  428. package/dist/components/marketing/molecules/TagCloud.d.ts +0 -18
  429. package/dist/components/marketing/molecules/TeamCard.d.ts +0 -19
  430. package/dist/components/marketing/organisms/CaseStudyOrganism.d.ts +0 -29
  431. package/dist/components/marketing/organisms/FeatureGridOrganism.d.ts +0 -30
  432. package/dist/components/marketing/organisms/HeroOrganism.d.ts +0 -42
  433. package/dist/components/marketing/organisms/PricingOrganism.d.ts +0 -33
  434. package/dist/components/marketing/organisms/ShowcaseOrganism.d.ts +0 -34
  435. package/dist/components/marketing/organisms/StatsOrganism.d.ts +0 -23
  436. package/dist/components/marketing/organisms/StepFlowOrganism.d.ts +0 -29
  437. package/dist/components/marketing/organisms/TeamOrganism.d.ts +0 -28
  438. package/dist/components/marketing/organisms/book/BookChapterView.d.ts +0 -21
  439. package/dist/components/marketing/organisms/book/BookCoverPage.d.ts +0 -21
  440. package/dist/components/marketing/organisms/book/BookNavBar.d.ts +0 -19
  441. package/dist/components/marketing/organisms/book/BookTableOfContents.d.ts +0 -20
  442. package/dist/components/marketing/organisms/book/BookViewer.d.ts +0 -31
  443. package/dist/components/marketing/templates/AboutPageTemplate.d.ts +0 -53
  444. package/dist/components/marketing/templates/AuthLayout.d.ts +0 -15
  445. package/dist/components/marketing/templates/FeatureDetailPageTemplate.d.ts +0 -37
  446. package/dist/components/marketing/templates/LandingPageTemplate.d.ts +0 -70
  447. package/dist/components/marketing/templates/PricingPageTemplate.d.ts +0 -44
  448. package/dist/hooks/useAgentChat.d.ts +0 -105
  449. package/dist/hooks/useAlmadarDndCollision.d.ts +0 -34
  450. package/dist/hooks/useAuthContext.d.ts +0 -25
  451. package/dist/hooks/useCamera.d.ts +0 -57
  452. package/dist/hooks/useCanvasGestures.d.ts +0 -44
  453. package/dist/hooks/useClientEffects.d.ts +0 -88
  454. package/dist/hooks/useCompile.d.ts +0 -18
  455. package/dist/hooks/useDeepAgentGeneration.d.ts +0 -46
  456. package/dist/hooks/useDragReorder.d.ts +0 -26
  457. package/dist/hooks/useDraggable.d.ts +0 -25
  458. package/dist/hooks/useDropZone.d.ts +0 -23
  459. package/dist/hooks/useEventBus.d.ts +0 -99
  460. package/dist/hooks/useExtensions.d.ts +0 -32
  461. package/dist/hooks/useFileEditor.d.ts +0 -32
  462. package/dist/hooks/useFileSystem.d.ts +0 -50
  463. package/dist/hooks/useGameAudio.d.ts +0 -47
  464. package/dist/hooks/useGitHub.d.ts +0 -58
  465. package/dist/hooks/useImageCache.d.ts +0 -16
  466. package/dist/hooks/useInfiniteScroll.d.ts +0 -13
  467. package/dist/hooks/useLongPress.d.ts +0 -16
  468. package/dist/hooks/useOrbitalHistory.d.ts +0 -39
  469. package/dist/hooks/usePreview.d.ts +0 -57
  470. package/dist/hooks/usePullToRefresh.d.ts +0 -25
  471. package/dist/hooks/useQuerySingleton.d.ts +0 -79
  472. package/dist/hooks/useRenderInterpolation.d.ts +0 -33
  473. package/dist/hooks/useResolvedSchema.d.ts +0 -45
  474. package/dist/hooks/useSharedEntityStore.d.ts +0 -53
  475. package/dist/hooks/useSwipeGesture.d.ts +0 -26
  476. package/dist/hooks/useTapReveal.d.ts +0 -32
  477. package/dist/hooks/useTraitStateMachine.d.ts +0 -136
  478. package/dist/hooks/useTranslate.d.ts +0 -35
  479. package/dist/hooks/useUIEvents.d.ts +0 -41
  480. package/dist/hooks/useUnitSpriteAtlas.d.ts +0 -24
  481. package/dist/hooks/useValidation.d.ts +0 -46
  482. package/dist/lib/api-client.d.ts +0 -43
  483. package/dist/lib/atlasSlice.d.ts +0 -58
  484. package/dist/lib/boardEntity.d.ts +0 -44
  485. package/dist/lib/client-effect-executor.d.ts +0 -57
  486. package/dist/lib/cn.d.ts +0 -6
  487. package/dist/lib/createClientEffectHandlers.d.ts +0 -42
  488. package/dist/lib/data-resolver.d.ts +0 -55
  489. package/dist/lib/debug.d.ts +0 -36
  490. package/dist/lib/debugRegistry.d.ts +0 -30
  491. package/dist/lib/debugUtils.d.ts +0 -27
  492. package/dist/lib/drawable/contract.d.ts +0 -68
  493. package/dist/lib/drawable/hitTest.d.ts +0 -23
  494. package/dist/lib/drawable/paintDispatch.d.ts +0 -22
  495. package/dist/lib/drawable/projector.d.ts +0 -14
  496. package/dist/lib/drawable/projector3d.d.ts +0 -20
  497. package/dist/lib/drawable/three/Camera3D.d.ts +0 -60
  498. package/dist/lib/drawable/three/Canvas3DErrorBoundary.d.ts +0 -51
  499. package/dist/lib/drawable/three/Canvas3DHost.d.ts +0 -178
  500. package/dist/lib/drawable/three/Canvas3DLoadingState.d.ts +0 -44
  501. package/dist/lib/drawable/three/Drawable3D.d.ts +0 -20
  502. package/dist/lib/drawable/three/GameCamera3D.d.ts +0 -16
  503. package/dist/lib/drawable/three/Lighting3D.d.ts +0 -55
  504. package/dist/lib/drawable/three/ModelLoader.d.ts +0 -52
  505. package/dist/lib/drawable/three/Scene3D.d.ts +0 -37
  506. package/dist/lib/drawable/three/game3dTheme.d.ts +0 -14
  507. package/dist/lib/drawable/three/hooks/useAssetLoader.d.ts +0 -58
  508. package/dist/lib/drawable/three/hooks/useGameCanvas3DEvents.d.ts +0 -124
  509. package/dist/lib/drawable/three/hooks/useRaycaster.d.ts +0 -86
  510. package/dist/lib/drawable/three/hooks/useSceneGraph.d.ts +0 -67
  511. package/dist/lib/drawable/three/hooks/useThree.d.ts +0 -58
  512. package/dist/lib/drawable/three/lib/AssetLoader.d.ts +0 -80
  513. package/dist/lib/drawable/three/lib/culling.d.ts +0 -134
  514. package/dist/lib/drawable/three/lib/grid3D.d.ts +0 -154
  515. package/dist/lib/drawable/three/mesh3d.d.ts +0 -28
  516. package/dist/lib/editorUtils.d.ts +0 -114
  517. package/dist/lib/embedded-traits.d.ts +0 -39
  518. package/dist/lib/entityDebug.d.ts +0 -39
  519. package/dist/lib/fn-form-lambda.d.ts +0 -27
  520. package/dist/lib/game.d.ts +0 -92
  521. package/dist/lib/gameShared.d.ts +0 -18
  522. package/dist/lib/getNestedValue.d.ts +0 -34
  523. package/dist/lib/guardRegistry.d.ts +0 -33
  524. package/dist/lib/iconFamily.d.ts +0 -41
  525. package/dist/lib/imageCache.d.ts +0 -9
  526. package/dist/lib/init.d.ts +0 -14
  527. package/dist/lib/isometric.d.ts +0 -121
  528. package/dist/lib/isometricTypes.d.ts +0 -141
  529. package/dist/lib/jazari/index.d.ts +0 -5
  530. package/dist/lib/jazari/layout.d.ts +0 -31
  531. package/dist/lib/jazari/svg-paths.d.ts +0 -61
  532. package/dist/lib/jazari/types.d.ts +0 -91
  533. package/dist/lib/makeAsset.d.ts +0 -5
  534. package/dist/lib/mechanics.d.ts +0 -4
  535. package/dist/lib/offline-executor.d.ts +0 -239
  536. package/dist/lib/orbitalsByTrait.d.ts +0 -34
  537. package/dist/lib/painter2d.d.ts +0 -81
  538. package/dist/lib/parseContentSegments.d.ts +0 -42
  539. package/dist/lib/pattern-resolver.d.ts +0 -88
  540. package/dist/lib/perf.d.ts +0 -32
  541. package/dist/lib/physicsPresets.d.ts +0 -4
  542. package/dist/lib/physicsTypes.d.ts +0 -43
  543. package/dist/lib/prepareSchemaForPreview.d.ts +0 -71
  544. package/dist/lib/puzzleObject.d.ts +0 -41
  545. package/dist/lib/slot-definitions.d.ts +0 -33
  546. package/dist/lib/spriteAnimation.d.ts +0 -85
  547. package/dist/lib/spriteAnimationTypes.d.ts +0 -72
  548. package/dist/lib/spriteSheetConstants.d.ts +0 -16
  549. package/dist/lib/tickRegistry.d.ts +0 -40
  550. package/dist/lib/trait-binding-resolver.d.ts +0 -57
  551. package/dist/lib/traitRegistry.d.ts +0 -34
  552. package/dist/lib/verificationRegistry.d.ts +0 -97
  553. package/dist/lib/visualizer/browser.d.ts +0 -48
  554. package/dist/lib/visualizer/index.d.ts +0 -144
  555. package/dist/lib/webPainter2d.d.ts +0 -7
  556. package/dist/lib/wrapCallbackForEvent.d.ts +0 -16
  557. package/dist/marketing/index.d.cts +0 -1067
  558. package/dist/marketing/index.d.ts +0 -72
  559. package/dist/providers/CurrentPagePathContext.d.ts +0 -9
  560. package/dist/providers/DesignThemeContext.d.ts +0 -21
  561. package/dist/providers/EntitySchemaContext.d.ts +0 -81
  562. package/dist/providers/EventBusProvider.d.ts +0 -47
  563. package/dist/providers/GameAudioProvider.d.ts +0 -53
  564. package/dist/providers/OfflineModeProvider.d.ts +0 -79
  565. package/dist/providers/OrbitalProvider.d.ts +0 -110
  566. package/dist/providers/OrbitalThemeProvider.d.ts +0 -37
  567. package/dist/providers/SelectionProvider.d.ts +0 -82
  568. package/dist/providers/ServerBridge.d.ts +0 -102
  569. package/dist/providers/ThemeContext.d.ts +0 -104
  570. package/dist/providers/TraitProvider.d.ts +0 -53
  571. package/dist/providers/TraitScopeProvider.d.ts +0 -43
  572. package/dist/providers/UserContext.d.ts +0 -112
  573. package/dist/providers/VerificationProvider.d.ts +0 -64
  574. package/dist/providers/navigation.d.ts +0 -142
  575. package/dist/runtime/BrowserPlayground.d.ts +0 -34
  576. package/dist/runtime/OrbPreview.d.ts +0 -84
  577. package/dist/scripts/audit-tailwind-safelist.d.ts +0 -27
  578. package/dist/scripts/generate-design-system.d.ts +0 -29
  579. package/dist/scripts/generate-theme-from-schema.d.ts +0 -10
  580. package/dist/scripts/generate.d.ts +0 -12
  581. package/dist/scripts/suggest-components.d.ts +0 -31
  582. package/dist/scripts/types.d.ts +0 -129
  583. package/dist/tsup.config.d.ts +0 -3
  584. package/dist/types/renderer-types.d.ts +0 -146
  585. package/dist/types/runtime-types.d.ts +0 -21
  586. package/dist/types/slot-types.d.ts +0 -49
  587. package/dist/vitest.config.d.ts +0 -2
@@ -0,0 +1,278 @@
1
+ import * as React from 'react';
2
+ import React__default, { ReactNode, ReactElement } from 'react';
3
+ import { ThemeRef, FieldValue } from '@almadar/core';
4
+
5
+ /**
6
+ * Unified ThemeContext - Single provider for theme and color mode
7
+ *
8
+ * Combines design theme selection (ocean, wireframe, etc.) with
9
+ * color mode (light/dark) into a single, simple system.
10
+ *
11
+ * Uses a single data attribute: data-theme="ocean-light" or data-theme="ocean-dark"
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+
16
+ /** Color mode preference */
17
+ type ColorMode = "light" | "dark" | "system";
18
+ /** Resolved color mode (what's actually applied) */
19
+ type ResolvedMode = "light" | "dark";
20
+ /** Theme definition */
21
+ interface UIThemeDefinition {
22
+ /** Theme identifier (e.g., "ocean", "wireframe") */
23
+ name: string;
24
+ /** Display name for UI (e.g., "Ocean Blue") */
25
+ displayName?: string;
26
+ /** Whether this theme has light mode styles */
27
+ hasLightMode?: boolean;
28
+ /** Whether this theme has dark mode styles */
29
+ hasDarkMode?: boolean;
30
+ }
31
+ /** Built-in themes available in the design system */
32
+ declare const BUILT_IN_THEMES: UIThemeDefinition[];
33
+ /** Theme context value */
34
+ interface ThemeContextValue {
35
+ /** Current theme name */
36
+ theme: string;
37
+ /** Current color mode setting (may be 'system') */
38
+ mode: ColorMode;
39
+ /** Resolved color mode (always 'light' or 'dark') */
40
+ resolvedMode: ResolvedMode;
41
+ /** Set the theme */
42
+ setTheme: (theme: string) => void;
43
+ /** Set the color mode */
44
+ setMode: (mode: ColorMode) => void;
45
+ /** Toggle between light and dark modes */
46
+ toggleMode: () => void;
47
+ /** Available themes */
48
+ availableThemes: UIThemeDefinition[];
49
+ /** The full theme string applied to data-theme (e.g., "ocean-light") */
50
+ appliedTheme: string;
51
+ }
52
+ declare const ThemeContext: React__default.Context<ThemeContextValue | undefined>;
53
+ interface ThemeProviderProps {
54
+ children: React__default.ReactNode;
55
+ /** Available themes (will be merged with built-in themes) */
56
+ themes?: readonly UIThemeDefinition[] | UIThemeDefinition[];
57
+ /** Default theme name */
58
+ defaultTheme?: string;
59
+ /** Default color mode */
60
+ defaultMode?: ColorMode;
61
+ /** Optional target element ref — when provided, theme attributes are applied to this element instead of document.documentElement */
62
+ targetRef?: React__default.RefObject<HTMLElement>;
63
+ }
64
+ /**
65
+ * Unified ThemeProvider component
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * // Basic usage with built-in themes
70
+ * <ThemeProvider defaultTheme="wireframe" defaultMode="light">
71
+ * <App />
72
+ * </ThemeProvider>
73
+ *
74
+ * // With custom themes from orbital schema
75
+ * import { THEMES } from './generated/theme-manifest';
76
+ * <ThemeProvider themes={THEMES} defaultTheme="ocean" defaultMode="system">
77
+ * <App />
78
+ * </ThemeProvider>
79
+ * ```
80
+ */
81
+ declare const ThemeProvider: React__default.FC<ThemeProviderProps>;
82
+ /**
83
+ * Hook for accessing theme context
84
+ *
85
+ * @returns Theme context value
86
+ *
87
+ * @example
88
+ * ```tsx
89
+ * const { theme, resolvedMode, toggleMode, setTheme } = useTheme();
90
+ *
91
+ * // Toggle dark mode
92
+ * <button onClick={toggleMode}>
93
+ * {resolvedMode === 'dark' ? 'Light' : 'Dark'}
94
+ * </button>
95
+ *
96
+ * // Change theme
97
+ * <select value={theme} onChange={(e) => setTheme(e.target.value)}>
98
+ * {availableThemes.map(t => (
99
+ * <option key={t.name} value={t.name}>{t.displayName || t.name}</option>
100
+ * ))}
101
+ * </select>
102
+ * ```
103
+ */
104
+ declare function useTheme(): ThemeContextValue;
105
+ type DesignTheme = UIThemeDefinition;
106
+
107
+ /**
108
+ * OrbitalThemeProvider — runtime application of `OrbitalDefinition.theme`.
109
+ *
110
+ * Wraps an orbital's rendered subtree in a wrapping `<div>` that sets the
111
+ * CSS variables derived from `theme.tokens` (and `variants.dark` when the
112
+ * resolved color mode is dark). Inline custom-property declarations on the
113
+ * wrapper override any `[data-theme]` selector rule for the same variable
114
+ * within the subtree, while letting unset variables cascade from the parent.
115
+ *
116
+ * Mapping is delegated to `themeTokensToCssVars`, which mirrors the Rust
117
+ * compiler's `generate_tokens_css`. Compile-time and runtime produce the
118
+ * same CSS variable map for the same `ThemeDefinition` input, so a Studio
119
+ * Design System edit and an `orbital compile` of the same schema render
120
+ * identically.
121
+ *
122
+ * No-op when:
123
+ * - `theme` is `undefined` (orbital declares no theme — parent cascades)
124
+ * - `theme` is a string ref that didn't get inlined upstream
125
+ *
126
+ * @example
127
+ * ```tsx
128
+ * <OrbitalThemeProvider theme={orbital.theme}>
129
+ * <UISlotRenderer />
130
+ * </OrbitalThemeProvider>
131
+ * ```
132
+ */
133
+
134
+ interface OrbitalThemeProviderProps {
135
+ /** The `OrbitalDefinition.theme` value (inline definition or string ref). */
136
+ theme?: ThemeRef;
137
+ children: ReactNode;
138
+ }
139
+ declare function OrbitalThemeProvider({ theme, children }: OrbitalThemeProviderProps): ReactElement;
140
+ declare namespace OrbitalThemeProvider {
141
+ var displayName: string;
142
+ }
143
+
144
+ /**
145
+ * @deprecated Use ThemeProvider from ThemeContext instead
146
+ */
147
+ declare const DesignThemeProvider: React.FC<ThemeProviderProps>;
148
+ /**
149
+ * @deprecated Use useTheme from ThemeContext instead
150
+ *
151
+ * This wrapper provides backward compatibility with the old API.
152
+ */
153
+ declare function useDesignTheme(): {
154
+ designTheme: string;
155
+ setDesignTheme: (theme: string) => void;
156
+ availableThemes: string[];
157
+ };
158
+
159
+ declare const CurrentPagePathContext: React__default.Context<string | undefined>;
160
+ interface CurrentPagePathProviderProps {
161
+ value: string | undefined;
162
+ children: React__default.ReactNode;
163
+ }
164
+ declare const CurrentPagePathProvider: React__default.FC<CurrentPagePathProviderProps>;
165
+ declare const useCurrentPagePath: () => string | undefined;
166
+
167
+ /**
168
+ * UserContext
169
+ *
170
+ * React context for providing user data throughout the application.
171
+ * Enables @user bindings in S-expressions for role-based UI and permissions.
172
+ *
173
+ * Usage:
174
+ * ```tsx
175
+ * // In App.tsx or layout
176
+ * <UserProvider user={{ id: '123', role: 'admin', permissions: ['read', 'write'] }}>
177
+ * <App />
178
+ * </UserProvider>
179
+ *
180
+ * // In components - access via hook
181
+ * const { user, hasRole, hasPermission } = useUser();
182
+ * if (hasRole('admin')) { ... }
183
+ * if (hasPermission('delete')) { ... }
184
+ * ```
185
+ *
186
+ * @packageDocumentation
187
+ */
188
+
189
+ /**
190
+ * User data for @user bindings.
191
+ * Matches UserContext type from evaluator/context.ts
192
+ */
193
+ interface UserData {
194
+ /** User's unique ID */
195
+ id: string;
196
+ /** User's email */
197
+ email?: string;
198
+ /** User's display name */
199
+ name?: string;
200
+ /** User's role (for RBAC) */
201
+ role?: string;
202
+ /** User's permissions */
203
+ permissions?: string[];
204
+ /** Additional custom profile fields */
205
+ [key: string]: FieldValue | undefined;
206
+ }
207
+ /**
208
+ * User context value.
209
+ */
210
+ interface UserContextValue {
211
+ /** Current user data (null if not logged in) */
212
+ user: UserData | null;
213
+ /** Check if user is logged in */
214
+ isLoggedIn: boolean;
215
+ /** Check if user has a specific role */
216
+ hasRole: (role: string) => boolean;
217
+ /** Check if user has a specific permission */
218
+ hasPermission: (permission: string) => boolean;
219
+ /** Check if user has any of the specified roles */
220
+ hasAnyRole: (roles: string[]) => boolean;
221
+ /** Check if user has all of the specified permissions */
222
+ hasAllPermissions: (permissions: string[]) => boolean;
223
+ /** Get a user field by path (for @user.field bindings) */
224
+ getUserField: (path: string) => FieldValue | undefined;
225
+ }
226
+ /**
227
+ * Anonymous user for when no user is logged in.
228
+ */
229
+ declare const ANONYMOUS_USER: UserData;
230
+ declare const UserContext: React__default.Context<UserContextValue | null>;
231
+ interface UserProviderProps {
232
+ /** User data (null if not logged in) */
233
+ user?: UserData | null;
234
+ /** Children to render */
235
+ children: React__default.ReactNode;
236
+ }
237
+ /**
238
+ * Provider component that provides user context to the application.
239
+ *
240
+ * Provides RBAC helpers and field access for @user bindings.
241
+ */
242
+ declare function UserProvider({ user, children, }: UserProviderProps): React__default.ReactElement;
243
+ /**
244
+ * Hook to access the user context.
245
+ *
246
+ * Returns default values if used outside of UserProvider (for resilience).
247
+ *
248
+ * @example
249
+ * ```tsx
250
+ * function AdminPanel() {
251
+ * const { user, hasRole, hasPermission } = useUser();
252
+ *
253
+ * if (!hasRole('admin') && !hasPermission('admin:access')) {
254
+ * return <AccessDenied />;
255
+ * }
256
+ *
257
+ * return <div>Welcome, {user?.name}</div>;
258
+ * }
259
+ * ```
260
+ */
261
+ declare function useUser(): UserContextValue;
262
+ /**
263
+ * Hook to check if user has a specific role.
264
+ * Convenience wrapper around useUser().hasRole().
265
+ */
266
+ declare function useHasRole(role: string): boolean;
267
+ /**
268
+ * Hook to check if user has a specific permission.
269
+ * Convenience wrapper around useUser().hasPermission().
270
+ */
271
+ declare function useHasPermission(permission: string): boolean;
272
+ /**
273
+ * Hook to get user data for @user bindings in S-expressions.
274
+ * Returns the user data object compatible with EvaluationContext.user
275
+ */
276
+ declare function useUserForEvaluation(): UserData | undefined;
277
+
278
+ export { ANONYMOUS_USER as A, BUILT_IN_THEMES as B, type ColorMode as C, type DesignTheme as D, OrbitalThemeProvider as O, type ResolvedMode as R, ThemeContext as T, type UIThemeDefinition as U, CurrentPagePathContext as a, CurrentPagePathProvider as b, type CurrentPagePathProviderProps as c, DesignThemeProvider as d, type OrbitalThemeProviderProps as e, ThemeProvider as f, type ThemeProviderProps as g, UserContext as h, type UserContextValue as i, type UserData as j, UserProvider as k, type UserProviderProps as l, useDesignTheme as m, useHasPermission as n, useHasRole as o, useTheme as p, useUser as q, useUserForEvaluation as r, useCurrentPagePath as u };
@@ -39,7 +39,7 @@ var core = require('@almadar/core');
39
39
  var core$1 = require('@dnd-kit/core');
40
40
  var sortable = require('@dnd-kit/sortable');
41
41
  var utilities = require('@dnd-kit/utilities');
42
- var patterns = require('@almadar/patterns');
42
+ var patterns = require('@almadar/core/patterns');
43
43
  var OrbitalServerRuntime = require('@almadar/runtime/OrbitalServerRuntime');
44
44
  var runtime = require('@almadar/runtime');
45
45
 
@@ -12574,8 +12574,12 @@ var init_MiniMap = __esm({
12574
12574
  MiniMap.displayName = "MiniMap";
12575
12575
  }
12576
12576
  });
12577
- function useCamera() {
12578
- const cameraRef = React90.useRef({ x: 0, y: 0, zoom: 1 });
12577
+ function useCamera(initial) {
12578
+ const cameraRef = React90.useRef({
12579
+ x: initial?.x ?? 0,
12580
+ y: initial?.y ?? 0,
12581
+ zoom: initial?.zoom ?? 1
12582
+ });
12579
12583
  const targetCameraRef = React90.useRef(null);
12580
12584
  const isDraggingRef = React90.useRef(false);
12581
12585
  const dragDistanceRef = React90.useRef(0);
@@ -13251,9 +13255,17 @@ function Canvas2D({
13251
13255
  scale = 0.4,
13252
13256
  showMinimap = true,
13253
13257
  followTarget,
13258
+ cameraPos,
13254
13259
  bgColor
13255
13260
  }) {
13261
+ const layerSummaries = drawables?.map((d) => {
13262
+ if (!d || typeof d !== "object") return d;
13263
+ const rec = d;
13264
+ return { type: rec.type, itemsLen: Array.isArray(rec.items) ? rec.items.length : void 0, firstItem: Array.isArray(rec.items) ? rec.items[0] : void 0 };
13265
+ });
13266
+ console.error("[debug:Canvas2D] " + JSON.stringify({ projection, scale, cameraMode: camera, cameraPos, drawablesCount: drawables?.length, layerSummaries }));
13256
13267
  const backgroundImage = normalizeBackdrop(backgroundImageRaw);
13268
+ const instanceId = React90.useMemo(() => Math.random().toString(36).slice(2, 8), []);
13257
13269
  const isFree = projection === "free";
13258
13270
  const squareGrid = projection === "flat" || isFree || projection === "side";
13259
13271
  const layout = projection === "side" ? "free" : projection;
@@ -13335,7 +13347,7 @@ function Canvas2D({
13335
13347
  zoomAtPoint,
13336
13348
  screenToWorld,
13337
13349
  lerpToTarget
13338
- } = useCamera();
13350
+ } = useCamera({ zoom: scale });
13339
13351
  const [atlasVersion, setAtlasVersion] = React90.useState(0);
13340
13352
  const bumpAtlas = React90.useCallback(() => setAtlasVersion((v) => v + 1), []);
13341
13353
  const miniMapTiles = React90.useMemo(() => {
@@ -13381,6 +13393,14 @@ function Canvas2D({
13381
13393
  }
13382
13394
  if (!drawables || drawables.length === 0) return;
13383
13395
  const cam = cameraRef.current;
13396
+ if (cameraPos && dragDistance() === 0) {
13397
+ const p = projector.anchorPoint(cameraPos, "center");
13398
+ cam.x = p.x - viewportSize.width / 2;
13399
+ cam.y = p.y - viewportSize.height / 2;
13400
+ }
13401
+ const containerRect = containerRef.current?.getBoundingClientRect();
13402
+ const canvasRect = canvas.getBoundingClientRect();
13403
+ 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 }));
13384
13404
  const painter = createWebPainter(ctx, bumpAtlas);
13385
13405
  painter.save();
13386
13406
  painter.translate(viewportSize.width / 2, viewportSize.height / 2);
@@ -13651,6 +13671,7 @@ function Canvas({
13651
13671
  keyMap,
13652
13672
  keyUpMap
13653
13673
  }) {
13674
+ console.error("[debug:Canvas] " + JSON.stringify({ mode, drawablesCount: drawables?.length, projection, camera }));
13654
13675
  const zoom = camera?.zoom;
13655
13676
  if (mode === "3d") {
13656
13677
  const props3d = {
@@ -13690,6 +13711,7 @@ function Canvas({
13690
13711
  camera: to2DCamera(camera?.mode),
13691
13712
  ...zoom !== void 0 ? { scale: zoom } : {},
13692
13713
  ...camera?.target !== void 0 ? { followTarget: camera.target } : {},
13714
+ ...camera?.pos !== void 0 ? { cameraPos: camera.pos } : {},
13693
13715
  showMinimap,
13694
13716
  backgroundImage,
13695
13717
  ...backgroundColor !== void 0 ? { bgColor: backgroundColor } : {},
@@ -46201,7 +46223,7 @@ function SlotContentRenderer({
46201
46223
  const childrenConfig = content.props.children;
46202
46224
  const isSingleChild = typeof childrenConfig === "string" || typeof childrenConfig === "object" && childrenConfig !== null && !Array.isArray(childrenConfig) && "type" in childrenConfig;
46203
46225
  const hasChildren = PATTERNS_WITH_CHILDREN.has(content.pattern) || Array.isArray(childrenConfig) && childrenConfig.length > 0 || isSingleChild;
46204
- const isDrawHost = patterns.getPatternDefinition(content.pattern)?.drawHost === true;
46226
+ const isDrawHost = patterns.isDrawHostPattern(content.pattern);
46205
46227
  const myPath = patternPath ?? "root";
46206
46228
  const renderedChildren = hasChildren && !isDrawHost ? renderPatternChildren(childrenConfig, onDismiss, content.id, myPath, content.sourceTrait, {
46207
46229
  slot: content.slot,
@@ -50224,6 +50246,14 @@ function effectsCallOp(effects, ops) {
50224
50246
  }
50225
50247
  return false;
50226
50248
  }
50249
+ function classifySharedTick(tick) {
50250
+ const writes = effectsCallOp(tick.effects, SHARED_ENTITY_WRITE_OPS);
50251
+ const renders = effectsCallOp(tick.effects, SHARED_ENTITY_RENDER_OPS);
50252
+ if (writes && renders) return "both";
50253
+ if (writes) return "writer";
50254
+ if (renders) return "renderer";
50255
+ return "neither";
50256
+ }
50227
50257
  function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
50228
50258
  return (scratch) => {
50229
50259
  const traitName = binding.trait.name;
@@ -50233,7 +50263,7 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
50233
50263
  const writes = [];
50234
50264
  const ctx = evaluator.createMinimalContext(scratchEntity, {}, currentState);
50235
50265
  const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
50236
- const callSiteConfig = binding.config;
50266
+ const callSiteConfig = getBindingConfig(binding);
50237
50267
  if (declaredDefaults || callSiteConfig) {
50238
50268
  ctx.config = { ...declaredDefaults ?? {}, ...callSiteConfig ?? {} };
50239
50269
  }
@@ -50255,7 +50285,25 @@ function createSharedEntityWriter(binding, tick, traitStatesRef, emit) {
50255
50285
  return writes;
50256
50286
  };
50257
50287
  }
50288
+ function getBindingConfig(binding) {
50289
+ const raw = binding.config;
50290
+ const normalized = runtime.normalizeCallSiteConfigToValues(raw);
50291
+ console.log("[debug:getBindingConfig]", binding.trait.name, "raw keys=", raw ? Object.keys(raw) : "undefined", "has tiles=", raw ? "tiles" in raw : false);
50292
+ return normalized;
50293
+ }
50294
+ function evalFieldDefault(value) {
50295
+ if (!Array.isArray(value) || value.length === 0) return value;
50296
+ const head = value[0];
50297
+ const isSExpr = typeof head === "string" && (head.includes("/") || head === "let" || head === "if" || head === "lambda");
50298
+ if (!isSExpr) return value;
50299
+ try {
50300
+ return evaluator.evaluate(value, evaluator.createMinimalContext({}, {}, ""));
50301
+ } catch {
50302
+ return value;
50303
+ }
50304
+ }
50258
50305
  function useTraitStateMachine(traitBindings, uiSlots, options) {
50306
+ console.log("[debug:useTraitStateMachine] start, traitBindings count=", traitBindings.length, "names=", traitBindings.map((b) => b.trait.name).join(","));
50259
50307
  const eventBus = useEventBus();
50260
50308
  const { entities } = providers.useEntitySchema();
50261
50309
  const traitConfigsByName = options?.traitConfigsByName;
@@ -50275,7 +50323,11 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50275
50323
  let defaults;
50276
50324
  for (const field of entityDef.fields) {
50277
50325
  if (field.default !== void 0) {
50278
- (defaults ?? (defaults = {}))[field.name] = field.default;
50326
+ const evaluated = evalFieldDefault(field.default);
50327
+ if (field.name === "tiles") {
50328
+ console.log(`[debug:seed] ${linkedEntityName}.tiles seed type=`, typeof evaluated, Array.isArray(evaluated) ? "len=" + evaluated?.length : "", "head=", Array.isArray(evaluated) && evaluated.length > 0 ? JSON.stringify(evaluated[0]).slice(0, 80) : "n/a");
50329
+ }
50330
+ (defaults ?? (defaults = {}))[field.name] = evaluated;
50279
50331
  }
50280
50332
  }
50281
50333
  group = { storeKey, entityName: linkedEntityName, writerBindings: [], renderBindings: [], defaults };
@@ -50288,7 +50340,10 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50288
50340
  return groups;
50289
50341
  }, [traitBindings, entities, orbitalsByTrait]);
50290
50342
  for (const group of sharedGroups.values()) {
50291
- if (group.defaults) sharedEntityStore.seed(group.storeKey, group.defaults);
50343
+ if (group.defaults) {
50344
+ sharedEntityStore.seed(group.storeKey, group.defaults);
50345
+ console.log("[debug:shared-seed]", group.storeKey, "writers=", group.writerBindings.map((b) => b.trait.name).join(","), "renderers=", group.renderBindings.map((b) => b.trait.name).join(","), "defaults.tiles=", Array.isArray(group.defaults.tiles) ? group.defaults.tiles.length : group.defaults.tiles);
50346
+ }
50292
50347
  }
50293
50348
  const sharedKeyByTraitNameRef = React90.useRef(/* @__PURE__ */ new Map());
50294
50349
  React90.useEffect(() => {
@@ -50298,12 +50353,13 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50298
50353
  for (const binding of group.renderBindings) map.set(binding.trait.name, group.storeKey);
50299
50354
  }
50300
50355
  sharedKeyByTraitNameRef.current = map;
50356
+ console.log("[debug:shared-map]", Array.from(map.entries()).map(([k, v]) => `${k}->${v}`).join(","));
50301
50357
  }, [sharedGroups]);
50302
50358
  const manager = React90.useMemo(() => {
50303
50359
  const traitDefs = traitBindings.map(toTraitDefinition);
50304
50360
  const m = new runtime.StateMachineManager(traitDefs);
50305
50361
  for (const binding of traitBindings) {
50306
- const cfg = binding.config ?? traitConfigsByName?.[binding.trait.name];
50362
+ const cfg = getBindingConfig(binding) ?? traitConfigsByName?.[binding.trait.name];
50307
50363
  if (cfg !== void 0) {
50308
50364
  m.setTraitConfig(binding.trait.name, cfg);
50309
50365
  }
@@ -50486,6 +50542,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50486
50542
  const linkedEntity = binding.linkedEntity || "";
50487
50543
  const entityId = payload?.entityId;
50488
50544
  const sharedKey = sharedKeyByTraitNameRef.current.get(traitName);
50545
+ if (traitName === "Hero" || traitName === "Authority") {
50546
+ console.log(`[debug:executeTransitionEffects] ${traitName} sharedKey=`, sharedKey, "store tiles=", sharedKey ? sharedEntityStore.getSnapshot(sharedKey).tiles?.length : "n/a");
50547
+ }
50489
50548
  let liveEntity;
50490
50549
  if (sharedKey !== void 0) {
50491
50550
  liveEntity = { ...sharedEntityStore.getSnapshot(sharedKey) };
@@ -50509,6 +50568,13 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50509
50568
  eventBus,
50510
50569
  slotSetter: {
50511
50570
  addPattern: (slot, pattern, props) => {
50571
+ if (traitName === "Hero" && slot === "main" && props && typeof props === "object") {
50572
+ const canvasChild = Array.isArray(props.children) ? props.children[0] : null;
50573
+ const grandChildren = canvasChild && typeof canvasChild === "object" ? canvasChild.children : null;
50574
+ const firstLayer = Array.isArray(grandChildren) && grandChildren.length > 0 ? grandChildren[0] : null;
50575
+ const firstLayerItems = firstLayer && typeof firstLayer === "object" ? firstLayer.items : null;
50576
+ console.log(`[debug:render-ui] ${traitName} slot=${slot} canvasChild=`, canvasChild ? canvasChild.type : "none", "firstLayerItems=", Array.isArray(firstLayerItems) ? firstLayerItems.length : firstLayerItems);
50577
+ }
50512
50578
  const existing = pendingSlots.get(slot) || [];
50513
50579
  existing.push({ pattern, props: props || {} });
50514
50580
  pendingSlots.set(slot, existing);
@@ -50540,7 +50606,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50540
50606
  state: previousState
50541
50607
  };
50542
50608
  const sharedDeclared = runtime.collectDeclaredConfigDefaults(binding.trait);
50543
- const sharedCallSite = binding.config;
50609
+ const sharedCallSite = getBindingConfig(binding);
50544
50610
  if (sharedDeclared || sharedCallSite) {
50545
50611
  sharedBindings.config = {
50546
50612
  ...sharedDeclared ?? {},
@@ -50591,13 +50657,16 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50591
50657
  state: previousState
50592
50658
  };
50593
50659
  const declaredDefaults = runtime.collectDeclaredConfigDefaults(binding.trait);
50594
- const callSiteConfig = binding.config;
50660
+ const callSiteConfig = getBindingConfig(binding);
50595
50661
  if (declaredDefaults || callSiteConfig) {
50596
50662
  bindingCtx.config = {
50597
50663
  ...declaredDefaults ?? {},
50598
50664
  ...callSiteConfig ?? {}
50599
50665
  };
50600
50666
  }
50667
+ if (traitName === "Authority" || traitName === "Hero") {
50668
+ console.log(`[debug:executeTransitionEffects] ${traitName} config tiles type=`, typeof bindingCtx.config?.tiles, Array.isArray(bindingCtx.config?.tiles) ? "len=" + bindingCtx.config?.tiles?.length : "", "keys=", bindingCtx.config ? Object.keys(bindingCtx.config) : "none");
50669
+ }
50601
50670
  const effectContext = {
50602
50671
  traitName,
50603
50672
  state: previousState,
@@ -50614,9 +50683,15 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50614
50683
  baseEmit(event, eventPayload, source);
50615
50684
  }
50616
50685
  };
50686
+ if (traitName === "Hero") {
50687
+ console.log(`[debug:executeTransitionEffects] ${traitName} effects count=${effects.length} hasRenderUI=${typeof handlers.renderUI === "function"} effect heads=${effects.map((e) => Array.isArray(e) ? String(e[0]) : "??").join(",")}`);
50688
+ }
50617
50689
  const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
50618
50690
  try {
50619
50691
  await executor.executeAll(effects);
50692
+ if (traitName === "Authority" || traitName === "Hero") {
50693
+ console.log(`[debug:executeTransitionEffects] ${traitName} after executeAll liveEntity.tiles type=`, typeof liveEntity.tiles, Array.isArray(liveEntity.tiles) ? "len=" + liveEntity.tiles?.length : "", "firstTilePos=", Array.isArray(liveEntity.tiles) && liveEntity.tiles.length > 0 ? JSON.stringify(liveEntity.tiles[0]).slice(0, 120) : "n/a");
50694
+ }
50620
50695
  if (sharedKey !== void 0) {
50621
50696
  sharedEntityStore.commit(sharedKey, liveEntity);
50622
50697
  }
@@ -50667,8 +50742,9 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50667
50742
  payload: {},
50668
50743
  state: currentState
50669
50744
  };
50670
- if (binding.config) {
50671
- guardCtx.config = binding.config;
50745
+ const bindingCfg = getBindingConfig(binding);
50746
+ if (bindingCfg) {
50747
+ guardCtx.config = bindingCfg;
50672
50748
  }
50673
50749
  const passed = evaluator.evaluateGuard(
50674
50750
  tick.guard,
@@ -50695,12 +50771,14 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50695
50771
  }, [eventBus]);
50696
50772
  React90.useEffect(() => {
50697
50773
  const scheduler = runtime.createTickScheduler();
50698
- const writerTraitNames = /* @__PURE__ */ new Set();
50774
+ const pureWriterTickKeys = /* @__PURE__ */ new Set();
50699
50775
  for (const group of sharedGroups.values()) {
50700
50776
  const ticksByInterval = /* @__PURE__ */ new Map();
50701
50777
  for (const binding of group.writerBindings) {
50702
- writerTraitNames.add(binding.trait.name);
50703
50778
  for (const tick of binding.trait.ticks ?? []) {
50779
+ const classification = classifySharedTick(tick);
50780
+ if (classification !== "writer") continue;
50781
+ pureWriterTickKeys.add(`${binding.trait.name}::${tick.name}`);
50704
50782
  const intervalKey = String(tick.interval);
50705
50783
  const entries = ticksByInterval.get(intervalKey) ?? [];
50706
50784
  entries.push({ binding, tick });
@@ -50727,8 +50805,11 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
50727
50805
  }
50728
50806
  }
50729
50807
  for (const binding of traitBindings) {
50730
- if (writerTraitNames.has(binding.trait.name)) continue;
50731
50808
  for (const tick of binding.trait.ticks ?? []) {
50809
+ const sharedKey = sharedKeyByTraitNameRef.current.get(binding.trait.name);
50810
+ if (sharedKey !== void 0 && pureWriterTickKeys.has(`${binding.trait.name}::${tick.name}`)) {
50811
+ continue;
50812
+ }
50732
50813
  if (tick.interval === "frame") {
50733
50814
  scheduler.add(0, () => runTickEffects(tick, binding));
50734
50815
  } else if (typeof tick.interval === "number") {