@almadar/std 16.243.0 → 16.244.1

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 (140) hide show
  1. package/behaviors/behaviors-registry.json +72537 -31220
  2. package/behaviors/lolo/agent/atoms/std-agent-context.lolo +24 -4
  3. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +20 -5
  4. package/behaviors/lolo/agent/atoms/std-agent-proposal.lolo +550 -0
  5. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +284 -25
  6. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +841 -0
  7. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +58 -8
  8. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +1 -0
  9. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +28 -1
  10. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +22 -0
  11. package/behaviors/lolo/ui/avl/atoms/ui-avl-transition-explainer.lolo +175 -0
  12. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +22 -0
  13. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +23 -4
  14. package/behaviors/lolo/ui/core/atoms/std-hero.lolo +72 -33
  15. package/behaviors/lolo/ui/core/molecules/ui-agent-chat-feed.lolo +1 -1
  16. package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +54 -0
  17. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +5 -0
  18. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +127 -3
  19. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +22 -0
  20. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +2 -2
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +87 -17
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +172 -37
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +183 -70
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +78 -13
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +58 -2
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +107 -12
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +83 -10
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +130 -9
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +143 -59
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +96 -22
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +66 -5
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +84 -6
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +80 -14
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +99 -5
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +81 -7
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +83 -7
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +224 -99
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +63 -2
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +99 -38
  40. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +7 -7
  41. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +69 -4
  42. package/behaviors/lolo-behavior-contracts.json +1 -1
  43. package/behaviors/registry/agent/atoms/std-agent-context.orb +205 -6
  44. package/behaviors/registry/agent/atoms/std-agent-memory.orb +146 -4
  45. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1972 -0
  46. package/behaviors/registry/agent/atoms/std-agent-session.orb +2021 -597
  47. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +5079 -0
  48. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +287 -5
  49. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +7 -0
  50. package/behaviors/registry/factory-signatures.json +1 -1
  51. package/behaviors/registry/infra/atoms/std-page-treat.orb +327 -2
  52. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +134 -0
  53. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +678 -0
  54. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +122 -0
  55. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +73 -4
  56. package/behaviors/registry/ui/core/atoms/std-hero.orb +174 -97
  57. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +204 -1
  58. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +12 -0
  59. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +683 -30
  60. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +748 -21
  61. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1429 -41
  62. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1031 -185
  63. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +807 -132
  64. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +553 -6
  65. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +987 -21
  66. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +582 -16
  67. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +954 -13
  68. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +828 -88
  69. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +730 -28
  70. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +479 -9
  71. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +797 -46
  72. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +757 -58
  73. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1176 -164
  74. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +599 -12
  75. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +832 -150
  76. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1561 -127
  77. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +655 -6
  78. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +634 -43
  79. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +85 -31
  80. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +425 -9
  81. package/canonical-operators.json +45 -2
  82. package/dist/behaviors/exports-reader.js +16667 -7868
  83. package/dist/behaviors/functions/index.d.ts +711 -32
  84. package/dist/behaviors/functions/index.js +16651 -7869
  85. package/dist/behaviors/index.d.ts +1 -1
  86. package/dist/behaviors/index.js +16668 -7869
  87. package/dist/behaviors/query.js +16667 -7868
  88. package/dist/behaviors-embeddings.hash.json +3 -3
  89. package/dist/behaviors-embeddings.json +77 -53
  90. package/dist/behaviors-registry.json +72537 -31220
  91. package/dist/index.d.ts +3 -3
  92. package/dist/index.js +16101 -7275
  93. package/dist/knob-embeddings.hash.json +3 -3
  94. package/dist/knob-embeddings.json +11617 -1225
  95. package/dist/modules/anim.d.ts +1 -1
  96. package/dist/modules/array.d.ts +1 -1
  97. package/dist/modules/async.d.ts +1 -1
  98. package/dist/modules/behavior.d.ts +1 -1
  99. package/dist/modules/browser.d.ts +1 -1
  100. package/dist/modules/composition.d.ts +1 -1
  101. package/dist/modules/contract.d.ts +1 -1
  102. package/dist/modules/core.d.ts +1 -1
  103. package/dist/modules/core.js +29 -2
  104. package/dist/modules/data.d.ts +1 -1
  105. package/dist/modules/ease.d.ts +1 -1
  106. package/dist/modules/format.d.ts +1 -1
  107. package/dist/modules/geo.d.ts +1 -1
  108. package/dist/modules/graph.d.ts +1 -1
  109. package/dist/modules/grid.d.ts +1 -1
  110. package/dist/modules/i18n.d.ts +1 -1
  111. package/dist/modules/index.d.ts +1 -1
  112. package/dist/modules/index.js +29 -2
  113. package/dist/modules/integration.d.ts +1 -1
  114. package/dist/modules/json.d.ts +1 -1
  115. package/dist/modules/llm.d.ts +1 -1
  116. package/dist/modules/math.d.ts +1 -1
  117. package/dist/modules/memory.d.ts +1 -1
  118. package/dist/modules/nn.d.ts +1 -1
  119. package/dist/modules/noise.d.ts +1 -1
  120. package/dist/modules/object.d.ts +1 -1
  121. package/dist/modules/os.d.ts +1 -1
  122. package/dist/modules/path.d.ts +1 -1
  123. package/dist/modules/prob.d.ts +1 -1
  124. package/dist/modules/session.d.ts +1 -1
  125. package/dist/modules/str.d.ts +1 -1
  126. package/dist/modules/tensor.d.ts +1 -1
  127. package/dist/modules/time.d.ts +1 -1
  128. package/dist/modules/trace.d.ts +1 -1
  129. package/dist/modules/train.d.ts +1 -1
  130. package/dist/modules/validate.d.ts +1 -1
  131. package/dist/modules/vector.d.ts +1 -1
  132. package/dist/modules/workspace.d.ts +1 -1
  133. package/dist/registry/factory-signatures.json +1 -1
  134. package/dist/registry.d.ts +2 -2
  135. package/dist/registry.js +29 -2
  136. package/dist/{types-Cdb321uM.d.ts → types-Y-yYWEOX.d.ts} +1 -1
  137. package/i18n/ar.json +3 -1
  138. package/i18n/en.json +2 -0
  139. package/i18n/sl.json +3 -1
  140. package/package.json +3 -3
