@almadar/std 16.207.0 → 16.209.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 (259) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-tool-call.lolo +7 -2
  2. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +7 -2
  3. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +3 -5
  4. package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +2 -2
  5. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +15 -14
  6. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +2 -2
  7. package/behaviors/lolo/ml/atoms/std-data-collector.lolo +3 -3
  8. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +1 -1
  9. package/behaviors/lolo/ml/atoms/std-ml-exact-check.lolo +3 -3
  10. package/behaviors/lolo/ml/atoms/std-ml-infer.lolo +5 -5
  11. package/behaviors/lolo/ml/atoms/std-ml-label-capture.lolo +6 -6
  12. package/behaviors/lolo/ml/atoms/std-ml-lookup.lolo +5 -5
  13. package/behaviors/lolo/ml/atoms/std-tokenizer.lolo +2 -2
  14. package/behaviors/lolo/ml/atoms/std-weight-validator.lolo +3 -3
  15. package/behaviors/lolo/ml/organisms/std-escalating-decision.lolo +7 -3
  16. package/behaviors/lolo/ml/organisms/std-knowledge-tracing.lolo +3 -3
  17. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
  18. package/behaviors/lolo/ui/core/atoms/std-import.lolo +2 -1
  19. package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +3 -0
  20. package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +3 -0
  21. package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +1 -1
  22. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -1
  23. package/behaviors/lolo/ui/core/atoms/ui-center.lolo +1 -1
  24. package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +2 -25
  25. package/behaviors/lolo/ui/core/atoms/ui-input.lolo +2 -35
  26. package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +7 -1
  27. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +1 -1
  28. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +7 -7
  29. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +1 -1
  30. package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +3 -3
  31. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +4 -4
  32. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +1 -1
  33. package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +2 -36
  34. package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +1 -1
  35. package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +1 -1
  36. package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +4 -4
  37. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +2 -2
  38. package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +11 -1
  39. package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +1 -1
  40. package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +1 -1
  41. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +37 -8
  42. package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +1 -1
  43. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -1
  44. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +1 -1
  45. package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +30 -7
  46. package/behaviors/lolo/ui/game/atoms/std-mesh-asset-art.lolo +2 -2
  47. package/behaviors/lolo/ui/game/atoms/std-svg-asset-art.lolo +2 -2
  48. package/behaviors/lolo/ui/game/atoms/ui-draw-shape-layer.lolo +2 -1
  49. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +2 -1
  50. package/behaviors/lolo/ui/game/atoms/ui-draw-text-layer.lolo +2 -1
  51. package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +74 -0
  52. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +1 -1
  53. package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +1 -1
  54. package/behaviors/lolo/ui/marketing/atoms/ui-animated-counter.lolo +1 -1
  55. package/behaviors/lolo/ui/marketing/atoms/ui-animated-graphic.lolo +2 -2
  56. package/behaviors/registry/agent/atoms/std-agent-memory.orb +92 -4
  57. package/behaviors/registry/agent/atoms/std-agent-planner.orb +46 -2
  58. package/behaviors/registry/agent/atoms/std-agent-session.orb +72 -4
  59. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +161 -6
  60. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +161 -6
  61. package/behaviors/registry/infra/atoms/std-approval-gate.orb +135 -10
  62. package/behaviors/registry/infra/atoms/std-audit-capture.orb +8 -2
  63. package/behaviors/registry/infra/atoms/std-cache-aside.orb +69 -2
  64. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +60 -3
  65. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +72 -2
  66. package/behaviors/registry/infra/atoms/std-cross-reference.orb +32 -2
  67. package/behaviors/registry/infra/atoms/std-data-erasure.orb +168 -4
  68. package/behaviors/registry/infra/atoms/std-migration-job.orb +181 -26
  69. package/behaviors/registry/infra/atoms/std-mod-queue.orb +102 -2
  70. package/behaviors/registry/infra/atoms/std-notification-center.orb +36 -1
  71. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +69 -4
  72. package/behaviors/registry/infra/atoms/std-row-access-control.orb +16 -1
  73. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +2 -0
  74. package/behaviors/registry/ml/atoms/std-data-collector.orb +7 -4
  75. package/behaviors/registry/ml/atoms/std-graph-builder.orb +29 -3
  76. package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +10 -4
  77. package/behaviors/registry/ml/atoms/std-ml-infer.orb +12 -6
  78. package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +15 -6
  79. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +17 -7
  80. package/behaviors/registry/ml/atoms/std-tokenizer.orb +5 -2
  81. package/behaviors/registry/ml/atoms/std-weight-validator.orb +44 -6
  82. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +31 -4
  83. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +38 -3
  84. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +18 -2
  85. package/behaviors/registry/ui/core/atoms/std-app-search.orb +34 -2
  86. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +104 -2
  87. package/behaviors/registry/ui/core/atoms/std-board.orb +16 -1
  88. package/behaviors/registry/ui/core/atoms/std-browse.orb +58 -2
  89. package/behaviors/registry/ui/core/atoms/std-calendar.orb +92 -2
  90. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +57 -2
  91. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +112 -2
  92. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +96 -2
  93. package/behaviors/registry/ui/core/atoms/std-event-log.orb +16 -1
  94. package/behaviors/registry/ui/core/atoms/std-file-store.orb +100 -3
  95. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +96 -2
  96. package/behaviors/registry/ui/core/atoms/std-gallery.orb +62 -2
  97. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +144 -4
  98. package/behaviors/registry/ui/core/atoms/std-import.orb +119 -4
  99. package/behaviors/registry/ui/core/atoms/std-list.orb +62 -2
  100. package/behaviors/registry/ui/core/atoms/std-modal.orb +58 -2
  101. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +16 -1
  102. package/behaviors/registry/ui/core/atoms/std-pagination.orb +34 -2
  103. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +324 -13
  104. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +111 -2
  105. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +16 -1
  106. package/behaviors/registry/ui/core/atoms/std-related.orb +26 -2
  107. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +86 -2
  108. package/behaviors/registry/ui/core/atoms/std-selection.orb +52 -2
  109. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +76 -2
  110. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +16 -1
  111. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +254 -6
  112. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +70 -2
  113. package/behaviors/registry/ui/core/atoms/std-thread.orb +108 -2
  114. package/behaviors/registry/ui/core/atoms/std-tree.orb +52 -2
  115. package/behaviors/registry/ui/core/atoms/std-version-history.orb +212 -4
  116. package/behaviors/registry/ui/core/atoms/std-vote.orb +54 -2
  117. package/behaviors/registry/ui/core/atoms/std-wizard.orb +16 -1
  118. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +27 -0
  119. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +27 -0
  120. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +3 -70
  124. package/behaviors/registry/ui/core/atoms/ui-input.orb +3 -83
  125. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +58 -2
  126. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +50 -2
  127. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +48 -4
  128. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  129. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +16 -19
  130. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +18 -2
  131. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +18 -2
  132. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +18 -2
  133. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +2 -1
  134. package/behaviors/registry/ui/core/molecules/ui-flex.orb +3 -3
  135. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +7 -10
  136. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +2 -2
  137. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +3 -84
  138. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  139. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  140. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +9 -27
  141. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +2 -2
  142. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +82 -2
  143. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +208 -4
  144. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +2 -1
  145. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +18 -2
  146. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  147. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +125 -19
  148. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +18 -2
  149. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +48 -2
  150. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  151. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +20 -4
  152. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +18 -2
  153. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +18 -2
  154. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +20 -4
  155. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +18 -2
  156. package/behaviors/registry/ui/core/organisms/ui-form.orb +18 -2
  157. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +18 -2
  158. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +18 -2
  159. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +18 -2
  160. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +301 -21
  161. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +18 -2
  162. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +66 -2
  163. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +18 -2
  164. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +72 -2
  165. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +72 -2
  166. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +28 -2
  167. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +72 -2
  168. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +152 -2
  169. package/behaviors/registry/ui/game/atoms/std-gather.orb +72 -2
  170. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +72 -2
  171. package/behaviors/registry/ui/game/atoms/std-mesh-asset-art.orb +9 -3
  172. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +72 -2
  173. package/behaviors/registry/ui/game/atoms/std-patience.orb +72 -2
  174. package/behaviors/registry/ui/game/atoms/std-svg-asset-art.orb +9 -3
  175. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +11 -0
  176. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +11 -0
  177. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +11 -0
  178. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1028 -112
  179. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +3 -3
  180. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  181. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +152 -2
  182. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +112 -2
  183. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +86 -4
  184. package/behaviors/registry/ui/marketing/atoms/ui-animated-counter.orb +1 -1
  185. package/behaviors/registry/ui/marketing/atoms/ui-animated-graphic.orb +2 -2
  186. package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +18 -2
  187. package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +18 -2
  188. package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +18 -2
  189. package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +66 -2
  190. package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +58 -2
  191. package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +98 -2
  192. package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +82 -2
  193. package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +66 -2
  194. package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +34 -2
  195. package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +50 -2
  196. package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +58 -2
  197. package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +66 -2
  198. package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +50 -2
  199. package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +106 -2
  200. package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +66 -2
  201. package/canonical-operators.json +0 -40
  202. package/dist/behaviors/exports-reader.js +8025 -869
  203. package/dist/behaviors/functions/index.d.ts +190 -184
  204. package/dist/behaviors/functions/index.js +8025 -869
  205. package/dist/behaviors/index.d.ts +1 -1
  206. package/dist/behaviors/index.js +8025 -869
  207. package/dist/behaviors/query.js +8025 -869
  208. package/dist/behaviors-embeddings.hash.json +3 -3
  209. package/dist/behaviors-embeddings.json +9 -9
  210. package/dist/behaviors-registry.json +910 -229
  211. package/dist/index.d.ts +3 -3
  212. package/dist/index.js +8025 -891
  213. package/dist/knob-embeddings.hash.json +3 -3
  214. package/dist/knob-embeddings.json +1 -1
  215. package/dist/modules/anim.d.ts +1 -1
  216. package/dist/modules/array.d.ts +1 -1
  217. package/dist/modules/array.js +0 -11
  218. package/dist/modules/async.d.ts +1 -1
  219. package/dist/modules/behavior.d.ts +1 -1
  220. package/dist/modules/browser.d.ts +1 -1
  221. package/dist/modules/composition.d.ts +1 -1
  222. package/dist/modules/contract.d.ts +1 -1
  223. package/dist/modules/core.d.ts +1 -1
  224. package/dist/modules/data.d.ts +1 -1
  225. package/dist/modules/ease.d.ts +1 -1
  226. package/dist/modules/format.d.ts +1 -1
  227. package/dist/modules/geo.d.ts +1 -1
  228. package/dist/modules/graph.d.ts +1 -1
  229. package/dist/modules/grid.d.ts +1 -1
  230. package/dist/modules/index.d.ts +1 -1
  231. package/dist/modules/index.js +0 -22
  232. package/dist/modules/integration.d.ts +1 -1
  233. package/dist/modules/llm.d.ts +1 -1
  234. package/dist/modules/math.d.ts +1 -1
  235. package/dist/modules/memory.d.ts +1 -1
  236. package/dist/modules/nn.d.ts +1 -1
  237. package/dist/modules/noise.d.ts +1 -1
  238. package/dist/modules/object.d.ts +1 -1
  239. package/dist/modules/object.js +0 -11
  240. package/dist/modules/os.d.ts +1 -1
  241. package/dist/modules/path.d.ts +1 -1
  242. package/dist/modules/prob.d.ts +1 -1
  243. package/dist/modules/session.d.ts +1 -1
  244. package/dist/modules/str.d.ts +1 -1
  245. package/dist/modules/tensor.d.ts +1 -1
  246. package/dist/modules/time.d.ts +1 -1
  247. package/dist/modules/trace.d.ts +1 -1
  248. package/dist/modules/train.d.ts +1 -1
  249. package/dist/modules/validate.d.ts +1 -1
  250. package/dist/modules/vector.d.ts +1 -1
  251. package/dist/modules/workspace.d.ts +1 -1
  252. package/dist/registry/factory-signatures.json +1 -1
  253. package/dist/registry.d.ts +1 -1
  254. package/dist/registry.js +0 -22
  255. package/dist/{types-BXWzEjFm.d.ts → types-C-Yerb4-.d.ts} +1 -1
  256. package/i18n/ar.json +433 -0
  257. package/i18n/en.json +433 -0
  258. package/i18n/sl.json +433 -0
  259. package/package.json +21 -8
