@almadar/std 16.241.0 → 16.242.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 (109) hide show
  1. package/behaviors/behaviors-registry.json +4650 -535
  2. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +38 -1
  3. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +1074 -47
  4. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +8 -7
  5. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +56 -37
  6. package/behaviors/lolo/infra/atoms/std-page-open.lolo +59 -0
  7. package/behaviors/lolo/infra/atoms/std-page-search.lolo +134 -0
  8. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +59 -0
  9. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +86 -0
  10. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +25 -1
  11. package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +9 -0
  12. package/behaviors/lolo/ui/core/atoms/std-doc-page.lolo +153 -0
  13. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +124 -92
  14. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +114 -55
  15. package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +40 -14
  16. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +363 -123
  17. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +93 -48
  18. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +60 -28
  19. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +193 -96
  20. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +75 -32
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +142 -86
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +266 -98
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +103 -65
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +223 -109
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +232 -64
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-param-explorer.lolo +69 -29
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +363 -123
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +73 -41
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-sample-accumulator.lolo +96 -38
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +65 -45
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +243 -117
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +76 -28
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +228 -109
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +95 -44
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +199 -125
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +92 -48
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +239 -78
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +147 -38
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +123 -58
  40. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +22 -0
  41. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +26 -0
  42. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +26 -0
  43. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +27 -1
  44. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +27 -1
  45. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +29 -9
  46. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +26 -0
  47. package/behaviors/lolo-behavior-contracts.json +1 -1
  48. package/behaviors/registry/agent/atoms/std-agent-memory.orb +372 -2
  49. package/behaviors/registry/agent/atoms/std-agent-session.orb +4752 -348
  50. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +54 -42
  51. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +356 -122
  52. package/behaviors/registry/factory-signatures.json +1 -1
  53. package/behaviors/registry/infra/atoms/std-page-open.orb +435 -0
  54. package/behaviors/registry/infra/atoms/std-page-search.orb +867 -0
  55. package/behaviors/registry/infra/atoms/std-page-treat.orb +494 -0
  56. package/behaviors/registry/infra/atoms/std-page-watch.orb +554 -0
  57. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +119 -0
  58. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +61 -0
  59. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +594 -0
  60. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +903 -369
  61. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1002 -232
  62. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +253 -74
  63. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3624 -921
  64. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +685 -144
  65. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +404 -52
  66. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1787 -210
  67. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +699 -71
  68. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1102 -578
  69. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +2760 -872
  70. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +689 -152
  71. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1431 -633
  72. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +2485 -512
  73. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +501 -197
  74. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +3642 -928
  75. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +705 -125
  76. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +624 -114
  77. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +405 -153
  78. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1911 -611
  79. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +436 -128
  80. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +2482 -485
  81. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +896 -192
  82. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +2001 -759
  83. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +734 -228
  84. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +2501 -764
  85. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1591 -173
  86. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +883 -122
  87. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +176 -0
  88. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +211 -0
  89. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +211 -0
  90. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +212 -1
  91. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +212 -1
  92. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +203 -9
  93. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +211 -0
  94. package/behaviors/signatures.lolo +325 -655
  95. package/dist/behaviors/exports-reader.js +16092 -9747
  96. package/dist/behaviors/functions/index.d.ts +1052 -136
  97. package/dist/behaviors/functions/index.js +16063 -9745
  98. package/dist/behaviors/index.d.ts +1 -1
  99. package/dist/behaviors/index.js +16093 -9748
  100. package/dist/behaviors/query.js +16092 -9747
  101. package/dist/behaviors-embeddings.hash.json +3 -3
  102. package/dist/behaviors-embeddings.json +45 -25
  103. package/dist/behaviors-registry.json +4650 -535
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.js +16093 -9748
  106. package/dist/knob-embeddings.hash.json +3 -3
  107. package/dist/knob-embeddings.json +607 -263
  108. package/dist/registry/factory-signatures.json +1 -1
  109. package/package.json +3 -3
@@ -240,8 +240,8 @@
240
240
  "category": "interaction",
