@almadar/std 16.178.0 → 16.180.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 (80) hide show
  1. package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +82 -0
  2. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +20 -2
  3. package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +63 -0
  4. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +1 -1
  5. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +6 -0
  6. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +2 -2
  7. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +2 -2
  8. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +2 -2
  9. package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +23 -4
  10. package/behaviors/lolo/ui/game/atoms/std-platformer-body.lolo +251 -0
  11. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +109 -0
  12. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +32 -2
  13. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +32 -2
  14. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +32 -2
  15. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +32 -2
  16. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +32 -2
  17. package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +391 -0
  18. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +32 -2
  19. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +34 -6
  20. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +34 -4
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +8 -0
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +8 -0
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +8 -0
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +9 -0
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +8 -0
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-fx-cues.lolo +147 -0
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +8 -0
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +8 -0
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +8 -0
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +9 -0
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +8 -0
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +9 -0
  33. package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +265 -0
  34. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +55 -17
  35. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +281 -0
  36. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  37. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +8 -0
  38. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +6 -0
  39. package/behaviors/registry/ui/core/organisms/ui-form.orb +6 -0
  40. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +2 -2
  41. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +265 -4
  42. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +2136 -0
  43. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +523 -0
  44. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +159 -70
  45. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +148 -58
  46. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +169 -58
  47. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +160 -70
  48. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +151 -60
  49. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +2981 -0
  50. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +150 -60
  51. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +163 -316
  52. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +156 -184
  53. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +62 -0
  54. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +73 -0
  55. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +66 -0
  56. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +71 -0
  57. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +72 -0
  58. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1546 -0
  59. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +58 -0
  60. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +72 -0
  61. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +72 -0
  62. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +71 -0
  63. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +72 -0
  64. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +176 -0
  65. package/canonical-operators.json +14 -2
  66. package/dist/behaviors/exports-reader.js +8655 -5239
  67. package/dist/behaviors/functions/index.d.ts +686 -16
  68. package/dist/behaviors/functions/index.js +8637 -5240
  69. package/dist/behaviors/index.d.ts +1 -1
  70. package/dist/behaviors/index.js +8656 -5240
  71. package/dist/behaviors/query.js +8655 -5239
  72. package/dist/behaviors-embeddings.hash.json +3 -3
  73. package/dist/behaviors-embeddings.json +381 -353
  74. package/dist/behaviors-registry.json +2415 -443
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +8656 -5240
  77. package/dist/knob-embeddings.hash.json +3 -3
  78. package/dist/knob-embeddings.json +1 -1
  79. package/dist/registry/factory-signatures.json +1 -1
  80. package/package.json +2 -2