@@ -91,6 +91,15 @@
91
91
  "parent": "trt_01M055GQ1E7K3CRWHDCC78SAD0",
92
92
  "renames": []
93
93
  },
94
+ "evt_01M459W74B3EZ019XMHP1C7ZZ3": {
95
+ "bakedName": "ROSTER_LOADED",
96
+ "curName": "ROSTER_LOADED",
97
+ "id": "evt_01M459W74B3EZ019XMHP1C7ZZ3",
98
+ "kind": "event",
99
+ "owner": "workspace",
100
+ "parent": "trt_01M055GQ1E7K3CRWHDCC78SAD0",
101
+ "renames": []
102
+ },
94
103
  "orb_01M055GQ1EMETS8ZCD55EFG32J": {
95
104
  "bakedName": "LearnArrangementOrbital",
96
105
  "curName": "LearnArrangementOrbital",
@@ -133,6 +142,35 @@
133
142
  "name": "active",
134
143
  "type": "boolean"
135
144
  },
145
+ {
146
+ "items": {
147
+ "properties": {
148
+ "correctPosition": {
149
+ "name": "correctPosition",
150
+ "required": true,
151
+ "type": "number"
152
+ },
153
+ "hint": {
154
+ "name": "hint",
155
+ "required": false,
156
+ "type": "string"
157
+ },
158
+ "id": {
159
+ "name": "id",
160
+ "required": true,
161
+ "type": "string"
162
+ },
163
+ "label": {
164
+ "name": "label",
165
+ "required": true,
166
+ "type": "string"
167
+ }
168
+ },
169
+ "type": "object"
170
+ },
171
+ "name": "items",
172
+ "type": "array"
173
+ },
136
174
  {
137
175
  "name": "title",
138
176
  "type": "string"
@@ -512,6 +550,17 @@
512
550
  "tier": "presentation",
513
551
  "type": "string"
514
552
  },