@@ -8,7 +8,6 @@ orbital InputOrbital {
8
8
 
9
9
  entity InputItem [runtime] {
10
10
  id : string!
11
- value : string
12
11
  }
13
12
 
14
13
  trait InputRender -> @rebindable InputItem [interaction, instance] {
@@ -16,33 +15,10 @@ orbital InputOrbital {
16
15
 
17
16
  state idle {
18
17
  INIT -> idle
19
- (set @entity.value @config.value)
20
18
  (render-ui main {
21
19
  className: @config.className
22
20
  placeholder: @config.placeholder
23
- value: @entity.value
24
- disabled: @config.disabled
25
- action: @config.action
26
- inputType: @config.inputType
27
- label: @config.label
28
- helperText: @config.helperText
29
- error: @config.error
30
- leftIcon: @config.leftIcon
31
- rightIcon: @config.rightIcon
32
- icon: @config.icon
33
- clearable: @config.clearable
34
- onClear: @config.onClear
35
- options: @config.options
36
- rows: @config.rows
37
- onChange: @config.onChange
38
- type: input
39
- })
40
- ACTION -> idle
41
- (set @entity.value ?value)
42
- (render-ui main {
43
- className: @config.className
44
- placeholder: @config.placeholder
45
- value: @entity.value
21
+ value: @config.value
46
22
  disabled: @config.disabled
47
23
  action: @config.action
48
24
  inputType: @config.inputType
@@ -78,15 +54,6 @@ orbital InputOrbital {
78
54
  @tier "essential"
79
55
  }
80
56
 
81
- listens {
82
- ACTION {
83
- value : match @config.inputType {
84
- "number" -> number
85
- _ -> string
86
- }!
87
- }
88
- }
89
-
90
57
  config {
91
58
  className : string
92
59
  @label "Class Name"
@@ -96,7 +63,7 @@ orbital InputOrbital {
96
63
  @label "Placeholder"
97
64
  @description "Placeholder text"
98
65
  @tier "presentation"
99
- value : string
66
+ value : scalar
100
67
  @label "Value"
101
68
  @description "Current value"
102
69
  @tier "presentation"
@@ -1,6 +1,12 @@
1
1
  app ui-carousel "1.0.0"
2
2
  "Carousel — UI factory (1:1 with the @almadar/ui carousel pattern)."
3
3
  orbital CarouselOrbital {
4
+ type CarouselItemsItem = {
5
+ id : string
6
+ title : string
7
+ image : asset
8
+ }
9
+
4
10
  entity CarouselItem [runtime] {
5
11
  id : string!
6
12
  }
@@ -33,7 +39,7 @@ orbital CarouselOrbital {
33
39
  }
34
40
 
35
41
  config {
36
- items : [opaque] = []
42
+ items : [CarouselItemsItem] = [{ id: "Id", title: "Title", image: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png" }, { id: "Id 2", title: "Title 2", image: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png" }]
37
43
  @label "Items"
38
44
  @description "Array of items to display as slides"
39
45
  @tier "presentation"
@@ -385,7 +385,7 @@ orbital CodeBlockOrbital {
385
385
  @label "Show Language Badge"
386
386
  @description "Show the language badge"
387
387
  @tier "presentation"
388
- maxHeight : string = "60vh"
388
+ maxHeight : scalar = "60vh"
389
389
  @label "Max Height"
390
390
  @description "Maximum height before scrolling"
391
391
  @tier "presentation"
@@ -9,9 +9,9 @@ orbital CommandPaletteOrbital {
9
9
  keywords : [string]
10
10
  group : string
11
11
  disabled : boolean
12
- event : string
13
- action : string
14
- actionPayload : Map string scalar
12
+ event : event
13
+ action : event
14
+ actionPayload : @payload action
15
15
  }
16
16
  type CommandPaletteSELECTCommand = {
17
17
  id : string!
@@ -21,9 +21,9 @@ orbital CommandPaletteOrbital {
21
21
  keywords : [string]
22
22
  group : string
23
23
  disabled : boolean
24
- event : string
25
- action : string
26
- actionPayload : Map string scalar
24
+ event : event
25
+ action : event
26
+ actionPayload : @payload action
27
27
  }
28
28
 
29
29
  entity CommandPaletteItem [runtime] {
@@ -89,7 +89,7 @@ orbital CommandPaletteOrbital {
89
89
  @label "On Open Change"
90
90
  @description "Called to open/close the overlay (Escape, overlay click, or a selection)"
91
91
  @tier "presentation"
92
- commands : [CommandPaletteCommandsItem] = [{ id: "Id", label: "Label", icon: "circle", shortcut: "Shortcut", keywords: ["Item", "Item 2"], group: "Group", disabled: false, action: "Action" }, { id: "Id 2", label: "Label 2", icon: "circle", shortcut: "Shortcut 2", keywords: ["Item", "Item 2"], group: "Group 2", disabled: true, action: "Action 2" }]
92
+ commands : [CommandPaletteCommandsItem] = [{ id: "Id", label: "Label", icon: "circle", shortcut: "Shortcut", keywords: ["Item", "Item 2"], group: "Group", disabled: false, action: "INIT" }, { id: "Id 2", label: "Label 2", icon: "circle", shortcut: "Shortcut 2", keywords: ["Item", "Item 2"], group: "Group 2", disabled: true, action: "INIT" }]
93
93
  @label "Commands"
94
94
  @description "Commands listed in the palette, filtered as the user types"
95
95
  @tier "presentation"
@@ -74,7 +74,7 @@ orbital DocumentViewerOrbital {
74
74
  @label "Total Pages"
75
75
  @description "Total pages"
76
76
  @tier "presentation"
77
- height : string
77
+ height : scalar = 600
78
78
  @label "Height"
79
79
  @description "Viewer height"
80
80
  @tier "presentation"
@@ -51,15 +51,15 @@ orbital FlexOrbital {
51
51
  @label "Inline"
52
52
  @description "Inline flex"
53
53
  @tier "presentation"
54
- grow : number
54
+ grow : scalar
55
55
  @label "Grow"
56
56
  @description "Flex grow"
57
57
  @tier "presentation"
58
- shrink : number
58
+ shrink : scalar
59
59
  @label "Shrink"
60
60
  @description "Flex shrink"
61
61
  @tier "presentation"
62
- basis : string
62
+ basis : scalar
63
63
  @label "Basis"
64
64
  @description "Flex basis"
65
65
  @tier "presentation"
@@ -5,9 +5,9 @@ orbital FloatingToolbarOrbital {
5
5
  id : string!
6
6
  icon : icon!
7
7
  label : string!
8
- event : string
9
- action : string
10
- actionPayload : Map string scalar
8
+ event : event
9
+ action : event
10
+ actionPayload : @payload action
11
11
  active : boolean
12
12
  disabled : boolean
13
13
  testId : string
@@ -32,7 +32,7 @@ orbital FloatingToolbarOrbital {
32
32
  }
33
33
 
34
34
  config {
35
- items : [FloatingToolbarItemsItem] = [{ id: "Id", icon: "circle", label: "Label", action: "Action", active: false, disabled: false, testId: "Test Id" }, { id: "Id 2", icon: "circle", label: "Label 2", action: "Action 2", active: true, disabled: true, testId: "Test Id 2" }]
35
+ items : [FloatingToolbarItemsItem] = [{ id: "Id", icon: "circle", label: "Label", action: "INIT", active: false, disabled: false, testId: "Test Id" }, { id: "Id 2", icon: "circle", label: "Label 2", action: "INIT", active: true, disabled: true, testId: "Test Id 2" }]
36
36
  @label "Items"
37
37
  @description "Tool items rendered as icon buttons"
38
38
  @tier "presentation"
@@ -4,7 +4,7 @@ orbital FormActionsOrbital {
4
4
  type FormActionsPrimary = {
5
5
  label : string!
6
6
  actionType : string
7
- event : string
7
+ event : event
8
8
  navigatesTo : string
9
9
  variant : string
10
10
  }
@@ -8,7 +8,6 @@ orbital InputGroupOrbital {
8
8
 
9
9
  entity InputGroupItem [runtime] {
10
10
  id : string!
11
- value : string
12
11
  }
13
12
 
14
13
  trait InputGroupRender -> @rebindable InputGroupItem [interaction, instance] {
@@ -16,34 +15,10 @@ orbital InputGroupOrbital {
16
15
 
17
16
  state idle {
18
17
  INIT -> idle
19
- (set @entity.value @config.value)
20
18
  (render-ui main {
21
19
  className: @config.className
22
20
  placeholder: @config.placeholder
23
- value: @entity.value
24
- disabled: @config.disabled
25
- action: @config.action
26
- inputType: @config.inputType
27
- label: @config.label
28
- helperText: @config.helperText
29
- error: @config.error
30
- leftIcon: @config.leftIcon
31
- rightIcon: @config.rightIcon
32
- clearable: @config.clearable
33
- onClear: @config.onClear
34
- options: @config.options
35
- rows: @config.rows
36
- onChange: @config.onChange
37
- leftAddon: @config.leftAddon
38
- rightAddon: @config.rightAddon
39
- type: input-group
40
- })
41
- ACTION -> idle
42
- (set @entity.value ?value)
43
- (render-ui main {
44
- className: @config.className
45
- placeholder: @config.placeholder
46
- value: @entity.value
21
+ value: @config.value
47
22
  disabled: @config.disabled
48
23
  action: @config.action
49
24
  inputType: @config.inputType
@@ -80,15 +55,6 @@ orbital InputGroupOrbital {
80
55
  @tier "essential"
81
56
  }
82
57
 
83
- listens {
84
- ACTION {
85
- value : match @config.inputType {
86
- "number" -> number
87
- _ -> string
88
- }!
89
- }
90
- }
91
-
92
58
  config {
93
59
  className : string
94
60
  @label "Class Name"
@@ -98,7 +64,7 @@ orbital InputGroupOrbital {
98
64
  @label "Placeholder"
99
65
  @description "Placeholder text"
100
66
  @tier "presentation"
101
- value : string
67
+ value : scalar
102
68
  @label "Value"
103
69
  @description "Current value"
104
70
  @tier "presentation"
@@ -46,7 +46,7 @@ orbital LikertScaleOrbital {
46
46
  @label "Options"
47
47
  @description "Scale points (defaults to a 5-point agree/disagree set)"
48
48
  @tier "presentation"
49
- value : string
49
+ value : scalar
50
50
  @label "Value"
51
51
  @description "Selected value (controlled)"
52
52
  @tier "presentation"
@@ -69,7 +69,7 @@ orbital NotificationOrbital {
69
69
  @label "On Action"
70
70
  @description "Action button click handler"
71
71
  @tier "presentation"
72
- badge : string
72
+ badge : scalar
73
73
  @label "Badge"
74
74
  @description "Badge count (optional)"
75
75
  @tier "presentation"
@@ -2,15 +2,15 @@ app ui-orbital-visualization "1.0.0"
2
2
  "OrbitalVisualization — UI factory (1:1 with the @almadar/ui orbital-visualization pattern)."
3
3
  orbital OrbitalVisualizationOrbital {
4
4
  type OrbitalVisualizationSchema = {
5
- dataEntities : [Map string scalar]
5
+ dataEntities : number
6
6
  ui : OrbitalVisualizationSchemaUi
7
- traits : [Map string scalar]
7
+ traits : number
8
8
  }
9
9
  type OrbitalVisualizationSchemaUi = {
10
10
  pages : [OrbitalVisualizationSchemaUiPagesItem]
11
11
  }
12
12
  type OrbitalVisualizationSchemaUiPagesItem = {
13
- sections : [Map string scalar]
13
+ sections : number
14
14
  }
15
15
  type OrbitalVisualizationError = {
16
16
  message : string!
@@ -51,7 +51,7 @@ orbital OrbitalVisualizationOrbital {
51
51
  config {
52
52
  schema : OrbitalVisualizationSchema
53
53
  @label "Schema"
54
- @description "Full KFlow schema object"
54
+ @description "Complexity-scoring summary of a KFlow schema (counts only — see {@link OrbitalVisualizationSchemaSummary})."
55
55
  @tier "presentation"
56
56
  complexity : number
57
57
  @label "Complexity"
@@ -70,11 +70,11 @@ orbital PageHeaderOrbital {
70
70
  }
71
71
 
72
72
  config {
73
- title : string
73
+ title : scalar
74
74
  @label "Title"
75
75
  @description "Page title - accepts string or number from generated code accessing dynamic entity data"
76
76
  @tier "presentation"
77
- subtitle : string
77
+ subtitle : scalar
78
78
  @label "Subtitle"
79
79
  @description "Optional subtitle/description"
80
80
  @tier "presentation"
@@ -2,6 +2,16 @@ app ui-reply-tree "1.0.0"
2
2
  "ReplyTree — UI factory (1:1 with the @almadar/ui reply-tree pattern)."
3
3
  orbital ReplyTreeOrbital {
4
4
  type ReplyTreeLoaded = Event { data : [ReplyTreeItem] } "ReplyTree rows finished loading; payload.data holds the collection"
5
+ type ReplyNodeRow = {
6
+ authorName : string
7
+ content : string
8
+ authorAvatarUrl : string
9
+ postedAt : string
10
+ voteCount : number
11
+ userVote : "up" | "down" | "none"
12
+ collapsed : boolean
13
+ replies : [ReplyNodeRow]
14
+ }
5
15
 
6
16
  entity ReplyTreeItem [runtime] {
7
17
  id : string!
@@ -12,7 +22,7 @@ orbital ReplyTreeOrbital {
12
22
  voteCount : number = 1
13
23
  userVote : "up" | "down" | "none" = up
14
24
  collapsed : boolean = false
15
- replies : [opaque] = []
25
+ replies : [ReplyNodeRow] = []
16
26
  }
17
27
 
18
28
  trait ReplyTreeRender -> @rebindable ReplyTreeItem [interaction, instance] {
@@ -22,7 +22,7 @@ orbital SimpleGridOrbital {
22
22
  }
23
23
 
24
24
  config {
25
- minChildWidth : string
25
+ minChildWidth : scalar = 250
26
26
  @label "Min Child Width"
27
27
  @description "Minimum width of each child (e.g., 200, '200px', '15rem')"
28
28
  @tier "presentation"
@@ -49,7 +49,7 @@ orbital StatDisplayOrbital {
49
49
  @label "Label"
50
50
  @description "Display label (e.g., 'Total', 'Remaining')"
51
51
  @tier "presentation"
52
- value : string = ""
52
+ value : scalar = ""
53
53
  @label "Value"
54
54
  @description "Primary value (number or formatted string)"
55
55
  @tier "presentation"
@@ -1,19 +1,20 @@
1
1
  app ui-swipeable-row "1.0.0"
2
2
  "SwipeableRow — UI factory (1:1 with the @almadar/ui swipeable-row pattern)."
3
3
  orbital SwipeableRowOrbital {
4
+ type SwipeableRowLoaded = Event { data : [SwipeableRowItem] } "SwipeableRow rows finished loading; payload.data holds the collection"
4
5
  type SwipeableRowLeftActionsItem = {
5
6
  label : string!
6
7
  icon : icon
7
8
  variant : "primary" | "secondary" | "danger" | "ghost"
8
9
  event : event!
9
- eventPayload : Map string scalar
10
+ eventPayload : @payload event
10
11
  }
11
12
  type SwipeableRowRightActionsItem = {
12
13
  label : string!
13
14
  icon : icon
14
15
  variant : "primary" | "secondary" | "danger" | "ghost"
15
16
  event : event!
16
- eventPayload : Map string scalar
17
+ eventPayload : @payload event
17
18
  }
18
19
 
19
20
  entity SwipeableRowItem [runtime] {
@@ -24,16 +25,44 @@ orbital SwipeableRowOrbital {
24
25
  initial: idle
25
26
 
26
27
  state idle {
27
- INIT -> idle
28
+ INIT -> idle when @config.selfFetch
29
+ (fetch SwipeableRowItem { emit: { success: SwipeableRowLoaded } })
28
30
  (render-ui main {
29
31
  leftActions: @config.leftActions
30
32
  rightActions: @config.rightActions
31
33
  threshold: @config.threshold
32
34
  children: @config.children
33
- itemData: @config.itemData
35
+ itemData: @entity
34
36
  className: @config.className
35
37
  type: swipeable-row
36
38
  })
39
+ INIT -> idle when (not @config.selfFetch)
40
+ (render-ui main {
41
+ leftActions: @config.leftActions
42
+ rightActions: @config.rightActions
43
+ threshold: @config.threshold
44
+ children: @config.children
45
+ itemData: @entity
46
+ className: @config.className
47
+ type: swipeable-row
48
+ })
49
+ SwipeableRowLoaded -> idle
50
+ (render-ui main {
51
+ leftActions: @config.leftActions
52
+ rightActions: @config.rightActions
53
+ threshold: @config.threshold
54
+ children: @config.children
55
+ itemData: @payload.data
56
+ className: @config.className
57
+ type: swipeable-row
58
+ })
59
+ }
60
+
61
+ emits {
62
+ SwipeableRowLoaded
63
+ @description "SwipeableRow rows finished loading; payload.data holds the collection."
64
+ @synonyms "loaded, fetched, retrieved"
65
+ @tier "essential"
37
66
  }
38
67
 
39
68
  config {
@@ -53,14 +82,14 @@ orbital SwipeableRowOrbital {
53
82
  @label "Children"
54
83
  @description "children prop"
55
84
  @tier "presentation"
56
- itemData : Map string scalar = {}
57
- @label "Item Data"
58
- @description "itemData prop"
59
- @tier "presentation"
60
85
  className : string
61
86
  @label "Class Name"
62
87
  @description "className prop"
63
88
  @tier "presentation"
89
+ selfFetch : boolean = true
90
+ @label "Fetch its own rows on mount?"
91
+ @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
92
+ @tier "internal"
64
93
  }
65
94
  }
66
95
 
@@ -167,7 +167,7 @@ orbital WizardContainerOrbital {
167
167
  @label "Steps"
168
168
  @description "Wizard steps"
169
169
  @tier "presentation"
170
- currentStep : string
170
+ currentStep : scalar
171
171
  @label "Current Step"
172
172
  @description "Current step index (controlled) - accepts number or string for generated code compatibility"
173
173
  @tier "presentation"
@@ -32,7 +32,7 @@ orbital DetailPanelOrbital {
32
32
  type DetailPanelBackAction = {
33
33
  label : string!
34
34
  icon : icon
35
- event : string
35
+ event : event
36
36
  navigatesTo : string
37
37
  variant : "primary" | "secondary" | "ghost" | "danger"
38
38
  }
@@ -34,7 +34,7 @@ orbital EntityTableOrbital {
34
34
  }
35
35
  type EntityTableEmptyAction = {
36
36
  label : string!
37
- event : string
37
+ event : event
38
38
  }
39
39
  type EntityTableRowActionsItem = {
40
40
  label : string!
@@ -7,6 +7,34 @@ orbital SubagentTracePanelOrbital {
7
7
  code : string
8
8
  stack : string
9
9
  }
10
+ type SubagentTracePanelSubagentsItem = {
11
+ id : string!
12
+ name : string!
13
+ role : string!
14
+ orbitalName : string
15
+ parentId : string
16
+ status : "running" | "complete" | "error"!
17
+ task : string!
18
+ messages : [SubagentTracePanelSubagentsItemMessagesItem]!
19
+ durationMs : number
20
+ }
21
+ type SubagentTracePanelSubagentsItemMessagesItem = {
22
+ message : string!
23
+ tool : string
24
+ timestamp : number!
25
+ }
26
+ type SubagentTracePanelCoordinatorMessagesItem = {
27
+ role : "system" | "user" | "assistant" | "tool"!
28
+ content : string!
29
+ toolCalls : [SubagentTracePanelCoordinatorMessagesItemToolCallsItem]
30
+ toolCallId : string
31
+ toolName : string
32
+ reasoningContent : string
33
+ }
34
+ type SubagentTracePanelCoordinatorMessagesItemToolCallsItem = {
35
+ id : string!
36
+ name : string!
37
+ }
10
38
 
11
39
  entity SubagentTracePanelItem [runtime] {
12
40
  id : string!
@@ -40,7 +68,6 @@ orbital SubagentTracePanelOrbital {
40
68
  disclosureLevel: @config.disclosureLevel
41
69
  open: @config.open
42
70
  onClose: @config.onClose
43
- coordinatorActivities: @config.coordinatorActivities
44
71
  coordinatorMessages: @config.coordinatorMessages
45
72
  mode: @config.mode
46
73
  type: subagent-trace-panel
@@ -114,7 +141,7 @@ orbital SubagentTracePanelOrbital {
114
141
  @label "Selected Ids"
115
142
  @description "Currently selected item IDs"
116
143
  @tier "presentation"
117
- subagents : [Map string scalar] = []
144
+ subagents : [SubagentTracePanelSubagentsItem] = [{ id: "Id", name: "Name", role: "Role", orbitalName: "Orbital Name", parentId: "Parent Id", status: running, task: "Task", messages: [{ message: "Message", tool: "Tool", timestamp: 1 }, { message: "Message 2", tool: "Tool 2", timestamp: 2 }], durationMs: 1, timeline: [] }, { id: "Id 2", name: "Name 2", role: "Role 2", orbitalName: "Orbital Name 2", parentId: "Parent Id 2", status: complete, task: "Task 2", messages: [{ message: "Message", tool: "Tool", timestamp: 1 }, { message: "Message 2", tool: "Tool 2", timestamp: 2 }], durationMs: 2, timeline: [] }]
118
145
  @label "Subagents"
119
146
  @description "All known subagents from the runner."
120
147
  @tier "presentation"
@@ -134,11 +161,7 @@ orbital SubagentTracePanelOrbital {
134
161
  @label "On Close"
135
162
  @description "Optional dismiss handler."
136
163
  @tier "presentation"
137
- coordinatorActivities : [Map string scalar] = []
138
- @label "Coordinator Activities"
139
- @description "Full coordinator activities (tool calls, results, messages, errors)."
140
- @tier "presentation"
141
- coordinatorMessages : [Map string scalar] = []
164
+ coordinatorMessages : [SubagentTracePanelCoordinatorMessagesItem] = []
142
165
  @label "Coordinator Messages"
143
166
  @description "Canonical Coordinator conversation — same shape live and on reload. When present, takes precedence over `coordinatorActivities` for the Coordinator section."
144
167
  @tier "presentation"
@@ -29,11 +29,11 @@ orbital StdMeshAssetArtOrbital {
29
29
 
30
30
  listens {
31
31
  MESH_ASSET_SYNC { }
32
- MESH_ASSET_PUBLISH { kind : string, states : Map string opaque }
32
+ MESH_ASSET_PUBLISH { kind : string, states : Map string [node] }
33
33
  }
34
34
 
35
35
  config {
36
- seedArt : Map string opaque = {}
36
+ seedArt : Map string Map string [node] = {}
37
37
  @label "Seed Art"
38
38
  @description "Initial kind → (state → draw-group items of draw-mesh descriptors) catalog merged under bus-published entries (published entries win). Lets a 3D board ship volumetric art with zero asset imports."
39
39
  @tier "presentation"
@@ -29,11 +29,11 @@ orbital StdSvgAssetArtOrbital {
29
29
 
30
30
  listens {
31
31
  SVG_ASSET_SYNC { }
32
- SVG_ASSET_PUBLISH { kind : string, states : Map string opaque }
32
+ SVG_ASSET_PUBLISH { kind : string, states : Map string [node] }
33
33
  }
34
34
 
35
35
  config {
36
- seedArt : Map string opaque = {}
36
+ seedArt : Map string Map string [node] = {}
37
37
  @label "Seed Art"
38
38
  @description "Initial kind → (state → draw-group items) catalog merged under bus-published entries (published entries win). Lets a board ship vector art with zero asset imports."
39
39
  @tier "presentation"
@@ -3,6 +3,7 @@ app ui-draw-shape-layer "1.0.0"
3
3
  orbital DrawShapeLayerOrbital {
4
4
  type DrawShapeLayerItemsItem = {
5
5
  type : "draw-shape"!
6
+ id : string
6
7
  shape : "cell" | "rect" | "ellipse" | "poly" | "path"!
7
8
  position : DrawShapeLayerItemsItemPosition!
8
9
  anchor : "top-left" | "ground" | "center"
@@ -147,7 +148,7 @@ orbital DrawShapeLayerOrbital {
147
148
  }
148
149
 
149
150
  config {
150
- items : [DrawShapeLayerItemsItem] = [{ type: "draw-shape", shape: cell, position: { x: 1, y: 1, z: 1 }, anchor: "top-left", width: 1, height: 1, radiusX: 1, radiusY: 1, offsetX: 1, offsetY: 1, points: [{ x: 1, y: 1 }, { x: 2, y: 2 }], d: "D", fill: "Fill", gradient: { kind: linear, from: { x: 1, y: 1 }, to: { x: 1, y: 1 }, center: { x: 1, y: 1 }, radius: 1, angle: 1, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, fillPattern: { kind: noise, url: "Url", scale: 1, alpha: 1, color: "Color" }, stroke: "Stroke", strokeWidth: 1, strokeGradient: { kind: linear, from: { x: 1, y: 1 }, to: { x: 1, y: 1 }, center: { x: 1, y: 1 }, radius: 1, angle: 1, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, strokeDash: [1, 2], strokeDashOffset: 1, blendMode: "source-over", blur: 1, rotate: 1, pivot: { x: 1, y: 1 }, shadow: { color: "Color", blur: 1 }, animation: { durationMs: 1, loop: false, keyframes: [{ at: 1, offsetX: 1, offsetY: 1, rotate: 1, opacity: 1, radiusX: 1, radiusY: 1, width: 1, height: 1, strokeWidth: 1, strokeDashOffset: 1, blur: 1, fill: "Fill", stroke: "Stroke", shadow: { color: "Color", blur: 1 } }, { at: 2, offsetX: 2, offsetY: 2, rotate: 2, opacity: 2, radiusX: 2, radiusY: 2, width: 2, height: 2, strokeWidth: 2, strokeDashOffset: 2, blur: 2, fill: "Fill 2", stroke: "Stroke 2", shadow: { color: "Color 2", blur: 2 } }] }, opacity: 1 }, { type: "draw-shape", shape: rect, position: { x: 2, y: 2, z: 2 }, anchor: ground, width: 2, height: 2, radiusX: 2, radiusY: 2, offsetX: 2, offsetY: 2, points: [{ x: 1, y: 1 }, { x: 2, y: 2 }], d: "D 2", fill: "Fill 2", gradient: { kind: radial, from: { x: 2, y: 2 }, to: { x: 2, y: 2 }, center: { x: 2, y: 2 }, radius: 2, angle: 2, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, fillPattern: { kind: image, url: "Url 2", scale: 2, alpha: 2, color: "Color 2" }, stroke: "Stroke 2", strokeWidth: 2, strokeGradient: { kind: radial, from: { x: 2, y: 2 }, to: { x: 2, y: 2 }, center: { x: 2, y: 2 }, radius: 2, angle: 2, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, strokeDash: [1, 2], strokeDashOffset: 2, blendMode: lighter, blur: 2, rotate: 2, pivot: { x: 2, y: 2 }, shadow: { color: "Color 2", blur: 2 }, animation: { durationMs: 2, loop: true, keyframes: [{ at: 1, offsetX: 1, offsetY: 1, rotate: 1, opacity: 1, radiusX: 1, radiusY: 1, width: 1, height: 1, strokeWidth: 1, strokeDashOffset: 1, blur: 1, fill: "Fill", stroke: "Stroke", shadow: { color: "Color", blur: 1 } }, { at: 2, offsetX: 2, offsetY: 2, rotate: 2, opacity: 2, radiusX: 2, radiusY: 2, width: 2, height: 2, strokeWidth: 2, strokeDashOffset: 2, blur: 2, fill: "Fill 2", stroke: "Stroke 2", shadow: { color: "Color 2", blur: 2 } }] }, opacity: 2 }]
151
+ items : [DrawShapeLayerItemsItem] = [{ type: "draw-shape", id: "Id", shape: cell, position: { x: 1, y: 1, z: 1 }, anchor: "top-left", width: 1, height: 1, radiusX: 1, radiusY: 1, offsetX: 1, offsetY: 1, points: [{ x: 1, y: 1 }, { x: 2, y: 2 }], d: "D", fill: "Fill", gradient: { kind: linear, from: { x: 1, y: 1 }, to: { x: 1, y: 1 }, center: { x: 1, y: 1 }, radius: 1, angle: 1, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, fillPattern: { kind: noise, url: "Url", scale: 1, alpha: 1, color: "Color" }, stroke: "Stroke", strokeWidth: 1, strokeGradient: { kind: linear, from: { x: 1, y: 1 }, to: { x: 1, y: 1 }, center: { x: 1, y: 1 }, radius: 1, angle: 1, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, strokeDash: [1, 2], strokeDashOffset: 1, blendMode: "source-over", blur: 1, rotate: 1, pivot: { x: 1, y: 1 }, shadow: { color: "Color", blur: 1 }, animation: { durationMs: 1, loop: false, keyframes: [{ at: 1, offsetX: 1, offsetY: 1, rotate: 1, opacity: 1, radiusX: 1, radiusY: 1, width: 1, height: 1, strokeWidth: 1, strokeDashOffset: 1, blur: 1, fill: "Fill", stroke: "Stroke", shadow: { color: "Color", blur: 1 } }, { at: 2, offsetX: 2, offsetY: 2, rotate: 2, opacity: 2, radiusX: 2, radiusY: 2, width: 2, height: 2, strokeWidth: 2, strokeDashOffset: 2, blur: 2, fill: "Fill 2", stroke: "Stroke 2", shadow: { color: "Color 2", blur: 2 } }] }, opacity: 1 }, { type: "draw-shape", id: "Id 2", shape: rect, position: { x: 2, y: 2, z: 2 }, anchor: ground, width: 2, height: 2, radiusX: 2, radiusY: 2, offsetX: 2, offsetY: 2, points: [{ x: 1, y: 1 }, { x: 2, y: 2 }], d: "D 2", fill: "Fill 2", gradient: { kind: radial, from: { x: 2, y: 2 }, to: { x: 2, y: 2 }, center: { x: 2, y: 2 }, radius: 2, angle: 2, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, fillPattern: { kind: image, url: "Url 2", scale: 2, alpha: 2, color: "Color 2" }, stroke: "Stroke 2", strokeWidth: 2, strokeGradient: { kind: radial, from: { x: 2, y: 2 }, to: { x: 2, y: 2 }, center: { x: 2, y: 2 }, radius: 2, angle: 2, stops: [{ offset: 1, color: "Color" }, { offset: 2, color: "Color 2" }] }, strokeDash: [1, 2], strokeDashOffset: 2, blendMode: lighter, blur: 2, rotate: 2, pivot: { x: 2, y: 2 }, shadow: { color: "Color 2", blur: 2 }, animation: { durationMs: 2, loop: true, keyframes: [{ at: 1, offsetX: 1, offsetY: 1, rotate: 1, opacity: 1, radiusX: 1, radiusY: 1, width: 1, height: 1, strokeWidth: 1, strokeDashOffset: 1, blur: 1, fill: "Fill", stroke: "Stroke", shadow: { color: "Color", blur: 1 } }, { at: 2, offsetX: 2, offsetY: 2, rotate: 2, opacity: 2, radiusX: 2, radiusY: 2, width: 2, height: 2, strokeWidth: 2, strokeDashOffset: 2, blur: 2, fill: "Fill 2", stroke: "Stroke 2", shadow: { color: "Color 2", blur: 2 } }] }, opacity: 2 }]
151
152
  @label "Items"
152
153
  @description "items prop"
153
154
  @tier "presentation"
@@ -3,6 +3,7 @@ app ui-draw-sprite-layer "1.0.0"
3
3
  orbital DrawSpriteLayerOrbital {
4
4
  type DrawSpriteLayerItemsItem = {
5
5
  type : "draw-sprite"!
6
+ id : string
6
7
  position : DrawSpriteLayerItemsItemPosition!
7
8
  asset : DrawSpriteLayerItemsItemAsset!
8
9
  anchor : "top-left" | "ground" | "center"
@@ -63,7 +64,7 @@ orbital DrawSpriteLayerOrbital {
63
64
  }
64
65
 
65
66
  config {
66
- items : [DrawSpriteLayerItemsItem] = [{ type: "draw-sprite", position: { x: 1, y: 1, z: 1 }, asset: { url: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", role: "npc", category: "asset", animations: ["idle", "walk", "attack", "hit", "death"], style: "pixel", dimension: "2d", aspect: "1:1", name: "asset", thumbnailUrl: "" }, anchor: "top-left", width: 1, height: 1, frame: { x: 1, y: 1, w: 1, h: 1 }, animation: "Animation", loop: false, clockMs: 1, flipX: false, rotation: 1, opacity: 1, shadow: { color: "Color", blur: 1 } }, { type: "draw-sprite", position: { x: 2, y: 2, z: 2 }, asset: { url: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", role: "npc", category: "asset", animations: ["idle", "walk", "attack", "hit", "death"], style: "pixel", dimension: "2d", aspect: "1:1", name: "asset", thumbnailUrl: "" }, anchor: ground, width: 2, height: 2, frame: { x: 2, y: 2, w: 2, h: 2 }, animation: "Animation 2", loop: true, clockMs: 2, flipX: true, rotation: 2, opacity: 2, shadow: { color: "Color 2", blur: 2 } }]
67
+ items : [DrawSpriteLayerItemsItem] = [{ type: "draw-sprite", id: "Id", position: { x: 1, y: 1, z: 1 }, asset: { url: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", role: "npc", category: "asset", animations: ["idle", "walk", "attack", "hit", "death"], style: "pixel", dimension: "2d", aspect: "1:1", name: "asset", thumbnailUrl: "" }, anchor: "top-left", width: 1, height: 1, frame: { x: 1, y: 1, w: 1, h: 1 }, animation: "Animation", loop: false, clockMs: 1, flipX: false, rotation: 1, opacity: 1, shadow: { color: "Color", blur: 1 } }, { type: "draw-sprite", id: "Id 2", position: { x: 2, y: 2, z: 2 }, asset: { url: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", role: "npc", category: "asset", animations: ["idle", "walk", "attack", "hit", "death"], style: "pixel", dimension: "2d", aspect: "1:1", name: "asset", thumbnailUrl: "" }, anchor: ground, width: 2, height: 2, frame: { x: 2, y: 2, w: 2, h: 2 }, animation: "Animation 2", loop: true, clockMs: 2, flipX: true, rotation: 2, opacity: 2, shadow: { color: "Color 2", blur: 2 } }]
67
68
  @label "Items"
68
69
  @description "Sprites painted in array order; z-ordering is the caller's responsibility."
69
70
  @tier "presentation"