@almadar/std 16.182.0 → 16.184.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.
- package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
- package/behaviors/lolo/ui/core/.hand-authored.json +4 -0
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +11 -0
- package/behaviors/lolo/ui/core/atoms/std-related.lolo +86 -9
- package/behaviors/lolo/ui/core/atoms/std-rich-editor.lolo +115 -1
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +62 -2
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +43 -2
- package/behaviors/lolo/ui/core/atoms/std-tree.lolo +247 -0
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +110 -2
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +18 -2
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +6 -2
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +2 -2
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/std-fx-trail.lolo +63 -0
- package/behaviors/lolo/ui/game/atoms/std-gate-lock.lolo +96 -0
- package/behaviors/lolo/ui/game/atoms/std-lives.lolo +121 -0
- package/behaviors/lolo/ui/game/atoms/std-patrol-hazard.lolo +96 -0
- package/behaviors/lolo/ui/game/atoms/std-tutorial-autodemo.lolo +136 -0
- package/behaviors/lolo/ui/game/atoms/std-tutorial-overlay.lolo +197 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-slope-probe.lolo +117 -0
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +18 -0
- package/behaviors/registry/infra/atoms/std-migration-job.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-browse.orb +17 -0
- package/behaviors/registry/ui/core/atoms/std-related.orb +256 -3
- package/behaviors/registry/ui/core/atoms/std-rich-editor.orb +407 -1
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +240 -8
- package/behaviors/registry/ui/core/atoms/std-thread.orb +254 -4
- package/behaviors/registry/ui/core/atoms/std-tree.orb +656 -0
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +479 -6
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +43 -19
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +28 -3
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +8 -2
- package/behaviors/registry/ui/core/organisms/ui-form.orb +8 -2
- package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +376 -0
- package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +852 -0
- package/behaviors/registry/ui/game/atoms/std-lives.orb +739 -0
- package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +768 -0
- package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +732 -0
- package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1212 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +908 -0
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +26 -0
- package/dist/behaviors/exports-reader.js +5478 -2954
- package/dist/behaviors/functions/index.d.ts +763 -15
- package/dist/behaviors/functions/index.js +5447 -2953
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +5479 -2955
- package/dist/behaviors/query.js +5478 -2954
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +362 -330
- package/dist/behaviors-registry.json +2812 -542
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5479 -2955
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +2 -2
|
@@ -102,6 +102,38 @@
|
|
|
102
102
|
"tier": "presentation",
|
|
103
103
|
"type": "number"
|
|
104
104
|
},
|
|
105
|
+
"items": {
|
|
106
|
+
"default": [],
|
|
107
|
+
"description": "Flat node list, nested by `parentId` at render time — takes precedence over `tree` when provided. A `parentId` with no matching row renders that node as a root rather than dropping it.",
|
|
108
|
+
"items": {
|
|
109
|
+
"properties": {
|
|
110
|
+
"icon": {
|
|
111
|
+
"name": "icon",
|
|
112
|
+
"required": false,
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
"id": {
|
|
116
|
+
"name": "id",
|
|
117
|
+
"required": true,
|
|
118
|
+
"type": "string"
|
|
119
|
+
},
|
|
120
|
+
"label": {
|
|
121
|
+
"name": "label",
|
|
122
|
+
"required": true,
|
|
123
|
+
"type": "string"
|
|
124
|
+
},
|
|
125
|
+
"parentId": {
|
|
126
|
+
"name": "parentId",
|
|
127
|
+
"required": false,
|
|
128
|
+
"type": "string"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"type": "object"
|
|
132
|
+
},
|
|
133
|
+
"label": "Items",
|
|
134
|
+
"tier": "presentation",
|
|
135
|
+
"type": "[FileTreeItemsItem]"
|
|
136
|
+
},
|
|
105
137
|
"onFileSelect": {
|
|
106
138
|
"default": "FILE_SELECT",
|
|
107
139
|
"description": "Called when a file is clicked",
|
|
@@ -109,6 +141,13 @@
|
|
|
109
141
|
"tier": "presentation",
|
|
110
142
|
"type": "string"
|
|
111
143
|
},
|
|
144
|
+
"onNodeSelect": {
|
|
145
|
+
"default": "",
|
|
146
|
+
"description": "Called when a node is clicked, in flat `items` mode; carries the selected node's id. Presence-gated: binding this prop is what turns on the click-to-select affordance, mirroring Badge's `onRemove`.",
|
|
147
|
+
"label": "On Node Select",
|
|
148
|
+
"tier": "presentation",
|
|
149
|
+
"type": "string"
|
|
150
|
+
},
|
|
112
151
|
"selectedPath": {
|
|
113
152
|
"description": "Currently selected file path",
|
|
114
153
|
"label": "Selected Path",
|
|
@@ -116,25 +155,8 @@
|
|
|
116
155
|
"type": "string"
|
|
117
156
|
},
|
|
118
157
|
"tree": {
|
|
119
|
-
"default": [
|
|
120
|
-
|
|
121
|
-
"children": [],
|
|
122
|
-
"language": "Language",
|
|
123
|
-
"name": "Name",
|
|
124
|
-
"path": "Path",
|
|
125
|
-
"size": 1.0,
|
|
126
|
-
"type": "file"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"children": [],
|
|
130
|
-
"language": "Language 2",
|
|
131
|
-
"name": "Name 2",
|
|
132
|
-
"path": "Path 2",
|
|
133
|
-
"size": 2.0,
|
|
134
|
-
"type": "dir"
|
|
135
|
-
}
|
|
136
|
-
],
|
|
137
|
-
"description": "The tree data",
|
|
158
|
+
"default": [],
|
|
159
|
+
"description": "The tree data (pre-nested). Ignored when `items` is provided.",
|
|
138
160
|
"items": {
|
|
139
161
|
"properties": {
|
|
140
162
|
"children": {
|
|
@@ -246,7 +268,9 @@
|
|
|
246
268
|
{
|
|
247
269
|
"className": "@config.className",
|
|
248
270
|
"indent": "@config.indent",
|
|
271
|
+
"items": "@config.items",
|
|
249
272
|
"onFileSelect": "@config.onFileSelect",
|
|
273
|
+
"onNodeSelect": "@config.onNodeSelect",
|
|
250
274
|
"selectedPath": "@config.selectedPath",
|
|
251
275
|
"tree": "@config.tree",
|
|
252
276
|
"type": "file-tree"
|
|
@@ -246,7 +246,10 @@
|
|
|
246
246
|
{
|
|
247
247
|
"header": "Header",
|
|
248
248
|
"key": "Key",
|
|
249
|
-
"relation":
|
|
249
|
+
"relation": {
|
|
250
|
+
"cardinality": "one",
|
|
251
|
+
"entity": "Entity"
|
|
252
|
+
},
|
|
250
253
|
"type": "Type",
|
|
251
254
|
"values": [
|
|
252
255
|
"Item",
|
|
@@ -256,7 +259,10 @@
|
|
|
256
259
|
{
|
|
257
260
|
"header": "Header 2",
|
|
258
261
|
"key": "Key 2",
|
|
259
|
-
"relation":
|
|
262
|
+
"relation": {
|
|
263
|
+
"cardinality": "many",
|
|
264
|
+
"entity": "Entity 2"
|
|
265
|
+
},
|
|
260
266
|
"type": "Type 2",
|
|
261
267
|
"values": [
|
|
262
268
|
"Item",
|
|
@@ -279,8 +285,27 @@
|
|
|
279
285
|
},
|
|
280
286
|
"relation": {
|
|
281
287
|
"name": "relation",
|
|
288
|
+
"properties": {
|
|
289
|
+
"cardinality": {
|
|
290
|
+
"name": "cardinality",
|
|
291
|
+
"required": false,
|
|
292
|
+
"type": "string",
|
|
293
|
+
"values": [
|
|
294
|
+
"one",
|
|
295
|
+
"many",
|
|
296
|
+
"one-to-many",
|
|
297
|
+
"many-to-one",
|
|
298
|
+
"many-to-many"
|
|
299
|
+
]
|
|
300
|
+
},
|
|
301
|
+
"entity": {
|
|
302
|
+
"name": "entity",
|
|
303
|
+
"required": true,
|
|
304
|
+
"type": "string"
|
|
305
|
+
}
|
|
306
|
+
},
|
|
282
307
|
"required": false,
|
|
283
|
-
"type": "
|
|
308
|
+
"type": "object"
|
|
284
309
|
},
|
|
285
310
|
"type": {
|
|
286
311
|
"name": "type",
|
|
@@ -432,7 +432,10 @@
|
|
|
432
432
|
"type": "string",
|
|
433
433
|
"values": [
|
|
434
434
|
"one",
|
|
435
|
-
"many"
|
|
435
|
+
"many",
|
|
436
|
+
"one-to-many",
|
|
437
|
+
"many-to-one",
|
|
438
|
+
"many-to-many"
|
|
436
439
|
]
|
|
437
440
|
},
|
|
438
441
|
"displayField": {
|
|
@@ -738,7 +741,10 @@
|
|
|
738
741
|
"type": "string",
|
|
739
742
|
"values": [
|
|
740
743
|
"one",
|
|
741
|
-
"many"
|
|
744
|
+
"many",
|
|
745
|
+
"one-to-many",
|
|
746
|
+
"many-to-one",
|
|
747
|
+
"many-to-many"
|
|
742
748
|
]
|
|
743
749
|
},
|
|
744
750
|
"displayField": {
|
|
@@ -432,7 +432,10 @@
|
|
|
432
432
|
"type": "string",
|
|
433
433
|
"values": [
|
|
434
434
|
"one",
|
|
435
|
-
"many"
|
|
435
|
+
"many",
|
|
436
|
+
"one-to-many",
|
|
437
|
+
"many-to-one",
|
|
438
|
+
"many-to-many"
|
|
436
439
|
]
|
|
437
440
|
},
|
|
438
441
|
"displayField": {
|
|
@@ -738,7 +741,10 @@
|
|
|
738
741
|
"type": "string",
|
|
739
742
|
"values": [
|
|
740
743
|
"one",
|
|
741
|
-
"many"
|
|
744
|
+
"many",
|
|
745
|
+
"one-to-many",
|
|
746
|
+
"many-to-one",
|
|
747
|
+
"many-to-many"
|
|
742
748
|
]
|
|
743
749
|
},
|
|
744
750
|
"displayField": {
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Headless motion-trail mechanic: records the moving body's recent positions as timestamped dots on a [runtime, shared] entity so the render layer can draw a fading comet trail. Rides the body authority's BODY_MOVED — appends a dot only when the body's speed exceeds minSpeed (standing still leaves no trail) and prunes dots older than ttl on the same pass, so no decay tick is needed and a stopped body's trail simply stops growing (the render side fades each dot by bornAt/ttl). RESTART clears. Renders nothing.",
|
|
3
|
+
"ledger": {
|
|
4
|
+
"entries": {
|
|
5
|
+
"ent_01M0PCAKRAB0PFSPQ98X9S0BNF": {
|
|
6
|
+
"bakedName": "FxTrailData",
|
|
7
|
+
"curName": "FxTrailData",
|
|
8
|
+
"id": "ent_01M0PCAKRAB0PFSPQ98X9S0BNF",
|
|
9
|
+
"kind": "entity",
|
|
10
|
+
"owner": "workspace",
|
|
11
|
+
"renames": []
|
|
12
|
+
},
|
|
13
|
+
"evt_01M0PCAKRA14YFRZZGT8CDR3BE": {
|
|
14
|
+
"bakedName": "INIT",
|
|
15
|
+
"curName": "INIT",
|
|
16
|
+
"id": "evt_01M0PCAKRA14YFRZZGT8CDR3BE",
|
|
17
|
+
"kind": "event",
|
|
18
|
+
"owner": "workspace",
|
|
19
|
+
"parent": "trt_01M0PCAKRAJE43ZB66D52QJSGZ",
|
|
20
|
+
"renames": []
|
|
21
|
+
},
|
|
22
|
+
"evt_01M0PCAKRAK7M2V40695X450BC": {
|
|
23
|
+
"bakedName": "RESTART",
|
|
24
|
+
"curName": "RESTART",
|
|
25
|
+
"id": "evt_01M0PCAKRAK7M2V40695X450BC",
|
|
26
|
+
"kind": "event",
|
|
27
|
+
"owner": "workspace",
|
|
28
|
+
"parent": "trt_01M0PCAKRAJE43ZB66D52QJSGZ",
|
|
29
|
+
"renames": []
|
|
30
|
+
},
|
|
31
|
+
"evt_01M0PCAKRAWHX8VG91V45K7YYE": {
|
|
32
|
+
"bakedName": "BODY_MOVED",
|
|
33
|
+
"curName": "BODY_MOVED",
|
|
34
|
+
"id": "evt_01M0PCAKRAWHX8VG91V45K7YYE",
|
|
35
|
+
"kind": "event",
|
|
36
|
+
"owner": "workspace",
|
|
37
|
+
"parent": "trt_01M0PCAKRAJE43ZB66D52QJSGZ",
|
|
38
|
+
"renames": []
|
|
39
|
+
},
|
|
40
|
+
"orb_01M0PCAKRAXW91Y5Y34VV62FV0": {
|
|
41
|
+
"bakedName": "FxTrailOrbital",
|
|
42
|
+
"curName": "FxTrailOrbital",
|
|
43
|
+
"id": "orb_01M0PCAKRAXW91Y5Y34VV62FV0",
|
|
44
|
+
"kind": "orbital",
|
|
45
|
+
"owner": "workspace",
|
|
46
|
+
"renames": []
|
|
47
|
+
},
|
|
48
|
+
"pag_01M0PCAKRAY62QVZS832H2XSWS": {
|
|
49
|
+
"bakedName": "FxTrailPage",
|
|
50
|
+
"curName": "FxTrailPage",
|
|
51
|
+
"id": "pag_01M0PCAKRAY62QVZS832H2XSWS",
|
|
52
|
+
"kind": "page",
|
|
53
|
+
"owner": "workspace",
|
|
54
|
+
"renames": []
|
|
55
|
+
},
|
|
56
|
+
"trt_01M0PCAKRAJE43ZB66D52QJSGZ": {
|
|
57
|
+
"bakedName": "FxTrail",
|
|
58
|
+
"curName": "FxTrail",
|
|
59
|
+
"id": "trt_01M0PCAKRAJE43ZB66D52QJSGZ",
|
|
60
|
+
"kind": "trait",
|
|
61
|
+
"owner": "workspace",
|
|
62
|
+
"renames": []
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"schemaVersion": 1
|
|
66
|
+
},
|
|
67
|
+
"name": "std-fx-trail",
|
|
68
|
+
"orbitals": [
|
|
69
|
+
{
|
|
70
|
+
"entity": {
|
|
71
|
+
"fields": [
|
|
72
|
+
{
|
|
73
|
+
"name": "id",
|
|
74
|
+
"required": true,
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"default": [],
|
|
79
|
+
"items": {
|
|
80
|
+
"properties": {
|
|
81
|
+
"bornAt": {
|
|
82
|
+
"name": "bornAt",
|
|
83
|
+
"required": true,
|
|
84
|
+
"type": "number"
|
|
85
|
+
},
|
|
86
|
+
"id": {
|
|
87
|
+
"name": "id",
|
|
88
|
+
"required": true,
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
"ttl": {
|
|
92
|
+
"name": "ttl",
|
|
93
|
+
"required": true,
|
|
94
|
+
"type": "number"
|
|
95
|
+
},
|
|
96
|
+
"x": {
|
|
97
|
+
"name": "x",
|
|
98
|
+
"required": true,
|
|
99
|
+
"type": "number"
|
|
100
|
+
},
|
|
101
|
+
"y": {
|
|
102
|
+
"name": "y",
|
|
103
|
+
"required": true,
|
|
104
|
+
"type": "number"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"type": "object"
|
|
108
|
+
},
|
|
109
|
+
"name": "trail",
|
|
110
|
+
"type": "array"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"default": 0.0,
|
|
114
|
+
"name": "seq",
|
|
115
|
+
"type": "number"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"id": "ent_01M0PCAKRAB0PFSPQ98X9S0BNF",
|
|
119
|
+
"name": "FxTrailData",
|
|
120
|
+
"persistence": "runtime",
|
|
121
|
+
"shared": true
|
|
122
|
+
},
|
|
123
|
+
"id": "orb_01M0PCAKRAXW91Y5Y34VV62FV0",
|
|
124
|
+
"name": "FxTrailOrbital",
|
|
125
|
+
"pages": [
|
|
126
|
+
{
|
|
127
|
+
"id": "pag_01M0PCAKRAY62QVZS832H2XSWS",
|
|
128
|
+
"name": "FxTrailPage",
|
|
129
|
+
"path": "/fx-trail",
|
|
130
|
+
"traits": [
|
|
131
|
+
{
|
|
132
|
+
"ref": "FxTrail",
|
|
133
|
+
"refId": "trt_01M0PCAKRAJE43ZB66D52QJSGZ"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"traits": [
|
|
139
|
+
{
|
|
140
|
+
"category": "lifecycle",
|
|
141
|
+
"config": {
|
|
142
|
+
"minSpeed": {
|
|
143
|
+
"default": 0.5,
|
|
144
|
+
"description": "Body speed (units/s, from BODY_MOVED) below which no dot is appended, so a resting body doesn't pile dots on one spot.",
|
|
145
|
+
"label": "Min Speed",
|
|
146
|
+
"tier": "domain",
|
|
147
|
+
"type": "number"
|
|
148
|
+
},
|
|
149
|
+
"running": {
|
|
150
|
+
"default": true,
|
|
151
|
+
"description": "When true, BODY_MOVED appends trail dots; toggle to freeze the trail (existing dots still age out).",
|
|
152
|
+
"label": "Running",
|
|
153
|
+
"tier": "domain",
|
|
154
|
+
"type": "boolean"
|
|
155
|
+
},
|
|
156
|
+
"ttl": {
|
|
157
|
+
"default": 600.0,
|
|
158
|
+
"description": "Milliseconds a trail dot lives; at a 33ms move cadence ~600ms keeps the last eighteen positions. The ttl is also the natural length cap — no separate limit needed.",
|
|
159
|
+
"label": "Trail Ttl (ms)",
|
|
160
|
+
"tier": "presentation",
|
|
161
|
+
"type": "number"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"entityContract": {
|
|
165
|
+
"provides": [
|
|
166
|
+
"seq",
|
|
167
|
+
"trail"
|
|
168
|
+
],
|
|
169
|
+
"requires": []
|
|
170
|
+
},
|
|
171
|
+
"entityRebindable": true,
|
|
172
|
+
"entityRefIds": {
|
|
173
|
+
"FxTrailData": "ent_01M0PCAKRAB0PFSPQ98X9S0BNF"
|
|
174
|
+
},
|
|
175
|
+
"id": "trt_01M0PCAKRAJE43ZB66D52QJSGZ",
|
|
176
|
+
"linkedEntity": "FxTrailData",
|
|
177
|
+
"linkedEntityId": "ent_01M0PCAKRAB0PFSPQ98X9S0BNF",
|
|
178
|
+
"name": "FxTrail",
|
|
179
|
+
"scope": "instance",
|
|
180
|
+
"stateMachine": {
|
|
181
|
+
"events": [
|
|
182
|
+
{
|
|
183
|
+
"id": "evt_01M0PCAKRA14YFRZZGT8CDR3BE",
|
|
184
|
+
"key": "INIT",
|
|
185
|
+
"name": "Initialize"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "evt_01M0PCAKRAWHX8VG91V45K7YYE",
|
|
189
|
+
"key": "BODY_MOVED",
|
|
190
|
+
"name": "Body Moved",
|
|
191
|
+
"payloadSchema": [
|
|
192
|
+
{
|
|
193
|
+
"name": "x",
|
|
194
|
+
"required": true,
|
|
195
|
+
"type": "number"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "y",
|
|
199
|
+
"required": true,
|
|
200
|
+
"type": "number"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "vx",
|
|
204
|
+
"required": true,
|
|
205
|
+
"type": "number"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "vy",
|
|
209
|
+
"required": true,
|
|
210
|
+
"type": "number"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "grounded",
|
|
214
|
+
"required": true,
|
|
215
|
+
"type": "boolean"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "skating",
|
|
219
|
+
"required": true,
|
|
220
|
+
"type": "boolean"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "speed",
|
|
224
|
+
"required": true,
|
|
225
|
+
"type": "number"
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": "evt_01M0PCAKRAK7M2V40695X450BC",
|
|
231
|
+
"key": "RESTART",
|
|
232
|
+
"name": "Restart",
|
|
233
|
+
"payloadSchema": [
|
|
234
|
+
{
|
|
235
|
+
"name": "id",
|
|
236
|
+
"type": "string"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"states": [
|
|
242
|
+
{
|
|
243
|
+
"isInitial": true,
|
|
244
|
+
"name": "active"
|
|
245
|
+
}
|
|
246
|
+
],
|
|
247
|
+
"transitions": [
|
|
248
|
+
{
|
|
249
|
+
"effects": [
|
|
250
|
+
[
|
|
251
|
+
"set",
|
|
252
|
+
"@entity.trail",
|
|
253
|
+
[]
|
|
254
|
+
],
|
|
255
|
+
[
|
|
256
|
+
"set",
|
|
257
|
+
"@entity.seq",
|
|
258
|
+
0.0
|
|
259
|
+
]
|
|
260
|
+
],
|
|
261
|
+
"event": "INIT",
|
|
262
|
+
"eventId": "evt_01M0PCAKRA14YFRZZGT8CDR3BE",
|
|
263
|
+
"from": "active",
|
|
264
|
+
"to": "active"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"effects": [
|
|
268
|
+
[
|
|
269
|
+
"set",
|
|
270
|
+
"@entity.trail",
|
|
271
|
+
[
|
|
272
|
+
"array/filter",
|
|
273
|
+
[
|
|
274
|
+
"if",
|
|
275
|
+
[
|
|
276
|
+
">",
|
|
277
|
+
"@payload.speed",
|
|
278
|
+
"@config.minSpeed"
|
|
279
|
+
],
|
|
280
|
+
[
|
|
281
|
+
"array/concat",
|
|
282
|
+
"@entity.trail",
|
|
283
|
+
[
|
|
284
|
+
{
|
|
285
|
+
"bornAt": [
|
|
286
|
+
"time/now"
|
|
287
|
+
],
|
|
288
|
+
"id": [
|
|
289
|
+
"str/concat",
|
|
290
|
+
"trail-",
|
|
291
|
+
[
|
|
292
|
+
"+",
|
|
293
|
+
"@entity.seq",
|
|
294
|
+
1.0
|
|
295
|
+
]
|
|
296
|
+
],
|
|
297
|
+
"ttl": "@config.ttl",
|
|
298
|
+
"x": "@payload.x",
|
|
299
|
+
"y": "@payload.y"
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
],
|
|
303
|
+
"@entity.trail"
|
|
304
|
+
],
|
|
305
|
+
[
|
|
306
|
+
"fn",
|
|
307
|
+
"d",
|
|
308
|
+
[
|
|
309
|
+
"<",
|
|
310
|
+
[
|
|
311
|
+
"-",
|
|
312
|
+
[
|
|
313
|
+
"time/now"
|
|
314
|
+
],
|
|
315
|
+
[
|
|
316
|
+
"object/get",
|
|
317
|
+
"@d",
|
|
318
|
+
"bornAt"
|
|
319
|
+
]
|
|
320
|
+
],
|
|
321
|
+
[
|
|
322
|
+
"object/get",
|
|
323
|
+
"@d",
|
|
324
|
+
"ttl"
|
|
325
|
+
]
|
|
326
|
+
]
|
|
327
|
+
]
|
|
328
|
+
]
|
|
329
|
+
],
|
|
330
|
+
[
|
|
331
|
+
"if",
|
|
332
|
+
[
|
|
333
|
+
">",
|
|
334
|
+
"@payload.speed",
|
|
335
|
+
"@config.minSpeed"
|
|
336
|
+
],
|
|
337
|
+
[
|
|
338
|
+
"set",
|
|
339
|
+
"@entity.seq",
|
|
340
|
+
[
|
|
341
|
+
"+",
|
|
342
|
+
"@entity.seq",
|
|
343
|
+
1.0
|
|
344
|
+
]
|
|
345
|
+
],
|
|
346
|
+
null
|
|
347
|
+
]
|
|
348
|
+
],
|
|
349
|
+
"event": "BODY_MOVED",
|
|
350
|
+
"eventId": "evt_01M0PCAKRAWHX8VG91V45K7YYE",
|
|
351
|
+
"from": "active",
|
|
352
|
+
"guard": "@config.running",
|
|
353
|
+
"to": "active"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"effects": [
|
|
357
|
+
[
|
|
358
|
+
"set",
|
|
359
|
+
"@entity.trail",
|
|
360
|
+
[]
|
|
361
|
+
]
|
|
362
|
+
],
|
|
363
|
+
"event": "RESTART",
|
|
364
|
+
"eventId": "evt_01M0PCAKRAK7M2V40695X450BC",
|
|
365
|
+
"from": "active",
|
|
366
|
+
"to": "active"
|
|
367
|
+
}
|
|
368
|
+
]
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
],
|
|
374
|
+
"schemaVersion": 1,
|
|
375
|
+
"version": "1.0.0"
|
|
376
|
+
}
|