@almadar/std 16.196.0 → 16.198.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 (368) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-tool-call.lolo +2 -2
  2. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +2 -2
  3. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +3 -3
  4. package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +4 -4
  5. package/behaviors/lolo/infra/atoms/std-cascade-on-delete.lolo +5 -5
  6. package/behaviors/lolo/infra/atoms/std-cooldown.lolo +1 -1
  7. package/behaviors/lolo/infra/atoms/std-game-clock.lolo +1 -1
  8. package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +3 -3
  9. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +30 -25
  10. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +2 -2
  11. package/behaviors/lolo/infra/atoms/std-reminder-scheduler.lolo +3 -3
  12. package/behaviors/lolo/ml/atoms/std-data-collector.lolo +3 -3
  13. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +6 -5
  14. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +11 -2
  15. package/behaviors/lolo/ml/atoms/std-ml-exact-check.lolo +8 -8
  16. package/behaviors/lolo/ml/atoms/std-ml-infer.lolo +12 -8
  17. package/behaviors/lolo/ml/atoms/std-ml-label-capture.lolo +6 -6
  18. package/behaviors/lolo/ml/atoms/std-ml-lookup.lolo +7 -7
  19. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +12 -3
  20. package/behaviors/lolo/ml/atoms/std-tokenizer.lolo +2 -2
  21. package/behaviors/lolo/ml/atoms/std-weight-validator.lolo +5 -4
  22. package/behaviors/lolo/ml/organisms/std-escalating-decision.lolo +33 -17
  23. package/behaviors/lolo/ml/organisms/std-knowledge-tracing.lolo +9 -6
  24. package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +61 -1
  25. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +61 -1
  26. package/behaviors/lolo/ui/core/atoms/std-board.lolo +6 -4
  27. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +6 -4
  28. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +2 -0
  29. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +9 -0
  30. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +4 -2
  31. package/behaviors/lolo/ui/core/atoms/std-filter.lolo +5 -0
  32. package/behaviors/lolo/ui/core/atoms/std-gallery.lolo +4 -2
  33. package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +2 -0
  34. package/behaviors/lolo/ui/core/atoms/std-import.lolo +6 -5
  35. package/behaviors/lolo/ui/core/atoms/std-list.lolo +2 -0
  36. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +4 -4
  37. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +10 -10
  38. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +5 -5
  39. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +4 -4
  40. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +1 -1
  41. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +2 -0
  42. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +4 -0
  43. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +3 -3
  44. package/behaviors/lolo/ui/core/atoms/std-tree.lolo +2 -0
  45. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +2 -2
  46. package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +3 -7
  47. package/behaviors/lolo/ui/core/atoms/ui-box.lolo +3 -5
  48. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +2 -4
  49. package/behaviors/lolo/ui/core/atoms/ui-card.lolo +1 -3
  50. package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +1 -3
  51. package/behaviors/lolo/ui/core/atoms/ui-conditional-wrapper.lolo +4 -4
  52. package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +1 -3
  53. package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +2 -4
  54. package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +2 -4
  55. package/behaviors/lolo/ui/core/atoms/ui-input.lolo +34 -8
  56. package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +1 -3
  57. package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +23 -2
  58. package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +23 -2
  59. package/behaviors/lolo/ui/core/atoms/ui-select.lolo +3 -9
  60. package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +2 -4
  61. package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +51 -14
  62. package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +2 -6
  63. package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +1 -3
  64. package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +2 -4
  65. package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +2 -6
  66. package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +8 -1
  67. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +3 -1
  68. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +4 -8
  69. package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +2 -2
  70. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +1 -1
  71. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +1 -1
  72. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +2 -6
  73. package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +1 -1
  74. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +4 -5
  75. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +9 -17
  76. package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +1 -1
  77. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +1 -1
  78. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +1 -1
  79. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +1 -3
  80. package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +1 -1
  81. package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +1 -3
  82. package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +1 -3
  83. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +1 -1
  84. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +57 -6
  85. package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +1 -3
  86. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +4 -8
  87. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +1 -1
  88. package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +1 -3
  89. package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +1 -1
  90. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +6 -6
  91. package/behaviors/lolo/ui/core/molecules/ui-header.lolo +3 -9
  92. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +3 -7
  93. package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +35 -8
  94. package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +1 -3
  95. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +2 -2
  96. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +1 -1
  97. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +2 -6
  98. package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +1 -1
  99. package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +2 -6
  100. package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +21 -2
  101. package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +1 -1
  102. package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +4 -6
  103. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +2 -4
  104. package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +2 -4
  105. package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +3 -1
  106. package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +1 -3
  107. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +2 -1
  108. package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +1 -3
  109. package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +3 -7
  110. package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +1 -3
  111. package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +4 -2
  112. package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +20 -2
  113. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +3 -3
  114. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +7 -5
  115. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +2 -2
  116. package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +6 -3
  117. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +9 -2
  118. package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +1 -3
  119. package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +18 -20
  120. package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +3 -9
  121. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +2 -2
  122. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +11 -5
  123. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +5 -5
  124. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +16 -12
  125. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +16 -12
  126. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +2 -2
  127. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +5 -1
  128. package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +4 -6
  129. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +2 -1
  130. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +3 -9
  131. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +5 -8
  132. package/behaviors/lolo/ui/game/.hand-authored.json +1 -1
  133. package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +1 -0
  134. package/behaviors/lolo/ui/game/atoms/std-mesh-asset-art.lolo +3 -3
  135. package/behaviors/lolo/ui/game/atoms/std-svg-asset-art.lolo +3 -3
  136. package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +15 -2
  137. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +15 -2
  138. package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +2 -4
  139. package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +79 -10
  140. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +2 -6
  141. package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +2 -6
  142. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +4 -2
  143. package/behaviors/lolo/ui/game/atoms/ui-draw-group.lolo +1 -1
  144. package/behaviors/lolo/ui/game/atoms/ui-draw-shape-layer.lolo +13 -5
  145. package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +11 -3
  146. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +4 -3
  147. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +6 -1
  148. package/behaviors/lolo/ui/game/atoms/ui-draw-text-layer.lolo +3 -3
  149. package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +1 -1
  150. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +2 -5
  151. package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +29 -3
  152. package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +1 -1
  153. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +42 -3
  154. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +1 -1
  155. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +1 -1
  156. package/behaviors/lolo/ui/game/templates/ui-game-shell.lolo +2 -2
  157. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +2 -2
  158. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +1 -1
  159. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +65 -3
  160. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +65 -3
  161. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +20 -0
  162. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +7 -0
  163. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +65 -3
  164. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +4 -4
  165. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +4 -4
  166. package/behaviors/registry/infra/atoms/std-approval-gate.orb +7 -7
  167. package/behaviors/registry/infra/atoms/std-audit-capture.orb +3 -3
  168. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +3 -3
  169. package/behaviors/registry/infra/atoms/std-cooldown.orb +1 -2
  170. package/behaviors/registry/infra/atoms/std-game-clock.orb +1 -2
  171. package/behaviors/registry/infra/atoms/std-lifecycle.orb +2 -2
  172. package/behaviors/registry/infra/atoms/std-migration-job.orb +201 -29
  173. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  174. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +2 -2
  175. package/behaviors/registry/ml/atoms/std-data-collector.orb +4 -4
  176. package/behaviors/registry/ml/atoms/std-graph-builder.orb +20 -5
  177. package/behaviors/registry/ml/atoms/std-ml-classify.orb +50 -0
  178. package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +13 -13
  179. package/behaviors/registry/ml/atoms/std-ml-infer.orb +106 -11
  180. package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +6 -6
  181. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +11 -11
  182. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +94 -0
  183. package/behaviors/registry/ml/atoms/std-tokenizer.orb +2 -2
  184. package/behaviors/registry/ml/atoms/std-weight-validator.orb +22 -5
  185. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +263 -12
  186. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +67 -9
  187. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +337 -2
  188. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +337 -2
  189. package/behaviors/registry/ui/core/atoms/std-board.orb +16 -4
  190. package/behaviors/registry/ui/core/atoms/std-browse.orb +16 -1
  191. package/behaviors/registry/ui/core/atoms/std-calendar.orb +10 -0
  192. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +15 -0
  193. package/behaviors/registry/ui/core/atoms/std-event-log.orb +13 -2
  194. package/behaviors/registry/ui/core/atoms/std-filter.orb +19 -0
  195. package/behaviors/registry/ui/core/atoms/std-gallery.orb +11 -0
  196. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +8 -0
  197. package/behaviors/registry/ui/core/atoms/std-import.orb +90 -4
  198. package/behaviors/registry/ui/core/atoms/std-list.orb +9 -0
  199. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +8 -4
  200. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +14 -10
  201. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +20 -12
  202. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +6 -4
  203. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +5 -2
  204. package/behaviors/registry/ui/core/atoms/std-selection.orb +9 -0
  205. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +16 -0
  206. package/behaviors/registry/ui/core/atoms/std-thread.orb +7 -4
  207. package/behaviors/registry/ui/core/atoms/std-tree.orb +9 -0
  208. package/behaviors/registry/ui/core/atoms/std-wizard.orb +4 -2
  209. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +3 -26
  210. package/behaviors/registry/ui/core/atoms/ui-box.orb +9 -18
  211. package/behaviors/registry/ui/core/atoms/ui-button.orb +2 -14
  212. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -12
  213. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -12
  214. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +4 -4
  215. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -0
  216. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -0
  217. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -12
  218. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +2 -14
  219. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +2 -14
  220. package/behaviors/registry/ui/core/atoms/ui-input.orb +78 -28
  221. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -12
  222. package/behaviors/registry/ui/core/atoms/ui-radio.orb +67 -4
  223. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +63 -6
  224. package/behaviors/registry/ui/core/atoms/ui-select.orb +3 -36
  225. package/behaviors/registry/ui/core/atoms/ui-stack.orb +2 -14
  226. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -0
  227. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +140 -45
  228. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +2 -24
  229. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -0
  230. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -12
  231. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +2 -14
  232. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +2 -0
  233. package/behaviors/registry/ui/core/molecules/ui-alert.orb +2 -24
  234. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +3 -2
  235. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +23 -2
  236. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +9 -28
  237. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +4 -4
  238. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +2 -1
  240. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +2 -24
  241. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -4
  242. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +20 -16
  243. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +30 -60
  244. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +2 -0
  245. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -0
  246. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +4 -2
  248. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +4 -0
  249. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -12
  251. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +5 -2
  252. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -12
  253. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -12
  254. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +2 -1
  255. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +185 -18
  256. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -12
  257. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +4 -27
  258. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -12
  260. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +2 -0
  261. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +17 -10
  262. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +2 -0
  263. package/behaviors/registry/ui/core/molecules/ui-header.orb +4 -36
  264. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +3 -25
  265. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -0
  266. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +79 -28
  267. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +2 -12
  268. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -0
  269. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +2 -0
  270. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -0
  271. package/behaviors/registry/ui/core/molecules/ui-menu.orb +2 -2
  272. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-modal.orb +2 -24
  274. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-notification.orb +2 -24
  276. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +61 -6
  277. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +3 -2
  278. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +4 -15
  279. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +3 -13
  280. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +2 -0
  281. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -0
  282. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +2 -0
  283. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -0
  284. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +2 -14
  285. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +27 -4
  286. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -0
  287. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +3 -12
  288. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +4 -0
  289. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -0
  290. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +14 -2
  291. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -12
  292. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +4 -25
  293. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +3 -12
  294. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +28 -6
  295. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +60 -6
  296. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +3 -4
  297. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +37 -9
  298. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +3 -2
  299. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +43 -6
  300. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +8 -6
  301. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +3 -0
  302. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +2 -12
  303. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -0
  304. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +31 -35
  305. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +6 -36
  306. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -0
  307. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +12 -5
  308. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +56 -13
  309. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +15 -8
  310. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +107 -26
  311. package/behaviors/registry/ui/core/organisms/ui-form.orb +107 -26
  312. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +4 -3
  313. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +26 -2
  314. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +7 -18
  315. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -0
  316. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +12 -0
  317. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +3 -36
  318. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +11 -26
  319. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +14 -0
  320. package/behaviors/registry/ui/game/atoms/std-mesh-asset-art.orb +15 -3
  321. package/behaviors/registry/ui/game/atoms/std-svg-asset-art.orb +15 -3
  322. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +103 -2
  323. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +79 -1
  324. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +6 -14
  325. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +336 -32
  326. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +2 -24
  327. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +2 -24
  328. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +2 -0
  329. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +14 -2
  330. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +2 -2
  331. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +78 -8
  332. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +31 -2
  333. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +21 -4
  334. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +14 -2
  335. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +14 -4
  336. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +7 -2
  337. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +3 -20
  338. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +199 -2
  339. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +5 -2
  340. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +247 -0
  341. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +11 -1
  342. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +10 -1
  343. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +2 -2
  344. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +2 -2
  345. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  346. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +2 -0
  347. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -0
  348. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +254 -6
  349. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +254 -6
  350. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +53 -0
  351. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +17 -0
  352. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +254 -6
  353. package/dist/behaviors/exports-reader.js +1456 -293
  354. package/dist/behaviors/factory-signatures.js +5 -1
  355. package/dist/behaviors/functions/index.d.ts +155 -643
  356. package/dist/behaviors/functions/index.js +1456 -293
  357. package/dist/behaviors/index.d.ts +1 -1
  358. package/dist/behaviors/index.js +1458 -296
  359. package/dist/behaviors/query.js +1456 -293
  360. package/dist/behaviors-embeddings.hash.json +3 -3
  361. package/dist/behaviors-embeddings.json +17 -17
  362. package/dist/behaviors-registry.json +75 -37
  363. package/dist/index.d.ts +1 -1
  364. package/dist/index.js +1458 -296
  365. package/dist/knob-embeddings.hash.json +3 -3
  366. package/dist/knob-embeddings.json +1 -1
  367. package/dist/registry/factory-signatures.json +1 -1
  368. package/package.json +2 -2