553
+ "rosterSource": {
554
+ "default": "config",
555
+ "description": "Where the roster comes from: config reads the items knob(s) at INIT; event waits for ROSTER_LOADED and takes the roster from its payload.",
556
+ "label": "Roster Source",
557
+ "tier": "domain",
558
+ "type": "string",
559
+ "values": [
560
+ "config",
561
+ "event"
562
+ ]
563
+ },
515
564
  "slotBorderColor": {
516
565
  "default": "ink",
517
566
  "label": "Slot Border Color",
@@ -618,6 +667,10 @@
618
667
  "kind": "set",
619
668
  "resource": "@entity.correctCount"
620
669
  },
670
+ {
671
+ "kind": "set",
672
+ "resource": "@entity.items"
673
+ },
621
674
  {
622
675
  "kind": "set",
623
676
  "resource": "@entity.placedIds"
@@ -690,6 +743,7 @@
690
743
  "active",
691
744
  "checked",
692
745
  "correctCount",
746
+ "items",
693
747
  "placedIds",
694
748
  "slotShapes",
695
749
  "title",
@@ -727,6 +781,46 @@
727
781
  ],
728
782
  "tier": "domain"
729
783
  },
784
+ {
785
+ "description": "Runtime content feed, honoured only when rosterSource is event — mode names the instrument it is for (the matchMode it carries, blank when standalone) and items is the roster to order; a matching instrument re-initialises from it exactly as INIT does from config, any other instrument hides.",
786
+ "id": "evt_01M459W74B3EZ019XMHP1C7ZZ3",
787
+ "key": "ROSTER_LOADED",
788
+ "name": "Roster Loaded",
789
+ "payloadSchema": [
790
+ {
791
+ "name": "mode",
792
+ "required": true,
793
+ "type": "string"
794
+ },
795
+ {
796
+ "name": "items",
797
+ "properties": [
798
+ {
799
+ "name": "id",
800
+ "required": true,
801
+ "type": "string"
802
+ },
803
+ {
804
+ "name": "label",
805
+ "required": true,
806
+ "type": "string"
807
+ },
808
+ {
809
+ "name": "correctPosition",
810
+ "required": true,
811
+ "type": "number"
812
+ },
813
+ {
814
+ "name": "hint",
815
+ "type": "string"
816
+ }
817
+ ],
818
+ "required": true,
819
+ "type": "[object]"
820
+ }
821
+ ],
822
+ "tier": "domain"
823
+ },
730
824
  {
731
825
  "description": "Learner tapped an unplaced item, appending it to the end of the built sequence; the item becomes unavailable in the remaining-items row.",
732
826
  "id": "evt_01M055GQ1FGBZ3C1Y0K049ZW0J",
@@ -815,6 +909,11 @@
815
909
  "transitions": [
816
910
  {
817
911
  "effects": [
912
+ [
913
+ "set",
914
+ "@entity.items",
915
+ "@config.items"
916
+ ],
818
917
  [
819
918
  "set",
820
919
  "@entity.active",
@@ -830,7 +929,7 @@
830
929
  "@entity.totalItems",
831
930
  [
832
931
  "array/len",
833
- "@config.items"
932
+ "@entity.items"
834
933
  ]
835
934
  ],
836
935
  [
@@ -911,7 +1010,7 @@
911
1010
  "@filled",
912
1011
  [
913
1012
  "array/find",
914
- "@config.items",
1013
+ "@entity.items",
915
1014
  [
916
1015
  "fn",
917
1016
  "it",
@@ -1186,7 +1285,7 @@
1186
1285
  "array/map",
1187
1286
  [
1188
1287
  "array/filter",
1189
- "@config.items",
1288
+ "@entity.items",
1190
1289
  [
1191
1290
  "fn",
1192
1291
  "it",
@@ -1356,9 +1455,17 @@
1356
1455
  "eventId": "evt_01M055GQ1E4CVQN2ZCCPA3NH1V",
1357
1456
  "from": "idle",
1358
1457
  "guard": [
1359
- "==",
1360
- "@config.matchMode",
1361
- ""
1458
+ "and",
1459
+ [
1460
+ "==",
1461
+ "@config.matchMode",
1462
+ ""
1463
+ ],
1464
+ [
1465
+ "==",
1466
+ "@config.rosterSource",
1467
+ "config"
1468
+ ]
1362
1469
  ],
1363
1470
  "to": "idle"
1364
1471
  },
@@ -1401,6 +1508,11 @@
1401
1508
  },
1402
1509
  {
1403
1510
  "effects": [
1511
+ [
1512
+ "set",
1513
+ "@entity.items",
1514
+ "@config.items"
1515
+ ],
1404
1516
  [
1405
1517
  "set",
1406
1518
  "@entity.active",
@@ -1416,7 +1528,7 @@
1416
1528
  "@entity.totalItems",
1417
1529
  [
1418
1530
  "array/len",
1419
- "@config.items"
1531
+ "@entity.items"
1420
1532
  ]
1421
1533
  ],
1422
1534
  [
@@ -1497,7 +1609,7 @@
1497
1609
  "@filled",
1498
1610
  [
1499
1611
  "array/find",
1500
- "@config.items",
1612
+ "@entity.items",
1501
1613
  [
1502
1614
  "fn",
1503
1615
  "it",
@@ -1772,7 +1884,7 @@
1772
1884
  "array/map",
1773
1885
  [
1774
1886
  "array/filter",
1775
- "@config.items",
1887
+ "@entity.items",
1776
1888
  [
1777
1889
  "fn",
1778
1890
  "it",
@@ -1942,9 +2054,624 @@
1942
2054
  "eventId": "evt_01M055GQ1FV25EAX7AXNEYCY1E",
1943
2055
  "from": "idle",
1944
2056
  "guard": [
1945
- "==",
1946
- "@payload.mode",
1947
- "@config.matchMode"
2057
+ "and",
2058
+ [
2059
+ "==",
2060
+ "@payload.mode",
2061
+ "@config.matchMode"
2062
+ ],
2063
+ [
2064
+ "==",
2065
+ "@config.rosterSource",
2066
+ "config"
2067
+ ]
2068
+ ],
2069
+ "to": "idle"
2070
+ },
2071
+ {
2072
+ "effects": [
2073
+ [
2074
+ "set",
2075
+ "@entity.items",
2076
+ "@payload.items"
2077
+ ],
2078
+ [
2079
+ "set",
2080
+ "@entity.active",
2081
+ true
2082
+ ],
2083
+ [
2084
+ "set",
2085
+ "@entity.title",
2086
+ "@config.title"
2087
+ ],
2088
+ [
2089
+ "set",
2090
+ "@entity.totalItems",
2091
+ [
2092
+ "array/len",
2093
+ "@entity.items"
2094
+ ]
2095
+ ],
2096
+ [
2097
+ "set",
2098
+ "@entity.placedIds",
2099
+ []
2100
+ ],
2101
+ [
2102
+ "set",
2103
+ "@entity.checked",
2104
+ false
2105
+ ],
2106
+ [
2107
+ "set",
2108
+ "@entity.correctCount",
2109
+ 0.0
2110
+ ],
2111
+ [
2112
+ "set",
2113
+ "@entity.verdict",
2114
+ ""
2115
+ ],
2116
+ [
2117
+ "let",
2118
+ [
2119
+ [
2120
+ "placedCount",
2121
+ [
2122
+ "array/len",
2123
+ "@entity.placedIds"
2124
+ ]
2125
+ ],
2126
+ [
2127
+ "slotShapes",
2128
+ [
2129
+ "array/flatten",
2130
+ [
2131
+ "array/map",
2132
+ [
2133
+ "array/range",
2134
+ "@entity.totalItems"
2135
+ ],
2136
+ [
2137
+ "fn",
2138
+ "i",
2139
+ [
2140
+ "let",
2141
+ [
2142
+ [
2143
+ "placedId",
2144
+ [
2145
+ "if",
2146
+ [
2147
+ "<",
2148
+ "@i",
2149
+ "@placedCount"
2150
+ ],
2151
+ [
2152
+ "array/nth",
2153
+ "@entity.placedIds",
2154
+ "@i"
2155
+ ],
2156
+ ""
2157
+ ]
2158
+ ],
2159
+ [
2160
+ "filled",
2161
+ [
2162
+ "!=",
2163
+ "@placedId",
2164
+ ""
2165
+ ]
2166
+ ],
2167
+ [
2168
+ "item",
2169
+ [
2170
+ "if",
2171
+ "@filled",
2172
+ [
2173
+ "array/find",
2174
+ "@entity.items",
2175
+ [
2176
+ "fn",
2177
+ "it",
2178
+ [
2179
+ "==",
2180
+ [
2181
+ "object/get",
2182
+ "@it",
2183
+ "id"
2184
+ ],
2185
+ "@placedId"
2186
+ ]
2187
+ ]
2188
+ ],
2189
+ null
2190
+ ]
2191
+ ],
2192
+ [
2193
+ "label",
2194
+ [
2195
+ "if",
2196
+ "@filled",
2197
+ [
2198
+ "object/get",
2199
+ "@item",
2200
+ "label"
2201
+ ],
2202
+ ""
2203
+ ]
2204
+ ],
2205
+ [
2206
+ "correctForSlot",
2207
+ [
2208
+ "if",
2209
+ "@filled",
2210
+ [
2211
+ "==",
2212
+ [
2213
+ "object/get",
2214
+ "@item",
2215
+ "correctPosition"
2216
+ ],
2217
+ "@i"
2218
+ ],
2219
+ false
2220
+ ]
2221
+ ],
2222
+ [
2223
+ "fillColor",
2224
+ [
2225
+ "if",
2226
+ [
2227
+ "not",
2228
+ "@filled"
2229
+ ],
2230
+ "@config.emptySlotColor",
2231
+ [
2232
+ "if",
2233
+ "@entity.checked",
2234
+ [
2235
+ "if",
2236
+ "@correctForSlot",
2237
+ "@config.correctColor",
2238
+ "@config.incorrectColor"
2239
+ ],
2240
+ "@config.pendingColor"
2241
+ ]
2242
+ ]
2243
+ ],
2244
+ [
2245
+ "bx",
2246
+ [
2247
+ "+",
2248
+ "@config.slotLeft",
2249
+ [
2250
+ "*",
2251
+ "@i",
2252
+ "@config.slotSpacing"
2253
+ ]
2254
+ ]
2255
+ ]
2256
+ ],
2257
+ [
2258
+ {
2259
+ "fillStyle": "tint",
2260
+ "fillTone": "@fillColor",
2261
+ "height": "@config.slotHeight",
2262
+ "id": [
2263
+ "str/concat",
2264
+ "slot-",
2265
+ "@i"
2266
+ ],
2267
+ "tone": "@config.slotBorderColor",
2268
+ "type": "rect",
2269
+ "width": "@config.slotWidth",
2270
+ "x": "@bx",
2271
+ "y": "@config.slotY"
2272
+ },
2273
+ {
2274
+ "align": "center",
2275
+ "id": [
2276
+ "str/concat",
2277
+ "slot-label-",
2278
+ "@i"
2279
+ ],
2280
+ "text": [
2281
+ "if",
2282
+ "@filled",
2283
+ "@label",
2284
+ [
2285
+ "str/concat",
2286
+ "",
2287
+ [
2288
+ "+",
2289
+ "@i",
2290
+ 1.0
2291
+ ]
2292
+ ]
2293
+ ],
2294
+ "textSize": "@config.slotFontSize",
2295
+ "tone": "@config.slotTextColor",
2296
+ "type": "text",
2297
+ "x": [
2298
+ "+",
2299
+ "@bx",
2300
+ [
2301
+ "/",
2302
+ "@config.slotWidth",
2303
+ 2.0
2304
+ ]
2305
+ ],
2306
+ "y": [
2307
+ "+",
2308
+ "@config.slotY",
2309
+ [
2310
+ "/",
2311
+ "@config.slotHeight",
2312
+ 2.0
2313
+ ],
2314
+ 5.0
2315
+ ]
2316
+ }
2317
+ ]
2318
+ ]
2319
+ ]
2320
+ ]
2321
+ ]
2322
+ ]
2323
+ ],
2324
+ [
2325
+ "set",
2326
+ "@entity.slotShapes",
2327
+ "@slotShapes"
2328
+ ]
2329
+ ],
2330
+ [
2331
+ "render-ui",
2332
+ "main",
2333
+ {
2334
+ "children": [
2335
+ {
2336
+ "children": [
2337
+ {
2338
+ "align": "start",
2339
+ "children": [
2340
+ {
2341
+ "children": [
2342
+ {
2343
+ "content": "@entity.title",
2344
+ "type": "typography",
2345
+ "variant": "h4"
2346
+ },
2347
+ [
2348
+ "if",
2349
+ [
2350
+ "==",
2351
+ "@config.summary",
2352
+ ""
2353
+ ],
2354
+ null,
2355
+ {
2356
+ "color": "muted",
2357
+ "content": "@config.summary",
2358
+ "type": "typography",
2359
+ "variant": "body2"
2360
+ }
2361
+ ]
2362
+ ],
2363
+ "direction": "vertical",
2364
+ "gap": "xs",
2365
+ "type": "stack"
2366
+ },
2367
+ {
2368
+ "label": [
2369
+ "if",
2370
+ "@entity.checked",
2371
+ [
2372
+ "if",
2373
+ [
2374
+ "==",
2375
+ "@entity.correctCount",
2376
+ "@entity.totalItems"
2377
+ ],
2378
+ "Correct",
2379
+ [
2380
+ "str/concat",
2381
+ "@entity.correctCount",
2382
+ " / ",
2383
+ "@entity.totalItems",
2384
+ " correct"
2385
+ ]
2386
+ ],
2387
+ [
2388
+ "str/concat",
2389
+ [
2390
+ "array/len",
2391
+ "@entity.placedIds"
2392
+ ],
2393
+ " / ",
2394
+ "@entity.totalItems",
2395
+ " placed"
2396
+ ]
2397
+ ],
2398
+ "type": "badge",
2399
+ "variant": [
2400
+ "if",
2401
+ "@entity.checked",
2402
+ [
2403
+ "if",
2404
+ [
2405
+ "==",
2406
+ "@entity.correctCount",
2407
+ "@entity.totalItems"
2408
+ ],
2409
+ "success",
2410
+ "error"
2411
+ ],
2412
+ "neutral"
2413
+ ]
2414
+ }
2415
+ ],
2416
+ "direction": "horizontal",
2417
+ "gap": "md",
2418
+ "justify": "between",
2419
+ "type": "stack"
2420
+ },
2421
+ {
2422
+ "animate": "@config.animate",
2423
+ "curves": [],
2424
+ "gridStep": 1.0,
2425
+ "height": "@config.height",
2426
+ "interactive": "@config.interactive",
2427
+ "keyMap": {
2428
+ "Backspace": "UNDO",
2429
+ "KeyR": "RETRY",
2430
+ "Space": "CHECK"
2431
+ },
2432
+ "points": [],
2433
+ "shapes": "@entity.slotShapes",
2434
+ "showAxes": false,
2435
+ "showGrid": false,
2436
+ "type": "math-canvas",
2437
+ "vectors": [],
2438
+ "width": "@config.width",
2439
+ "xMax": "@config.width",
2440
+ "xMin": 0.0,
2441
+ "yMax": "@config.height",
2442
+ "yMin": 0.0
2443
+ },
2444
+ {
2445
+ "children": [
2446
+ "array/map",
2447
+ [
2448
+ "array/filter",
2449
+ "@entity.items",
2450
+ [
2451
+ "fn",
2452
+ "it",
2453
+ [
2454
+ "not",
2455
+ [
2456
+ "array/includes",
2457
+ "@entity.placedIds",
2458
+ [
2459
+ "object/get",
2460
+ "@it",
2461
+ "id"
2462
+ ]
2463
+ ]
2464
+ ]
2465
+ ]
2466
+ ],
2467
+ [
2468
+ "fn",
2469
+ "it",
2470
+ {
2471
+ "action": "PLACE",
2472
+ "actionPayload": {
2473
+ "itemId": [
2474
+ "object/get",
2475
+ "@it",
2476
+ "id"
2477
+ ]
2478
+ },
2479
+ "disabled": "@entity.checked",
2480
+ "label": [
2481
+ "if",
2482
+ [
2483
+ "!=",
2484
+ [
2485
+ "object/get",
2486
+ "@it",
2487
+ "hint",
2488
+ ""
2489
+ ],
2490
+ ""
2491
+ ],
2492
+ [
2493
+ "str/concat",
2494
+ [
2495
+ "object/get",
2496
+ "@it",
2497
+ "label"
2498
+ ],
2499
+ " — ",
2500
+ [
2501
+ "object/get",
2502
+ "@it",
2503
+ "hint",
2504
+ ""
2505
+ ]
2506
+ ],
2507
+ [
2508
+ "object/get",
2509
+ "@it",
2510
+ "label"
2511
+ ]
2512
+ ],
2513
+ "size": "lg",
2514
+ "type": "button",
2515
+ "variant": "secondary"
2516
+ }
2517
+ ]
2518
+ ],
2519
+ "direction": "vertical",
2520
+ "gap": "sm",
2521
+ "type": "stack"
2522
+ },
2523
+ {
2524
+ "align": "center",
2525
+ "children": [
2526
+ {
2527
+ "action": "CHECK",
2528
+ "disabled": [
2529
+ "if",
2530
+ [
2531
+ ">=",
2532
+ [
2533
+ "array/len",
2534
+ "@entity.placedIds"
2535
+ ],
2536
+ "@entity.totalItems"
2537
+ ],
2538
+ false,
2539
+ true
2540
+ ],
2541
+ "icon": "check",
2542
+ "label": "@config.checkLabel",
2543
+ "type": "button",
2544
+ "variant": "primary"
2545
+ },
2546
+ {
2547
+ "action": "UNDO",
2548
+ "disabled": [
2549
+ "if",
2550
+ [
2551
+ ">",
2552
+ [
2553
+ "array/len",
2554
+ "@entity.placedIds"
2555
+ ],
2556
+ 0.0
2557
+ ],
2558
+ false,
2559
+ true
2560
+ ],
2561
+ "icon": "chevron-left",
2562
+ "label": "@config.undoLabel",
2563
+ "type": "button",
2564
+ "variant": "secondary"
2565
+ },
2566
+ {
2567
+ "action": "RETRY",
2568
+ "icon": "rotate-ccw",
2569
+ "label": "@config.retryLabel",
2570
+ "type": "button",
2571
+ "variant": "ghost"
2572
+ },
2573
+ {
2574
+ "color": "muted",
2575
+ "content": [
2576
+ "str/concat",
2577
+ "Placed ",
2578
+ [
2579
+ "array/len",
2580
+ "@entity.placedIds"
2581
+ ],
2582
+ " of ",
2583
+ "@entity.totalItems"
2584
+ ],
2585
+ "type": "typography",
2586
+ "variant": "caption"
2587
+ }
2588
+ ],
2589
+ "direction": "horizontal",
2590
+ "gap": "sm",
2591
+ "type": "stack",
2592
+ "wrap": true
2593
+ },
2594
+ {
2595
+ "content": [
2596
+ "if",
2597
+ "@entity.checked",
2598
+ "@entity.verdict",
2599
+ "Tap items to build the sequence in order, then press Check."
2600
+ ],
2601
+ "type": "typography",
2602
+ "variant": "body"
2603
+ }
2604
+ ],
2605
+ "direction": "vertical",
2606
+ "gap": "md",
2607
+ "type": "stack"
2608
+ }
2609
+ ],
2610
+ "padding": "md",
2611
+ "type": "box"
2612
+ }
2613
+ ]
2614
+ ],
2615
+ "event": "ROSTER_LOADED",
2616
+ "eventId": "evt_01M459W74B3EZ019XMHP1C7ZZ3",
2617
+ "from": "idle",
2618
+ "guard": [
2619
+ "and",
2620
+ [
2621
+ "==",
2622
+ "@config.rosterSource",
2623
+ "event"
2624
+ ],
2625
+ [
2626
+ "and",
2627
+ [
2628
+ "==",
2629
+ "@payload.mode",
2630
+ "@config.matchMode"
2631
+ ],
2632
+ [
2633
+ ">",
2634
+ [
2635
+ "array/len",
2636
+ "@payload.items"
2637
+ ],
2638
+ 0.0
2639
+ ]
2640
+ ]
2641
+ ],
2642
+ "to": "idle"
2643
+ },
2644
+ {
2645
+ "effects": [
2646
+ [
2647
+ "set",
2648
+ "@entity.active",
2649
+ false
2650
+ ],
2651
+ [
2652
+ "render-ui",
2653
+ "main",
2654
+ null
2655
+ ]
2656
+ ],
2657
+ "event": "ROSTER_LOADED",
2658
+ "eventId": "evt_01M459W74B3EZ019XMHP1C7ZZ3",
2659
+ "from": "idle",
2660
+ "guard": [
2661
+ "and",
2662
+ [
2663
+ "==",
2664
+ "@config.rosterSource",
2665
+ "event"
2666
+ ],
2667
+ [
2668
+ "not",
2669
+ [
2670
+ "==",
2671
+ "@payload.mode",
2672
+ "@config.matchMode"
2673
+ ]
2674
+ ]
1948
2675
  ],
1949
2676
  "to": "idle"
1950
2677
  },
@@ -2032,7 +2759,7 @@
2032
2759
  "@filled",
2033
2760
  [
2034
2761
  "array/find",
2035
- "@config.items",
2762
+ "@entity.items",
2036
2763
  [
2037
2764
  "fn",
2038
2765
  "it",
@@ -2307,7 +3034,7 @@
2307
3034
  "array/map",
2308
3035
  [
2309
3036
  "array/filter",
2310
- "@config.items",
3037
+ "@entity.items",
2311
3038
  [
2312
3039
  "fn",
2313
3040
  "it",
@@ -2585,7 +3312,7 @@
2585
3312
  "@filled",
2586
3313
  [
2587
3314
  "array/find",
2588
- "@config.items",
3315
+ "@entity.items",
2589
3316
  [
2590
3317
  "fn",
2591
3318
  "it",
@@ -2860,7 +3587,7 @@
2860
3587
  "array/map",
2861
3588
  [
2862
3589
  "array/filter",
2863
- "@config.items",
3590
+ "@entity.items",
2864
3591
  [
2865
3592
  "fn",
2866
3593
  "it",
@@ -3082,7 +3809,7 @@
3082
3809
  "item",
3083
3810
  [
3084
3811
  "array/find",
3085
- "@config.items",
3812
+ "@entity.items",
3086
3813
  [
3087
3814
  "fn",
3088
3815
  "it",
@@ -3218,7 +3945,7 @@
3218
3945
  "@filled",
3219
3946
  [
3220
3947
  "array/find",
3221
- "@config.items",
3948
+ "@entity.items",
3222
3949
  [
3223
3950
  "fn",
3224
3951
  "it",
@@ -3493,7 +4220,7 @@
3493
4220
  "array/map",
3494
4221
  [
3495
4222
  "array/filter",
3496
- "@config.items",
4223
+ "@entity.items",
3497
4224
  [
3498
4225
  "fn",
3499
4226
  "it",
@@ -3785,7 +4512,7 @@
3785
4512
  "@filled",
3786
4513
  [
3787
4514
  "array/find",
3788
- "@config.items",
4515
+ "@entity.items",
3789
4516
  [
3790
4517
  "fn",
3791
4518
  "it",
@@ -4060,7 +4787,7 @@
4060
4787
  "array/map",
4061
4788
  [
4062
4789
  "array/filter",
4063
- "@config.items",
4790
+ "@entity.items",
4064
4791
  [
4065
4792
  "fn",
4066
4793
  "it",