@almadar/std 16.165.0 → 16.167.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 (141) hide show
  1. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -1
  2. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +2 -2
  3. package/behaviors/lolo/ui/core/atoms/std-modal.lolo +1 -1
  4. package/behaviors/lolo/ui/core/atoms/std-notification-panel.lolo +1 -1
  5. package/behaviors/lolo/ui/game/atoms/std-chase-ai.lolo +3 -3
  6. package/behaviors/lolo/ui/game/atoms/std-dungeon-combat.lolo +3 -3
  7. package/behaviors/lolo/ui/game/atoms/std-grid-tactics.lolo +3 -3
  8. package/behaviors/lolo/ui/game/atoms/std-hero-nav.lolo +3 -3
  9. package/behaviors/lolo/ui/game/molecules/std-arcade-board-3d.lolo +2 -2
  10. package/behaviors/lolo/ui/game/molecules/std-crew-board-2d.lolo +2 -2
  11. package/behaviors/lolo/ui/game/molecules/std-dungeon-board-2d.lolo +2 -2
  12. package/behaviors/lolo/ui/game/molecules/std-market-board-3d.lolo +2 -2
  13. package/behaviors/lolo/ui/game/molecules/std-objective-board-3d.lolo +2 -2
  14. package/behaviors/lolo/ui/game/molecules/std-survival-board-3d.lolo +2 -2
  15. package/behaviors/lolo/ui/game/molecules/std-tactics-board-2d.lolo +2 -2
  16. package/behaviors/lolo/ui/game/molecules/std-tactics-board-3d.lolo +2 -2
  17. package/behaviors/lolo/ui/game/molecules/std-worldmap-board-2d.lolo +2 -2
  18. package/behaviors/lolo/ui/game/organisms/ui-arena-board.lolo +2 -2
  19. package/behaviors/lolo/ui/learning/atoms/std-algo-astargraph.lolo +2 -2
  20. package/behaviors/lolo/ui/learning/atoms/std-algo-bfs.lolo +2 -2
  21. package/behaviors/lolo/ui/learning/atoms/std-algo-binarysearch.lolo +1 -1
  22. package/behaviors/lolo/ui/learning/atoms/std-algo-bubblesort.lolo +1 -1
  23. package/behaviors/lolo/ui/learning/atoms/std-algo-dfs.lolo +2 -2
  24. package/behaviors/lolo/ui/learning/atoms/std-algo-dijkstra.lolo +2 -2
  25. package/behaviors/lolo/ui/learning/atoms/std-algo-heapsort.lolo +1 -1
  26. package/behaviors/lolo/ui/learning/atoms/std-algo-insertionsort.lolo +1 -1
  27. package/behaviors/lolo/ui/learning/atoms/std-algo-mergesort.lolo +1 -1
  28. package/behaviors/lolo/ui/learning/atoms/std-algo-mst.lolo +2 -2
  29. package/behaviors/lolo/ui/learning/atoms/std-algo-quicksort.lolo +1 -1
  30. package/behaviors/lolo/ui/learning/atoms/std-algo-selectionsort.lolo +1 -1
  31. package/behaviors/lolo/ui/learning/atoms/std-algo-slidingwindow.lolo +1 -1
  32. package/behaviors/lolo/ui/learning/atoms/std-algo-toposort.lolo +2 -2
  33. package/behaviors/lolo/ui/learning/atoms/std-algo-twopointer.lolo +1 -1
  34. package/behaviors/lolo/ui/learning/atoms/std-bio-cell.lolo +2 -2
  35. package/behaviors/lolo/ui/learning/atoms/std-bio-foodweb.lolo +2 -2
  36. package/behaviors/lolo/ui/learning/atoms/std-bio-mitosis.lolo +1 -1
  37. package/behaviors/lolo/ui/learning/atoms/std-bio-population.lolo +2 -2
  38. package/behaviors/lolo/ui/learning/atoms/std-chem-osmosis.lolo +1 -1
  39. package/behaviors/lolo/ui/learning/atoms/std-math-linear.lolo +1 -1
  40. package/behaviors/lolo/ui/learning/atoms/std-math-numberline.lolo +1 -1
  41. package/behaviors/lolo/ui/learning/atoms/std-math-sequence.lolo +1 -1
  42. package/behaviors/lolo/ui/learning/atoms/std-math-sinewave.lolo +1 -1
  43. package/behaviors/lolo/ui/learning/atoms/std-math-unitcircle.lolo +1 -1
  44. package/behaviors/lolo/ui/learning/atoms/std-physics-circular.lolo +1 -1
  45. package/behaviors/lolo/ui/learning/atoms/std-physics-collision.lolo +1 -1
  46. package/behaviors/lolo/ui/learning/atoms/std-physics-freefall.lolo +1 -1
  47. package/behaviors/lolo/ui/learning/atoms/std-physics-friction.lolo +1 -1
  48. package/behaviors/lolo/ui/learning/atoms/std-physics-gas.lolo +1 -1
  49. package/behaviors/lolo/ui/learning/atoms/std-physics-incline.lolo +2 -2
  50. package/behaviors/lolo/ui/learning/atoms/std-physics-magnetic.lolo +1 -1
  51. package/behaviors/lolo/ui/learning/atoms/std-physics-orbit.lolo +1 -1
  52. package/behaviors/lolo/ui/learning/atoms/std-physics-pendulum.lolo +1 -1
  53. package/behaviors/lolo/ui/learning/atoms/std-physics-projectile.lolo +1 -1
  54. package/behaviors/lolo/ui/learning/atoms/std-physics-reflection.lolo +2 -2
  55. package/behaviors/lolo/ui/learning/atoms/std-physics-spring.lolo +1 -1
  56. package/behaviors/lolo/ui/learning/atoms/std-physics-wave.lolo +1 -1
  57. package/behaviors/lolo/ui/learning/atoms/std-prob-galton.lolo +2 -2
  58. package/behaviors/lolo/ui/learning/atoms/std-prob-montecarlo.lolo +1 -1
  59. package/behaviors/lolo/ui/learning/atoms/std-prob-walk.lolo +1 -1
  60. package/behaviors/lolo/ui/learning/organisms/learning-biology-lab.lolo +3 -3
  61. package/behaviors/lolo/ui/learning/organisms/learning-chemistry-lab.lolo +1 -1
  62. package/behaviors/lolo/ui/learning/organisms/learning-math-lab.lolo +2 -2
  63. package/behaviors/lolo/ui/learning/organisms/learning-physics-lab.lolo +2 -2
  64. package/behaviors/lolo/ui/learning/organisms/learning-probability-lab.lolo +2 -2
  65. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  66. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +2 -2
  67. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  69. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +3 -3
  70. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +3 -3
  71. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +3 -3
  72. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +3 -3
  73. package/behaviors/registry/ui/game/molecules/std-arcade-board-3d.orb +6 -10
  74. package/behaviors/registry/ui/game/molecules/std-crew-board-2d.orb +5 -8
  75. package/behaviors/registry/ui/game/molecules/std-dungeon-board-2d.orb +7 -12
  76. package/behaviors/registry/ui/game/molecules/std-market-board-3d.orb +6 -10
  77. package/behaviors/registry/ui/game/molecules/std-objective-board-3d.orb +6 -10
  78. package/behaviors/registry/ui/game/molecules/std-survival-board-3d.orb +6 -10
  79. package/behaviors/registry/ui/game/molecules/std-tactics-board-2d.orb +8 -14
  80. package/behaviors/registry/ui/game/molecules/std-tactics-board-3d.orb +6 -10
  81. package/behaviors/registry/ui/game/molecules/std-worldmap-board-2d.orb +5 -8
  82. package/behaviors/registry/ui/game/organisms/ui-arena-board.orb +7 -12
  83. package/behaviors/registry/ui/learning/atoms/std-algo-astargraph.orb +2 -2
  84. package/behaviors/registry/ui/learning/atoms/std-algo-bfs.orb +2 -2
  85. package/behaviors/registry/ui/learning/atoms/std-algo-binarysearch.orb +1 -1
  86. package/behaviors/registry/ui/learning/atoms/std-algo-bubblesort.orb +1 -1
  87. package/behaviors/registry/ui/learning/atoms/std-algo-dfs.orb +2 -2
  88. package/behaviors/registry/ui/learning/atoms/std-algo-dijkstra.orb +2 -2
  89. package/behaviors/registry/ui/learning/atoms/std-algo-heapsort.orb +1 -1
  90. package/behaviors/registry/ui/learning/atoms/std-algo-insertionsort.orb +1 -1
  91. package/behaviors/registry/ui/learning/atoms/std-algo-mergesort.orb +1 -1
  92. package/behaviors/registry/ui/learning/atoms/std-algo-mst.orb +2 -2
  93. package/behaviors/registry/ui/learning/atoms/std-algo-quicksort.orb +1 -1
  94. package/behaviors/registry/ui/learning/atoms/std-algo-selectionsort.orb +1 -1
  95. package/behaviors/registry/ui/learning/atoms/std-algo-slidingwindow.orb +1 -1
  96. package/behaviors/registry/ui/learning/atoms/std-algo-toposort.orb +2 -2
  97. package/behaviors/registry/ui/learning/atoms/std-algo-twopointer.orb +1 -1
  98. package/behaviors/registry/ui/learning/atoms/std-bio-cell.orb +2 -2
  99. package/behaviors/registry/ui/learning/atoms/std-bio-foodweb.orb +2 -2
  100. package/behaviors/registry/ui/learning/atoms/std-bio-mitosis.orb +1 -1
  101. package/behaviors/registry/ui/learning/atoms/std-bio-population.orb +2 -2
  102. package/behaviors/registry/ui/learning/atoms/std-chem-osmosis.orb +1 -1
  103. package/behaviors/registry/ui/learning/atoms/std-math-linear.orb +1 -1
  104. package/behaviors/registry/ui/learning/atoms/std-math-numberline.orb +1 -1
  105. package/behaviors/registry/ui/learning/atoms/std-math-sequence.orb +1 -1
  106. package/behaviors/registry/ui/learning/atoms/std-math-sinewave.orb +1 -1
  107. package/behaviors/registry/ui/learning/atoms/std-math-unitcircle.orb +1 -1
  108. package/behaviors/registry/ui/learning/atoms/std-physics-circular.orb +1 -1
  109. package/behaviors/registry/ui/learning/atoms/std-physics-collision.orb +1 -1
  110. package/behaviors/registry/ui/learning/atoms/std-physics-freefall.orb +1 -1
  111. package/behaviors/registry/ui/learning/atoms/std-physics-friction.orb +1 -1
  112. package/behaviors/registry/ui/learning/atoms/std-physics-gas.orb +1 -1
  113. package/behaviors/registry/ui/learning/atoms/std-physics-incline.orb +2 -2
  114. package/behaviors/registry/ui/learning/atoms/std-physics-magnetic.orb +1 -1
  115. package/behaviors/registry/ui/learning/atoms/std-physics-orbit.orb +1 -1
  116. package/behaviors/registry/ui/learning/atoms/std-physics-pendulum.orb +1 -1
  117. package/behaviors/registry/ui/learning/atoms/std-physics-projectile.orb +1 -1
  118. package/behaviors/registry/ui/learning/atoms/std-physics-reflection.orb +2 -2
  119. package/behaviors/registry/ui/learning/atoms/std-physics-spring.orb +1 -1
  120. package/behaviors/registry/ui/learning/atoms/std-physics-wave.orb +1 -1
  121. package/behaviors/registry/ui/learning/atoms/std-prob-galton.orb +2 -2
  122. package/behaviors/registry/ui/learning/atoms/std-prob-montecarlo.orb +1 -1
  123. package/behaviors/registry/ui/learning/atoms/std-prob-walk.orb +1 -1
  124. package/behaviors/registry/ui/learning/organisms/learning-biology-lab.orb +3 -3
  125. package/behaviors/registry/ui/learning/organisms/learning-chemistry-lab.orb +1 -1
  126. package/behaviors/registry/ui/learning/organisms/learning-math-lab.orb +2 -2
  127. package/behaviors/registry/ui/learning/organisms/learning-physics-lab.orb +2 -2
  128. package/behaviors/registry/ui/learning/organisms/learning-probability-lab.orb +2 -2
  129. package/dist/behaviors/exports-reader.js +12 -12
  130. package/dist/behaviors/functions/index.d.ts +2 -2
  131. package/dist/behaviors/functions/index.js +12 -12
  132. package/dist/behaviors/index.js +12 -12
  133. package/dist/behaviors/query.js +12 -12
  134. package/dist/behaviors-embeddings.hash.json +3 -3
  135. package/dist/behaviors-embeddings.json +329 -329
  136. package/dist/behaviors-registry.json +213 -14
  137. package/dist/index.js +12 -12
  138. package/dist/knob-embeddings.hash.json +3 -3
  139. package/dist/knob-embeddings.json +1 -1
  140. package/dist/registry/factory-signatures.json +1 -1
  141. package/package.json +2 -2
