@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
@@ -217,7 +217,7 @@
217
217
  },
218
218
  "title": {
219
219
  "default": "Learning Instrument",
220
- "description": "The instrument's name, the header's one hero.",
220
+ "description": "The instrument's name, the header's one hero. Empty shows no title.",
221
221
  "label": "Title",
222
222
  "tier": "presentation",
223
223
  "type": "string"
@@ -490,11 +490,20 @@
490
490
  "children": [
491
491
  {
492
492
  "children": [
493
- {
494
- "content": "@entity.title",
495
- "type": "typography",
496
- "variant": "h4"
497
- },
493
+ [
494
+ "if",
495
+ [
496
+ "==",
497
+ "@entity.title",
498
+ ""
499
+ ],
500
+ null,
501
+ {
502
+ "content": "@entity.title",
503
+ "type": "typography",
504
+ "variant": "h4"
505
+ }
506
+ ],
498
507
  [
499
508
  "if",
500
509
  [
@@ -814,11 +823,20 @@
814
823
  "children": [
815
824
  {
816
825
  "children": [
817
- {
818
- "content": "@entity.title",
819
- "type": "typography",
820
- "variant": "h4"
821
- },
826
+ [
827
+ "if",
828
+ [
829
+ "==",
830
+ "@entity.title",
831
+ ""
832
+ ],
833
+ null,
834
+ {
835
+ "content": "@entity.title",
836
+ "type": "typography",
837
+ "variant": "h4"
838
+ }
839
+ ],
822
840
  [
823
841
  "if",
824
842
  [
@@ -1164,11 +1182,20 @@
1164
1182
  "children": [
1165
1183
  {
1166
1184
  "children": [
1167
- {
1168
- "content": "@entity.title",
1169
- "type": "typography",
1170
- "variant": "h4"
1171
- },
1185
+ [
1186
+ "if",
1187
+ [
1188
+ "==",
1189
+ "@entity.title",
1190
+ ""
1191
+ ],
1192
+ null,
1193
+ {
1194
+ "content": "@entity.title",
1195
+ "type": "typography",
1196
+ "variant": "h4"
1197
+ }
1198
+ ],
1172
1199
  [
1173
1200
  "if",
1174
1201
  [
@@ -1481,11 +1508,20 @@
1481
1508
  "children": [
1482
1509
  {
1483
1510
  "children": [
1484
- {
1485
- "content": "@entity.title",
1486
- "type": "typography",
1487
- "variant": "h4"
1488
- },
1511
+ [
1512
+ "if",
1513
+ [
1514
+ "==",
1515
+ "@entity.title",
1516
+ ""
1517
+ ],
1518
+ null,
1519
+ {
1520
+ "content": "@entity.title",
1521
+ "type": "typography",
1522
+ "variant": "h4"
1523
+ }
1524
+ ],
1489
1525
  [
1490
1526
  "if",
1491
1527
  [
@@ -1795,11 +1831,20 @@
1795
1831
  "children": [
1796
1832
  {
1797
1833
  "children": [
1798
- {
1799
- "content": "@entity.title",
1800
- "type": "typography",
1801
- "variant": "h4"
1802
- },
1834
+ [
1835
+ "if",
1836
+ [
1837
+ "==",
1838
+ "@entity.title",
1839
+ ""
1840
+ ],
1841
+ null,
1842
+ {
1843
+ "content": "@entity.title",
1844
+ "type": "typography",
1845
+ "variant": "h4"
1846
+ }
1847
+ ],
1803
1848
  [
1804
1849
  "if",
1805
1850
  [
@@ -2096,11 +2141,20 @@
2096
2141
  "children": [
2097
2142
  {
2098
2143
  "children": [
2099
- {
2100
- "content": "@entity.title",
2101
- "type": "typography",
2102
- "variant": "h4"
2103
- },
2144
+ [
2145
+ "if",
2146
+ [
2147
+ "==",
2148
+ "@entity.title",
2149
+ ""
2150
+ ],
2151
+ null,
2152
+ {
2153
+ "content": "@entity.title",
2154
+ "type": "typography",
2155
+ "variant": "h4"
2156
+ }
2157
+ ],
2104
2158
  [
2105
2159
  "if",
2106
2160
  [
@@ -82,6 +82,15 @@
82
82
  "parent": "trt_01M0CG89EHQS7X90DRZY23WCFC",
83
83
  "renames": []
84
84
  },
85
+ "evt_01M459X4NJ5E26T5MA4W13W2A5": {
86
+ "bakedName": "ROSTER_LOADED",
87
+ "curName": "ROSTER_LOADED",
88
+ "id": "evt_01M459X4NJ5E26T5MA4W13W2A5",
89
+ "kind": "event",
90
+ "owner": "workspace",
91
+ "parent": "trt_01M0CG89EHQS7X90DRZY23WCFC",
92
+ "renames": []
93
+ },
85
94
  "orb_01M0CG89EHJ7FAMVAKBY8C3CRT": {
86
95
  "bakedName": "LearnTreeOrbital",
87
96
  "curName": "LearnTreeOrbital",
@@ -128,6 +137,13 @@
128
137
  "name": "title",
129
138
  "type": "string"
130
139
  },
140
+ {
141
+ "items": {
142
+ "type": "number"
143
+ },
144
+ "name": "values",
145
+ "type": "array"
146
+ },
131
147
  {
132
148
  "items": {
133
149
  "properties": {
@@ -386,6 +402,17 @@
386
402
  "tier": "presentation",
387
403
  "type": "string"
388
404
  },
405
+ "rosterSource": {
406
+ "default": "config",
407
+ "description": "Where the insertion values come from: config reads the values knob at INIT; event waits for ROSTER_LOADED and takes them from its payload.",
408
+ "label": "Roster Source",
409
+ "tier": "domain",
410
+ "type": "string",
411
+ "values": [
412
+ "config",
413
+ "event"
414
+ ]
415
+ },
389
416
  "showComparisons": {
390
417
  "default": true,
391
418
  "description": "Include each left/right comparison in the narration while a value descends; turn off for a terse attach-only narration.",
@@ -585,6 +612,10 @@
585
612
  "resource": "@entity.traversing",
586
613
  "site": "tick"
587
614
  },
615
+ {
616
+ "kind": "set",
617
+ "resource": "@entity.values"
618
+ },
588
619
  {
589
620
  "kind": "ticks",
590
621
  "site": "tick"
@@ -682,7 +713,8 @@
682
713
  "title",
683
714
  "trail",
684
715
  "traversalOrder",
685
- "traversing"
716
+ "traversing",
717
+ "values"
686
718
  ],
687
719
  "requires": []
688
720
  },
@@ -715,6 +747,25 @@
715
747
  ],
716
748
  "tier": "domain"
717
749
  },
750
+ {
751
+ "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 values is the insertion sequence; a matching instrument re-initialises from it exactly as INIT does from config, any other instrument hides.",
752
+ "id": "evt_01M459X4NJ5E26T5MA4W13W2A5",
753
+ "key": "ROSTER_LOADED",
754
+ "name": "Roster Loaded",
755
+ "payloadSchema": [
756
+ {
757
+ "name": "mode",
758
+ "required": true,
759
+ "type": "string"
760
+ },
761
+ {
762
+ "name": "values",
763
+ "required": true,
764
+ "type": "[number]"
765
+ }
766
+ ],
767
+ "tier": "domain"
768
+ },
718
769
  {
719
770
  "description": "Insert the next config-declared value: descends one comparison step per press from the root, coloring the descent cursor and comparison trail, until it attaches as a leaf. Pressing again while a descent is in flight continues that same descent.",
720
771
  "id": "evt_01M0CG89EJN30MPAE3P0TV5WJZ",
@@ -842,6 +893,11 @@
842
893
  "@entity.title",
843
894
  "@config.title"
844
895
  ],
896
+ [
897
+ "set",
898
+ "@entity.values",
899
+ "@config.values"
900
+ ],
845
901
  [
846
902
  "set",
847
903
  "@entity.nodes",
@@ -1100,9 +1156,17 @@
1100
1156
  "eventId": "evt_01M0CG89EH11YN23CNFJ9XT40B",
1101
1157
  "from": "idle",
1102
1158
  "guard": [
1103
- "==",
1104
- "@config.matchMode",
1105
- ""
1159
+ "and",
1160
+ [
1161
+ "==",
1162
+ "@config.matchMode",
1163
+ ""
1164
+ ],
1165
+ [
1166
+ "==",
1167
+ "@config.rosterSource",
1168
+ "config"
1169
+ ]
1106
1170
  ],
1107
1171
  "to": "idle"
1108
1172
  },
@@ -1160,6 +1224,11 @@
1160
1224
  "@entity.title",
1161
1225
  "@config.title"
1162
1226
  ],
1227
+ [
1228
+ "set",
1229
+ "@entity.values",
1230
+ "@config.values"
1231
+ ],
1163
1232
  [
1164
1233
  "set",
1165
1234
  "@entity.nodes",
@@ -1418,9 +1487,356 @@
1418
1487
  "eventId": "evt_01M0CG89EJ61ZX62ZHT1AD0XJC",
1419
1488
  "from": "idle",
1420
1489
  "guard": [
1421
- "==",
1422
- "@payload.mode",
1423
- "@config.matchMode"
1490
+ "and",
1491
+ [
1492
+ "==",
1493
+ "@payload.mode",
1494
+ "@config.matchMode"
1495
+ ],
1496
+ [
1497
+ "==",
1498
+ "@config.rosterSource",
1499
+ "config"
1500
+ ]
1501
+ ],
1502
+ "to": "idle"
1503
+ },
1504
+ {
1505
+ "effects": [
1506
+ [
1507
+ "set",
1508
+ "@entity.active",
1509
+ true
1510
+ ],
1511
+ [
1512
+ "set",
1513
+ "@entity.title",
1514
+ "@config.title"
1515
+ ],
1516
+ [
1517
+ "set",
1518
+ "@entity.values",
1519
+ "@payload.values"
1520
+ ],
1521
+ [
1522
+ "set",
1523
+ "@entity.nodes",
1524
+ []
1525
+ ],
1526
+ [
1527
+ "set",
1528
+ "@entity.edges",
1529
+ []
1530
+ ],
1531
+ [
1532
+ "set",
1533
+ "@entity.entries",
1534
+ []
1535
+ ],
1536
+ [
1537
+ "set",
1538
+ "@entity.cursor",
1539
+ 0.0
1540
+ ],
1541
+ [
1542
+ "set",
1543
+ "@entity.descending",
1544
+ false
1545
+ ],
1546
+ [
1547
+ "set",
1548
+ "@entity.trail",
1549
+ []
1550
+ ],
1551
+ [
1552
+ "set",
1553
+ "@entity.depth",
1554
+ 0.0
1555
+ ],
1556
+ [
1557
+ "set",
1558
+ "@entity.maxDepth",
1559
+ 0.0
1560
+ ],
1561
+ [
1562
+ "set",
1563
+ "@entity.count",
1564
+ 0.0
1565
+ ],
1566
+ [
1567
+ "set",
1568
+ "@entity.traversing",
1569
+ false
1570
+ ],
1571
+ [
1572
+ "set",
1573
+ "@entity.traversalOrder",
1574
+ []
1575
+ ],
1576
+ [
1577
+ "set",
1578
+ "@entity.sweptIds",
1579
+ []
1580
+ ],
1581
+ [
1582
+ "set",
1583
+ "@entity.done",
1584
+ false
1585
+ ],
1586
+ [
1587
+ "set",
1588
+ "@entity.running",
1589
+ "@config.autoRun"
1590
+ ],
1591
+ [
1592
+ "set",
1593
+ "@entity.narration",
1594
+ "Press Insert to add the next value; keep pressing to watch it descend."
1595
+ ],
1596
+ [
1597
+ "render-ui",
1598
+ "main",
1599
+ {
1600
+ "children": [
1601
+ {
1602
+ "children": [
1603
+ {
1604
+ "align": "start",
1605
+ "children": [
1606
+ {
1607
+ "children": [
1608
+ {
1609
+ "content": "@entity.title",
1610
+ "type": "typography",
1611
+ "variant": "h4"
1612
+ },
1613
+ [
1614
+ "if",
1615
+ [
1616
+ "==",
1617
+ "@config.summary",
1618
+ ""
1619
+ ],
1620
+ null,
1621
+ {
1622
+ "color": "muted",
1623
+ "content": "@config.summary",
1624
+ "type": "typography",
1625
+ "variant": "body2"
1626
+ }
1627
+ ]
1628
+ ],
1629
+ "direction": "vertical",
1630
+ "gap": "xs",
1631
+ "type": "stack"
1632
+ },
1633
+ {
1634
+ "label": [
1635
+ "if",
1636
+ "@entity.traversing",
1637
+ "Traversing",
1638
+ [
1639
+ "if",
1640
+ "@entity.running",
1641
+ "Auto-stepping",
1642
+ "Building"
1643
+ ]
1644
+ ],
1645
+ "type": "badge",
1646
+ "variant": [
1647
+ "if",
1648
+ "@entity.traversing",
1649
+ "success",
1650
+ [
1651
+ "if",
1652
+ "@entity.running",
1653
+ "primary",
1654
+ "neutral"
1655
+ ]
1656
+ ]
1657
+ }
1658
+ ],
1659
+ "direction": "horizontal",
1660
+ "gap": "md",
1661
+ "justify": "between",
1662
+ "type": "stack"
1663
+ },
1664
+ {
1665
+ "align": "center",
1666
+ "children": [
1667
+ {
1668
+ "action": "INSERT_VALUE",
1669
+ "icon": "plus",
1670
+ "label": "Insert",
1671
+ "type": "button",
1672
+ "variant": "primary"
1673
+ },
1674
+ {
1675
+ "action": "DELETE_VALUE",
1676
+ "label": "Delete",
1677
+ "type": "button",
1678
+ "variant": "secondary"
1679
+ },
1680
+ {
1681
+ "action": "RUN_TRAVERSAL",
1682
+ "icon": "step-forward",
1683
+ "label": "Traverse",
1684
+ "type": "button",
1685
+ "variant": "secondary"
1686
+ },
1687
+ [
1688
+ "if",
1689
+ "@entity.running",
1690
+ {
1691
+ "action": "TOGGLE_RUN",
1692
+ "aria-pressed": "true",
1693
+ "icon": "pause",
1694
+ "label": "Pause",
1695
+ "type": "button",
1696
+ "variant": "secondary"
1697
+ },
1698
+ {
1699
+ "action": "TOGGLE_RUN",
1700
+ "aria-pressed": "false",
1701
+ "icon": "play",
1702
+ "label": "Run",
1703
+ "type": "button",
1704
+ "variant": "secondary"
1705
+ }
1706
+ ],
1707
+ {
1708
+ "action": "RESET",
1709
+ "icon": "rotate-ccw",
1710
+ "label": "Reset",
1711
+ "type": "button",
1712
+ "variant": "ghost"
1713
+ },
1714
+ {
1715
+ "color": "muted",
1716
+ "content": [
1717
+ "str/concat",
1718
+ [
1719
+ "str/concat",
1720
+ "",
1721
+ "@entity.count"
1722
+ ],
1723
+ " nodes"
1724
+ ],
1725
+ "type": "typography",
1726
+ "variant": "caption"
1727
+ }
1728
+ ],
1729
+ "direction": "horizontal",
1730
+ "gap": "sm",
1731
+ "type": "stack",
1732
+ "wrap": true
1733
+ },
1734
+ {
1735
+ "backgroundColor": "@config.backgroundColor",
1736
+ "edges": "@entity.edges",
1737
+ "height": "@config.height",
1738
+ "keyMap": {
1739
+ "ArrowRight": "RUN_TRAVERSAL",
1740
+ "KeyR": "RESET",
1741
+ "Space": "TOGGLE_RUN"
1742
+ },
1743
+ "layout": "tree",
1744
+ "nodes": "@entity.nodes",
1745
+ "root": "n0",
1746
+ "type": "algo-graph-canvas",
1747
+ "width": "@config.width"
1748
+ },
1749
+ {
1750
+ "content": "@entity.narration",
1751
+ "type": "typography",
1752
+ "variant": "body"
1753
+ }
1754
+ ],
1755
+ "direction": "vertical",
1756
+ "gap": "md",
1757
+ "type": "stack"
1758
+ }
1759
+ ],
1760
+ "padding": "md",
1761
+ "type": "box"
1762
+ }
1763
+ ],
1764
+ [
1765
+ "emit",
1766
+ "TREE_UPDATED",
1767
+ {
1768
+ "count": "@entity.count",
1769
+ "edges": "@entity.edges",
1770
+ "narration": "@entity.narration",
1771
+ "nodes": "@entity.nodes"
1772
+ }
1773
+ ]
1774
+ ],
1775
+ "event": "ROSTER_LOADED",
1776
+ "eventId": "evt_01M459X4NJ5E26T5MA4W13W2A5",
1777
+ "from": "idle",
1778
+ "guard": [
1779
+ "and",
1780
+ [
1781
+ "==",
1782
+ "@config.rosterSource",
1783
+ "event"
1784
+ ],
1785
+ [
1786
+ "and",
1787
+ [
1788
+ "==",
1789
+ "@payload.mode",
1790
+ "@config.matchMode"
1791
+ ],
1792
+ [
1793
+ ">",
1794
+ [
1795
+ "array/len",
1796
+ "@payload.values"
1797
+ ],
1798
+ 0.0
1799
+ ]
1800
+ ]
1801
+ ],
1802
+ "to": "idle"
1803
+ },
1804
+ {
1805
+ "effects": [
1806
+ [
1807
+ "set",
1808
+ "@entity.active",
1809
+ false
1810
+ ],
1811
+ [
1812
+ "set",
1813
+ "@entity.running",
1814
+ false
1815
+ ],
1816
+ [
1817
+ "render-ui",
1818
+ "main",
1819
+ null
1820
+ ]
1821
+ ],
1822
+ "event": "ROSTER_LOADED",
1823
+ "eventId": "evt_01M459X4NJ5E26T5MA4W13W2A5",
1824
+ "from": "idle",
1825
+ "guard": [
1826
+ "and",
1827
+ [
1828
+ "==",
1829
+ "@config.rosterSource",
1830
+ "event"
1831
+ ],
1832
+ [
1833
+ "not",
1834
+ [
1835
+ "==",
1836
+ "@payload.mode",
1837
+ "@config.matchMode"
1838
+ ]
1839
+ ]
1424
1840
  ],
1425
1841
  "to": "idle"
1426
1842
  },
@@ -1459,7 +1875,7 @@
1459
1875
  "v",
1460
1876
  [
1461
1877
  "array/nth",
1462
- "@config.values",
1878
+ "@entity.values",
1463
1879
  "@entity.cursor"
1464
1880
  ]
1465
1881
  ]
@@ -2347,7 +2763,7 @@
2347
2763
  "@entity.cursor",
2348
2764
  [
2349
2765
  "array/len",
2350
- "@config.values"
2766
+ "@entity.values"
2351
2767
  ]
2352
2768
  ]
2353
2769
  ]