@almadar/std 16.173.0 → 16.174.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 (203) hide show
  1. package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +2 -4
  2. package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -9
  3. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +8 -1
  4. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +2 -2
  5. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +3 -7
  6. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -1
  7. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +1 -1
  8. package/behaviors/lolo/ui/core/atoms/std-list.lolo +3 -3
  9. package/behaviors/lolo/ui/core/atoms/std-modal.lolo +2 -2
  10. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +2 -4
  11. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +5 -13
  12. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +3 -7
  13. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +1 -1
  14. package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +2 -2
  15. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +2 -4
  16. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +1 -1
  17. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +2 -2
  18. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -2
  19. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -7
  20. package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +1 -1
  21. package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +1 -1
  22. package/behaviors/lolo/ui/core/atoms/ui-center.lolo +1 -1
  23. package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +1 -1
  24. package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +1 -1
  25. package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +1 -1
  26. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +1 -1
  27. package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +1 -1
  28. package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +1 -1
  29. package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +1 -1
  30. package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +1 -1
  31. package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +1 -1
  32. package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +1 -1
  33. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -1
  34. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +1 -1
  35. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +1 -1
  36. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +1 -1
  37. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +9 -3
  38. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +9 -3
  39. package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +1 -1
  40. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +1 -1
  41. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +7 -1
  42. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +1 -1
  43. package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +1 -1
  44. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +1 -1
  45. package/behaviors/lolo/ui/game/atoms/ui-draw-shape-layer.lolo +41 -9
  46. package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +40 -8
  47. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +13 -3
  48. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +12 -2
  49. package/behaviors/lolo/ui/game/atoms/ui-draw-text-layer.lolo +3 -3
  50. package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +2 -2
  51. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +32 -2
  52. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +1 -1
  53. package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +397 -0
  54. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +537 -0
  55. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +419 -0
  56. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +591 -0
  57. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +425 -0
  58. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +398 -0
  59. package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +325 -0
  60. package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +494 -0
  61. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +408 -0
  62. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +307 -0
  63. package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +318 -0
  64. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +336 -0
  65. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +380 -0
  66. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +43 -4
  67. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +41 -4
  68. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +43 -4
  69. package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +1 -1
  70. package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +1 -1
  71. package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +1 -1
  72. package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +1 -1
  73. package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +1 -1
  74. package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +1 -1
  75. package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +1 -1
  76. package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +1 -1
  77. package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +1 -1
  78. package/behaviors/registry/agent/atoms/std-agent-session.orb +22 -1
  79. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +38 -2
  80. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +38 -2
  81. package/behaviors/registry/agent/organisms/std-agent-rabit.orb +23 -1
  82. package/behaviors/registry/infra/atoms/std-approval-gate.orb +8 -16
  83. package/behaviors/registry/infra/atoms/std-cache-aside.orb +31 -62
  84. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +16 -32
  85. package/behaviors/registry/infra/atoms/std-cross-reference.orb +32 -4
  86. package/behaviors/registry/infra/atoms/std-data-erasure.orb +8 -16
  87. package/behaviors/registry/infra/atoms/std-mod-queue.orb +8 -16
  88. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +14 -28
  89. package/behaviors/registry/infra/atoms/std-row-access-control.orb +30 -2
  90. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -2
  91. package/behaviors/registry/ui/core/atoms/std-board.orb +19 -5
  92. package/behaviors/registry/ui/core/atoms/std-browse.orb +29 -7
  93. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -2
  94. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +3 -5
  95. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +3 -6
  96. package/behaviors/registry/ui/core/atoms/std-event-log.orb +17 -3
  97. package/behaviors/registry/ui/core/atoms/std-export.orb +2 -4
  98. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-gallery.orb +9 -18
  100. package/behaviors/registry/ui/core/atoms/std-graphs.orb +15 -1
  101. package/behaviors/registry/ui/core/atoms/std-import.orb +2 -4
  102. package/behaviors/registry/ui/core/atoms/std-list.orb +4 -6
  103. package/behaviors/registry/ui/core/atoms/std-modal.orb +2 -2
  104. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +16 -2
  105. package/behaviors/registry/ui/core/atoms/std-pagination.orb +15 -1
  106. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +19 -5
  107. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +17 -3
  108. package/behaviors/registry/ui/core/atoms/std-rich-editor.orb +15 -1
  109. package/behaviors/registry/ui/core/atoms/std-scatter.orb +15 -1
  110. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -2
  111. package/behaviors/registry/ui/core/atoms/std-stats.orb +15 -1
  112. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +16 -2
  113. package/behaviors/registry/ui/core/atoms/std-thread.orb +2 -2
  114. package/behaviors/registry/ui/core/atoms/std-vote.orb +2 -2
  115. package/behaviors/registry/ui/core/atoms/std-wizard.orb +17 -3
  116. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +4 -1
  117. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +4 -1
  118. package/behaviors/registry/ui/core/atoms/ui-center.orb +4 -1
  119. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +4 -1
  120. package/behaviors/registry/ui/core/atoms/ui-icon.orb +4 -1
  121. package/behaviors/registry/ui/core/atoms/ui-stack.orb +4 -1
  122. package/behaviors/registry/ui/core/atoms/ui-typography.orb +4 -1
  123. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +4 -1
  124. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +3 -3
  125. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +4 -1
  126. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +4 -1
  127. package/behaviors/registry/ui/core/molecules/ui-grid.orb +4 -1
  128. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +2 -2
  129. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  130. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +4 -1
  131. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +5 -2
  132. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +5 -2
  133. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +4 -1
  134. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +4 -1
  135. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +4 -1
  136. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +34 -2
  137. package/behaviors/registry/ui/core/organisms/ui-form.orb +34 -2
  138. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +4 -1
  139. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +4 -1
  140. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +24 -2
  141. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +4 -1
  142. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +4 -1
  143. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  144. package/behaviors/registry/ui/core/organisms/ui-ui-slot-renderer.orb +1 -1
  145. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +35 -1
  146. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +4 -1
  147. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +183 -13
  148. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +104 -9
  149. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +56 -2
  150. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +36 -4
  151. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +21 -2
  152. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +19 -4
  153. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +173 -2
  154. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  155. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +2814 -0
  156. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3183 -0
  157. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +2394 -0
  158. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +3951 -0
  159. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +3458 -0
  160. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +2646 -0
  161. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1979 -0
  162. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +2994 -0
  163. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +2682 -0
  164. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1842 -0
  165. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1648 -0
  166. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +2307 -0
  167. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +2947 -0
  168. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +173 -4
  169. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +267 -7
  170. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +263 -8
  171. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +116 -1
  172. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +200 -4
  173. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +264 -7
  174. package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +1 -2
  175. package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +1 -2
  176. package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +1 -2
  177. package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +1 -2
  178. package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +1 -2
  179. package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +1 -2
  180. package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +4 -1
  181. package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +4 -1
  182. package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +4 -1
  183. package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +4 -1
  184. package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +4 -1
  185. package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +4 -1
  186. package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +4 -1
  187. package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +4 -1
  188. package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +4 -1
  189. package/dist/behaviors/exports-reader.js +3440 -2189
  190. package/dist/behaviors/functions/index.d.ts +1751 -154
  191. package/dist/behaviors/functions/index.js +3402 -2190
  192. package/dist/behaviors/index.d.ts +1 -1
  193. package/dist/behaviors/index.js +3441 -2190
  194. package/dist/behaviors/query.js +3440 -2189
  195. package/dist/behaviors-embeddings.hash.json +3 -3
  196. package/dist/behaviors-embeddings.json +230 -178
  197. package/dist/behaviors-registry.json +4397 -171
  198. package/dist/index.d.ts +1 -1
  199. package/dist/index.js +3441 -2190
  200. package/dist/knob-embeddings.hash.json +3 -3
  201. package/dist/knob-embeddings.json +1 -1
  202. package/dist/registry/factory-signatures.json +1 -1
  203. package/package.json +2 -2