@@ -0,0 +1,1546 @@
1
+ {
2
+ "description": "Headless pedagogy→fx translator: rides the bare-event cascade of the graded learning instruments (ANSWER_JUDGED, TAP_JUDGED, ESTIMATE_JUDGED, CLASSIFY_UPDATED, ARRANGEMENT_CHECKED, GOAL_CHECKED, LEARN_ROUND_COMPLETE, TRACE_DONE) and emits BURST cues for std-fx-particles to hold and a composed fx-overlay to play — correct/wrong beats, streak glow at a threshold, and a celebration on completion. Cues are typed FxCue config values carrying their own style (position, ttl, screen effect, color), so a lab opts in with two `uses` lines plus an overlay node and restyles or disables any cue purely through config; the instruments never learn about visuals, and this atom never learns about subjects. A new judged event elsewhere in the substrate means a new arm here — this listens list is the closed extension point. Renders nothing.",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M0GTSZ99CH2QZ0P4XB2TB3MG": {
6
+ "bakedName": "LearnFxCuesScene",
7
+ "curName": "LearnFxCuesScene",
8
+ "id": "ent_01M0GTSZ99CH2QZ0P4XB2TB3MG",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M0GTSZ991163551KXC7XVXJS": {
14
+ "bakedName": "CLASSIFY_UPDATED",
15
+ "curName": "CLASSIFY_UPDATED",
16
+ "id": "evt_01M0GTSZ991163551KXC7XVXJS",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
20
+ "renames": []
21
+ },
22
+ "evt_01M0GTSZ992BTRFEF8Y9PD1RRT": {
23
+ "bakedName": "ANSWER_JUDGED",
24
+ "curName": "ANSWER_JUDGED",
25
+ "id": "evt_01M0GTSZ992BTRFEF8Y9PD1RRT",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
29
+ "renames": []
30
+ },
31
+ "evt_01M0GTSZ993DREBS67K41T0DSA": {
32
+ "bakedName": "GOAL_CHECKED",
33
+ "curName": "GOAL_CHECKED",
34
+ "id": "evt_01M0GTSZ993DREBS67K41T0DSA",
35
+ "kind": "event",
36
+ "owner": "workspace",
37
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
38
+ "renames": []
39
+ },
40
+ "evt_01M0GTSZ995TRK9FSTJ6BS19YZ": {
41
+ "bakedName": "TRACE_DONE",
42
+ "curName": "TRACE_DONE",
43
+ "id": "evt_01M0GTSZ995TRK9FSTJ6BS19YZ",
44
+ "kind": "event",
45
+ "owner": "workspace",
46
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
47
+ "renames": []
48
+ },
49
+ "evt_01M0GTSZ99DZY51R4K3X3E934F": {
50
+ "bakedName": "BURST",
51
+ "curName": "BURST",
52
+ "id": "evt_01M0GTSZ99DZY51R4K3X3E934F",
53
+ "kind": "event",
54
+ "owner": "workspace",
55
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
56
+ "renames": []
57
+ },
58
+ "evt_01M0GTSZ99EQ6VPH47MA87EBPP": {
59
+ "bakedName": "TAP_JUDGED",
60
+ "curName": "TAP_JUDGED",
61
+ "id": "evt_01M0GTSZ99EQ6VPH47MA87EBPP",
62
+ "kind": "event",
63
+ "owner": "workspace",
64
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
65
+ "renames": []
66
+ },
67
+ "evt_01M0GTSZ99J2E1PHMJ270WSSXW": {
68
+ "bakedName": "ESTIMATE_JUDGED",
69
+ "curName": "ESTIMATE_JUDGED",
70
+ "id": "evt_01M0GTSZ99J2E1PHMJ270WSSXW",
71
+ "kind": "event",
72
+ "owner": "workspace",
73
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
74
+ "renames": []
75
+ },
76
+ "evt_01M0GTSZ99Q49ZHWXZ5M1JY2MR": {
77
+ "bakedName": "INIT",
78
+ "curName": "INIT",
79
+ "id": "evt_01M0GTSZ99Q49ZHWXZ5M1JY2MR",
80
+ "kind": "event",
81
+ "owner": "workspace",
82
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
83
+ "renames": []
84
+ },
85
+ "evt_01M0GTSZ99RXA1531S643AHKGH": {
86
+ "bakedName": "ARRANGEMENT_CHECKED",
87
+ "curName": "ARRANGEMENT_CHECKED",
88
+ "id": "evt_01M0GTSZ99RXA1531S643AHKGH",
89
+ "kind": "event",
90
+ "owner": "workspace",
91
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
92
+ "renames": []
93
+ },
94
+ "evt_01M0GTSZ99X664ET266DSX4AMS": {
95
+ "bakedName": "LEARN_ROUND_COMPLETE",
96
+ "curName": "LEARN_ROUND_COMPLETE",
97
+ "id": "evt_01M0GTSZ99X664ET266DSX4AMS",
98
+ "kind": "event",
99
+ "owner": "workspace",
100
+ "parent": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
101
+ "renames": []
102
+ },
103
+ "orb_01M0GTSZ99TE2MMFDG260M3221": {
104
+ "bakedName": "LearnFxCuesOrbital",
105
+ "curName": "LearnFxCuesOrbital",
106
+ "id": "orb_01M0GTSZ99TE2MMFDG260M3221",
107
+ "kind": "orbital",
108
+ "owner": "workspace",
109
+ "renames": []
110
+ },
111
+ "pag_01M0GTSZ9ATCMD8GVBK888TWKA": {
112
+ "bakedName": "LearnFxCuesPage",
113
+ "curName": "LearnFxCuesPage",
114
+ "id": "pag_01M0GTSZ9ATCMD8GVBK888TWKA",
115
+ "kind": "page",
116
+ "owner": "workspace",
117
+ "renames": []
118
+ },
119
+ "trt_01M0GTSZ99W9PK69A16AQ3QEB2": {
120
+ "bakedName": "LearnFxCues",
121
+ "curName": "LearnFxCues",
122
+ "id": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
123
+ "kind": "trait",
124
+ "owner": "workspace",
125
+ "renames": []
126
+ }
127
+ },
128
+ "schemaVersion": 1
129
+ },
130
+ "name": "std-learn-fx-cues",
131
+ "orbitals": [
132
+ {
133
+ "entity": {
134
+ "fields": [
135
+ {
136
+ "name": "id",
137
+ "required": true,
138
+ "type": "string"
139
+ },
140
+ {
141
+ "default": 0.0,
142
+ "name": "cueSeq",
143
+ "type": "number"
144
+ }
145
+ ],
146
+ "id": "ent_01M0GTSZ99CH2QZ0P4XB2TB3MG",
147
+ "name": "LearnFxCuesScene",
148
+ "persistence": "runtime",
149
+ "shared": true
150
+ },
151
+ "id": "orb_01M0GTSZ99TE2MMFDG260M3221",
152
+ "name": "LearnFxCuesOrbital",
153
+ "pages": [
154
+ {
155
+ "id": "pag_01M0GTSZ9ATCMD8GVBK888TWKA",
156
+ "name": "LearnFxCuesPage",
157
+ "path": "/learn-fx-cues",
158
+ "traits": [
159
+ {
160
+ "ref": "LearnFxCues",
161
+ "refId": "trt_01M0GTSZ99W9PK69A16AQ3QEB2"
162
+ }
163
+ ]
164
+ }
165
+ ],
166
+ "traits": [
167
+ {
168
+ "category": "lifecycle",
169
+ "config": {
170
+ "bandCues": {
171
+ "default": [],
172
+ "description": "Per-band cues for ESTIMATE_JUDGED — one row per error band (exact/close/off); bands with no row spawn nothing.",
173
+ "items": {
174
+ "properties": {
175
+ "band": {
176
+ "name": "band",
177
+ "required": true,
178
+ "type": "string"
179
+ },
180
+ "cue": {
181
+ "name": "cue",
182
+ "properties": {
183
+ "color": {
184
+ "name": "color",
185
+ "required": false,
186
+ "type": "string"
187
+ },
188
+ "effect": {
189
+ "name": "effect",
190
+ "required": false,
191
+ "type": "string"
192
+ },
193
+ "message": {
194
+ "name": "message",
195
+ "required": false,
196
+ "type": "string"
197
+ },
198
+ "particleCount": {
199
+ "name": "particleCount",
200
+ "required": false,
201
+ "type": "number"
202
+ },
203
+ "size": {
204
+ "name": "size",
205
+ "required": false,
206
+ "type": "number"
207
+ },
208
+ "space": {
209
+ "name": "space",
210
+ "required": false,
211
+ "type": "string"
212
+ },
213
+ "ttl": {
214
+ "name": "ttl",
215
+ "required": true,
216
+ "type": "number"
217
+ },
218
+ "type": {
219
+ "name": "type",
220
+ "required": true,
221
+ "type": "string"
222
+ },
223
+ "x": {
224
+ "name": "x",
225
+ "required": true,
226
+ "type": "number"
227
+ },
228
+ "z": {
229
+ "name": "z",
230
+ "required": false,
231
+ "type": "number"
232
+ }
233
+ },
234
+ "required": true,
235
+ "type": "object"
236
+ }
237
+ },
238
+ "type": "object"
239
+ },
240
+ "label": "Band Cues",
241
+ "tier": "presentation",
242
+ "type": "[FxBandCue]"
243
+ },
244
+ "celebrationCue": {
245
+ "default": {
246
+ "color": "#facc15",
247
+ "effect": "confetti",
248
+ "particleCount": 40.0,
249
+ "space": "screen",
250
+ "ttl": 5.0,
251
+ "type": "celebration",
252
+ "x": 0.5,
253
+ "z": 0.45
254
+ },
255
+ "description": "Cue spawned when a round completes (LEARN_ROUND_COMPLETE / TRACE_DONE).",
256
+ "label": "Celebration Cue",
257
+ "properties": {
258
+ "color": {
259
+ "name": "color",
260
+ "required": false,
261
+ "type": "string"
262
+ },
263
+ "effect": {
264
+ "name": "effect",
265
+ "required": false,
266
+ "type": "string"
267
+ },
268
+ "message": {
269
+ "name": "message",
270
+ "required": false,
271
+ "type": "string"
272
+ },
273
+ "particleCount": {
274
+ "name": "particleCount",
275
+ "required": false,
276
+ "type": "number"
277
+ },
278
+ "size": {
279
+ "name": "size",
280
+ "required": false,
281
+ "type": "number"
282
+ },
283
+ "space": {
284
+ "name": "space",
285
+ "required": false,
286
+ "type": "string"
287
+ },
288
+ "ttl": {
289
+ "name": "ttl",
290
+ "required": true,
291
+ "type": "number"
292
+ },
293
+ "type": {
294
+ "name": "type",
295
+ "required": true,
296
+ "type": "string"
297
+ },
298
+ "x": {
299
+ "name": "x",
300
+ "required": true,
301
+ "type": "number"
302
+ },
303
+ "z": {
304
+ "name": "z",
305
+ "required": false,
306
+ "type": "number"
307
+ }
308
+ },
309
+ "tier": "presentation",
310
+ "type": "FxCue"
311
+ },
312
+ "correctCue": {
313
+ "default": {
314
+ "color": "#4ade80",
315
+ "effect": "sparkle",
316
+ "particleCount": 10.0,
317
+ "space": "screen",
318
+ "ttl": 1.5,
319
+ "type": "correct",
320
+ "x": 0.5,
321
+ "z": 0.35
322
+ },
323
+ "description": "Cue spawned on a correct judged answer.",
324
+ "label": "Correct Cue",
325
+ "properties": {
326
+ "color": {
327
+ "name": "color",
328
+ "required": false,
329
+ "type": "string"
330
+ },
331
+ "effect": {
332
+ "name": "effect",
333
+ "required": false,
334
+ "type": "string"
335
+ },
336
+ "message": {
337
+ "name": "message",
338
+ "required": false,
339
+ "type": "string"
340
+ },
341
+ "particleCount": {
342
+ "name": "particleCount",
343
+ "required": false,
344
+ "type": "number"
345
+ },
346
+ "size": {
347
+ "name": "size",
348
+ "required": false,
349
+ "type": "number"
350
+ },
351
+ "space": {
352
+ "name": "space",
353
+ "required": false,
354
+ "type": "string"
355
+ },
356
+ "ttl": {
357
+ "name": "ttl",
358
+ "required": true,
359
+ "type": "number"
360
+ },
361
+ "type": {
362
+ "name": "type",
363
+ "required": true,
364
+ "type": "string"
365
+ },
366
+ "x": {
367
+ "name": "x",
368
+ "required": true,
369
+ "type": "number"
370
+ },
371
+ "z": {
372
+ "name": "z",
373
+ "required": false,
374
+ "type": "number"
375
+ }
376
+ },
377
+ "tier": "presentation",
378
+ "type": "FxCue"
379
+ },
380
+ "progressCue": {
381
+ "default": {
382
+ "color": "#a5b4fc",
383
+ "effect": "sparkle",
384
+ "particleCount": 4.0,
385
+ "space": "screen",
386
+ "ttl": 1.5,
387
+ "type": "progress",
388
+ "x": 0.5,
389
+ "z": 0.35
390
+ },
391
+ "description": "Cue spawned on a partial arrangement check (some but not all slots correct).",
392
+ "label": "Progress Cue",
393
+ "properties": {
394
+ "color": {
395
+ "name": "color",
396
+ "required": false,
397
+ "type": "string"
398
+ },
399
+ "effect": {
400
+ "name": "effect",
401
+ "required": false,
402
+ "type": "string"
403
+ },
404
+ "message": {
405
+ "name": "message",
406
+ "required": false,
407
+ "type": "string"
408
+ },
409
+ "particleCount": {
410
+ "name": "particleCount",
411
+ "required": false,
412
+ "type": "number"
413
+ },
414
+ "size": {
415
+ "name": "size",
416
+ "required": false,
417
+ "type": "number"
418
+ },
419
+ "space": {
420
+ "name": "space",
421
+ "required": false,
422
+ "type": "string"
423
+ },
424
+ "ttl": {
425
+ "name": "ttl",
426
+ "required": true,
427
+ "type": "number"
428
+ },
429
+ "type": {
430
+ "name": "type",
431
+ "required": true,
432
+ "type": "string"
433
+ },
434
+ "x": {
435
+ "name": "x",
436
+ "required": true,
437
+ "type": "number"
438
+ },
439
+ "z": {
440
+ "name": "z",
441
+ "required": false,
442
+ "type": "number"
443
+ }
444
+ },
445
+ "tier": "presentation",
446
+ "type": "FxCue"
447
+ },
448
+ "running": {
449
+ "default": true,
450
+ "description": "When false every cue arm is inert — visual feedback fully disabled without unmounting.",
451
+ "label": "Running",
452
+ "tier": "domain",
453
+ "type": "boolean"
454
+ },
455
+ "streakCue": {
456
+ "default": {
457
+ "color": "#fbbf24",
458
+ "effect": "streak-glow",
459
+ "space": "screen",
460
+ "ttl": 2.5,
461
+ "type": "streak",
462
+ "x": 0.5,
463
+ "z": 0.2
464
+ },
465
+ "description": "Extra cue layered on the correct cue once the streak reaches the threshold.",
466
+ "label": "Streak Cue",
467
+ "properties": {
468
+ "color": {
469
+ "name": "color",
470
+ "required": false,
471
+ "type": "string"
472
+ },
473
+ "effect": {
474
+ "name": "effect",
475
+ "required": false,
476
+ "type": "string"
477
+ },
478
+ "message": {
479
+ "name": "message",
480
+ "required": false,
481
+ "type": "string"
482
+ },
483
+ "particleCount": {
484
+ "name": "particleCount",
485
+ "required": false,
486
+ "type": "number"
487
+ },
488
+ "size": {
489
+ "name": "size",
490
+ "required": false,
491
+ "type": "number"
492
+ },
493
+ "space": {
494
+ "name": "space",
495
+ "required": false,
496
+ "type": "string"
497
+ },
498
+ "ttl": {
499
+ "name": "ttl",
500
+ "required": true,
501
+ "type": "number"
502
+ },
503
+ "type": {
504
+ "name": "type",
505
+ "required": true,
506
+ "type": "string"
507
+ },
508
+ "x": {
509
+ "name": "x",
510
+ "required": true,
511
+ "type": "number"
512
+ },
513
+ "z": {
514
+ "name": "z",
515
+ "required": false,
516
+ "type": "number"
517
+ }
518
+ },
519
+ "tier": "presentation",
520
+ "type": "FxCue"
521
+ },
522
+ "streakThreshold": {
523
+ "default": 3.0,
524
+ "description": "Minimum ANSWER_JUDGED streak that adds the streak cue on top of the correct cue.",
525
+ "label": "Streak Threshold",
526
+ "tier": "domain",
527
+ "type": "number"
528
+ },
529
+ "verdictCues": {
530
+ "default": [],
531
+ "description": "Per-verdict cues for CLASSIFY_UPDATED — one row per verdict string; verdicts with no row spawn nothing.",
532
+ "items": {
533
+ "properties": {
534
+ "band": {
535
+ "name": "band",
536
+ "required": true,
537
+ "type": "string"
538
+ },
539
+ "cue": {
540
+ "name": "cue",
541
+ "properties": {
542
+ "color": {
543
+ "name": "color",
544
+ "required": false,
545
+ "type": "string"
546
+ },
547
+ "effect": {
548
+ "name": "effect",
549
+ "required": false,
550
+ "type": "string"
551
+ },
552
+ "message": {
553
+ "name": "message",
554
+ "required": false,
555
+ "type": "string"
556
+ },
557
+ "particleCount": {
558
+ "name": "particleCount",
559
+ "required": false,
560
+ "type": "number"
561
+ },
562
+ "size": {
563
+ "name": "size",
564
+ "required": false,
565
+ "type": "number"
566
+ },
567
+ "space": {
568
+ "name": "space",
569
+ "required": false,
570
+ "type": "string"
571
+ },
572
+ "ttl": {
573
+ "name": "ttl",
574
+ "required": true,
575
+ "type": "number"
576
+ },
577
+ "type": {
578
+ "name": "type",
579
+ "required": true,
580
+ "type": "string"
581
+ },
582
+ "x": {
583
+ "name": "x",
584
+ "required": true,
585
+ "type": "number"
586
+ },
587
+ "z": {
588
+ "name": "z",
589
+ "required": false,
590
+ "type": "number"
591
+ }
592
+ },
593
+ "required": true,
594
+ "type": "object"
595
+ }
596
+ },
597
+ "type": "object"
598
+ },
599
+ "label": "Verdict Cues",
600
+ "tier": "presentation",
601
+ "type": "[FxBandCue]"
602
+ },
603
+ "wrongCue": {
604
+ "default": {
605
+ "color": "#fda4af",
606
+ "effect": "shake",
607
+ "space": "screen",
608
+ "ttl": 1.0,
609
+ "type": "wrong",
610
+ "x": 0.5,
611
+ "z": 0.35
612
+ },
613
+ "description": "Cue spawned on a wrong judged answer (and an unmatched goal check).",
614
+ "label": "Wrong Cue",
615
+ "properties": {
616
+ "color": {
617
+ "name": "color",
618
+ "required": false,
619
+ "type": "string"
620
+ },
621
+ "effect": {
622
+ "name": "effect",
623
+ "required": false,
624
+ "type": "string"
625
+ },
626
+ "message": {
627
+ "name": "message",
628
+ "required": false,
629
+ "type": "string"
630
+ },
631
+ "particleCount": {
632
+ "name": "particleCount",
633
+ "required": false,
634
+ "type": "number"
635
+ },
636
+ "size": {
637
+ "name": "size",
638
+ "required": false,
639
+ "type": "number"
640
+ },
641
+ "space": {
642
+ "name": "space",
643
+ "required": false,
644
+ "type": "string"
645
+ },
646
+ "ttl": {
647
+ "name": "ttl",
648
+ "required": true,
649
+ "type": "number"
650
+ },
651
+ "type": {
652
+ "name": "type",
653
+ "required": true,
654
+ "type": "string"
655
+ },
656
+ "x": {
657
+ "name": "x",
658
+ "required": true,
659
+ "type": "number"
660
+ },
661
+ "z": {
662
+ "name": "z",
663
+ "required": false,
664
+ "type": "number"
665
+ }
666
+ },
667
+ "tier": "presentation",
668
+ "type": "FxCue"
669
+ }
670
+ },
671
+ "emits": [
672
+ {
673
+ "description": "Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.",
674
+ "event": "BURST",
675
+ "eventId": "evt_01M0GTSZ99DZY51R4K3X3E934F",
676
+ "payloadSchema": [
677
+ {
678
+ "name": "particles",
679
+ "type": "[Fx]"
680
+ }
681
+ ],
682
+ "scope": "external",
683
+ "synonyms": "fx, cue, celebration, feedback burst, confetti, shake",
684
+ "tier": "domain"
685
+ }
686
+ ],
687
+ "entityContract": {
688
+ "provides": [
689
+ "cueSeq"
690
+ ],
691
+ "requires": []
692
+ },
693
+ "entityRebindable": true,
694
+ "entityRefIds": {
695
+ "LearnFxCuesScene": "ent_01M0GTSZ99CH2QZ0P4XB2TB3MG"
696
+ },
697
+ "id": "trt_01M0GTSZ99W9PK69A16AQ3QEB2",
698
+ "linkedEntity": "LearnFxCuesScene",
699
+ "linkedEntityId": "ent_01M0GTSZ99CH2QZ0P4XB2TB3MG",
700
+ "name": "LearnFxCues",
701
+ "scope": "instance",
702
+ "stateMachine": {
703
+ "events": [
704
+ {
705
+ "id": "evt_01M0GTSZ99Q49ZHWXZ5M1JY2MR",
706
+ "key": "INIT",
707
+ "name": "Initialize"
708
+ },
709
+ {
710
+ "id": "evt_01M0GTSZ992BTRFEF8Y9PD1RRT",
711
+ "key": "ANSWER_JUDGED",
712
+ "name": "Answer Judged",
713
+ "payloadSchema": [
714
+ {
715
+ "name": "correct",
716
+ "type": "boolean"
717
+ },
718
+ {
719
+ "name": "timeLeftTenths",
720
+ "type": "number"
721
+ },
722
+ {
723
+ "name": "score",
724
+ "type": "number"
725
+ },
726
+ {
727
+ "name": "streak",
728
+ "type": "number"
729
+ }
730
+ ]
731
+ },
732
+ {
733
+ "id": "evt_01M0GTSZ99EQ6VPH47MA87EBPP",
734
+ "key": "TAP_JUDGED",
735
+ "name": "Tap Judged",
736
+ "payloadSchema": [
737
+ {
738
+ "name": "correct",
739
+ "type": "boolean"
740
+ },
741
+ {
742
+ "name": "promptIndex",
743
+ "type": "number"
744
+ },
745
+ {
746
+ "name": "tries",
747
+ "type": "number"
748
+ }
749
+ ]
750
+ },
751
+ {
752
+ "id": "evt_01M0GTSZ99J2E1PHMJ270WSSXW",
753
+ "key": "ESTIMATE_JUDGED",
754
+ "name": "Estimate Judged",
755
+ "payloadSchema": [
756
+ {
757
+ "name": "band",
758
+ "type": "string"
759
+ },
760
+ {
761
+ "name": "estimate",
762
+ "type": "number"
763
+ },
764
+ {
765
+ "name": "answer",
766
+ "type": "number"
767
+ },
768
+ {
769
+ "name": "score",
770
+ "type": "number"
771
+ }
772
+ ]
773
+ },
774
+ {
775
+ "id": "evt_01M0GTSZ991163551KXC7XVXJS",
776
+ "key": "CLASSIFY_UPDATED",
777
+ "name": "Classify Updated",
778
+ "payloadSchema": [
779
+ {
780
+ "name": "itemIndex",
781
+ "type": "number"
782
+ },
783
+ {
784
+ "name": "correctCount",
785
+ "type": "number"
786
+ },
787
+ {
788
+ "name": "attemptedCount",
789
+ "type": "number"
790
+ },
791
+ {
792
+ "name": "selectedCategory",
793
+ "type": "string"
794
+ },
795
+ {
796
+ "name": "verdict",
797
+ "type": "string"
798
+ },
799
+ {
800
+ "name": "roundComplete",
801
+ "type": "boolean"
802
+ }
803
+ ]
804
+ },
805
+ {
806
+ "id": "evt_01M0GTSZ99RXA1531S643AHKGH",
807
+ "key": "ARRANGEMENT_CHECKED",
808
+ "name": "Arrangement Checked",
809
+ "payloadSchema": [
810
+ {
811
+ "name": "correctCount",
812
+ "type": "number"
813
+ },
814
+ {
815
+ "name": "total",
816
+ "type": "number"
817
+ }
818
+ ]
819
+ },
820
+ {
821
+ "id": "evt_01M0GTSZ993DREBS67K41T0DSA",
822
+ "key": "GOAL_CHECKED",
823
+ "name": "Goal Checked",
824
+ "payloadSchema": [
825
+ {
826
+ "name": "matched",
827
+ "type": "boolean"
828
+ },
829
+ {
830
+ "name": "distance",
831
+ "type": "number"
832
+ },
833
+ {
834
+ "name": "attempts",
835
+ "type": "number"
836
+ }
837
+ ]
838
+ },
839
+ {
840
+ "id": "evt_01M0GTSZ99X664ET266DSX4AMS",
841
+ "key": "LEARN_ROUND_COMPLETE",
842
+ "name": "Learn Round Complete",
843
+ "payloadSchema": [
844
+ {
845
+ "name": "score",
846
+ "type": "number"
847
+ },
848
+ {
849
+ "name": "total",
850
+ "type": "number"
851
+ }
852
+ ]
853
+ },
854
+ {
855
+ "id": "evt_01M0GTSZ995TRK9FSTJ6BS19YZ",
856
+ "key": "TRACE_DONE",
857
+ "name": "Trace Done",
858
+ "payloadSchema": [
859
+ {
860
+ "name": "totalFrames",
861
+ "type": "number"
862
+ }
863
+ ]
864
+ },
865
+ {
866
+ "description": "Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.",
867
+ "id": "evt_01M0GTSZ99DZY51R4K3X3E934F",
868
+ "key": "BURST",
869
+ "name": "Burst",
870
+ "payloadSchema": [
871
+ {
872
+ "name": "particles",
873
+ "type": "[Fx]"
874
+ }
875
+ ],
876
+ "synonyms": "fx, cue, celebration, feedback burst, confetti, shake",
877
+ "tier": "domain"
878
+ }
879
+ ],
880
+ "states": [
881
+ {
882
+ "isInitial": true,
883
+ "name": "active"
884
+ }
885
+ ],
886
+ "transitions": [
887
+ {
888
+ "effects": [
889
+ [
890
+ "set",
891
+ "@entity.cueSeq",
892
+ 0.0
893
+ ]
894
+ ],
895
+ "event": "INIT",
896
+ "eventId": "evt_01M0GTSZ99Q49ZHWXZ5M1JY2MR",
897
+ "from": "active",
898
+ "to": "active"
899
+ },
900
+ {
901
+ "effects": [
902
+ [
903
+ "emit",
904
+ "BURST",
905
+ {
906
+ "particles": [
907
+ "array/concat",
908
+ [
909
+ [
910
+ "object/merge",
911
+ [
912
+ "if",
913
+ "@payload.correct",
914
+ "@config.correctCue",
915
+ "@config.wrongCue"
916
+ ],
917
+ {
918
+ "id": [
919
+ "str/concat",
920
+ "cue-",
921
+ [
922
+ "+",
923
+ "@entity.cueSeq",
924
+ 1.0
925
+ ]
926
+ ]
927
+ }
928
+ ]
929
+ ],
930
+ [
931
+ "if",
932
+ [
933
+ "and",
934
+ "@payload.correct",
935
+ [
936
+ ">=",
937
+ "@payload.streak",
938
+ "@config.streakThreshold"
939
+ ]
940
+ ],
941
+ [
942
+ [
943
+ "object/merge",
944
+ "@config.streakCue",
945
+ {
946
+ "id": [
947
+ "str/concat",
948
+ "streak-",
949
+ [
950
+ "+",
951
+ "@entity.cueSeq",
952
+ 1.0
953
+ ]
954
+ ]
955
+ }
956
+ ]
957
+ ],
958
+ []
959
+ ]
960
+ ]
961
+ }
962
+ ],
963
+ [
964
+ "set",
965
+ "@entity.cueSeq",
966
+ [
967
+ "+",
968
+ "@entity.cueSeq",
969
+ 1.0
970
+ ]
971
+ ]
972
+ ],
973
+ "event": "ANSWER_JUDGED",
974
+ "eventId": "evt_01M0GTSZ992BTRFEF8Y9PD1RRT",
975
+ "from": "active",
976
+ "guard": "@config.running",
977
+ "to": "active"
978
+ },
979
+ {
980
+ "effects": [
981
+ [
982
+ "emit",
983
+ "BURST",
984
+ {
985
+ "particles": [
986
+ "array/map",
987
+ [
988
+ [
989
+ "if",
990
+ "@payload.correct",
991
+ "@config.correctCue",
992
+ "@config.wrongCue"
993
+ ]
994
+ ],
995
+ [
996
+ "fn",
997
+ "c",
998
+ {
999
+ "color": [
1000
+ "object/get",
1001
+ "@c",
1002
+ "color"
1003
+ ],
1004
+ "effect": [
1005
+ "object/get",
1006
+ "@c",
1007
+ "effect"
1008
+ ],
1009
+ "id": [
1010
+ "str/concat",
1011
+ "cue-",
1012
+ [
1013
+ "+",
1014
+ "@entity.cueSeq",
1015
+ 1.0
1016
+ ]
1017
+ ],
1018
+ "message": [
1019
+ "object/get",
1020
+ "@c",
1021
+ "message"
1022
+ ],
1023
+ "particleCount": [
1024
+ "object/get",
1025
+ "@c",
1026
+ "particleCount"
1027
+ ],
1028
+ "size": [
1029
+ "object/get",
1030
+ "@c",
1031
+ "size"
1032
+ ],
1033
+ "space": [
1034
+ "object/get",
1035
+ "@c",
1036
+ "space"
1037
+ ],
1038
+ "ttl": [
1039
+ "object/get",
1040
+ "@c",
1041
+ "ttl"
1042
+ ],
1043
+ "type": [
1044
+ "object/get",
1045
+ "@c",
1046
+ "type"
1047
+ ],
1048
+ "x": [
1049
+ "object/get",
1050
+ "@c",
1051
+ "x"
1052
+ ],
1053
+ "z": [
1054
+ "object/get",
1055
+ "@c",
1056
+ "z"
1057
+ ]
1058
+ }
1059
+ ]
1060
+ ]
1061
+ }
1062
+ ],
1063
+ [
1064
+ "set",
1065
+ "@entity.cueSeq",
1066
+ [
1067
+ "+",
1068
+ "@entity.cueSeq",
1069
+ 1.0
1070
+ ]
1071
+ ]
1072
+ ],
1073
+ "event": "TAP_JUDGED",
1074
+ "eventId": "evt_01M0GTSZ99EQ6VPH47MA87EBPP",
1075
+ "from": "active",
1076
+ "guard": "@config.running",
1077
+ "to": "active"
1078
+ },
1079
+ {
1080
+ "effects": [
1081
+ [
1082
+ "let",
1083
+ [
1084
+ [
1085
+ "matched",
1086
+ [
1087
+ "array/filter",
1088
+ "@config.bandCues",
1089
+ [
1090
+ "fn",
1091
+ "b",
1092
+ [
1093
+ "==",
1094
+ [
1095
+ "object/get",
1096
+ "@b",
1097
+ "band"
1098
+ ],
1099
+ "@payload.band"
1100
+ ]
1101
+ ]
1102
+ ]
1103
+ ]
1104
+ ],
1105
+ [
1106
+ "if",
1107
+ [
1108
+ ">",
1109
+ [
1110
+ "array/len",
1111
+ "@matched"
1112
+ ],
1113
+ 0.0
1114
+ ],
1115
+ [
1116
+ "emit",
1117
+ "BURST",
1118
+ {
1119
+ "particles": [
1120
+ [
1121
+ "object/merge",
1122
+ [
1123
+ "object/get",
1124
+ [
1125
+ "array/first",
1126
+ "@matched"
1127
+ ],
1128
+ "cue"
1129
+ ],
1130
+ {
1131
+ "id": [
1132
+ "str/concat",
1133
+ "cue-",
1134
+ [
1135
+ "+",
1136
+ "@entity.cueSeq",
1137
+ 1.0
1138
+ ]
1139
+ ]
1140
+ }
1141
+ ]
1142
+ ]
1143
+ }
1144
+ ],
1145
+ null
1146
+ ]
1147
+ ],
1148
+ [
1149
+ "set",
1150
+ "@entity.cueSeq",
1151
+ [
1152
+ "+",
1153
+ "@entity.cueSeq",
1154
+ 1.0
1155
+ ]
1156
+ ]
1157
+ ],
1158
+ "event": "ESTIMATE_JUDGED",
1159
+ "eventId": "evt_01M0GTSZ99J2E1PHMJ270WSSXW",
1160
+ "from": "active",
1161
+ "guard": "@config.running",
1162
+ "to": "active"
1163
+ },
1164
+ {
1165
+ "effects": [
1166
+ [
1167
+ "let",
1168
+ [
1169
+ [
1170
+ "matched",
1171
+ [
1172
+ "array/filter",
1173
+ "@config.verdictCues",
1174
+ [
1175
+ "fn",
1176
+ "v",
1177
+ [
1178
+ "==",
1179
+ [
1180
+ "object/get",
1181
+ "@v",
1182
+ "band"
1183
+ ],
1184
+ "@payload.verdict"
1185
+ ]
1186
+ ]
1187
+ ]
1188
+ ]
1189
+ ],
1190
+ [
1191
+ "if",
1192
+ [
1193
+ ">",
1194
+ [
1195
+ "array/len",
1196
+ "@matched"
1197
+ ],
1198
+ 0.0
1199
+ ],
1200
+ [
1201
+ "emit",
1202
+ "BURST",
1203
+ {
1204
+ "particles": [
1205
+ [
1206
+ "object/merge",
1207
+ [
1208
+ "object/get",
1209
+ [
1210
+ "array/first",
1211
+ "@matched"
1212
+ ],
1213
+ "cue"
1214
+ ],
1215
+ {
1216
+ "id": [
1217
+ "str/concat",
1218
+ "cue-",
1219
+ [
1220
+ "+",
1221
+ "@entity.cueSeq",
1222
+ 1.0
1223
+ ]
1224
+ ]
1225
+ }
1226
+ ]
1227
+ ]
1228
+ }
1229
+ ],
1230
+ null
1231
+ ]
1232
+ ],
1233
+ [
1234
+ "set",
1235
+ "@entity.cueSeq",
1236
+ [
1237
+ "+",
1238
+ "@entity.cueSeq",
1239
+ 1.0
1240
+ ]
1241
+ ]
1242
+ ],
1243
+ "event": "CLASSIFY_UPDATED",
1244
+ "eventId": "evt_01M0GTSZ991163551KXC7XVXJS",
1245
+ "from": "active",
1246
+ "guard": "@config.running",
1247
+ "to": "active"
1248
+ },
1249
+ {
1250
+ "effects": [
1251
+ [
1252
+ "if",
1253
+ [
1254
+ "<",
1255
+ "@payload.correctCount",
1256
+ "@payload.total"
1257
+ ],
1258
+ [
1259
+ "emit",
1260
+ "BURST",
1261
+ {
1262
+ "particles": [
1263
+ [
1264
+ "object/merge",
1265
+ "@config.progressCue",
1266
+ {
1267
+ "id": [
1268
+ "str/concat",
1269
+ "cue-",
1270
+ [
1271
+ "+",
1272
+ "@entity.cueSeq",
1273
+ 1.0
1274
+ ]
1275
+ ]
1276
+ }
1277
+ ]
1278
+ ]
1279
+ }
1280
+ ],
1281
+ null
1282
+ ],
1283
+ [
1284
+ "set",
1285
+ "@entity.cueSeq",
1286
+ [
1287
+ "+",
1288
+ "@entity.cueSeq",
1289
+ 1.0
1290
+ ]
1291
+ ]
1292
+ ],
1293
+ "event": "ARRANGEMENT_CHECKED",
1294
+ "eventId": "evt_01M0GTSZ99RXA1531S643AHKGH",
1295
+ "from": "active",
1296
+ "guard": "@config.running",
1297
+ "to": "active"
1298
+ },
1299
+ {
1300
+ "effects": [
1301
+ [
1302
+ "if",
1303
+ [
1304
+ "not",
1305
+ "@payload.matched"
1306
+ ],
1307
+ [
1308
+ "emit",
1309
+ "BURST",
1310
+ {
1311
+ "particles": [
1312
+ [
1313
+ "object/merge",
1314
+ "@config.wrongCue",
1315
+ {
1316
+ "id": [
1317
+ "str/concat",
1318
+ "cue-",
1319
+ [
1320
+ "+",
1321
+ "@entity.cueSeq",
1322
+ 1.0
1323
+ ]
1324
+ ]
1325
+ }
1326
+ ]
1327
+ ]
1328
+ }
1329
+ ],
1330
+ null
1331
+ ],
1332
+ [
1333
+ "set",
1334
+ "@entity.cueSeq",
1335
+ [
1336
+ "+",
1337
+ "@entity.cueSeq",
1338
+ 1.0
1339
+ ]
1340
+ ]
1341
+ ],
1342
+ "event": "GOAL_CHECKED",
1343
+ "eventId": "evt_01M0GTSZ993DREBS67K41T0DSA",
1344
+ "from": "active",
1345
+ "guard": "@config.running",
1346
+ "to": "active"
1347
+ },
1348
+ {
1349
+ "effects": [
1350
+ [
1351
+ "emit",
1352
+ "BURST",
1353
+ {
1354
+ "particles": [
1355
+ "array/map",
1356
+ [
1357
+ "@config.celebrationCue"
1358
+ ],
1359
+ [
1360
+ "fn",
1361
+ "c",
1362
+ {
1363
+ "color": [
1364
+ "object/get",
1365
+ "@c",
1366
+ "color"
1367
+ ],
1368
+ "effect": [
1369
+ "object/get",
1370
+ "@c",
1371
+ "effect"
1372
+ ],
1373
+ "id": [
1374
+ "str/concat",
1375
+ "cue-",
1376
+ [
1377
+ "+",
1378
+ "@entity.cueSeq",
1379
+ 1.0
1380
+ ]
1381
+ ],
1382
+ "message": [
1383
+ "object/get",
1384
+ "@c",
1385
+ "message"
1386
+ ],
1387
+ "particleCount": [
1388
+ "object/get",
1389
+ "@c",
1390
+ "particleCount"
1391
+ ],
1392
+ "size": [
1393
+ "object/get",
1394
+ "@c",
1395
+ "size"
1396
+ ],
1397
+ "space": [
1398
+ "object/get",
1399
+ "@c",
1400
+ "space"
1401
+ ],
1402
+ "ttl": [
1403
+ "object/get",
1404
+ "@c",
1405
+ "ttl"
1406
+ ],
1407
+ "type": [
1408
+ "object/get",
1409
+ "@c",
1410
+ "type"
1411
+ ],
1412
+ "x": [
1413
+ "object/get",
1414
+ "@c",
1415
+ "x"
1416
+ ],
1417
+ "z": [
1418
+ "object/get",
1419
+ "@c",
1420
+ "z"
1421
+ ]
1422
+ }
1423
+ ]
1424
+ ]
1425
+ }
1426
+ ],
1427
+ [
1428
+ "set",
1429
+ "@entity.cueSeq",
1430
+ [
1431
+ "+",
1432
+ "@entity.cueSeq",
1433
+ 1.0
1434
+ ]
1435
+ ]
1436
+ ],
1437
+ "event": "LEARN_ROUND_COMPLETE",
1438
+ "eventId": "evt_01M0GTSZ99X664ET266DSX4AMS",
1439
+ "from": "active",
1440
+ "guard": "@config.running",
1441
+ "to": "active"
1442
+ },
1443
+ {
1444
+ "effects": [
1445
+ [
1446
+ "emit",
1447
+ "BURST",
1448
+ {
1449
+ "particles": [
1450
+ "array/map",
1451
+ [
1452
+ "@config.celebrationCue"
1453
+ ],
1454
+ [
1455
+ "fn",
1456
+ "c",
1457
+ {
1458
+ "color": [
1459
+ "object/get",
1460
+ "@c",
1461
+ "color"
1462
+ ],
1463
+ "effect": [
1464
+ "object/get",
1465
+ "@c",
1466
+ "effect"
1467
+ ],
1468
+ "id": [
1469
+ "str/concat",
1470
+ "cue-",
1471
+ [
1472
+ "+",
1473
+ "@entity.cueSeq",
1474
+ 1.0
1475
+ ]
1476
+ ],
1477
+ "message": [
1478
+ "object/get",
1479
+ "@c",
1480
+ "message"
1481
+ ],
1482
+ "particleCount": [
1483
+ "object/get",
1484
+ "@c",
1485
+ "particleCount"
1486
+ ],
1487
+ "size": [
1488
+ "object/get",
1489
+ "@c",
1490
+ "size"
1491
+ ],
1492
+ "space": [
1493
+ "object/get",
1494
+ "@c",
1495
+ "space"
1496
+ ],
1497
+ "ttl": [
1498
+ "object/get",
1499
+ "@c",
1500
+ "ttl"
1501
+ ],
1502
+ "type": [
1503
+ "object/get",
1504
+ "@c",
1505
+ "type"
1506
+ ],
1507
+ "x": [
1508
+ "object/get",
1509
+ "@c",
1510
+ "x"
1511
+ ],
1512
+ "z": [
1513
+ "object/get",
1514
+ "@c",
1515
+ "z"
1516
+ ]
1517
+ }
1518
+ ]
1519
+ ]
1520
+ }
1521
+ ],
1522
+ [
1523
+ "set",
1524
+ "@entity.cueSeq",
1525
+ [
1526
+ "+",
1527
+ "@entity.cueSeq",
1528
+ 1.0
1529
+ ]
1530
+ ]
1531
+ ],
1532
+ "event": "TRACE_DONE",
1533
+ "eventId": "evt_01M0GTSZ995TRK9FSTJ6BS19YZ",
1534
+ "from": "active",
1535
+ "guard": "@config.running",
1536
+ "to": "active"
1537
+ }
1538
+ ]
1539
+ }
1540
+ }
1541
+ ]
1542
+ }
1543
+ ],
1544
+ "schemaVersion": 1,
1545
+ "version": "1.0.0"
1546
+ }