241
241
  "config": {
242
242
  "backgroundColor": {
243
- "default": "#f8fafc",
244
- "description": "Canvas background color.",
243
+ "default": "",
244
+ "description": "Canvas ground. Empty uses the theme drawing ground.",
245
245
  "label": "Background Color",
246
246
  "tier": "presentation",
247
247
  "type": "string"
@@ -261,7 +261,7 @@
261
261
  "type": "number"
262
262
  },
263
263
  "highlightColor": {
264
- "default": "#f59e0b",
264
+ "default": "highlight",
265
265
  "description": "Ring color drawn around the selected part.",
266
266
  "label": "Highlight Color",
267
267
  "tier": "presentation",
@@ -270,25 +270,25 @@
270
270
  "links": {
271
271
  "default": [
272
272
  {
273
- "color": "#cbd5e1",
273
+ "color": "guide",
274
274
  "from": "input",
275
275
  "label": "",
276
276
  "to": "processor"
277
277
  },
278
278
  {
279
- "color": "#cbd5e1",
279
+ "color": "guide",
280
280
  "from": "processor",
281
281
  "label": "",
282
282
  "to": "storage"
283
283
  },
284
284
  {
285
- "color": "#cbd5e1",
285
+ "color": "guide",
286
286
  "from": "processor",
287
287
  "label": "",
288
288
  "to": "output"
289
289
  },
290
290
  {
291
- "color": "#cbd5e1",
291
+ "color": "guide",
292
292
  "from": "controller",
293
293
  "label": "",
294
294
  "to": "processor"
@@ -342,7 +342,7 @@
342
342
  "parts": {
343
343
  "default": [
344
344
  {
345
- "color": "#2563eb",
345
+ "color": "series-1",
346
346
  "description": "Receives raw data or requests from the outside world and hands them to the processor.",
347
347
  "id": "input",
348
348
  "label": "Input",
@@ -351,7 +351,7 @@
351
351
  "y": 200.0
352
352
  },
353
353
  {
354
- "color": "#7c3aed",
354
+ "color": "series-2",
355
355
  "description": "The central component that transforms incoming data according to the system's rules.",
356
356
  "id": "processor",
357
357
  "label": "Processor",
@@ -360,7 +360,7 @@
360
360
  "y": 200.0
361
361
  },
362
362
  {
363
- "color": "#0891b2",
363
+ "color": "series-3",
364
364
  "description": "Persists data so it can be retrieved later, even after the system restarts.",
365
365
  "id": "storage",
366
366
  "label": "Storage",
@@ -369,7 +369,7 @@
369
369
  "y": 320.0
370
370
  },
371
371
  {
372
- "color": "#16a34a",
372
+ "color": "series-4",
373
373
  "description": "Delivers the processor's results back out to users or other systems.",
374
374
  "id": "output",
375
375
  "label": "Output",
@@ -378,7 +378,7 @@
378
378
  "y": 200.0
379
379
  },
380
380
  {
381
- "color": "#dc2626",
381
+ "color": "series-5",
382
382
  "description": "Coordinates timing and configuration for the processor without touching the data itself.",
383
383
  "id": "controller",
384
384
  "label": "Controller",
@@ -433,6 +433,13 @@
433
433
  "tier": "domain",
434
434
  "type": "[LearnDiagramPart]"
435
435
  },
436
+ "summary": {
437
+ "default": "",
438
+ "description": "One line under the title saying what the learner is looking at (keep it under ~65 characters). Empty shows no line.",
439
+ "label": "Concept",
440
+ "tier": "presentation",
441
+ "type": "string"
442
+ },
436
443
  "title": {
437
444
  "default": "System Diagram",
438
445
  "description": "Title shown above the diagram.",
@@ -771,9 +778,92 @@
771
778
  {
772
779
  "children": [
773
780
  {
774
- "content": "@entity.title",
775
- "type": "typography",
776
- "variant": "h4"
781
+ "align": "start",
782
+ "children": [
783
+ {
784
+ "children": [
785
+ {
786
+ "content": "@entity.title",
787
+ "type": "typography",
788
+ "variant": "h4"
789
+ },
790
+ [
791
+ "if",
792
+ [
793
+ "==",
794
+ "@config.summary",
795
+ ""
796
+ ],
797
+ null,
798
+ {
799
+ "color": "muted",
800
+ "content": "@config.summary",
801
+ "type": "typography",
802
+ "variant": "body2"
803
+ }
804
+ ]
805
+ ],
806
+ "direction": "vertical",
807
+ "gap": "xs",
808
+ "type": "stack"
809
+ },
810
+ {
811
+ "label": [
812
+ "if",
813
+ [
814
+ "==",
815
+ "@entity.selectedId",
816
+ ""
817
+ ],
818
+ "Overview",
819
+ [
820
+ "str/concat",
821
+ "Part ",
822
+ [
823
+ "str/concat",
824
+ "",
825
+ [
826
+ "+",
827
+ "@entity.selectedIndex",
828
+ 1.0
829
+ ]
830
+ ],
831
+ " of ",
832
+ [
833
+ "str/concat",
834
+ "",
835
+ [
836
+ "array/len",
837
+ "@entity.parts"
838
+ ]
839
+ ]
840
+ ]
841
+ ],
842
+ "type": "badge",
843
+ "variant": [
844
+ "if",
845
+ [
846
+ "==",
847
+ "@entity.selectedId",
848
+ ""
849
+ ],
850
+ "neutral",
851
+ "primary"
852
+ ]
853
+ }
854
+ ],
855
+ "direction": "horizontal",
856
+ "gap": "md",
857
+ "justify": "between",
858
+ "type": "stack"
859
+ },
860
+ {
861
+ "align": "center",
862
+ "children": "@entity.partButtons",
863
+ "direction": "horizontal",
864
+ "gap": "xs",
865
+ "type": "stack",
866
+ "wrap": true
777
867
  },
778
868
  {
779
869
  "backgroundColor": "@config.backgroundColor",
@@ -851,7 +941,6 @@
851
941
  [
852
942
  {
853
943
  "color": "@config.highlightColor",
854
- "lineWidth": 4.0,
855
944
  "radius": [
856
945
  "+",
857
946
  [
@@ -865,6 +954,7 @@
865
954
  ],
866
955
  10.0
867
956
  ],
957
+ "stroke": "bold",
868
958
  "type": "circle",
869
959
  "x": [
870
960
  "object/get",
@@ -895,12 +985,6 @@
895
985
  "padding": "md",
896
986
  "type": "card",
897
987
  "variant": "bordered"
898
- },
899
- {
900
- "children": "@entity.partButtons",
901
- "direction": "horizontal",
902
- "gap": "xs",
903
- "type": "stack"
904
988
  }
905
989
  ],
906
990
  "direction": "vertical",
@@ -923,6 +1007,43 @@
923
1007
  ],
924
1008
  "to": "idle"
925
1009
  },
1010
+ {
1011
+ "effects": [
1012
+ [
1013
+ "set",
1014
+ "@entity.active",
1015
+ false
1016
+ ],
1017
+ [
1018
+ "render-ui",
1019
+ "main",
1020
+ null
1021
+ ]
1022
+ ],
1023
+ "event": "MODE_SELECTED",
1024
+ "eventId": "evt_01M055GQ281Y3NWPNNPD786Z1S",
1025
+ "from": "idle",
1026
+ "guard": [
1027
+ "and",
1028
+ [
1029
+ "not",
1030
+ [
1031
+ "==",
1032
+ "@config.matchMode",
1033
+ ""
1034
+ ]
1035
+ ],
1036
+ [
1037
+ "not",
1038
+ [
1039
+ "==",
1040
+ "@payload.mode",
1041
+ "@config.matchMode"
1042
+ ]
1043
+ ]
1044
+ ],
1045
+ "to": "idle"
1046
+ },
926
1047
  {
927
1048
  "effects": [
928
1049
  [
@@ -1074,9 +1195,92 @@
1074
1195
  {
1075
1196
  "children": [
1076
1197
  {
1077
- "content": "@entity.title",
1078
- "type": "typography",
1079
- "variant": "h4"
1198
+ "align": "start",
1199
+ "children": [
1200
+ {
1201
+ "children": [
1202
+ {
1203
+ "content": "@entity.title",
1204
+ "type": "typography",
1205
+ "variant": "h4"
1206
+ },
1207
+ [
1208
+ "if",
1209
+ [
1210
+ "==",
1211
+ "@config.summary",
1212
+ ""
1213
+ ],
1214
+ null,
1215
+ {
1216
+ "color": "muted",
1217
+ "content": "@config.summary",
1218
+ "type": "typography",
1219
+ "variant": "body2"
1220
+ }
1221
+ ]
1222
+ ],
1223
+ "direction": "vertical",
1224
+ "gap": "xs",
1225
+ "type": "stack"
1226
+ },
1227
+ {
1228
+ "label": [
1229
+ "if",
1230
+ [
1231
+ "==",
1232
+ "@entity.selectedId",
1233
+ ""
1234
+ ],
1235
+ "Overview",
1236
+ [
1237
+ "str/concat",
1238
+ "Part ",
1239
+ [
1240
+ "str/concat",
1241
+ "",
1242
+ [
1243
+ "+",
1244
+ "@entity.selectedIndex",
1245
+ 1.0
1246
+ ]
1247
+ ],
1248
+ " of ",
1249
+ [
1250
+ "str/concat",
1251
+ "",
1252
+ [
1253
+ "array/len",
1254
+ "@entity.parts"
1255
+ ]
1256
+ ]
1257
+ ]
1258
+ ],
1259
+ "type": "badge",
1260
+ "variant": [
1261
+ "if",
1262
+ [
1263
+ "==",
1264
+ "@entity.selectedId",
1265
+ ""
1266
+ ],
1267
+ "neutral",
1268
+ "primary"
1269
+ ]
1270
+ }
1271
+ ],
1272
+ "direction": "horizontal",
1273
+ "gap": "md",
1274
+ "justify": "between",
1275
+ "type": "stack"
1276
+ },
1277
+ {
1278
+ "align": "center",
1279
+ "children": "@entity.partButtons",
1280
+ "direction": "horizontal",
1281
+ "gap": "xs",
1282
+ "type": "stack",
1283
+ "wrap": true
1080
1284
  },
1081
1285
  {
1082
1286
  "backgroundColor": "@config.backgroundColor",
@@ -1154,7 +1358,6 @@
1154
1358
  [
1155
1359
  {
1156
1360
  "color": "@config.highlightColor",
1157
- "lineWidth": 4.0,
1158
1361
  "radius": [
1159
1362
  "+",
1160
1363
  [
@@ -1168,6 +1371,7 @@
1168
1371
  ],
1169
1372
  10.0
1170
1373
  ],
1374
+ "stroke": "bold",
1171
1375
  "type": "circle",
1172
1376
  "x": [
1173
1377
  "object/get",
@@ -1198,12 +1402,6 @@
1198
1402
  "padding": "md",
1199
1403
  "type": "card",
1200
1404
  "variant": "bordered"
1201
- },
1202
- {
1203
- "children": "@entity.partButtons",
1204
- "direction": "horizontal",
1205
- "gap": "xs",
1206
- "type": "stack"
1207
1405
  }
1208
1406
  ],
1209
1407
  "direction": "vertical",
@@ -1437,9 +1635,92 @@
1437
1635
  {
1438
1636
  "children": [
1439
1637
  {
1440
- "content": "@entity.title",
1441
- "type": "typography",
1442
- "variant": "h4"
1638
+ "align": "start",
1639
+ "children": [
1640
+ {
1641
+ "children": [
1642
+ {
1643
+ "content": "@entity.title",
1644
+ "type": "typography",
1645
+ "variant": "h4"
1646
+ },
1647
+ [
1648
+ "if",
1649
+ [
1650
+ "==",
1651
+ "@config.summary",
1652
+ ""
1653
+ ],
1654
+ null,
1655
+ {
1656
+ "color": "muted",
1657
+ "content": "@config.summary",
1658
+ "type": "typography",
1659
+ "variant": "body2"
1660
+ }
1661
+ ]
1662
+ ],
1663
+ "direction": "vertical",
1664
+ "gap": "xs",
1665
+ "type": "stack"
1666
+ },
1667
+ {
1668
+ "label": [
1669
+ "if",
1670
+ [
1671
+ "==",
1672
+ "@entity.selectedId",
1673
+ ""
1674
+ ],
1675
+ "Overview",
1676
+ [
1677
+ "str/concat",
1678
+ "Part ",
1679
+ [
1680
+ "str/concat",
1681
+ "",
1682
+ [
1683
+ "+",
1684
+ "@entity.selectedIndex",
1685
+ 1.0
1686
+ ]
1687
+ ],
1688
+ " of ",
1689
+ [
1690
+ "str/concat",
1691
+ "",
1692
+ [
1693
+ "array/len",
1694
+ "@entity.parts"
1695
+ ]
1696
+ ]
1697
+ ]
1698
+ ],
1699
+ "type": "badge",
1700
+ "variant": [
1701
+ "if",
1702
+ [
1703
+ "==",
1704
+ "@entity.selectedId",
1705
+ ""
1706
+ ],
1707
+ "neutral",
1708
+ "primary"
1709
+ ]
1710
+ }
1711
+ ],
1712
+ "direction": "horizontal",
1713
+ "gap": "md",
1714
+ "justify": "between",
1715
+ "type": "stack"
1716
+ },
1717
+ {
1718
+ "align": "center",
1719
+ "children": "@entity.partButtons",
1720
+ "direction": "horizontal",
1721
+ "gap": "xs",
1722
+ "type": "stack",
1723
+ "wrap": true
1443
1724
  },
1444
1725
  {
1445
1726
  "backgroundColor": "@config.backgroundColor",
@@ -1517,7 +1798,6 @@
1517
1798
  [
1518
1799
  {
1519
1800
  "color": "@config.highlightColor",
1520
- "lineWidth": 4.0,
1521
1801
  "radius": [
1522
1802
  "+",
1523
1803
  [
@@ -1531,6 +1811,7 @@
1531
1811
  ],
1532
1812
  10.0
1533
1813
  ],
1814
+ "stroke": "bold",
1534
1815
  "type": "circle",
1535
1816
  "x": [
1536
1817
  "object/get",
@@ -1561,12 +1842,6 @@
1561
1842
  "padding": "md",
1562
1843
  "type": "card",
1563
1844
  "variant": "bordered"
1564
- },
1565
- {
1566
- "children": "@entity.partButtons",
1567
- "direction": "horizontal",
1568
- "gap": "xs",
1569
- "type": "stack"
1570
1845
  }
1571
1846
  ],
1572
1847
  "direction": "vertical",
@@ -1727,9 +2002,92 @@
1727
2002
  {
1728
2003
  "children": [
1729
2004
  {
1730
- "content": "@entity.title",
1731
- "type": "typography",
1732
- "variant": "h4"
2005
+ "align": "start",
2006
+ "children": [
2007
+ {
2008
+ "children": [
2009
+ {
2010
+ "content": "@entity.title",
2011
+ "type": "typography",
2012
+ "variant": "h4"
2013
+ },
2014
+ [
2015
+ "if",
2016
+ [
2017
+ "==",
2018
+ "@config.summary",
2019
+ ""
2020
+ ],
2021
+ null,
2022
+ {
2023
+ "color": "muted",
2024
+ "content": "@config.summary",
2025
+ "type": "typography",
2026
+ "variant": "body2"
2027
+ }
2028
+ ]
2029
+ ],
2030
+ "direction": "vertical",
2031
+ "gap": "xs",
2032
+ "type": "stack"
2033
+ },
2034
+ {
2035
+ "label": [
2036
+ "if",
2037
+ [
2038
+ "==",
2039
+ "@entity.selectedId",
2040
+ ""
2041
+ ],
2042
+ "Overview",
2043
+ [
2044
+ "str/concat",
2045
+ "Part ",
2046
+ [
2047
+ "str/concat",
2048
+ "",
2049
+ [
2050
+ "+",
2051
+ "@entity.selectedIndex",
2052
+ 1.0
2053
+ ]
2054
+ ],
2055
+ " of ",
2056
+ [
2057
+ "str/concat",
2058
+ "",
2059
+ [
2060
+ "array/len",
2061
+ "@entity.parts"
2062
+ ]
2063
+ ]
2064
+ ]
2065
+ ],
2066
+ "type": "badge",
2067
+ "variant": [
2068
+ "if",
2069
+ [
2070
+ "==",
2071
+ "@entity.selectedId",
2072
+ ""
2073
+ ],
2074
+ "neutral",
2075
+ "primary"
2076
+ ]
2077
+ }
2078
+ ],
2079
+ "direction": "horizontal",
2080
+ "gap": "md",
2081
+ "justify": "between",
2082
+ "type": "stack"
2083
+ },
2084
+ {
2085
+ "align": "center",
2086
+ "children": "@entity.partButtons",
2087
+ "direction": "horizontal",
2088
+ "gap": "xs",
2089
+ "type": "stack",
2090
+ "wrap": true
1733
2091
  },
1734
2092
  {
1735
2093
  "backgroundColor": "@config.backgroundColor",
@@ -1807,7 +2165,6 @@
1807
2165
  [
1808
2166
  {
1809
2167
  "color": "@config.highlightColor",
1810
- "lineWidth": 4.0,
1811
2168
  "radius": [
1812
2169
  "+",
1813
2170
  [
@@ -1821,6 +2178,7 @@
1821
2178
  ],
1822
2179
  10.0
1823
2180
  ],
2181
+ "stroke": "bold",
1824
2182
  "type": "circle",
1825
2183
  "x": [
1826
2184
  "object/get",
@@ -1851,12 +2209,6 @@
1851
2209
  "padding": "md",
1852
2210
  "type": "card",
1853
2211
  "variant": "bordered"
1854
- },
1855
- {
1856
- "children": "@entity.partButtons",
1857
- "direction": "horizontal",
1858
- "gap": "xs",
1859
- "type": "stack"
1860
2212
  }
1861
2213
  ],
1862
2214
  "direction": "vertical",