@@ -8,7 +8,7 @@ orbital TraitSlotOrbital {
8
8
  description : string
9
9
  iconEmoji : string
10
10
  iconUrl : TraitSlotEquippedItemIconUrl
11
- stateMachine : object
11
+ stateMachine : TraitSlotEquippedItemStateMachine
12
12
  }
13
13
  type TraitSlotEquippedItemIconUrl = {
14
14
  url : asset!
@@ -24,6 +24,19 @@ orbital TraitSlotOrbital {
24
24
  name : string
25
25
  thumbnailUrl : string
26
26
  }
27
+ type TraitSlotEquippedItemStateMachine = {
28
+ name : string!
29
+ states : [string]!
30
+ currentState : string!
31
+ transitions : [TraitSlotEquippedItemStateMachineTransitionsItem]!
32
+ description : string
33
+ }
34
+ type TraitSlotEquippedItemStateMachineTransitionsItem = {
35
+ from : string!
36
+ to : string!
37
+ event : string!
38
+ guardHint : string
39
+ }
27
40
  type TraitSlotCategoryColorsValue = {
28
41
  bg : string!
29
42
  border : string!
@@ -55,7 +68,7 @@ orbital TraitSlotOrbital {
55
68
  description : string
56
69
  iconEmoji : string
57
70
  iconUrl : TraitSlotITEMDROPItemIconUrl
58
- stateMachine : object
71
+ stateMachine : TraitSlotITEMDROPItemStateMachine
59
72
  }
60
73
  type TraitSlotITEMDROPItemIconUrl = {
61
74
  url : asset!
@@ -71,6 +84,19 @@ orbital TraitSlotOrbital {
71
84
  name : string
72
85
  thumbnailUrl : string
73
86
  }
87
+ type TraitSlotITEMDROPItemStateMachine = {
88
+ name : string!
89
+ states : [string]!
90
+ currentState : string!
91
+ transitions : [TraitSlotITEMDROPItemStateMachineTransitionsItem]!
92
+ description : string
93
+ }
94
+ type TraitSlotITEMDROPItemStateMachineTransitionsItem = {
95
+ from : string!
96
+ to : string!
97
+ event : string!
98
+ guardHint : string
99
+ }
74
100
  type TraitSlotDRAGSTARTItem = {
75
101
  id : string!
76
102
  name : string!
@@ -78,7 +104,7 @@ orbital TraitSlotOrbital {
78
104
  description : string
79
105
  iconEmoji : string
80
106
  iconUrl : TraitSlotDRAGSTARTItemIconUrl
81
- stateMachine : object
107
+ stateMachine : TraitSlotDRAGSTARTItemStateMachine
82
108
  }
83
109
  type TraitSlotDRAGSTARTItemIconUrl = {
84
110
  url : asset!
@@ -94,6 +120,19 @@ orbital TraitSlotOrbital {
94
120
  name : string
95
121
  thumbnailUrl : string
96
122
  }
123
+ type TraitSlotDRAGSTARTItemStateMachine = {
124
+ name : string!
125
+ states : [string]!
126
+ currentState : string!
127
+ transitions : [TraitSlotDRAGSTARTItemStateMachineTransitionsItem]!
128
+ description : string
129
+ }
130
+ type TraitSlotDRAGSTARTItemStateMachineTransitionsItem = {
131
+ from : string!
132
+ to : string!
133
+ event : string!
134
+ guardHint : string
135
+ }
97
136
 
98
137
  entity TraitSlotItem [runtime] {
99
138
  id : string!
@@ -138,7 +138,7 @@ orbital TacticsBoard2DOrbital {
138
138
  animTicksLeft : number = 0
139
139
  animAttackerId : string = ""
140
140
  animAtkTicksLeft : number = 0
141
- svgAssetArt : json = {}
141
+ svgAssetArt : Map string Map string [node] = {}
142
142
  }
143
143
 
144
144
  trait TacticsAuthority = Tactics.traits.GridTactics -> GameState {
@@ -144,7 +144,7 @@ orbital TacticsBoard3DOrbital {
144
144
  attackTargets : [ValidMove] = []
145
145
  uiPhase : string = "observation"
146
146
  turn : number = 0
147
- meshAssetArt : json = {}
147
+ meshAssetArt : Map string Map string [node] = {}
148
148
  }
149
149
 
150
150
  trait TacticsAuthority = Tactics.traits.GridTactics -> GameState {
@@ -97,9 +97,9 @@ orbital GameShellOrbital {
97
97
  @label "Hud Background Asset"
98
98
  @description "Per-call-site 9-sliced panel override. Chrome normally comes from the active theme (see the theme config knob); most callers leave this unset."
99
99
  @tier "presentation"
100
- fontFamily : string = future
100
+ fontFamily : string = ""
101
101
  @label "Font Family"
102
- @description "Game display-font key (future | future-narrow | pixel | blocks | mini) or a CSS font-family. Scoped override of the theme contract's --font-family-display slot: titles and numerics take this face, body text follows the active theme."
102
+ @description "Game display-font key (pixel | fredoka | future | future-narrow | blocks | mini) or a CSS font-family. Scoped override of the theme contract's --font-family-display slot: titles and numerics take this face, body text follows the active theme. Empty = the active theme's font-family-display token decides."
103
103
  @tier "presentation"
104
104
  theme : string = ""
105
105
  @label "Theme"
@@ -28,8 +28,8 @@ orbital LearnDiagramOrbital {
28
28
  selectedIndex : number = -1
29
29
  captionText : string
30
30
  readoutText : string
31
- captionChildren : [json]
32
- partButtons : [json]
31
+ captionChildren : [node]
32
+ partButtons : [node]
33
33
  }
34
34
 
35
35
  trait LearnDiagramSim -> @rebindable LearnDiagramScene [interaction, instance] {
@@ -66,7 +66,7 @@ orbital LearnStepperOrbital {
66
66
  tallyItems : [LearnStepperTallyItem]
67
67
  visibleThreadNote : string
68
68
  shapes : [LearnStepperShape]
69
- filterButtons : [json]
69
+ filterButtons : [node]
70
70
  }
71
71
 
72
72
  trait LearnStepperSim -> @rebindable LearnStepperScene [interaction, instance] {
@@ -1,6 +1,68 @@
1
1
  app ui-biology-canvas "1.0.0"
2
2
  "BiologyCanvas — UI factory (1:1 with the @almadar/ui biology-canvas pattern)."
3
3
  orbital BiologyCanvasOrbital {
4
+ type BiologyCanvasCamera = {
5
+ pos : BiologyCanvasCameraPos
6
+ target : BiologyCanvasCameraTarget
7
+ zoom : number
8
+ fov : number
9
+ mode : "isometric" | "perspective" | "top-down" | "front" | "follow" | "chase"
10
+ azimuth : number
11
+ elevation : number
12
+ }
13
+ type BiologyCanvasCameraPos = {
14
+ x : number!
15
+ y : number!
16
+ z : number
17
+ }
18
+ type BiologyCanvasCameraTarget = {
19
+ x : number!
20
+ y : number!
21
+ z : number
22
+ }
23
+ type BiologyCanvasLighting = {
24
+ ambient : BiologyCanvasLightingAmbient
25
+ directional : BiologyCanvasLightingDirectional
26
+ hemisphere : BiologyCanvasLightingHemisphere
27
+ points : [BiologyCanvasLightingPointsItem]
28
+ environment : "room" | "none"
29
+ toneMapping : "aces" | "none"
30
+ }
31
+ type BiologyCanvasLightingAmbient = {
32
+ intensity : number
33
+ color : string
34
+ position : [number]
35
+ }
36
+ type BiologyCanvasLightingDirectional = {
37
+ intensity : number
38
+ color : string
39
+ position : [number]
40
+ }
41
+ type BiologyCanvasLightingHemisphere = {
42
+ intensity : number
43
+ color : string
44
+ groundColor : string
45
+ }
46
+ type BiologyCanvasLightingPointsItem = {
47
+ intensity : number
48
+ color : string
49
+ position : [number]!
50
+ distance : number
51
+ decay : number
52
+ }
53
+ type BiologyCanvasPost = {
54
+ bloom : BiologyCanvasPostBloom
55
+ vignette : BiologyCanvasPostVignette
56
+ }
57
+ type BiologyCanvasPostBloom = {
58
+ intensity : number
59
+ threshold : number
60
+ smoothing : number
61
+ }
62
+ type BiologyCanvasPostVignette = {
63
+ offset : number
64
+ darkness : number
65
+ }
4
66
  type BiologyCanvasNodesItem = {
5
67
  id : string
6
68
  x : number!
@@ -275,15 +337,15 @@ orbital BiologyCanvasOrbital {
275
337
  @label "Mode"
276
338
  @description "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host."
277
339
  @tier "presentation"
278
- camera : json = {}
340
+ camera : BiologyCanvasCamera
279
341
  @label "Camera"
280
342
  @description "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target })."
281
343
  @tier "presentation"
282
- lighting : object = {}
344
+ lighting : BiologyCanvasLighting
283
345
  @label "Lighting"
284
346
  @description "3D only: scene light rig as data."
285
347
  @tier "presentation"
286
- post : object = {}
348
+ post : BiologyCanvasPost
287
349
  @label "Post"
288
350
  @description "3D only: post-processing stack (bloom/vignette)."
289
351
  @tier "presentation"
@@ -1,6 +1,68 @@
1
1
  app ui-chemistry-canvas "1.0.0"
2
2
  "ChemistryCanvas — UI factory (1:1 with the @almadar/ui chemistry-canvas pattern)."
3
3
  orbital ChemistryCanvasOrbital {
4
+ type ChemistryCanvasCamera = {
5
+ pos : ChemistryCanvasCameraPos
6
+ target : ChemistryCanvasCameraTarget
7
+ zoom : number
8
+ fov : number
9
+ mode : "isometric" | "perspective" | "top-down" | "front" | "follow" | "chase"
10
+ azimuth : number
11
+ elevation : number
12
+ }
13
+ type ChemistryCanvasCameraPos = {
14
+ x : number!
15
+ y : number!
16
+ z : number
17
+ }
18
+ type ChemistryCanvasCameraTarget = {
19
+ x : number!
20
+ y : number!
21
+ z : number
22
+ }
23
+ type ChemistryCanvasLighting = {
24
+ ambient : ChemistryCanvasLightingAmbient
25
+ directional : ChemistryCanvasLightingDirectional
26
+ hemisphere : ChemistryCanvasLightingHemisphere
27
+ points : [ChemistryCanvasLightingPointsItem]
28
+ environment : "room" | "none"
29
+ toneMapping : "aces" | "none"
30
+ }
31
+ type ChemistryCanvasLightingAmbient = {
32
+ intensity : number
33
+ color : string
34
+ position : [number]
35
+ }
36
+ type ChemistryCanvasLightingDirectional = {
37
+ intensity : number
38
+ color : string
39
+ position : [number]
40
+ }
41
+ type ChemistryCanvasLightingHemisphere = {
42
+ intensity : number
43
+ color : string
44
+ groundColor : string
45
+ }
46
+ type ChemistryCanvasLightingPointsItem = {
47
+ intensity : number
48
+ color : string
49
+ position : [number]!
50
+ distance : number
51
+ decay : number
52
+ }
53
+ type ChemistryCanvasPost = {
54
+ bloom : ChemistryCanvasPostBloom
55
+ vignette : ChemistryCanvasPostVignette
56
+ }
57
+ type ChemistryCanvasPostBloom = {
58
+ intensity : number
59
+ threshold : number
60
+ smoothing : number
61
+ }
62
+ type ChemistryCanvasPostVignette = {
63
+ offset : number
64
+ darkness : number
65
+ }
4
66
  type ChemistryCanvasAtomsItem = {
5
67
  id : string
6
68
  x : number!
@@ -271,15 +333,15 @@ orbital ChemistryCanvasOrbital {
271
333
  @label "Mode"
272
334
  @description "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host."
273
335
  @tier "presentation"
274
- camera : json = {}
336
+ camera : ChemistryCanvasCamera
275
337
  @label "Camera"
276
338
  @description "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target })."
277
339
  @tier "presentation"
278
- lighting : object = {}
340
+ lighting : ChemistryCanvasLighting
279
341
  @label "Lighting"
280
342
  @description "3D only: scene light rig as data."
281
343
  @tier "presentation"
282
- post : object = {}
344
+ post : ChemistryCanvasPost
283
345
  @label "Post"
284
346
  @description "3D only: post-processing stack (bloom/vignette)."
285
347
  @tier "presentation"
@@ -37,6 +37,13 @@ orbital LearningCanvasOrbital {
37
37
  x : number!
38
38
  y : number!
39
39
  }
40
+ type LearningCanvasProjector = {
41
+ tileWidth : number!
42
+ floorHeight : number!
43
+ diamondTopY : number!
44
+ squareGrid : boolean!
45
+ worldPixelDirect : boolean!
46
+ }
40
47
  type LearningCanvasReadoutsItem = {
41
48
  label : string!
42
49
  value : string!
@@ -95,6 +102,8 @@ orbital LearningCanvasOrbital {
95
102
  height: @config.height
96
103
  backgroundColor: @config.backgroundColor
97
104
  shapes: @config.shapes
105
+ drawables: @config.drawables
106
+ projector: @config.projector
98
107
  readouts: @config.readouts
99
108
  traces: @config.traces
100
109
  interactive: @config.interactive
@@ -112,6 +121,8 @@ orbital LearningCanvasOrbital {
112
121
  height: @config.height
113
122
  backgroundColor: @config.backgroundColor
114
123
  shapes: @payload.shapes
124
+ drawables: @payload.drawables
125
+ projector: @config.projector
115
126
  readouts: @payload.readouts
116
127
  traces: @payload.traces
117
128
  interactive: @config.interactive
@@ -140,6 +151,7 @@ orbital LearningCanvasOrbital {
140
151
  listens {
141
152
  UPDATE {
142
153
  shapes : [LearningCanvasShapesItem]
154
+ drawables : [node]
143
155
  readouts : [LearningCanvasReadoutsItem]
144
156
  traces : [LearningCanvasTracesItem]
145
157
  }
@@ -169,6 +181,14 @@ orbital LearningCanvasOrbital {
169
181
  @label "Shapes"
170
182
  @description "Declarative shapes to draw."
171
183
  @tier "presentation"
184
+ drawables : [node] = []
185
+ @label "Drawables"
186
+ @description "Neutral game-canvas drawables (e.g. `draw-sprite`, `draw-fx-layer`) painted in world coordinates via the supplied `projector`. This lets the learning canvas reuse the game drawable vocabulary without reimplementing sprites/FX."
187
+ @tier "presentation"
188
+ projector : LearningCanvasProjector
189
+ @label "Projector"
190
+ @description "World-to-pixel projector for `drawables`. When absent, `drawables` are ignored."
191
+ @tier "presentation"
172
192
  readouts : [LearningCanvasReadoutsItem] = []
173
193
  @label "Readouts"
174
194
  @description "Top-right status chip row (live measurements, scores, counters)."
@@ -182,6 +182,7 @@ orbital MathCanvasOrbital {
182
182
  angles: @config.angles
183
183
  hops: @config.hops
184
184
  shapes: @config.shapes
185
+ drawables: @config.drawables
185
186
  readouts: @config.readouts
186
187
  traces: @config.traces
187
188
  interactive: @config.interactive
@@ -220,6 +221,7 @@ orbital MathCanvasOrbital {
220
221
  angles: @payload.angles
221
222
  hops: @payload.hops
222
223
  shapes: @payload.shapes
224
+ drawables: @payload.drawables
223
225
  readouts: @payload.readouts
224
226
  traces: @payload.traces
225
227
  interactive: @config.interactive
@@ -252,6 +254,7 @@ orbital MathCanvasOrbital {
252
254
  angles : [MathCanvasAnglesItem]
253
255
  hops : [MathCanvasHopsItem]
254
256
  shapes : [MathCanvasShapesItem]
257
+ drawables : [node]
255
258
  readouts : [MathCanvasReadoutsItem]
256
259
  traces : [MathCanvasTracesItem]
257
260
  }
@@ -361,6 +364,10 @@ orbital MathCanvasOrbital {
361
364
  @label "Shapes"
362
365
  @description "Extra declarative shapes in canvas pixel coordinates."
363
366
  @tier "presentation"
367
+ drawables : [node] = []
368
+ @label "Drawables"
369
+ @description "Game-canvas drawables painted in math world coordinates (e.g. `draw-sprite` for a character sprite on the graph). The canvas maps their `ScenePos` through the same x/y world→pixel transform used for curves/points."
370
+ @tier "presentation"
364
371
  readouts : [MathCanvasReadoutsItem] = []
365
372
  @label "Readouts"
366
373
  @description "Top-right status chips, forwarded verbatim to LearningCanvas."
@@ -1,6 +1,68 @@
1
1
  app ui-physics-canvas "1.0.0"
2
2
  "PhysicsCanvas — UI factory (1:1 with the @almadar/ui physics-canvas pattern)."
3
3
  orbital PhysicsCanvasOrbital {
4
+ type PhysicsCanvasCamera = {
5
+ pos : PhysicsCanvasCameraPos
6
+ target : PhysicsCanvasCameraTarget
7
+ zoom : number
8
+ fov : number
9
+ mode : "isometric" | "perspective" | "top-down" | "front" | "follow" | "chase"
10
+ azimuth : number
11
+ elevation : number
12
+ }
13
+ type PhysicsCanvasCameraPos = {
14
+ x : number!
15
+ y : number!
16
+ z : number
17
+ }
18
+ type PhysicsCanvasCameraTarget = {
19
+ x : number!
20
+ y : number!
21
+ z : number
22
+ }
23
+ type PhysicsCanvasLighting = {
24
+ ambient : PhysicsCanvasLightingAmbient
25
+ directional : PhysicsCanvasLightingDirectional
26
+ hemisphere : PhysicsCanvasLightingHemisphere
27
+ points : [PhysicsCanvasLightingPointsItem]
28
+ environment : "room" | "none"
29
+ toneMapping : "aces" | "none"
30
+ }
31
+ type PhysicsCanvasLightingAmbient = {
32
+ intensity : number
33
+ color : string
34
+ position : [number]
35
+ }
36
+ type PhysicsCanvasLightingDirectional = {
37
+ intensity : number
38
+ color : string
39
+ position : [number]
40
+ }
41
+ type PhysicsCanvasLightingHemisphere = {
42
+ intensity : number
43
+ color : string
44
+ groundColor : string
45
+ }
46
+ type PhysicsCanvasLightingPointsItem = {
47
+ intensity : number
48
+ color : string
49
+ position : [number]!
50
+ distance : number
51
+ decay : number
52
+ }
53
+ type PhysicsCanvasPost = {
54
+ bloom : PhysicsCanvasPostBloom
55
+ vignette : PhysicsCanvasPostVignette
56
+ }
57
+ type PhysicsCanvasPostBloom = {
58
+ intensity : number
59
+ threshold : number
60
+ smoothing : number
61
+ }
62
+ type PhysicsCanvasPostVignette = {
63
+ offset : number
64
+ darkness : number
65
+ }
4
66
  type PhysicsCanvasBodiesItem = {
5
67
  id : string
6
68
  x : number!
@@ -326,15 +388,15 @@ orbital PhysicsCanvasOrbital {
326
388
  @label "Mode"
327
389
  @description "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host."
328
390
  @tier "presentation"
329
- camera : json = {}
391
+ camera : PhysicsCanvasCamera
330
392
  @label "Camera"
331
393
  @description "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target })."
332
394
  @tier "presentation"
333
- lighting : object = {}
395
+ lighting : PhysicsCanvasLighting
334
396
  @label "Lighting"
335
397
  @description "3D only: scene light rig as data."
336
398
  @tier "presentation"
337
- post : object = {}
399
+ post : PhysicsCanvasPost
338
400
  @label "Post"
339
401
  @description "3D only: post-processing stack (bloom/vignette)."
340
402
  @tier "presentation"
@@ -143,7 +143,7 @@
143
143
  },
144
144
  "toolCalls": {
145
145
  "items": {
146
- "type": "object"
146
+ "type": "opaque"
147
147
  },
148
148
  "name": "toolCalls",
149
149
  "required": false,
@@ -172,7 +172,7 @@
172
172
  "schema": {
173
173
  "name": "schema",
174
174
  "required": false,
175
- "type": "object"
175
+ "type": "opaque"
176
176
  }
177
177
  },
178
178
  "type": "object"
@@ -269,7 +269,7 @@
269
269
  },
270
270
  {
271
271
  "name": "toolCalls",
272
- "type": "[object]"
272
+ "type": "[opaque]"
273
273
  },
274
274
  {
275
275
  "name": "toolCallId",
@@ -294,7 +294,7 @@
294
294
  },
295
295
  {
296
296
  "name": "schema",
297
- "type": "object"
297
+ "type": "opaque"
298
298
  }
299
299
  ],
300
300
  "required": true,
@@ -179,7 +179,7 @@
179
179
  },
180
180
  "toolCalls": {
181
181
  "items": {
182
- "type": "object"
182
+ "type": "opaque"
183
183
  },
184
184
  "name": "toolCalls",
185
185
  "required": false,
@@ -208,7 +208,7 @@
208
208
  "schema": {
209
209
  "name": "schema",
210
210
  "required": false,
211
- "type": "object"
211
+ "type": "opaque"
212
212
  }
213
213
  },
214
214
  "type": "object"
@@ -338,7 +338,7 @@
338
338
  },
339
339
  {
340
340
  "name": "toolCalls",
341
- "type": "[object]"
341
+ "type": "[opaque]"
342
342
  },
343
343
  {
344
344
  "name": "toolCallId",
@@ -363,7 +363,7 @@
363
363
  },
364
364
  {
365
365
  "name": "schema",
366
- "type": "object"
366
+ "type": "opaque"
367
367
  }
368
368
  ],
369
369
  "required": true,
@@ -354,7 +354,7 @@
354
354
  "description": "The held data of the gated action, replayed by the downstream listener when the request is granted.",
355
355
  "name": "payload",
356
356
  "synonyms": "request data, held payload, pending data, gated data",
357
- "type": "object"
357
+ "type": "opaque"
358
358
  }
359
359
  ],
360
360
  "id": "ent_01KXG04EYQFWN6TM97JNWHHSF4",
@@ -698,7 +698,7 @@
698
698
  },
699
699
  {
700
700
  "name": "payload",
701
- "type": "object"
701
+ "type": "opaque"
702
702
  }
703
703
  ],
704
704
  "type": "object"
@@ -771,7 +771,7 @@
771
771
  },
772
772
  {
773
773
  "name": "payload",
774
- "type": "object"
774
+ "type": "opaque"
775
775
  }
776
776
  ],
777
777
  "type": "object"
@@ -852,7 +852,7 @@
852
852
  },
853
853
  {
854
854
  "name": "payload",
855
- "type": "object"
855
+ "type": "opaque"
856
856
  }
857
857
  ],
858
858
  "scope": "external",
@@ -1110,7 +1110,7 @@
1110
1110
  },
1111
1111
  {
1112
1112
  "name": "payload",
1113
- "type": "object"
1113
+ "type": "opaque"
1114
1114
  }
1115
1115
  ],
1116
1116
  "type": "object"
@@ -1184,7 +1184,7 @@
1184
1184
  },
1185
1185
  {
1186
1186
  "name": "payload",
1187
- "type": "object"
1187
+ "type": "opaque"
1188
1188
  }
1189
1189
  ],
1190
1190
  "type": "object"
@@ -1293,7 +1293,7 @@
1293
1293
  },
1294
1294
  {
1295
1295
  "name": "payload",
1296
- "type": "object"
1296
+ "type": "opaque"
1297
1297
  }
1298
1298
  ],
1299
1299
  "synonyms": "approved, authorized, confirmed, validated",
@@ -99,14 +99,14 @@
99
99
  "description": "The state of the entity prior to the modification.",
100
100
  "name": "before",
101
101
  "synonyms": "previous, original, old value",
102
- "type": "object"
102
+ "type": "opaque"
103
103
  },
104
104
  {
105
105
  "default": {},
106
106
  "description": "The state of the entity after a modification.",
107
107
  "name": "after",
108
108
  "synonyms": "new, updated, post, subsequent",
109
- "type": "object"
109
+ "type": "opaque"
110
110
  },
111
111
  {
112
112
  "default": 0.0,
@@ -254,7 +254,7 @@
254
254
  "payloadSchema": [
255
255
  {
256
256
  "name": "data",
257
- "type": "object"
257
+ "type": "@entity(captureEntity)"
258
258
  }
259
259
  ]
260
260
  },
@@ -226,7 +226,7 @@
226
226
  "payloadSchema": [
227
227
  {
228
228
  "name": "data",
229
- "type": "[object]"
229
+ "type": "[@entity(dependentEntity)]"
230
230
  }
231
231
  ]
232
232
  },
@@ -277,7 +277,7 @@
277
277
  "payloadSchema": [
278
278
  {
279
279
  "name": "data",
280
- "type": "object"
280
+ "type": "@entity(parentEntity)"
281
281
  }
282
282
  ]
283
283
  },
@@ -288,7 +288,7 @@
288
288
  "payloadSchema": [
289
289
  {
290
290
  "name": "data",
291
- "type": "[object]"
291
+ "type": "[@entity(dependentEntity)]"
292
292
  }
293
293
  ]
294
294
  },