@almadar/std 16.177.0 → 16.179.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 (73) hide show
  1. package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +63 -0
  2. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +1 -1
  3. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +2 -2
  4. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +2 -2
  5. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +2 -2
  6. package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +23 -4
  7. package/behaviors/lolo/ui/game/atoms/std-platformer-body.lolo +251 -0
  8. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +109 -0
  9. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +32 -2
  10. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +32 -2
  11. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +32 -2
  12. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +32 -2
  13. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +32 -2
  14. package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +391 -0
  15. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +32 -2
  16. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +34 -6
  17. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +34 -4
  18. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +8 -0
  19. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +8 -0
  20. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +8 -0
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +9 -0
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +8 -0
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-fx-cues.lolo +147 -0
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +8 -0
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +8 -0
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +8 -0
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +9 -0
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +8 -0
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +9 -0
  30. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +281 -0
  31. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  32. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +6 -0
  33. package/behaviors/registry/ui/core/organisms/ui-form.orb +6 -0
  34. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +2 -2
  35. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +265 -4
  36. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +2136 -0
  37. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +523 -0
  38. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +159 -70
  39. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +148 -58
  40. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +169 -58
  41. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +160 -70
  42. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +151 -60
  43. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +2981 -0
  44. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +150 -60
  45. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +163 -316
  46. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +156 -184
  47. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +62 -0
  48. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +73 -0
  49. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +66 -0
  50. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +71 -0
  51. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +72 -0
  52. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1546 -0
  53. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +58 -0
  54. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +72 -0
  55. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +72 -0
  56. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +71 -0
  57. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +72 -0
  58. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +176 -0
  59. package/dist/behaviors/exports-reader.js +8369 -5005
  60. package/dist/behaviors/functions/index.d.ts +604 -14
  61. package/dist/behaviors/functions/index.js +8354 -5006
  62. package/dist/behaviors/index.d.ts +1 -1
  63. package/dist/behaviors/index.js +8370 -5006
  64. package/dist/behaviors/query.js +8369 -5005
  65. package/dist/behaviors-embeddings.hash.json +3 -3
  66. package/dist/behaviors-embeddings.json +413 -393
  67. package/dist/behaviors-registry.json +1879 -344
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.js +8370 -5006
  70. package/dist/knob-embeddings.hash.json +3 -3
  71. package/dist/knob-embeddings.json +1 -1
  72. package/dist/registry/factory-signatures.json +1 -1
  73. package/package.json +2 -2