@@ -63,7 +63,7 @@ orbital StatusLifecycleOrbital {
63
63
  @label "Which field holds the status?"
64
64
  @description "Entity field this lifecycle drives (e.g. 'status', 'state', 'stage', 'phase')."
65
65
  @synonyms "state field, stage field, status column, lifecycle field"
66
- @tier "domain"
66
+ @tier "infra"
67
67
  initialStatus : string = "draft"
68
68
  @label "What status do new records start in?"
69
69
  @description "The status assigned when a record is first created."
@@ -108,7 +108,7 @@ orbital AppLayoutOrbital {
108
108
  @label "Signed-in avatar"
109
109
  @description "Avatar image URL for the account menu."
110
110
  @tier "presentation"
111
- navItems : [NavItem] = []
111
+ navItems : [NavItem] = @pages
112
112
  @label "Which sections appear in the sidebar?"
113
113
  @description "Top-level navigation links shown on the left rail."
114
114
  @synonyms "nav links, menu items, sidebar sections, navigation entries, pages"
@@ -153,7 +153,7 @@ orbital AppLayoutOrbital {
153
153
  @label "Content wrapper class"
154
154
  @description "CSS class applied to the content area wrapper."
155
155
  @tier "internal"
156
- theme : string = ""
156
+ theme : string = @currentTheme
157
157
  @label "Theme"
158
158
  @description "Data-theme attribute applied to the layout root (e.g. almadar-website-dark)."
159
159
  @tier "presentation"
@@ -131,7 +131,7 @@ orbital ModalRecordOrbital {
131
131
  @label "Is this for creating or editing?"
132
132
  @description "create = blank form; edit = pre-filled from the selected row."
133
133
  @synonyms "form mode, create or edit, new or update, add or modify"
134
- @tier "domain"
134
+ @tier "internal"
135
135
  detailSlot : slot = modal
136
136
  @label "Render slot"
137
137
  @description "UI slot the modal renders into"
@@ -114,7 +114,7 @@ orbital NotificationPanelOrbital {
114
114
  @label "Which notifications should the overlay list?"
115
115
  @description "Items rendered in the overlay — the same list std-app-layout takes for its bell dropdown."
116
116
  @synonyms "alerts, messages, notices, notification items"
117
- @tier "domain"
117
+ @tier "presentation"
118
118
  emptyMessage : string = "You're all caught up."
119
119
  @label "What shows when there are no notifications?"
120
120
  @description "Message rendered in place of the list when there is nothing to show."
@@ -76,15 +76,15 @@ orbital ChaseAiOrbital {
76
76
  tiles : [Tile] = []
77
77
  @label "Initial Tiles"
78
78
  @description "Seed grid tiles used for passability checks during movement"
79
- @tier "domain"
79
+ @tier "presentation"
80
80
  gridWidth : number = 12
81
81
  @label "Grid Width"
82
82
  @description "Grid column count clamping enemy movement bounds"
83
- @tier "domain"
83
+ @tier "presentation"
84
84
  gridHeight : number = 12
85
85
  @label "Grid Height"
86
86
  @description "Grid row count clamping enemy movement bounds"
87
- @tier "domain"
87
+ @tier "presentation"
88
88
  }
89
89
  }
90
90
 
@@ -128,15 +128,15 @@ orbital DungeonCombatOrbital {
128
128
  tiles : [Tile] = []
129
129
  @label "Tiles"
130
130
  @description "Grid tiles used for enemy chase passability checks"
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  gridWidth : number = 12
133
133
  @label "Grid Width"
134
134
  @description "Grid column count clamping enemy chase bounds"
135
- @tier "domain"
135
+ @tier "presentation"
136
136
  gridHeight : number = 9
137
137
  @label "Grid Height"
138
138
  @description "Grid row count clamping enemy chase bounds"
139
- @tier "domain"
139
+ @tier "presentation"
140
140
  }
141
141
  }
142
142
 
@@ -99,15 +99,15 @@ orbital GridTacticsOrbital {
99
99
  tiles : [Tile] = []
100
100
  @label "Tiles"
101
101
  @description "Grid tiles used for passability checks during moves and AI stepping"
102
- @tier "domain"
102
+ @tier "presentation"
103
103
  gridWidth : number = 12
104
104
  @label "Grid Width"
105
105
  @description "Grid column count clamping move + AI bounds"
106
- @tier "domain"
106
+ @tier "presentation"
107
107
  gridHeight : number = 12
108
108
  @label "Grid Height"
109
109
  @description "Grid row count clamping move + AI bounds"
110
- @tier "domain"
110
+ @tier "presentation"
111
111
  attackDamage : number = 1
112
112
  @label "Attack Damage"
113
113
  @description "Health removed from a target per ATTACK intent"
@@ -77,15 +77,15 @@ orbital HeroNavOrbital {
77
77
  tiles : [Tile] = []
78
78
  @label "Tiles"
79
79
  @description "Grid tiles used for passability checks (auto-generated all-passable when empty)"
80
- @tier "domain"
80
+ @tier "presentation"
81
81
  gridWidth : number = 12
82
82
  @label "Grid Width"
83
83
  @description "Grid column count clamping move + wander bounds"
84
- @tier "domain"
84
+ @tier "presentation"
85
85
  gridHeight : number = 12
86
86
  @label "Grid Height"
87
87
  @description "Grid row count clamping move + wander bounds"
88
- @tier "domain"
88
+ @tier "presentation"
89
89
  moveBudget : number = 45
90
90
  @label "Move Budget"
91
91
  @description "Moves the hero may spend before the round is lost if objectives remain"
@@ -270,11 +270,11 @@ orbital ArcadeBoard3DFrameOrbital {
270
270
  gridWidth : number = 12
271
271
  @label "Grid Width"
272
272
  @description "Grid column count (matches HeroAuthority.gridWidth)."
273
- @tier "domain"
273
+ @tier "presentation"
274
274
  gridHeight : number = 12
275
275
  @label "Grid Height"
276
276
  @description "Grid row count (matches HeroAuthority.gridHeight)."
277
- @tier "domain"
277
+ @tier "presentation"
278
278
  movementRange : number = 1
279
279
  @label "Movement Range"
280
280
  @description "Max manhattan distance the hero may step, or reach a machine, per action."
@@ -229,11 +229,11 @@ orbital CrewBoard2DOrbital {
229
229
  gridWidth : number = 7
230
230
  @label "Grid Width"
231
231
  @description "Grid column count (matches CrewAuthority.gridWidth)."
232
- @tier "domain"
232
+ @tier "presentation"
233
233
  gridHeight : number = 7
234
234
  @label "Grid Height"
235
235
  @description "Grid row count (matches CrewAuthority.gridHeight)."
236
- @tier "domain"
236
+ @tier "presentation"
237
237
  movementRange : number = 2
238
238
  @label "Movement Range"
239
239
  @description "Max manhattan distance a selected crew unit may move."
@@ -332,11 +332,11 @@ orbital DungeonBoard2DOrbital {
332
332
  gridWidth : number = 4
333
333
  @label "Grid Width"
334
334
  @description "Grid column count (matches HeroAuthority/Enemies.gridWidth)."
335
- @tier "domain"
335
+ @tier "presentation"
336
336
  gridHeight : number = 4
337
337
  @label "Grid Height"
338
338
  @description "Grid row count (matches HeroAuthority/Enemies.gridHeight)."
339
- @tier "domain"
339
+ @tier "presentation"
340
340
  scale : number = 1
341
341
  @label "Scale"
342
342
  @description "Canvas render scale."
@@ -268,11 +268,11 @@ orbital MarketBoard3DOrbital {
268
268
  gridWidth : number = 4
269
269
  @label "Grid Width"
270
270
  @description "Grid column count (matches HeroAuthority.gridWidth)."
271
- @tier "domain"
271
+ @tier "presentation"
272
272
  gridHeight : number = 4
273
273
  @label "Grid Height"
274
274
  @description "Grid row count (matches HeroAuthority.gridHeight)."
275
- @tier "domain"
275
+ @tier "presentation"
276
276
  movementRange : number = 1
277
277
  @label "Movement Range"
278
278
  @description "Max manhattan distance the hero may step per move."
@@ -268,11 +268,11 @@ orbital ObjectiveBoard3DOrbital {
268
268
  gridWidth : number = 12
269
269
  @label "Grid Width"
270
270
  @description "Grid column count (matches HeroAuthority.gridWidth)."
271
- @tier "domain"
271
+ @tier "presentation"
272
272
  gridHeight : number = 12
273
273
  @label "Grid Height"
274
274
  @description "Grid row count (matches HeroAuthority.gridHeight)."
275
- @tier "domain"
275
+ @tier "presentation"
276
276
  movementRange : number = 1
277
277
  @label "Movement Range"
278
278
  @description "Max manhattan distance the hero may step per move."
@@ -251,11 +251,11 @@ orbital SurvivalBoard3DOrbital {
251
251
  gridWidth : number = 16
252
252
  @label "Grid Width"
253
253
  @description "Grid column count (matches HeroAuthority.gridWidth)."
254
- @tier "domain"
254
+ @tier "presentation"
255
255
  gridHeight : number = 16
256
256
  @label "Grid Height"
257
257
  @description "Grid row count (matches HeroAuthority.gridHeight)."
258
- @tier "domain"
258
+ @tier "presentation"
259
259
  movementRange : number = 3
260
260
  @label "Movement Range"
261
261
  @description "Max manhattan distance the hero may step per move."
@@ -336,11 +336,11 @@ orbital TacticsBoard2DOrbital {
336
336
  gridWidth : number = 2
337
337
  @label "Grid Width"
338
338
  @description "Grid column count (matches TacticsAuthority.gridWidth)."
339
- @tier "domain"
339
+ @tier "presentation"
340
340
  gridHeight : number = 2
341
341
  @label "Grid Height"
342
342
  @description "Grid row count (matches TacticsAuthority.gridHeight)."
343
- @tier "domain"
343
+ @tier "presentation"
344
344
  movementRange : number = 4
345
345
  @label "Movement Range"
346
346
  @description "Max manhattan distance a selected unit may move."
@@ -272,11 +272,11 @@ orbital TacticsBoard3DOrbital {
272
272
  gridWidth : number = 2
273
273
  @label "Grid Width"
274
274
  @description "Grid column count (matches TacticsAuthority.gridWidth)."
275
- @tier "domain"
275
+ @tier "presentation"
276
276
  gridHeight : number = 2
277
277
  @label "Grid Height"
278
278
  @description "Grid row count (matches TacticsAuthority.gridHeight)."
279
- @tier "domain"
279
+ @tier "presentation"
280
280
  movementRange : number = 4
281
281
  @label "Movement Range"
282
282
  @description "Max manhattan distance a selected unit may move."
@@ -250,11 +250,11 @@ orbital WorldMapBoard2DOrbital {
250
250
  gridWidth : number = 4
251
251
  @label "Grid Width"
252
252
  @description "Grid column count (matches TacticsAuthority.gridWidth)."
253
- @tier "domain"
253
+ @tier "presentation"
254
254
  gridHeight : number = 4
255
255
  @label "Grid Height"
256
256
  @description "Grid row count (matches TacticsAuthority.gridHeight)."
257
- @tier "domain"
257
+ @tier "presentation"
258
258
  movementRange : number = 3
259
259
  @label "Movement Range"
260
260
  @description "Max manhattan distance the selected hero may travel in one move."
@@ -416,11 +416,11 @@ orbital ArenaBoardOrbital {
416
416
  gridWidth : number = 8
417
417
  @label "Grid Width"
418
418
  @description "Grid column count (matches TacticsAuthority.gridWidth)."
419
- @tier "domain"
419
+ @tier "presentation"
420
420
  gridHeight : number = 8
421
421
  @label "Grid Height"
422
422
  @description "Grid row count (matches TacticsAuthority.gridHeight)."
423
- @tier "domain"
423
+ @tier "presentation"
424
424
  movementRange : number = 2
425
425
  @label "Movement Range"
426
426
  @description "Max manhattan distance a selected marine may move per cycle."
@@ -187,7 +187,7 @@ orbital AstarGraphEngineOrbital {
187
187
  ]
188
188
  @label "Nodes"
189
189
  @description "Graph vertices; A* recolours them slate→amber(open)→green(closed), blue=current, red=goal."
190
- @tier "domain"
190
+ @tier "presentation"
191
191
  edges : [GraphEdge] = [
192
192
  { from: "A", to: "B", color: "#9ca3af", label: "186" },
193
193
  { from: "A", to: "C", color: "#9ca3af", label: "142" },
@@ -202,7 +202,7 @@ orbital AstarGraphEngineOrbital {
202
202
  ]
203
203
  @label "Edges"
204
204
  @description "Rendered undirected edges (weight in label); drawing only, A* reads wedges."
205
- @tier "domain"
205
+ @tier "presentation"
206
206
  wedges : [WEdge] = [
207
207
  { from: "A", to: "B", w: 186 },
208
208
  { from: "A", to: "C", w: 142 },
@@ -128,7 +128,7 @@ orbital BfsEngineOrbital {
128
128
  ]
129
129
  @label "Nodes"
130
130
  @description "Graph vertices; BFS recolours them slate→amber(frontier)→green(visited)."
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  edges : [GraphEdge] = [
133
133
  { from: "A", to: "B", color: "#9ca3af", label: "" },
134
134
  { from: "A", to: "C", color: "#9ca3af", label: "" },
@@ -140,7 +140,7 @@ orbital BfsEngineOrbital {
140
140
  ]
141
141
  @label "Edges"
142
142
  @description "Undirected adjacency; each tick expands the frontier along them."
143
- @tier "domain"
143
+ @tier "presentation"
144
144
  }
145
145
  }
146
146
 
@@ -129,7 +129,7 @@ orbital BinarySearchEngineOrbital {
129
129
  ]
130
130
  @label "Bars"
131
131
  @description "Initial sorted array; each bar's height is proportional to its value."
132
- @tier "domain"
132
+ @tier "presentation"
133
133
  }
134
134
  }
135
135
 
@@ -107,7 +107,7 @@ orbital BubbleSortEngineOrbital {
107
107
  ]
108
108
  @label "Bars"
109
109
  @description "Initial unsorted array; each bar's height is proportional to its value."
110
- @tier "domain"
110
+ @tier "presentation"
111
111
  }
112
112
  }
113
113
 
@@ -128,7 +128,7 @@ orbital DfsEngineOrbital {
128
128
  ]
129
129
  @label "Nodes"
130
130
  @description "Graph vertices; DFS recolours them slate→amber(frontier)→green(visited)."
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  edges : [GraphEdge] = [
133
133
  { from: "A", to: "B", color: "#9ca3af", label: "" },
134
134
  { from: "A", to: "C", color: "#9ca3af", label: "" },
@@ -140,7 +140,7 @@ orbital DfsEngineOrbital {
140
140
  ]
141
141
  @label "Edges"
142
142
  @description "Undirected adjacency; each tick pushes the deepest frontier along them."
143
- @tier "domain"
143
+ @tier "presentation"
144
144
  }
145
145
  }
146
146
 
@@ -165,7 +165,7 @@ orbital DijkstraEngineOrbital {
165
165
  ]
166
166
  @label "Nodes"
167
167
  @description "Graph vertices; Dijkstra recolours them slate→amber(reached)→green(settled), blue=current."
168
- @tier "domain"
168
+ @tier "presentation"
169
169
  edges : [GraphEdge] = [
170
170
  { from: "A", to: "B", color: "#9ca3af", label: "4" },
171
171
  { from: "A", to: "C", color: "#9ca3af", label: "3" },
@@ -181,7 +181,7 @@ orbital DijkstraEngineOrbital {
181
181
  ]
182
182
  @label "Edges"
183
183
  @description "Rendered undirected edges (weight in label); drawing only, algorithm reads wedges."
184
- @tier "domain"
184
+ @tier "presentation"
185
185
  wedges : [WEdge] = [
186
186
  { from: "A", to: "B", w: 4 },
187
187
  { from: "A", to: "C", w: 3 },
@@ -136,7 +136,7 @@ orbital HeapSortEngineOrbital {
136
136
  ]
137
137
  @label "Bars"
138
138
  @description "Initial unsorted array; each bar's height is proportional to its value."
139
- @tier "domain"
139
+ @tier "presentation"
140
140
  }
141
141
  }
142
142
 
@@ -106,7 +106,7 @@ orbital InsertionSortEngineOrbital {
106
106
  ]
107
107
  @label "Bars"
108
108
  @description "Initial unsorted array; each bar's height is proportional to its value."
109
- @tier "domain"
109
+ @tier "presentation"
110
110
  }
111
111
  }
112
112
 
@@ -150,7 +150,7 @@ orbital MergeSortEngineOrbital {
150
150
  ]
151
151
  @label "Bars"
152
152
  @description "Initial unsorted array; each bar's height is proportional to its value."
153
- @tier "domain"
153
+ @tier "presentation"
154
154
  }
155
155
  }
156
156
 
@@ -167,7 +167,7 @@ orbital MstEngineOrbital {
167
167
  ]
168
168
  @label "Nodes"
169
169
  @description "Graph vertices; Prim recolours them slate→green as they enter the spanning tree."
170
- @tier "domain"
170
+ @tier "presentation"
171
171
  edges : [GraphEdge] = [
172
172
  { from: "A", to: "B", color: "#9ca3af", label: "4" },
173
173
  { from: "A", to: "C", color: "#9ca3af", label: "3" },
@@ -183,7 +183,7 @@ orbital MstEngineOrbital {
183
183
  ]
184
184
  @label "Edges"
185
185
  @description "Rendered undirected edges (weight in label); tree edges recolour green as Prim picks them."
186
- @tier "domain"
186
+ @tier "presentation"
187
187
  wedges : [WEdge] = [
188
188
  { from: "A", to: "B", w: 4 },
189
189
  { from: "A", to: "C", w: 3 },
@@ -151,7 +151,7 @@ orbital QuickSortEngineOrbital {
151
151
  ]
152
152
  @label "Bars"
153
153
  @description "Initial unsorted array; each bar's height is proportional to its value."
154
- @tier "domain"
154
+ @tier "presentation"
155
155
  }
156
156
  }
157
157
 
@@ -111,7 +111,7 @@ orbital SelectionSortEngineOrbital {
111
111
  ]
112
112
  @label "Bars"
113
113
  @description "Initial unsorted array; each bar's height is proportional to its value."
114
- @tier "domain"
114
+ @tier "presentation"
115
115
  }
116
116
  }
117
117
 
@@ -128,7 +128,7 @@ orbital SlidingWindowEngineOrbital {
128
128
  ]
129
129
  @label "Bars"
130
130
  @description "Initial unsorted array; each bar's height is proportional to its value."
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  }
133
133
  }
134
134
 
@@ -125,7 +125,7 @@ orbital ToposortEngineOrbital {
125
125
  ]
126
126
  @label "Nodes"
127
127
  @description "DAG vertices; toposort recolours them slate→amber(ready)→green(ordered)."
128
- @tier "domain"
128
+ @tier "presentation"
129
129
  edges : [GraphEdge] = [
130
130
  { from: "A", to: "C", color: "#9ca3af", label: "" },
131
131
  { from: "B", to: "C", color: "#9ca3af", label: "" },
@@ -136,7 +136,7 @@ orbital ToposortEngineOrbital {
136
136
  ]
137
137
  @label "Edges"
138
138
  @description "Directed acyclic edges from→to; a node is ready once every predecessor is ordered."
139
- @tier "domain"
139
+ @tier "presentation"
140
140
  }
141
141
  }
142
142
 
@@ -126,7 +126,7 @@ orbital TwoPointerEngineOrbital {
126
126
  ]
127
127
  @label "Bars"
128
128
  @description "Initial sorted array; each bar's height is proportional to its value."
129
- @tier "domain"
129
+ @tier "presentation"
130
130
  }
131
131
  }