@@ -0,0 +1,2394 @@
1
+ {
2
+ "description": "Generic estimation drill — a config-declared prompt roster asks for a quantity, the learner commits an estimate on a slider and locks it in, and the guess is graded by relative-error band: within the exact band scores full points, within the close band partial, outside none, with the true answer and the learner's percentage error revealed after each lock-in and a running score across the round. All vocabulary and bands are config-declared, so the same mechanism serves any quantitative intuition: orders of magnitude, unit conversions, historical dates, population sizes, physical constants, probabilities. Standalone by default; behind a lab router set matchMode and it renders only when MODE_SELECTED matches.",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M07580RXTM28C0N1TA52ZAQN": {
6
+ "bakedName": "EstimateScene",
7
+ "curName": "EstimateScene",
8
+ "id": "ent_01M07580RXTM28C0N1TA52ZAQN",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M07580RXB3P80VXGSNZ13RQ1": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M07580RXB3P80VXGSNZ13RQ1",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
20
+ "renames": []
21
+ },
22
+ "evt_01M07580S12EWNDQQZKD0R318W": {
23
+ "bakedName": "MODE_SELECTED",
24
+ "curName": "MODE_SELECTED",
25
+ "id": "evt_01M07580S12EWNDQQZKD0R318W",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
29
+ "renames": []
30
+ },
31
+ "evt_01M07580S15NQY14B94GVM0V1Y": {
32
+ "bakedName": "ESTIMATE_JUDGED",
33
+ "curName": "ESTIMATE_JUDGED",
34
+ "id": "evt_01M07580S15NQY14B94GVM0V1Y",
35
+ "kind": "event",
36
+ "owner": "workspace",
37
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
38
+ "renames": []
39
+ },
40
+ "evt_01M07580S1DQG5RAQRCZGA46C5": {
41
+ "bakedName": "NEXT",
42
+ "curName": "NEXT",
43
+ "id": "evt_01M07580S1DQG5RAQRCZGA46C5",
44
+ "kind": "event",
45
+ "owner": "workspace",
46
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
47
+ "renames": []
48
+ },
49
+ "evt_01M07580S1E7HAAYJAWNE0A2RK": {
50
+ "bakedName": "PROMPT_ADVANCED",
51
+ "curName": "PROMPT_ADVANCED",
52
+ "id": "evt_01M07580S1E7HAAYJAWNE0A2RK",
53
+ "kind": "event",
54
+ "owner": "workspace",
55
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
56
+ "renames": []
57
+ },
58
+ "evt_01M07580S1NJJ70QS86GC0R5GP": {
59
+ "bakedName": "SET_ESTIMATE",
60
+ "curName": "SET_ESTIMATE",
61
+ "id": "evt_01M07580S1NJJ70QS86GC0R5GP",
62
+ "kind": "event",
63
+ "owner": "workspace",
64
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
65
+ "renames": []
66
+ },
67
+ "evt_01M07580S1QXBDVQQ1ZPMB50MQ": {
68
+ "bakedName": "RETRY",
69
+ "curName": "RETRY",
70
+ "id": "evt_01M07580S1QXBDVQQ1ZPMB50MQ",
71
+ "kind": "event",
72
+ "owner": "workspace",
73
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
74
+ "renames": []
75
+ },
76
+ "evt_01M07580S1VSATEQZ8KTE2ME73": {
77
+ "bakedName": "ROUND_RESTARTED",
78
+ "curName": "ROUND_RESTARTED",
79
+ "id": "evt_01M07580S1VSATEQZ8KTE2ME73",
80
+ "kind": "event",
81
+ "owner": "workspace",
82
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
83
+ "renames": []
84
+ },
85
+ "evt_01M07580S1W3ZQBFHX44XQYRCA": {
86
+ "bakedName": "LOCK_IN",
87
+ "curName": "LOCK_IN",
88
+ "id": "evt_01M07580S1W3ZQBFHX44XQYRCA",
89
+ "kind": "event",
90
+ "owner": "workspace",
91
+ "parent": "trt_01M07580RX52695MAC42HPZBTK",
92
+ "renames": []
93
+ },
94
+ "orb_01M07580RX0RP4X8BB9P83K6CW": {
95
+ "bakedName": "EstimateOrbital",
96
+ "curName": "EstimateOrbital",
97
+ "id": "orb_01M07580RX0RP4X8BB9P83K6CW",
98
+ "kind": "orbital",
99
+ "owner": "workspace",
100
+ "renames": []
101
+ },
102
+ "pag_01M07580S2Z415AEEMH2XWP267": {
103
+ "bakedName": "EstimatePage",
104
+ "curName": "EstimatePage",
105
+ "id": "pag_01M07580S2Z415AEEMH2XWP267",
106
+ "kind": "page",
107
+ "owner": "workspace",
108
+ "renames": []
109
+ },
110
+ "trt_01M07580RX52695MAC42HPZBTK": {
111
+ "bakedName": "EstimateSim",
112
+ "curName": "EstimateSim",
113
+ "id": "trt_01M07580RX52695MAC42HPZBTK",
114
+ "kind": "trait",
115
+ "owner": "workspace",
116
+ "renames": []
117
+ }
118
+ },
119
+ "schemaVersion": 1
120
+ },
121
+ "name": "std-learn-estimate",
122
+ "orbitals": [
123
+ {
124
+ "entity": {
125
+ "fields": [
126
+ {
127
+ "name": "id",
128
+ "required": true,
129
+ "type": "string"
130
+ },
131
+ {
132
+ "default": false,
133
+ "name": "active",
134
+ "type": "boolean"
135
+ },
136
+ {
137
+ "name": "title",
138
+ "type": "string"
139
+ },
140
+ {
141
+ "default": 0.0,
142
+ "name": "promptIndex",
143
+ "type": "number"
144
+ },
145
+ {
146
+ "default": 0.0,
147
+ "name": "totalPrompts",
148
+ "type": "number"
149
+ },
150
+ {
151
+ "default": 0.0,
152
+ "name": "estimate",
153
+ "type": "number"
154
+ },
155
+ {
156
+ "default": false,
157
+ "name": "locked",
158
+ "type": "boolean"
159
+ },
160
+ {
161
+ "name": "band",
162
+ "type": "string"
163
+ },
164
+ {
165
+ "default": 0.0,
166
+ "name": "score",
167
+ "type": "number"
168
+ },
169
+ {
170
+ "default": false,
171
+ "name": "done",
172
+ "type": "boolean"
173
+ },
174
+ {
175
+ "name": "promptText",
176
+ "type": "string"
177
+ },
178
+ {
179
+ "name": "promptHint",
180
+ "type": "string"
181
+ },
182
+ {
183
+ "default": 0.0,
184
+ "name": "answer",
185
+ "type": "number"
186
+ },
187
+ {
188
+ "name": "unit",
189
+ "type": "string"
190
+ },
191
+ {
192
+ "name": "feedback",
193
+ "type": "string"
194
+ },
195
+ {
196
+ "items": {
197
+ "type": "node"
198
+ },
199
+ "name": "view",
200
+ "type": "array"
201
+ }
202
+ ],
203
+ "id": "ent_01M07580RXTM28C0N1TA52ZAQN",
204
+ "name": "EstimateScene",
205
+ "persistence": "runtime"
206
+ },
207
+ "id": "orb_01M07580RX0RP4X8BB9P83K6CW",
208
+ "name": "EstimateOrbital",
209
+ "pages": [
210
+ {
211
+ "id": "pag_01M07580S2Z415AEEMH2XWP267",
212
+ "name": "EstimatePage",
213
+ "path": "/learn-estimate",
214
+ "traits": [
215
+ {
216
+ "ref": "EstimateSim",
217
+ "refId": "trt_01M07580RX52695MAC42HPZBTK"
218
+ }
219
+ ]
220
+ }
221
+ ],
222
+ "traits": [
223
+ {
224
+ "category": "interaction",
225
+ "config": {
226
+ "closePct": {
227
+ "default": 0.25,
228
+ "description": "Relative error at or below this fraction (but above the exact band) counts as close (partial points).",
229
+ "label": "Close Band",
230
+ "tier": "domain",
231
+ "type": "number"
232
+ },
233
+ "closePoints": {
234
+ "default": 1.0,
235
+ "label": "Close Points",
236
+ "tier": "domain",
237
+ "type": "number"
238
+ },
239
+ "exactPct": {
240
+ "default": 0.05,
241
+ "description": "Relative error at or below this fraction counts as exact (full points).",
242
+ "label": "Exact Band",
243
+ "tier": "domain",
244
+ "type": "number"
245
+ },
246
+ "exactPoints": {
247
+ "default": 2.0,
248
+ "label": "Exact Points",
249
+ "tier": "domain",
250
+ "type": "number"
251
+ },
252
+ "lockLabel": {
253
+ "default": "Lock In",
254
+ "label": "Lock Label",
255
+ "tier": "presentation",
256
+ "type": "string"
257
+ },
258
+ "matchMode": {
259
+ "default": "",
260
+ "description": "When composed behind a lab router, the MODE_SELECTED mode value this instrument responds to. Empty string means standalone — render immediately on INIT.",
261
+ "label": "Match Mode",
262
+ "tier": "presentation",
263
+ "type": "string"
264
+ },
265
+ "nextLabel": {
266
+ "default": "Next",
267
+ "label": "Next Label",
268
+ "tier": "presentation",
269
+ "type": "string"
270
+ },
271
+ "prompts": {
272
+ "default": [
273
+ {
274
+ "answer": 300.0,
275
+ "hint": "Light covers 300,000 km every second.",
276
+ "prompt": "How many meters does light travel in one microsecond?",
277
+ "unit": "m"
278
+ },
279
+ {
280
+ "answer": 212.0,
281
+ "hint": "It is 100 °C.",
282
+ "prompt": "What is the boiling point of water at sea level, in Fahrenheit?",
283
+ "unit": "°F"
284
+ },
285
+ {
286
+ "answer": 11.6,
287
+ "hint": "A day is 86,400 seconds.",
288
+ "prompt": "Roughly how many days is one million seconds?",
289
+ "unit": "days"
290
+ }
291
+ ],
292
+ "description": "The question roster; each prompt carries the true numeric answer, an optional unit, and an optional hint. Realizations declare their own subject's quantities here.",
293
+ "items": {
294
+ "properties": {
295
+ "answer": {
296
+ "name": "answer",
297
+ "required": true,
298
+ "type": "number"
299
+ },
300
+ "hint": {
301
+ "name": "hint",
302
+ "required": false,
303
+ "type": "string"
304
+ },
305
+ "prompt": {
306
+ "name": "prompt",
307
+ "required": true,
308
+ "type": "string"
309
+ },
310
+ "unit": {
311
+ "name": "unit",
312
+ "required": false,
313
+ "type": "string"
314
+ }
315
+ },
316
+ "type": "object"
317
+ },
318
+ "label": "Prompts",
319
+ "tier": "domain",
320
+ "type": "[EstimatePrompt]"
321
+ },
322
+ "retryLabel": {
323
+ "default": "Try Again",
324
+ "label": "Retry Label",
325
+ "tier": "presentation",
326
+ "type": "string"
327
+ },
328
+ "sliderDefault": {
329
+ "default": 100.0,
330
+ "description": "Starting position of the estimate slider for each prompt.",
331
+ "label": "Slider Default",
332
+ "tier": "domain",
333
+ "type": "number"
334
+ },
335
+ "sliderMax": {
336
+ "default": 500.0,
337
+ "description": "Upper bound of the estimate slider.",
338
+ "label": "Slider Max",
339
+ "tier": "domain",
340
+ "type": "number"
341
+ },
342
+ "sliderMin": {
343
+ "default": 0.0,
344
+ "description": "Lower bound of the estimate slider.",
345
+ "label": "Slider Min",
346
+ "tier": "domain",
347
+ "type": "number"
348
+ },
349
+ "sliderStep": {
350
+ "default": 0.1,
351
+ "label": "Slider Step",
352
+ "tier": "presentation",
353
+ "type": "number"
354
+ },
355
+ "title": {
356
+ "default": "Estimate It",
357
+ "description": "Title shown above the drill.",
358
+ "label": "Title",
359
+ "tier": "presentation",
360
+ "type": "string"
361
+ }
362
+ },
363
+ "emits": [
364
+ {
365
+ "description": "The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.",
366
+ "event": "ESTIMATE_JUDGED",
367
+ "eventId": "evt_01M07580S15NQY14B94GVM0V1Y",
368
+ "payloadSchema": [
369
+ {
370
+ "name": "band",
371
+ "type": "string"
372
+ },
373
+ {
374
+ "name": "estimate",
375
+ "type": "number"
376
+ },
377
+ {
378
+ "name": "answer",
379
+ "type": "number"
380
+ },
381
+ {
382
+ "name": "score",
383
+ "type": "number"
384
+ }
385
+ ],
386
+ "scope": "external",
387
+ "synonyms": "estimation, order of magnitude, guess the number, error band, quantitative intuition",
388
+ "tier": "domain"
389
+ },
390
+ {
391
+ "description": "The learner moved to the next prompt (or completed the round) with the running score.",
392
+ "event": "PROMPT_ADVANCED",
393
+ "eventId": "evt_01M07580S1E7HAAYJAWNE0A2RK",
394
+ "payloadSchema": [
395
+ {
396
+ "name": "promptIndex",
397
+ "type": "number"
398
+ },
399
+ {
400
+ "name": "done",
401
+ "type": "boolean"
402
+ },
403
+ {
404
+ "name": "score",
405
+ "type": "number"
406
+ }
407
+ ],
408
+ "scope": "external",
409
+ "tier": "domain"
410
+ },
411
+ {
412
+ "description": "The learner restarted the round from scratch.",
413
+ "event": "ROUND_RESTARTED",
414
+ "eventId": "evt_01M07580S1VSATEQZ8KTE2ME73",
415
+ "payloadSchema": [
416
+ {
417
+ "name": "totalPrompts",
418
+ "type": "number"
419
+ }
420
+ ],
421
+ "scope": "external",
422
+ "tier": "domain"
423
+ }
424
+ ],
425
+ "entityContract": {
426
+ "provides": [
427
+ "active",
428
+ "answer",
429
+ "band",
430
+ "done",
431
+ "estimate",
432
+ "feedback",
433
+ "locked",
434
+ "promptHint",
435
+ "promptIndex",
436
+ "promptText",
437
+ "score",
438
+ "title",
439
+ "totalPrompts",
440
+ "unit",
441
+ "view"
442
+ ],
443
+ "requires": []
444
+ },
445
+ "entityRebindable": true,
446
+ "entityRefIds": {
447
+ "EstimateScene": "ent_01M07580RXTM28C0N1TA52ZAQN"
448
+ },
449
+ "id": "trt_01M07580RX52695MAC42HPZBTK",
450
+ "linkedEntity": "EstimateScene",
451
+ "linkedEntityId": "ent_01M07580RXTM28C0N1TA52ZAQN",
452
+ "name": "EstimateSim",
453
+ "scope": "instance",
454
+ "stateMachine": {
455
+ "events": [
456
+ {
457
+ "id": "evt_01M07580RXB3P80VXGSNZ13RQ1",
458
+ "key": "INIT",
459
+ "name": "Initialize"
460
+ },
461
+ {
462
+ "description": "Lab router broadcast naming the active mode; this instrument renders when the mode equals matchMode, otherwise renders null.",
463
+ "id": "evt_01M07580S12EWNDQQZKD0R318W",
464
+ "key": "MODE_SELECTED",
465
+ "name": "Mode Selected",
466
+ "payloadSchema": [
467
+ {
468
+ "name": "mode",
469
+ "type": "string"
470
+ }
471
+ ],
472
+ "tier": "domain"
473
+ },
474
+ {
475
+ "description": "Learner moved the estimate slider — value is the current guess, not yet graded.",
476
+ "id": "evt_01M07580S1NJJ70QS86GC0R5GP",
477
+ "key": "SET_ESTIMATE",
478
+ "name": "Set Estimate",
479
+ "payloadSchema": [
480
+ {
481
+ "name": "value",
482
+ "type": "number"
483
+ }
484
+ ],
485
+ "tier": "domain"
486
+ },
487
+ {
488
+ "description": "Learner committed the current estimate; it is graded against the true answer by relative-error band.",
489
+ "id": "evt_01M07580S1W3ZQBFHX44XQYRCA",
490
+ "key": "LOCK_IN",
491
+ "name": "Lock In",
492
+ "tier": "domain"
493
+ },
494
+ {
495
+ "description": "Learner advanced to the next prompt after a lock-in; past the last prompt this completes the round.",
496
+ "id": "evt_01M07580S1DQG5RAQRCZGA46C5",
497
+ "key": "NEXT",
498
+ "name": "Next",
499
+ "tier": "domain"
500
+ },
501
+ {
502
+ "description": "Learner restarted the round from the first prompt with a cleared score.",
503
+ "id": "evt_01M07580S1QXBDVQQ1ZPMB50MQ",
504
+ "key": "RETRY",
505
+ "name": "Retry",
506
+ "tier": "domain"
507
+ },
508
+ {
509
+ "description": "The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.",
510
+ "id": "evt_01M07580S15NQY14B94GVM0V1Y",
511
+ "key": "ESTIMATE_JUDGED",
512
+ "name": "Estimate Judged",
513
+ "payloadSchema": [
514
+ {
515
+ "name": "band",
516
+ "type": "string"
517
+ },
518
+ {
519
+ "name": "estimate",
520
+ "type": "number"
521
+ },
522
+ {
523
+ "name": "answer",
524
+ "type": "number"
525
+ },
526
+ {
527
+ "name": "score",
528
+ "type": "number"
529
+ }
530
+ ],
531
+ "synonyms": "estimation, order of magnitude, guess the number, error band, quantitative intuition",
532
+ "tier": "domain"
533
+ },
534
+ {
535
+ "description": "The learner moved to the next prompt (or completed the round) with the running score.",
536
+ "id": "evt_01M07580S1E7HAAYJAWNE0A2RK",
537
+ "key": "PROMPT_ADVANCED",
538
+ "name": "Prompt Advanced",
539
+ "payloadSchema": [
540
+ {
541
+ "name": "promptIndex",
542
+ "type": "number"
543
+ },
544
+ {
545
+ "name": "done",
546
+ "type": "boolean"
547
+ },
548
+ {
549
+ "name": "score",
550
+ "type": "number"
551
+ }
552
+ ],
553
+ "tier": "domain"
554
+ },
555
+ {
556
+ "description": "The learner restarted the round from scratch.",
557
+ "id": "evt_01M07580S1VSATEQZ8KTE2ME73",
558
+ "key": "ROUND_RESTARTED",
559
+ "name": "Round Restarted",
560
+ "payloadSchema": [
561
+ {
562
+ "name": "totalPrompts",
563
+ "type": "number"
564
+ }
565
+ ],
566
+ "tier": "domain"
567
+ }
568
+ ],
569
+ "states": [
570
+ {
571
+ "isInitial": true,
572
+ "name": "idle"
573
+ }
574
+ ],
575
+ "transitions": [
576
+ {
577
+ "effects": [
578
+ [
579
+ "let",
580
+ [
581
+ [
582
+ "first",
583
+ [
584
+ "array/nth",
585
+ "@config.prompts",
586
+ 0.0
587
+ ]
588
+ ]
589
+ ],
590
+ [
591
+ "do",
592
+ [
593
+ "set",
594
+ "@entity.active",
595
+ true
596
+ ],
597
+ [
598
+ "set",
599
+ "@entity.title",
600
+ "@config.title"
601
+ ],
602
+ [
603
+ "set",
604
+ "@entity.promptIndex",
605
+ 0.0
606
+ ],
607
+ [
608
+ "set",
609
+ "@entity.totalPrompts",
610
+ [
611
+ "array/len",
612
+ "@config.prompts"
613
+ ]
614
+ ],
615
+ [
616
+ "set",
617
+ "@entity.estimate",
618
+ "@config.sliderDefault"
619
+ ],
620
+ [
621
+ "set",
622
+ "@entity.locked",
623
+ false
624
+ ],
625
+ [
626
+ "set",
627
+ "@entity.band",
628
+ ""
629
+ ],
630
+ [
631
+ "set",
632
+ "@entity.score",
633
+ 0.0
634
+ ],
635
+ [
636
+ "set",
637
+ "@entity.done",
638
+ false
639
+ ],
640
+ [
641
+ "set",
642
+ "@entity.promptText",
643
+ [
644
+ "object/get",
645
+ "@first",
646
+ "prompt"
647
+ ]
648
+ ],
649
+ [
650
+ "set",
651
+ "@entity.promptHint",
652
+ [
653
+ "object/get",
654
+ "@first",
655
+ "hint",
656
+ ""
657
+ ]
658
+ ],
659
+ [
660
+ "set",
661
+ "@entity.answer",
662
+ [
663
+ "object/get",
664
+ "@first",
665
+ "answer"
666
+ ]
667
+ ],
668
+ [
669
+ "set",
670
+ "@entity.unit",
671
+ [
672
+ "object/get",
673
+ "@first",
674
+ "unit",
675
+ ""
676
+ ]
677
+ ],
678
+ [
679
+ "set",
680
+ "@entity.feedback",
681
+ ""
682
+ ],
683
+ [
684
+ "set",
685
+ "@entity.view",
686
+ [
687
+ {
688
+ "children": [
689
+ {
690
+ "content": "@entity.promptText",
691
+ "type": "typography",
692
+ "variant": "body"
693
+ },
694
+ {
695
+ "color": "muted",
696
+ "content": "@entity.promptHint",
697
+ "type": "typography",
698
+ "variant": "caption"
699
+ }
700
+ ],
701
+ "padding": "md",
702
+ "type": "card",
703
+ "variant": "bordered"
704
+ },
705
+ {
706
+ "children": [
707
+ {
708
+ "content": [
709
+ "str/concat",
710
+ "Your estimate: ",
711
+ [
712
+ "math/round",
713
+ "@entity.estimate",
714
+ 2.0
715
+ ],
716
+ " ",
717
+ "@entity.unit"
718
+ ],
719
+ "type": "typography",
720
+ "variant": "caption"
721
+ },
722
+ {
723
+ "action": "SET_ESTIMATE",
724
+ "max": "@config.sliderMax",
725
+ "min": "@config.sliderMin",
726
+ "showTooltip": true,
727
+ "step": "@config.sliderStep",
728
+ "type": "range-slider",
729
+ "value": "@entity.estimate"
730
+ }
731
+ ],
732
+ "direction": "vertical",
733
+ "gap": "xs",
734
+ "type": "stack"
735
+ },
736
+ {
737
+ "children": [
738
+ {
739
+ "action": "LOCK_IN",
740
+ "disabled": [
741
+ "if",
742
+ "@entity.locked",
743
+ true,
744
+ false
745
+ ],
746
+ "label": "@config.lockLabel",
747
+ "type": "button",
748
+ "variant": "primary"
749
+ },
750
+ {
751
+ "action": "NEXT",
752
+ "disabled": [
753
+ "if",
754
+ "@entity.locked",
755
+ false,
756
+ true
757
+ ],
758
+ "label": "@config.nextLabel",
759
+ "type": "button",
760
+ "variant": "secondary"
761
+ }
762
+ ],
763
+ "direction": "horizontal",
764
+ "gap": "sm",
765
+ "type": "stack"
766
+ },
767
+ {
768
+ "children": [
769
+ {
770
+ "content": "@entity.feedback",
771
+ "type": "typography",
772
+ "variant": "caption"
773
+ }
774
+ ],
775
+ "direction": "horizontal",
776
+ "gap": "xs",
777
+ "type": "stack"
778
+ },
779
+ {
780
+ "label": "Score",
781
+ "max": [
782
+ "*",
783
+ "@entity.totalPrompts",
784
+ "@config.exactPoints"
785
+ ],
786
+ "type": "stat-display",
787
+ "value": "@entity.score"
788
+ }
789
+ ]
790
+ ]
791
+ ]
792
+ ],
793
+ [
794
+ "render-ui",
795
+ "main",
796
+ {
797
+ "children": [
798
+ {
799
+ "children": [
800
+ {
801
+ "content": "@entity.title",
802
+ "type": "typography",
803
+ "variant": "h4"
804
+ },
805
+ {
806
+ "label": [
807
+ "str/concat",
808
+ "Prompt ",
809
+ [
810
+ "str/concat",
811
+ "",
812
+ [
813
+ "+",
814
+ "@entity.promptIndex",
815
+ 1.0
816
+ ]
817
+ ],
818
+ " of ",
819
+ [
820
+ "str/concat",
821
+ "",
822
+ "@entity.totalPrompts"
823
+ ]
824
+ ],
825
+ "max": "@entity.totalPrompts",
826
+ "showPercentage": false,
827
+ "type": "progress-bar",
828
+ "value": [
829
+ "+",
830
+ "@entity.promptIndex",
831
+ 1.0
832
+ ]
833
+ },
834
+ {
835
+ "children": "@entity.view",
836
+ "direction": "vertical",
837
+ "gap": "md",
838
+ "type": "stack"
839
+ }
840
+ ],
841
+ "direction": "vertical",
842
+ "gap": "md",
843
+ "type": "stack"
844
+ }
845
+ ],
846
+ "padding": "md",
847
+ "type": "box"
848
+ }
849
+ ]
850
+ ],
851
+ "event": "INIT",
852
+ "eventId": "evt_01M07580RXB3P80VXGSNZ13RQ1",
853
+ "from": "idle",
854
+ "guard": [
855
+ "==",
856
+ "@config.matchMode",
857
+ ""
858
+ ],
859
+ "to": "idle"
860
+ },
861
+ {
862
+ "effects": [
863
+ [
864
+ "let",
865
+ [
866
+ [
867
+ "first",
868
+ [
869
+ "array/nth",
870
+ "@config.prompts",
871
+ 0.0
872
+ ]
873
+ ]
874
+ ],
875
+ [
876
+ "do",
877
+ [
878
+ "set",
879
+ "@entity.active",
880
+ true
881
+ ],
882
+ [
883
+ "set",
884
+ "@entity.title",
885
+ "@config.title"
886
+ ],
887
+ [
888
+ "set",
889
+ "@entity.promptIndex",
890
+ 0.0
891
+ ],
892
+ [
893
+ "set",
894
+ "@entity.totalPrompts",
895
+ [
896
+ "array/len",
897
+ "@config.prompts"
898
+ ]
899
+ ],
900
+ [
901
+ "set",
902
+ "@entity.estimate",
903
+ "@config.sliderDefault"
904
+ ],
905
+ [
906
+ "set",
907
+ "@entity.locked",
908
+ false
909
+ ],
910
+ [
911
+ "set",
912
+ "@entity.band",
913
+ ""
914
+ ],
915
+ [
916
+ "set",
917
+ "@entity.score",
918
+ 0.0
919
+ ],
920
+ [
921
+ "set",
922
+ "@entity.done",
923
+ false
924
+ ],
925
+ [
926
+ "set",
927
+ "@entity.promptText",
928
+ [
929
+ "object/get",
930
+ "@first",
931
+ "prompt"
932
+ ]
933
+ ],
934
+ [
935
+ "set",
936
+ "@entity.promptHint",
937
+ [
938
+ "object/get",
939
+ "@first",
940
+ "hint",
941
+ ""
942
+ ]
943
+ ],
944
+ [
945
+ "set",
946
+ "@entity.answer",
947
+ [
948
+ "object/get",
949
+ "@first",
950
+ "answer"
951
+ ]
952
+ ],
953
+ [
954
+ "set",
955
+ "@entity.unit",
956
+ [
957
+ "object/get",
958
+ "@first",
959
+ "unit",
960
+ ""
961
+ ]
962
+ ],
963
+ [
964
+ "set",
965
+ "@entity.feedback",
966
+ ""
967
+ ],
968
+ [
969
+ "set",
970
+ "@entity.view",
971
+ [
972
+ {
973
+ "children": [
974
+ {
975
+ "content": "@entity.promptText",
976
+ "type": "typography",
977
+ "variant": "body"
978
+ },
979
+ {
980
+ "color": "muted",
981
+ "content": "@entity.promptHint",
982
+ "type": "typography",
983
+ "variant": "caption"
984
+ }
985
+ ],
986
+ "padding": "md",
987
+ "type": "card",
988
+ "variant": "bordered"
989
+ },
990
+ {
991
+ "children": [
992
+ {
993
+ "content": [
994
+ "str/concat",
995
+ "Your estimate: ",
996
+ [
997
+ "math/round",
998
+ "@entity.estimate",
999
+ 2.0
1000
+ ],
1001
+ " ",
1002
+ "@entity.unit"
1003
+ ],
1004
+ "type": "typography",
1005
+ "variant": "caption"
1006
+ },
1007
+ {
1008
+ "action": "SET_ESTIMATE",
1009
+ "max": "@config.sliderMax",
1010
+ "min": "@config.sliderMin",
1011
+ "showTooltip": true,
1012
+ "step": "@config.sliderStep",
1013
+ "type": "range-slider",
1014
+ "value": "@entity.estimate"
1015
+ }
1016
+ ],
1017
+ "direction": "vertical",
1018
+ "gap": "xs",
1019
+ "type": "stack"
1020
+ },
1021
+ {
1022
+ "children": [
1023
+ {
1024
+ "action": "LOCK_IN",
1025
+ "disabled": [
1026
+ "if",
1027
+ "@entity.locked",
1028
+ true,
1029
+ false
1030
+ ],
1031
+ "label": "@config.lockLabel",
1032
+ "type": "button",
1033
+ "variant": "primary"
1034
+ },
1035
+ {
1036
+ "action": "NEXT",
1037
+ "disabled": [
1038
+ "if",
1039
+ "@entity.locked",
1040
+ false,
1041
+ true
1042
+ ],
1043
+ "label": "@config.nextLabel",
1044
+ "type": "button",
1045
+ "variant": "secondary"
1046
+ }
1047
+ ],
1048
+ "direction": "horizontal",
1049
+ "gap": "sm",
1050
+ "type": "stack"
1051
+ },
1052
+ {
1053
+ "children": [
1054
+ {
1055
+ "content": "@entity.feedback",
1056
+ "type": "typography",
1057
+ "variant": "caption"
1058
+ }
1059
+ ],
1060
+ "direction": "horizontal",
1061
+ "gap": "xs",
1062
+ "type": "stack"
1063
+ },
1064
+ {
1065
+ "label": "Score",
1066
+ "max": [
1067
+ "*",
1068
+ "@entity.totalPrompts",
1069
+ "@config.exactPoints"
1070
+ ],
1071
+ "type": "stat-display",
1072
+ "value": "@entity.score"
1073
+ }
1074
+ ]
1075
+ ]
1076
+ ]
1077
+ ],
1078
+ [
1079
+ "render-ui",
1080
+ "main",
1081
+ {
1082
+ "children": [
1083
+ {
1084
+ "children": [
1085
+ {
1086
+ "content": "@entity.title",
1087
+ "type": "typography",
1088
+ "variant": "h4"
1089
+ },
1090
+ {
1091
+ "label": [
1092
+ "str/concat",
1093
+ "Prompt ",
1094
+ [
1095
+ "str/concat",
1096
+ "",
1097
+ [
1098
+ "+",
1099
+ "@entity.promptIndex",
1100
+ 1.0
1101
+ ]
1102
+ ],
1103
+ " of ",
1104
+ [
1105
+ "str/concat",
1106
+ "",
1107
+ "@entity.totalPrompts"
1108
+ ]
1109
+ ],
1110
+ "max": "@entity.totalPrompts",
1111
+ "showPercentage": false,
1112
+ "type": "progress-bar",
1113
+ "value": [
1114
+ "+",
1115
+ "@entity.promptIndex",
1116
+ 1.0
1117
+ ]
1118
+ },
1119
+ {
1120
+ "children": "@entity.view",
1121
+ "direction": "vertical",
1122
+ "gap": "md",
1123
+ "type": "stack"
1124
+ }
1125
+ ],
1126
+ "direction": "vertical",
1127
+ "gap": "md",
1128
+ "type": "stack"
1129
+ }
1130
+ ],
1131
+ "padding": "md",
1132
+ "type": "box"
1133
+ }
1134
+ ]
1135
+ ],
1136
+ "event": "MODE_SELECTED",
1137
+ "eventId": "evt_01M07580S12EWNDQQZKD0R318W",
1138
+ "from": "idle",
1139
+ "guard": [
1140
+ "==",
1141
+ "@payload.mode",
1142
+ "@config.matchMode"
1143
+ ],
1144
+ "to": "idle"
1145
+ },
1146
+ {
1147
+ "effects": [
1148
+ [
1149
+ "set",
1150
+ "@entity.estimate",
1151
+ [
1152
+ "math/clamp",
1153
+ "@payload.value",
1154
+ "@config.sliderMin",
1155
+ "@config.sliderMax"
1156
+ ]
1157
+ ],
1158
+ [
1159
+ "set",
1160
+ "@entity.view",
1161
+ [
1162
+ {
1163
+ "children": [
1164
+ {
1165
+ "content": "@entity.promptText",
1166
+ "type": "typography",
1167
+ "variant": "body"
1168
+ },
1169
+ {
1170
+ "color": "muted",
1171
+ "content": "@entity.promptHint",
1172
+ "type": "typography",
1173
+ "variant": "caption"
1174
+ }
1175
+ ],
1176
+ "padding": "md",
1177
+ "type": "card",
1178
+ "variant": "bordered"
1179
+ },
1180
+ {
1181
+ "children": [
1182
+ {
1183
+ "content": [
1184
+ "str/concat",
1185
+ "Your estimate: ",
1186
+ [
1187
+ "math/round",
1188
+ "@entity.estimate",
1189
+ 2.0
1190
+ ],
1191
+ " ",
1192
+ "@entity.unit"
1193
+ ],
1194
+ "type": "typography",
1195
+ "variant": "caption"
1196
+ },
1197
+ {
1198
+ "action": "SET_ESTIMATE",
1199
+ "max": "@config.sliderMax",
1200
+ "min": "@config.sliderMin",
1201
+ "showTooltip": true,
1202
+ "step": "@config.sliderStep",
1203
+ "type": "range-slider",
1204
+ "value": "@entity.estimate"
1205
+ }
1206
+ ],
1207
+ "direction": "vertical",
1208
+ "gap": "xs",
1209
+ "type": "stack"
1210
+ },
1211
+ {
1212
+ "children": [
1213
+ {
1214
+ "action": "LOCK_IN",
1215
+ "disabled": [
1216
+ "if",
1217
+ "@entity.locked",
1218
+ true,
1219
+ false
1220
+ ],
1221
+ "label": "@config.lockLabel",
1222
+ "type": "button",
1223
+ "variant": "primary"
1224
+ },
1225
+ {
1226
+ "action": "NEXT",
1227
+ "disabled": [
1228
+ "if",
1229
+ "@entity.locked",
1230
+ false,
1231
+ true
1232
+ ],
1233
+ "label": "@config.nextLabel",
1234
+ "type": "button",
1235
+ "variant": "secondary"
1236
+ }
1237
+ ],
1238
+ "direction": "horizontal",
1239
+ "gap": "sm",
1240
+ "type": "stack"
1241
+ },
1242
+ {
1243
+ "children": [
1244
+ {
1245
+ "content": "@entity.feedback",
1246
+ "type": "typography",
1247
+ "variant": "caption"
1248
+ }
1249
+ ],
1250
+ "direction": "horizontal",
1251
+ "gap": "xs",
1252
+ "type": "stack"
1253
+ },
1254
+ {
1255
+ "label": "Score",
1256
+ "max": [
1257
+ "*",
1258
+ "@entity.totalPrompts",
1259
+ "@config.exactPoints"
1260
+ ],
1261
+ "type": "stat-display",
1262
+ "value": "@entity.score"
1263
+ }
1264
+ ]
1265
+ ],
1266
+ [
1267
+ "render-ui",
1268
+ "main",
1269
+ {
1270
+ "children": [
1271
+ {
1272
+ "children": [
1273
+ {
1274
+ "content": "@entity.title",
1275
+ "type": "typography",
1276
+ "variant": "h4"
1277
+ },
1278
+ {
1279
+ "label": [
1280
+ "str/concat",
1281
+ "Prompt ",
1282
+ [
1283
+ "str/concat",
1284
+ "",
1285
+ [
1286
+ "+",
1287
+ "@entity.promptIndex",
1288
+ 1.0
1289
+ ]
1290
+ ],
1291
+ " of ",
1292
+ [
1293
+ "str/concat",
1294
+ "",
1295
+ "@entity.totalPrompts"
1296
+ ]
1297
+ ],
1298
+ "max": "@entity.totalPrompts",
1299
+ "showPercentage": false,
1300
+ "type": "progress-bar",
1301
+ "value": [
1302
+ "+",
1303
+ "@entity.promptIndex",
1304
+ 1.0
1305
+ ]
1306
+ },
1307
+ {
1308
+ "children": "@entity.view",
1309
+ "direction": "vertical",
1310
+ "gap": "md",
1311
+ "type": "stack"
1312
+ }
1313
+ ],
1314
+ "direction": "vertical",
1315
+ "gap": "md",
1316
+ "type": "stack"
1317
+ }
1318
+ ],
1319
+ "padding": "md",
1320
+ "type": "box"
1321
+ }
1322
+ ]
1323
+ ],
1324
+ "event": "SET_ESTIMATE",
1325
+ "eventId": "evt_01M07580S1NJJ70QS86GC0R5GP",
1326
+ "from": "idle",
1327
+ "guard": [
1328
+ "and",
1329
+ [
1330
+ "==",
1331
+ "@entity.active",
1332
+ true
1333
+ ],
1334
+ [
1335
+ "and",
1336
+ [
1337
+ "==",
1338
+ "@entity.locked",
1339
+ false
1340
+ ],
1341
+ [
1342
+ "==",
1343
+ "@entity.done",
1344
+ false
1345
+ ]
1346
+ ]
1347
+ ],
1348
+ "to": "idle"
1349
+ },
1350
+ {
1351
+ "effects": [
1352
+ [
1353
+ "let",
1354
+ [
1355
+ [
1356
+ "err",
1357
+ [
1358
+ "math/abs",
1359
+ [
1360
+ "-",
1361
+ "@entity.estimate",
1362
+ "@entity.answer"
1363
+ ]
1364
+ ]
1365
+ ],
1366
+ [
1367
+ "rel",
1368
+ [
1369
+ "/",
1370
+ "@err",
1371
+ [
1372
+ "math/max",
1373
+ [
1374
+ "math/abs",
1375
+ "@entity.answer"
1376
+ ],
1377
+ 0.0001
1378
+ ]
1379
+ ]
1380
+ ],
1381
+ [
1382
+ "band",
1383
+ [
1384
+ "if",
1385
+ [
1386
+ "<=",
1387
+ "@rel",
1388
+ "@config.exactPct"
1389
+ ],
1390
+ "exact",
1391
+ [
1392
+ "if",
1393
+ [
1394
+ "<=",
1395
+ "@rel",
1396
+ "@config.closePct"
1397
+ ],
1398
+ "close",
1399
+ "off"
1400
+ ]
1401
+ ]
1402
+ ],
1403
+ [
1404
+ "points",
1405
+ [
1406
+ "if",
1407
+ [
1408
+ "==",
1409
+ "@band",
1410
+ "exact"
1411
+ ],
1412
+ "@config.exactPoints",
1413
+ [
1414
+ "if",
1415
+ [
1416
+ "==",
1417
+ "@band",
1418
+ "close"
1419
+ ],
1420
+ "@config.closePoints",
1421
+ 0.0
1422
+ ]
1423
+ ]
1424
+ ]
1425
+ ],
1426
+ [
1427
+ "do",
1428
+ [
1429
+ "set",
1430
+ "@entity.locked",
1431
+ true
1432
+ ],
1433
+ [
1434
+ "set",
1435
+ "@entity.band",
1436
+ "@band"
1437
+ ],
1438
+ [
1439
+ "set",
1440
+ "@entity.score",
1441
+ [
1442
+ "+",
1443
+ "@entity.score",
1444
+ "@points"
1445
+ ]
1446
+ ],
1447
+ [
1448
+ "set",
1449
+ "@entity.feedback",
1450
+ [
1451
+ "str/concat",
1452
+ "Answer: ",
1453
+ [
1454
+ "math/round",
1455
+ "@entity.answer",
1456
+ 2.0
1457
+ ],
1458
+ " ",
1459
+ "@entity.unit",
1460
+ " — you were off by ",
1461
+ [
1462
+ "math/round",
1463
+ "@err",
1464
+ 2.0
1465
+ ],
1466
+ " (",
1467
+ [
1468
+ "math/round",
1469
+ [
1470
+ "*",
1471
+ "@rel",
1472
+ 100.0
1473
+ ],
1474
+ 1.0
1475
+ ],
1476
+ "%). +",
1477
+ [
1478
+ "str/concat",
1479
+ "",
1480
+ "@points"
1481
+ ],
1482
+ " points."
1483
+ ]
1484
+ ],
1485
+ [
1486
+ "set",
1487
+ "@entity.view",
1488
+ [
1489
+ {
1490
+ "children": [
1491
+ {
1492
+ "content": "@entity.promptText",
1493
+ "type": "typography",
1494
+ "variant": "body"
1495
+ },
1496
+ {
1497
+ "color": "muted",
1498
+ "content": "@entity.promptHint",
1499
+ "type": "typography",
1500
+ "variant": "caption"
1501
+ }
1502
+ ],
1503
+ "padding": "md",
1504
+ "type": "card",
1505
+ "variant": "bordered"
1506
+ },
1507
+ {
1508
+ "children": [
1509
+ {
1510
+ "content": [
1511
+ "str/concat",
1512
+ "Your estimate: ",
1513
+ [
1514
+ "math/round",
1515
+ "@entity.estimate",
1516
+ 2.0
1517
+ ],
1518
+ " ",
1519
+ "@entity.unit"
1520
+ ],
1521
+ "type": "typography",
1522
+ "variant": "caption"
1523
+ },
1524
+ {
1525
+ "action": "SET_ESTIMATE",
1526
+ "max": "@config.sliderMax",
1527
+ "min": "@config.sliderMin",
1528
+ "showTooltip": true,
1529
+ "step": "@config.sliderStep",
1530
+ "type": "range-slider",
1531
+ "value": "@entity.estimate"
1532
+ }
1533
+ ],
1534
+ "direction": "vertical",
1535
+ "gap": "xs",
1536
+ "type": "stack"
1537
+ },
1538
+ {
1539
+ "children": [
1540
+ {
1541
+ "action": "LOCK_IN",
1542
+ "disabled": [
1543
+ "if",
1544
+ "@entity.locked",
1545
+ true,
1546
+ false
1547
+ ],
1548
+ "label": "@config.lockLabel",
1549
+ "type": "button",
1550
+ "variant": "primary"
1551
+ },
1552
+ {
1553
+ "action": "NEXT",
1554
+ "disabled": [
1555
+ "if",
1556
+ "@entity.locked",
1557
+ false,
1558
+ true
1559
+ ],
1560
+ "label": "@config.nextLabel",
1561
+ "type": "button",
1562
+ "variant": "secondary"
1563
+ }
1564
+ ],
1565
+ "direction": "horizontal",
1566
+ "gap": "sm",
1567
+ "type": "stack"
1568
+ },
1569
+ {
1570
+ "children": [
1571
+ {
1572
+ "label": [
1573
+ "if",
1574
+ [
1575
+ "==",
1576
+ "@entity.band",
1577
+ "exact"
1578
+ ],
1579
+ "Spot on",
1580
+ [
1581
+ "if",
1582
+ [
1583
+ "==",
1584
+ "@entity.band",
1585
+ "close"
1586
+ ],
1587
+ "Close",
1588
+ "Off"
1589
+ ]
1590
+ ],
1591
+ "type": "badge",
1592
+ "variant": [
1593
+ "if",
1594
+ [
1595
+ "==",
1596
+ "@entity.band",
1597
+ "exact"
1598
+ ],
1599
+ "success",
1600
+ [
1601
+ "if",
1602
+ [
1603
+ "==",
1604
+ "@entity.band",
1605
+ "close"
1606
+ ],
1607
+ "warning",
1608
+ "danger"
1609
+ ]
1610
+ ]
1611
+ },
1612
+ {
1613
+ "content": "@entity.feedback",
1614
+ "type": "typography",
1615
+ "variant": "caption"
1616
+ }
1617
+ ],
1618
+ "direction": "horizontal",
1619
+ "gap": "xs",
1620
+ "type": "stack"
1621
+ },
1622
+ {
1623
+ "label": "Score",
1624
+ "max": [
1625
+ "*",
1626
+ "@entity.totalPrompts",
1627
+ "@config.exactPoints"
1628
+ ],
1629
+ "type": "stat-display",
1630
+ "value": "@entity.score"
1631
+ }
1632
+ ]
1633
+ ]
1634
+ ]
1635
+ ],
1636
+ [
1637
+ "render-ui",
1638
+ "main",
1639
+ {
1640
+ "children": [
1641
+ {
1642
+ "children": [
1643
+ {
1644
+ "content": "@entity.title",
1645
+ "type": "typography",
1646
+ "variant": "h4"
1647
+ },
1648
+ {
1649
+ "label": [
1650
+ "str/concat",
1651
+ "Prompt ",
1652
+ [
1653
+ "str/concat",
1654
+ "",
1655
+ [
1656
+ "+",
1657
+ "@entity.promptIndex",
1658
+ 1.0
1659
+ ]
1660
+ ],
1661
+ " of ",
1662
+ [
1663
+ "str/concat",
1664
+ "",
1665
+ "@entity.totalPrompts"
1666
+ ]
1667
+ ],
1668
+ "max": "@entity.totalPrompts",
1669
+ "showPercentage": false,
1670
+ "type": "progress-bar",
1671
+ "value": [
1672
+ "+",
1673
+ "@entity.promptIndex",
1674
+ 1.0
1675
+ ]
1676
+ },
1677
+ {
1678
+ "children": "@entity.view",
1679
+ "direction": "vertical",
1680
+ "gap": "md",
1681
+ "type": "stack"
1682
+ }
1683
+ ],
1684
+ "direction": "vertical",
1685
+ "gap": "md",
1686
+ "type": "stack"
1687
+ }
1688
+ ],
1689
+ "padding": "md",
1690
+ "type": "box"
1691
+ }
1692
+ ],
1693
+ [
1694
+ "emit",
1695
+ "ESTIMATE_JUDGED",
1696
+ {
1697
+ "answer": "@entity.answer",
1698
+ "band": "@entity.band",
1699
+ "estimate": "@entity.estimate",
1700
+ "score": "@entity.score"
1701
+ }
1702
+ ]
1703
+ ],
1704
+ "event": "LOCK_IN",
1705
+ "eventId": "evt_01M07580S1W3ZQBFHX44XQYRCA",
1706
+ "from": "idle",
1707
+ "guard": [
1708
+ "and",
1709
+ [
1710
+ "==",
1711
+ "@entity.active",
1712
+ true
1713
+ ],
1714
+ [
1715
+ "and",
1716
+ [
1717
+ "==",
1718
+ "@entity.locked",
1719
+ false
1720
+ ],
1721
+ [
1722
+ "==",
1723
+ "@entity.done",
1724
+ false
1725
+ ]
1726
+ ]
1727
+ ],
1728
+ "to": "idle"
1729
+ },
1730
+ {
1731
+ "effects": [
1732
+ [
1733
+ "let",
1734
+ [
1735
+ [
1736
+ "nextIndex",
1737
+ [
1738
+ "+",
1739
+ "@entity.promptIndex",
1740
+ 1.0
1741
+ ]
1742
+ ],
1743
+ [
1744
+ "finished",
1745
+ [
1746
+ ">=",
1747
+ "@nextIndex",
1748
+ [
1749
+ "array/len",
1750
+ "@config.prompts"
1751
+ ]
1752
+ ]
1753
+ ],
1754
+ [
1755
+ "next",
1756
+ [
1757
+ "array/nth",
1758
+ "@config.prompts",
1759
+ [
1760
+ "math/min",
1761
+ "@nextIndex",
1762
+ [
1763
+ "-",
1764
+ [
1765
+ "array/len",
1766
+ "@config.prompts"
1767
+ ],
1768
+ 1.0
1769
+ ]
1770
+ ]
1771
+ ]
1772
+ ]
1773
+ ],
1774
+ [
1775
+ "do",
1776
+ [
1777
+ "set",
1778
+ "@entity.promptIndex",
1779
+ [
1780
+ "if",
1781
+ "@finished",
1782
+ "@entity.promptIndex",
1783
+ "@nextIndex"
1784
+ ]
1785
+ ],
1786
+ [
1787
+ "set",
1788
+ "@entity.done",
1789
+ [
1790
+ "if",
1791
+ "@finished",
1792
+ true,
1793
+ false
1794
+ ]
1795
+ ],
1796
+ [
1797
+ "set",
1798
+ "@entity.locked",
1799
+ false
1800
+ ],
1801
+ [
1802
+ "set",
1803
+ "@entity.band",
1804
+ ""
1805
+ ],
1806
+ [
1807
+ "set",
1808
+ "@entity.estimate",
1809
+ "@config.sliderDefault"
1810
+ ],
1811
+ [
1812
+ "set",
1813
+ "@entity.promptText",
1814
+ [
1815
+ "if",
1816
+ "@finished",
1817
+ "@entity.promptText",
1818
+ [
1819
+ "object/get",
1820
+ "@next",
1821
+ "prompt"
1822
+ ]
1823
+ ]
1824
+ ],
1825
+ [
1826
+ "set",
1827
+ "@entity.promptHint",
1828
+ [
1829
+ "if",
1830
+ "@finished",
1831
+ "@entity.promptHint",
1832
+ [
1833
+ "object/get",
1834
+ "@next",
1835
+ "hint",
1836
+ ""
1837
+ ]
1838
+ ]
1839
+ ],
1840
+ [
1841
+ "set",
1842
+ "@entity.answer",
1843
+ [
1844
+ "if",
1845
+ "@finished",
1846
+ "@entity.answer",
1847
+ [
1848
+ "object/get",
1849
+ "@next",
1850
+ "answer"
1851
+ ]
1852
+ ]
1853
+ ],
1854
+ [
1855
+ "set",
1856
+ "@entity.unit",
1857
+ [
1858
+ "if",
1859
+ "@finished",
1860
+ "@entity.unit",
1861
+ [
1862
+ "object/get",
1863
+ "@next",
1864
+ "unit",
1865
+ ""
1866
+ ]
1867
+ ]
1868
+ ],
1869
+ [
1870
+ "set",
1871
+ "@entity.feedback",
1872
+ ""
1873
+ ],
1874
+ [
1875
+ "set",
1876
+ "@entity.view",
1877
+ [
1878
+ "if",
1879
+ "@finished",
1880
+ [
1881
+ {
1882
+ "content": "Round Complete",
1883
+ "type": "typography",
1884
+ "variant": "h4"
1885
+ },
1886
+ {
1887
+ "label": "Final score",
1888
+ "max": [
1889
+ "*",
1890
+ "@entity.totalPrompts",
1891
+ "@config.exactPoints"
1892
+ ],
1893
+ "type": "stat-display",
1894
+ "value": "@entity.score"
1895
+ },
1896
+ {
1897
+ "action": "RETRY",
1898
+ "label": "@config.retryLabel",
1899
+ "type": "button",
1900
+ "variant": "primary"
1901
+ }
1902
+ ],
1903
+ [
1904
+ {
1905
+ "children": [
1906
+ {
1907
+ "content": "@entity.promptText",
1908
+ "type": "typography",
1909
+ "variant": "body"
1910
+ },
1911
+ {
1912
+ "color": "muted",
1913
+ "content": "@entity.promptHint",
1914
+ "type": "typography",
1915
+ "variant": "caption"
1916
+ }
1917
+ ],
1918
+ "padding": "md",
1919
+ "type": "card",
1920
+ "variant": "bordered"
1921
+ },
1922
+ {
1923
+ "children": [
1924
+ {
1925
+ "content": [
1926
+ "str/concat",
1927
+ "Your estimate: ",
1928
+ [
1929
+ "math/round",
1930
+ "@entity.estimate",
1931
+ 2.0
1932
+ ],
1933
+ " ",
1934
+ "@entity.unit"
1935
+ ],
1936
+ "type": "typography",
1937
+ "variant": "caption"
1938
+ },
1939
+ {
1940
+ "action": "SET_ESTIMATE",
1941
+ "max": "@config.sliderMax",
1942
+ "min": "@config.sliderMin",
1943
+ "showTooltip": true,
1944
+ "step": "@config.sliderStep",
1945
+ "type": "range-slider",
1946
+ "value": "@entity.estimate"
1947
+ }
1948
+ ],
1949
+ "direction": "vertical",
1950
+ "gap": "xs",
1951
+ "type": "stack"
1952
+ },
1953
+ {
1954
+ "children": [
1955
+ {
1956
+ "action": "LOCK_IN",
1957
+ "disabled": [
1958
+ "if",
1959
+ "@entity.locked",
1960
+ true,
1961
+ false
1962
+ ],
1963
+ "label": "@config.lockLabel",
1964
+ "type": "button",
1965
+ "variant": "primary"
1966
+ },
1967
+ {
1968
+ "action": "NEXT",
1969
+ "disabled": [
1970
+ "if",
1971
+ "@entity.locked",
1972
+ false,
1973
+ true
1974
+ ],
1975
+ "label": "@config.nextLabel",
1976
+ "type": "button",
1977
+ "variant": "secondary"
1978
+ }
1979
+ ],
1980
+ "direction": "horizontal",
1981
+ "gap": "sm",
1982
+ "type": "stack"
1983
+ },
1984
+ {
1985
+ "children": [
1986
+ {
1987
+ "content": "@entity.feedback",
1988
+ "type": "typography",
1989
+ "variant": "caption"
1990
+ }
1991
+ ],
1992
+ "direction": "horizontal",
1993
+ "gap": "xs",
1994
+ "type": "stack"
1995
+ },
1996
+ {
1997
+ "label": "Score",
1998
+ "max": [
1999
+ "*",
2000
+ "@entity.totalPrompts",
2001
+ "@config.exactPoints"
2002
+ ],
2003
+ "type": "stat-display",
2004
+ "value": "@entity.score"
2005
+ }
2006
+ ]
2007
+ ]
2008
+ ]
2009
+ ]
2010
+ ],
2011
+ [
2012
+ "render-ui",
2013
+ "main",
2014
+ {
2015
+ "children": [
2016
+ {
2017
+ "children": [
2018
+ {
2019
+ "content": "@entity.title",
2020
+ "type": "typography",
2021
+ "variant": "h4"
2022
+ },
2023
+ {
2024
+ "label": [
2025
+ "str/concat",
2026
+ "Prompt ",
2027
+ [
2028
+ "str/concat",
2029
+ "",
2030
+ [
2031
+ "+",
2032
+ "@entity.promptIndex",
2033
+ 1.0
2034
+ ]
2035
+ ],
2036
+ " of ",
2037
+ [
2038
+ "str/concat",
2039
+ "",
2040
+ "@entity.totalPrompts"
2041
+ ]
2042
+ ],
2043
+ "max": "@entity.totalPrompts",
2044
+ "showPercentage": false,
2045
+ "type": "progress-bar",
2046
+ "value": [
2047
+ "+",
2048
+ "@entity.promptIndex",
2049
+ 1.0
2050
+ ]
2051
+ },
2052
+ {
2053
+ "children": "@entity.view",
2054
+ "direction": "vertical",
2055
+ "gap": "md",
2056
+ "type": "stack"
2057
+ }
2058
+ ],
2059
+ "direction": "vertical",
2060
+ "gap": "md",
2061
+ "type": "stack"
2062
+ }
2063
+ ],
2064
+ "padding": "md",
2065
+ "type": "box"
2066
+ }
2067
+ ],
2068
+ [
2069
+ "emit",
2070
+ "PROMPT_ADVANCED",
2071
+ {
2072
+ "done": "@entity.done",
2073
+ "promptIndex": "@entity.promptIndex",
2074
+ "score": "@entity.score"
2075
+ }
2076
+ ]
2077
+ ],
2078
+ "event": "NEXT",
2079
+ "eventId": "evt_01M07580S1DQG5RAQRCZGA46C5",
2080
+ "from": "idle",
2081
+ "guard": [
2082
+ "and",
2083
+ [
2084
+ "==",
2085
+ "@entity.active",
2086
+ true
2087
+ ],
2088
+ [
2089
+ "and",
2090
+ [
2091
+ "==",
2092
+ "@entity.locked",
2093
+ true
2094
+ ],
2095
+ [
2096
+ "==",
2097
+ "@entity.done",
2098
+ false
2099
+ ]
2100
+ ]
2101
+ ],
2102
+ "to": "idle"
2103
+ },
2104
+ {
2105
+ "effects": [
2106
+ [
2107
+ "let",
2108
+ [
2109
+ [
2110
+ "first",
2111
+ [
2112
+ "array/nth",
2113
+ "@config.prompts",
2114
+ 0.0
2115
+ ]
2116
+ ]
2117
+ ],
2118
+ [
2119
+ "do",
2120
+ [
2121
+ "set",
2122
+ "@entity.promptIndex",
2123
+ 0.0
2124
+ ],
2125
+ [
2126
+ "set",
2127
+ "@entity.estimate",
2128
+ "@config.sliderDefault"
2129
+ ],
2130
+ [
2131
+ "set",
2132
+ "@entity.locked",
2133
+ false
2134
+ ],
2135
+ [
2136
+ "set",
2137
+ "@entity.band",
2138
+ ""
2139
+ ],
2140
+ [
2141
+ "set",
2142
+ "@entity.score",
2143
+ 0.0
2144
+ ],
2145
+ [
2146
+ "set",
2147
+ "@entity.done",
2148
+ false
2149
+ ],
2150
+ [
2151
+ "set",
2152
+ "@entity.promptText",
2153
+ [
2154
+ "object/get",
2155
+ "@first",
2156
+ "prompt"
2157
+ ]
2158
+ ],
2159
+ [
2160
+ "set",
2161
+ "@entity.promptHint",
2162
+ [
2163
+ "object/get",
2164
+ "@first",
2165
+ "hint",
2166
+ ""
2167
+ ]
2168
+ ],
2169
+ [
2170
+ "set",
2171
+ "@entity.answer",
2172
+ [
2173
+ "object/get",
2174
+ "@first",
2175
+ "answer"
2176
+ ]
2177
+ ],
2178
+ [
2179
+ "set",
2180
+ "@entity.unit",
2181
+ [
2182
+ "object/get",
2183
+ "@first",
2184
+ "unit",
2185
+ ""
2186
+ ]
2187
+ ],
2188
+ [
2189
+ "set",
2190
+ "@entity.feedback",
2191
+ ""
2192
+ ],
2193
+ [
2194
+ "set",
2195
+ "@entity.view",
2196
+ [
2197
+ {
2198
+ "children": [
2199
+ {
2200
+ "content": "@entity.promptText",
2201
+ "type": "typography",
2202
+ "variant": "body"
2203
+ },
2204
+ {
2205
+ "color": "muted",
2206
+ "content": "@entity.promptHint",
2207
+ "type": "typography",
2208
+ "variant": "caption"
2209
+ }
2210
+ ],
2211
+ "padding": "md",
2212
+ "type": "card",
2213
+ "variant": "bordered"
2214
+ },
2215
+ {
2216
+ "children": [
2217
+ {
2218
+ "content": [
2219
+ "str/concat",
2220
+ "Your estimate: ",
2221
+ [
2222
+ "math/round",
2223
+ "@entity.estimate",
2224
+ 2.0
2225
+ ],
2226
+ " ",
2227
+ "@entity.unit"
2228
+ ],
2229
+ "type": "typography",
2230
+ "variant": "caption"
2231
+ },
2232
+ {
2233
+ "action": "SET_ESTIMATE",
2234
+ "max": "@config.sliderMax",
2235
+ "min": "@config.sliderMin",
2236
+ "showTooltip": true,
2237
+ "step": "@config.sliderStep",
2238
+ "type": "range-slider",
2239
+ "value": "@entity.estimate"
2240
+ }
2241
+ ],
2242
+ "direction": "vertical",
2243
+ "gap": "xs",
2244
+ "type": "stack"
2245
+ },
2246
+ {
2247
+ "children": [
2248
+ {
2249
+ "action": "LOCK_IN",
2250
+ "disabled": [
2251
+ "if",
2252
+ "@entity.locked",
2253
+ true,
2254
+ false
2255
+ ],
2256
+ "label": "@config.lockLabel",
2257
+ "type": "button",
2258
+ "variant": "primary"
2259
+ },
2260
+ {
2261
+ "action": "NEXT",
2262
+ "disabled": [
2263
+ "if",
2264
+ "@entity.locked",
2265
+ false,
2266
+ true
2267
+ ],
2268
+ "label": "@config.nextLabel",
2269
+ "type": "button",
2270
+ "variant": "secondary"
2271
+ }
2272
+ ],
2273
+ "direction": "horizontal",
2274
+ "gap": "sm",
2275
+ "type": "stack"
2276
+ },
2277
+ {
2278
+ "children": [
2279
+ {
2280
+ "content": "@entity.feedback",
2281
+ "type": "typography",
2282
+ "variant": "caption"
2283
+ }
2284
+ ],
2285
+ "direction": "horizontal",
2286
+ "gap": "xs",
2287
+ "type": "stack"
2288
+ },
2289
+ {
2290
+ "label": "Score",
2291
+ "max": [
2292
+ "*",
2293
+ "@entity.totalPrompts",
2294
+ "@config.exactPoints"
2295
+ ],
2296
+ "type": "stat-display",
2297
+ "value": "@entity.score"
2298
+ }
2299
+ ]
2300
+ ]
2301
+ ]
2302
+ ],
2303
+ [
2304
+ "render-ui",
2305
+ "main",
2306
+ {
2307
+ "children": [
2308
+ {
2309
+ "children": [
2310
+ {
2311
+ "content": "@entity.title",
2312
+ "type": "typography",
2313
+ "variant": "h4"
2314
+ },
2315
+ {
2316
+ "label": [
2317
+ "str/concat",
2318
+ "Prompt ",
2319
+ [
2320
+ "str/concat",
2321
+ "",
2322
+ [
2323
+ "+",
2324
+ "@entity.promptIndex",
2325
+ 1.0
2326
+ ]
2327
+ ],
2328
+ " of ",
2329
+ [
2330
+ "str/concat",
2331
+ "",
2332
+ "@entity.totalPrompts"
2333
+ ]
2334
+ ],
2335
+ "max": "@entity.totalPrompts",
2336
+ "showPercentage": false,
2337
+ "type": "progress-bar",
2338
+ "value": [
2339
+ "+",
2340
+ "@entity.promptIndex",
2341
+ 1.0
2342
+ ]
2343
+ },
2344
+ {
2345
+ "children": "@entity.view",
2346
+ "direction": "vertical",
2347
+ "gap": "md",
2348
+ "type": "stack"
2349
+ }
2350
+ ],
2351
+ "direction": "vertical",
2352
+ "gap": "md",
2353
+ "type": "stack"
2354
+ }
2355
+ ],
2356
+ "padding": "md",
2357
+ "type": "box"
2358
+ }
2359
+ ],
2360
+ [
2361
+ "emit",
2362
+ "ROUND_RESTARTED",
2363
+ {
2364
+ "totalPrompts": "@entity.totalPrompts"
2365
+ }
2366
+ ]
2367
+ ],
2368
+ "event": "RETRY",
2369
+ "eventId": "evt_01M07580S1QXBDVQQ1ZPMB50MQ",
2370
+ "from": "idle",
2371
+ "guard": [
2372
+ "and",
2373
+ [
2374
+ "==",
2375
+ "@entity.active",
2376
+ true
2377
+ ],
2378
+ [
2379
+ "==",
2380
+ "@entity.done",
2381
+ true
2382
+ ]
2383
+ ],
2384
+ "to": "idle"
2385
+ }
2386
+ ]
2387
+ }
2388
+ }
2389
+ ]
2390
+ }
2391
+ ],
2392
+ "schemaVersion": 1,
2393
+ "version": "1.0.0"
2394
+ }