@@ -0,0 +1,281 @@
1
+ {
2
+ "description": "FxOverlay — UI factory (1:1 with the @almadar/ui fx-overlay pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M0GQAE9VWWQQW98YDF0NXYAC": {
6
+ "bakedName": "FxOverlayItem",
7
+ "curName": "FxOverlayItem",
8
+ "id": "ent_01M0GQAE9VWWQQW98YDF0NXYAC",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M0GQAE9VZDFQJSHRD0XV1TVB": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M0GQAE9VZDFQJSHRD0XV1TVB",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M0GQAE9VM32ZSENBMTYEAPST",
20
+ "renames": []
21
+ },
22
+ "orb_01M0GQAE9VFZPV4T0AXTFZJQKB": {
23
+ "bakedName": "FxOverlayOrbital",
24
+ "curName": "FxOverlayOrbital",
25
+ "id": "orb_01M0GQAE9VFZPV4T0AXTFZJQKB",
26
+ "kind": "orbital",
27
+ "owner": "workspace",
28
+ "renames": []
29
+ },
30
+ "pag_01M0GQAE9YGPXWS4092BVS3JQG": {
31
+ "bakedName": "FxOverlayPage",
32
+ "curName": "FxOverlayPage",
33
+ "id": "pag_01M0GQAE9YGPXWS4092BVS3JQG",
34
+ "kind": "page",
35
+ "owner": "workspace",
36
+ "renames": []
37
+ },
38
+ "trt_01M0GQAE9VM32ZSENBMTYEAPST": {
39
+ "bakedName": "FxOverlayRender",
40
+ "curName": "FxOverlayRender",
41
+ "id": "trt_01M0GQAE9VM32ZSENBMTYEAPST",
42
+ "kind": "trait",
43
+ "owner": "workspace",
44
+ "renames": []
45
+ }
46
+ },
47
+ "schemaVersion": 1
48
+ },
49
+ "name": "ui-fx-overlay",
50
+ "orbitals": [
51
+ {
52
+ "entity": {
53
+ "fields": [
54
+ {
55
+ "name": "id",
56
+ "required": true,
57
+ "type": "string"
58
+ }
59
+ ],
60
+ "id": "ent_01M0GQAE9VWWQQW98YDF0NXYAC",
61
+ "name": "FxOverlayItem",
62
+ "persistence": "runtime"
63
+ },
64
+ "id": "orb_01M0GQAE9VFZPV4T0AXTFZJQKB",
65
+ "name": "FxOverlayOrbital",
66
+ "pages": [
67
+ {
68
+ "id": "pag_01M0GQAE9YGPXWS4092BVS3JQG",
69
+ "name": "FxOverlayPage",
70
+ "path": "/fx-overlay",
71
+ "traits": [
72
+ {
73
+ "ref": "FxOverlayRender",
74
+ "refId": "trt_01M0GQAE9VM32ZSENBMTYEAPST"
75
+ }
76
+ ]
77
+ }
78
+ ],
79
+ "traits": [
80
+ {
81
+ "category": "interaction",
82
+ "config": {
83
+ "children": {
84
+ "description": "Wrapped content — the `shake` target and the overlay's bounds.",
85
+ "label": "Children",
86
+ "tier": "presentation",
87
+ "type": "node"
88
+ },
89
+ "className": {
90
+ "description": "Additional class names on the outermost element.",
91
+ "label": "Class Name",
92
+ "tier": "presentation",
93
+ "type": "string"
94
+ },
95
+ "items": {
96
+ "default": [
97
+ {
98
+ "id": "e1",
99
+ "message": "Unit spawned",
100
+ "type": "spawn",
101
+ "x": 2.0,
102
+ "y": 2.0
103
+ },
104
+ {
105
+ "id": "e2",
106
+ "message": "Attack landed",
107
+ "type": "effect",
108
+ "x": 3.0,
109
+ "y": 1.0
110
+ }
111
+ ],
112
+ "description": "Live screen-space fx entries (the mechanic's fx list filtered to `space == 'screen'`); mount starts each item's animation, ttl decay unmounts it.",
113
+ "items": {
114
+ "properties": {
115
+ "bornAt": {
116
+ "name": "bornAt",
117
+ "required": false,
118
+ "type": "number"
119
+ },
120
+ "color": {
121
+ "name": "color",
122
+ "required": false,
123
+ "type": "string"
124
+ },
125
+ "effect": {
126
+ "name": "effect",
127
+ "required": false,
128
+ "type": "string",
129
+ "values": [
130
+ "confetti",
131
+ "flash",
132
+ "shake",
133
+ "sparkle",
134
+ "float-text",
135
+ "streak-glow"
136
+ ]
137
+ },
138
+ "id": {
139
+ "name": "id",
140
+ "required": true,
141
+ "type": "string"
142
+ },
143
+ "maxTtl": {
144
+ "name": "maxTtl",
145
+ "required": false,
146
+ "type": "number"
147
+ },
148
+ "message": {
149
+ "name": "message",
150
+ "required": false,
151
+ "type": "string"
152
+ },
153
+ "particleCount": {
154
+ "name": "particleCount",
155
+ "required": false,
156
+ "type": "number"
157
+ },
158
+ "size": {
159
+ "name": "size",
160
+ "required": false,
161
+ "type": "number"
162
+ },
163
+ "space": {
164
+ "name": "space",
165
+ "required": false,
166
+ "type": "string",
167
+ "values": [
168
+ "world",
169
+ "screen"
170
+ ]
171
+ },
172
+ "ttl": {
173
+ "name": "ttl",
174
+ "required": true,
175
+ "type": "number"
176
+ },
177
+ "type": {
178
+ "name": "type",
179
+ "required": true,
180
+ "type": "string"
181
+ },
182
+ "vx": {
183
+ "name": "vx",
184
+ "required": false,
185
+ "type": "number"
186
+ },
187
+ "vy": {
188
+ "name": "vy",
189
+ "required": false,
190
+ "type": "number"
191
+ },
192
+ "vz": {
193
+ "name": "vz",
194
+ "required": false,
195
+ "type": "number"
196
+ },
197
+ "x": {
198
+ "name": "x",
199
+ "required": false,
200
+ "type": "number"
201
+ },
202
+ "y": {
203
+ "name": "y",
204
+ "required": false,
205
+ "type": "number"
206
+ },
207
+ "z": {
208
+ "name": "z",
209
+ "required": false,
210
+ "type": "number"
211
+ }
212
+ },
213
+ "type": "object"
214
+ },
215
+ "label": "Items",
216
+ "tier": "presentation",
217
+ "type": "[FxOverlayItemsItem]"
218
+ },
219
+ "tickMs": {
220
+ "description": "The fx mechanic's decay tick period in ms; per-item animation duration = maxTtl × tickMs. Default 500.",
221
+ "label": "Tick Ms",
222
+ "tier": "presentation",
223
+ "type": "number"
224
+ }
225
+ },
226
+ "entityContract": {
227
+ "provides": [],
228
+ "requires": []
229
+ },
230
+ "entityRebindable": true,
231
+ "entityRefIds": {
232
+ "FxOverlayItem": "ent_01M0GQAE9VWWQQW98YDF0NXYAC"
233
+ },
234
+ "id": "trt_01M0GQAE9VM32ZSENBMTYEAPST",
235
+ "linkedEntity": "FxOverlayItem",
236
+ "linkedEntityId": "ent_01M0GQAE9VWWQQW98YDF0NXYAC",
237
+ "name": "FxOverlayRender",
238
+ "scope": "instance",
239
+ "stateMachine": {
240
+ "events": [
241
+ {
242
+ "id": "evt_01M0GQAE9VZDFQJSHRD0XV1TVB",
243
+ "key": "INIT",
244
+ "name": "Initialize"
245
+ }
246
+ ],
247
+ "states": [
248
+ {
249
+ "isInitial": true,
250
+ "name": "idle"
251
+ }
252
+ ],
253
+ "transitions": [
254
+ {
255
+ "effects": [
256
+ [
257
+ "render-ui",
258
+ "main",
259
+ {
260
+ "children": "@config.children",
261
+ "className": "@config.className",
262
+ "items": "@config.items",
263
+ "tickMs": "@config.tickMs",
264
+ "type": "fx-overlay"
265
+ }
266
+ ]
267
+ ],
268
+ "event": "INIT",
269
+ "eventId": "evt_01M0GQAE9VZDFQJSHRD0XV1TVB",
270
+ "from": "idle",
271
+ "to": "idle"
272
+ }
273
+ ]
274
+ }
275
+ }
276
+ ]
277
+ }
278
+ ],
279
+ "schemaVersion": 1,
280
+ "version": "1.0.0"
281
+ }
@@ -247,7 +247,7 @@
247
247
  "type": "boolean"