132
132
 
@@ -96,7 +96,7 @@ orbital BioCellEngineOrbital {
96
96
  ]
97
97
  @label "Nodes"
98
98
  @description "A large central nucleus (kind cell) ringed by five organelles (kind organelle) — mitochondria, ribosome, golgi, vacuole, chloroplast; radius encodes the breathing pulse."
99
- @tier "domain"
99
+ @tier "presentation"
100
100
  edges : [BioEdge] = [
101
101
  { from: "mitochondria", to: "nucleus", color: "#e2e8f0", label: "" },
102
102
  { from: "ribosome", to: "nucleus", color: "#e2e8f0", label: "" },
@@ -106,7 +106,7 @@ orbital BioCellEngineOrbital {
106
106
  ]
107
107
  @label "Edges"
108
108
  @description "Faint links tethering each organelle to the central nucleus."
109
- @tier "domain"
109
+ @tier "presentation"
110
110
  width : number = 600
111
111
  @label "Width"
112
112
  @description "Canvas width in pixels."
@@ -93,7 +93,7 @@ orbital BioFoodwebEngineOrbital {
93
93
  ]
94
94
  @label "Nodes"
95
95
  @description "Five trophic species — producer (grass), herbivores (rabbit, insect), carnivore (fox), apex (hawk); radius encodes population size."
96
- @tier "domain"
96
+ @tier "presentation"
97
97
  edges : [BioEdge] = [
98
98
  { from: "rabbit", to: "grass", color: "#94a3b8", label: "eats" },
99
99
  { from: "insect", to: "grass", color: "#94a3b8", label: "eats" },
@@ -103,7 +103,7 @@ orbital BioFoodwebEngineOrbital {
103
103
  ]
104
104
  @label "Edges"
105
105
  @description "Directed predation links (from eater to prey) forming the food web."
106
- @tier "domain"
106
+ @tier "presentation"
107
107
  width : number = 600
108
108
  @label "Width"
109
109
  @description "Canvas width in pixels."
@@ -110,7 +110,7 @@ orbital BioMitosisEngineOrbital {
110
110
  ]
111
111
  @label "Nodes"
112
112
  @description "The two daughter-cell nodes, seeded overlapping at the canvas center so frame 0 reads as a single parent cell."
113
- @tier "domain"
113
+ @tier "presentation"
114
114
  }
115
115
  }
116
116
 
@@ -90,13 +90,13 @@ orbital BioPopulationEngineOrbital {
90
90
  ]
91
91
  @label "Nodes"
92
92
  @description "Initial prey and predator population nodes; radius encodes population size."
93
- @tier "domain"
93
+ @tier "presentation"
94
94
  edges : [BioEdge] = [
95
95
  { from: "predator", to: "prey", color: "#94a3b8", label: "eats" }
96
96
  ]
97
97
  @label "Edges"
98
98
  @description "Predation relationship linking the two populations."
99
- @tier "domain"
99
+ @tier "presentation"
100
100
  width : number = 600
101
101
  @label "Width"
102
102
  @description "Canvas width in pixels."
@@ -128,7 +128,7 @@ orbital ChemOsmosisEngineOrbital {
128
128
  ]
129
129
  @label "Shapes"
130
130
  @description "The vertical semipermeable membrane down the canvas middle (x=width/2); solute cannot cross it, water can."
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  }
133
133
  }
134
134
 
@@ -128,7 +128,7 @@ orbital MathLinearEngineOrbital {
128
128
  ]
129
129
  @label "Points"
130
130
  @description "Initial intersection point of the two lines in data coordinates."
131
- @tier "domain"
131
+ @tier "presentation"
132
132
  width : number = 600