248
248
  },
249
249
  "status": {
250
- "description": "Status badge",
250
+ "description": "Status badge — a bare string (an entity's status field bound directly, e.g. `status: @entity.status`) renders as a default-variant badge",
251
251
  "label": "Status",
252
252
  "properties": {
253
253
  "label": {
@@ -190,11 +190,17 @@
190
190
  "label": "Evaluation Context",
191
191
  "properties": {
192
192
  "entity": {
193
+ "items": {
194
+ "type": "object"
195
+ },
193
196
  "name": "entity",
194
197
  "required": false,
195
198
  "type": "object"
196
199
  },
197
200
  "formValues": {
201
+ "items": {
202
+ "type": "object"
203
+ },
198
204
  "name": "formValues",
199
205
  "required": true,
200
206
  "type": "object"
@@ -190,11 +190,17 @@
190
190
  "label": "Evaluation Context",
191
191
  "properties": {
192
192
  "entity": {
193
+ "items": {
194
+ "type": "object"
195
+ },
193
196
  "name": "entity",
194
197
  "required": false,
195
198
  "type": "object"
196
199
  },
197
200
  "formValues": {
201
+ "items": {
202
+ "type": "object"
203
+ },
198
204
  "name": "formValues",
199
205
  "required": true,
200
206
  "type": "object"
@@ -335,7 +335,7 @@
335
335
  "type": "[DashboardLayoutTopBarActionsItem]"
336
336
  },
337
337
  "user": {
338
- "description": "Current user info (optional - auto-populated from auth context if not provided)",
338
+ "description": "Current user info (optional - auto-populated from auth context if not provided). Accepts `null` as well as `undefined`: the `.lolo` substrate's signed-out spelling is `(if @config.viewerName {…} null)`, and the compiled path passes that `null` through verbatim.",
339
339
  "label": "User",
340
340
  "properties": {
341
341
  "avatar": {
@@ -345,7 +345,7 @@
345
345
  },
346
346
  "email": {
347
347
  "name": "email",
348
- "required": true,
348
+ "required": false,
349
349
  "type": "string"
350
350
  },
351
351
  "name": {