133
133
  @label "Width"
134
134
  @description "Canvas width in pixels."
@@ -118,7 +118,7 @@ orbital MathNumberlineEngineOrbital {
118
118
  ]
119
119
  @label "Points"
120
120
  @description "19 gray integer tick dots along y=0 plus one bold red marker 'n' that hops between them each tick."
121
- @tier "domain"
121
+ @tier "presentation"
122
122
  width : number = 600
123
123
  @label "Width"
124
124
  @description "Canvas width in pixels."
@@ -126,7 +126,7 @@ orbital MathSequenceEngineOrbital {
126
126
  ]
127
127
  @label "Points"
128
128
  @description "The nine static term dots {x:n, y:a₀+n·d} in data coordinates; the sweeping marker highlights the current one."
129
- @tier "domain"
129
+ @tier "presentation"
130
130
  }
131
131
  }
132
132
 
@@ -103,7 +103,7 @@ orbital MathSineWaveEngineOrbital {
103
103
  ]
104
104
  @label "Points"
105
105
  @description "41 samples of y = 5·sin(x) across x in [-9, 9]."
106
- @tier "domain"
106
+ @tier "presentation"
107
107
  }
108
108
  }
109
109
  page "/math-sinewave" as MathSineWaveEnginePage -> MathSineWaveSim
@@ -85,7 +85,7 @@ orbital MathUnitCircleEngineOrbital {
85
85
  points : [MathPoint] = [ { x: 6, y: 0, label: "P", color: "#dc2626", radius: 6 } ]
86
86
  @label "Points"
87
87
  @description "Initial point on the circle."
88
- @tier "domain"
88
+ @tier "presentation"
89
89
  }
90
90
  }
91
91
  page "/math-unitcircle" as MathUnitCircleEnginePage -> MathUnitCircleSim
@@ -127,7 +127,7 @@ orbital CircularEngineOrbital {
127
127
  ]
128
128
  @label "Bodies"
129
129
  @description "Initial bodies; each orbits the center with velocity perpendicular to its radius vector."
130
- @tier "domain"
130
+ @tier "presentation"
131
131
  }
132
132
  }
133
133
 
@@ -155,7 +155,7 @@ orbital CollisionEngineOrbital {
155
155
  ]
156
156
  @label "Bodies"
157
157
  @description "Initial equal-radius bodies on collision courses: A/B head-on, C/D head-on, crossing paths."
158
- @tier "domain"
158
+ @tier "presentation"
159
159
  }
160
160
  }
161
161