@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,523 @@
1
+ {
2
+ "description": "DrawFxLayer — UI factory (1:1 with the @almadar/ui draw-fx-layer pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M0GQAHQ7FDHH2XQB7F4AD2GR": {
6
+ "bakedName": "DrawFxLayerItem",
7
+ "curName": "DrawFxLayerItem",
8
+ "id": "ent_01M0GQAHQ7FDHH2XQB7F4AD2GR",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M0GQAHQ7YBRBV4BAPRTR7M1X": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M0GQAHQ7YBRBV4BAPRTR7M1X",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M0GQAHQ7T7JMMTJ03ZVF6T34",
20
+ "renames": []
21
+ },
22
+ "orb_01M0GQAHQ7FSQ7KS6EWTC5VSWT": {
23
+ "bakedName": "DrawFxLayerOrbital",
24
+ "curName": "DrawFxLayerOrbital",
25
+ "id": "orb_01M0GQAHQ7FSQ7KS6EWTC5VSWT",
26
+ "kind": "orbital",
27
+ "owner": "workspace",
28
+ "renames": []
29
+ },
30
+ "pag_01M0GQAHQ9QHZ6FDK2CZ2NM062": {
31
+ "bakedName": "DrawFxLayerPage",
32
+ "curName": "DrawFxLayerPage",
33
+ "id": "pag_01M0GQAHQ9QHZ6FDK2CZ2NM062",
34
+ "kind": "page",
35
+ "owner": "workspace",
36
+ "renames": []
37
+ },
38
+ "trt_01M0GQAHQ7T7JMMTJ03ZVF6T34": {
39
+ "bakedName": "DrawFxLayerRender",
40
+ "curName": "DrawFxLayerRender",
41
+ "id": "trt_01M0GQAHQ7T7JMMTJ03ZVF6T34",
42
+ "kind": "trait",
43
+ "owner": "workspace",
44
+ "renames": []
45
+ }
46
+ },
47
+ "schemaVersion": 1
48
+ },
49
+ "name": "ui-draw-fx-layer",
50
+ "orbitals": [
51
+ {
52
+ "entity": {
53
+ "fields": [
54
+ {
55
+ "name": "id",
56
+ "required": true,
57
+ "type": "string"
58
+ }
59
+ ],
60
+ "id": "ent_01M0GQAHQ7FDHH2XQB7F4AD2GR",
61
+ "name": "DrawFxLayerItem",
62
+ "persistence": "runtime"
63
+ },
64
+ "id": "orb_01M0GQAHQ7FSQ7KS6EWTC5VSWT",
65
+ "name": "DrawFxLayerOrbital",
66
+ "pages": [
67
+ {
68
+ "id": "pag_01M0GQAHQ9QHZ6FDK2CZ2NM062",
69
+ "name": "DrawFxLayerPage",
70
+ "path": "/draw-fx-layer",
71
+ "traits": [
72
+ {
73
+ "ref": "DrawFxLayerRender",
74
+ "refId": "trt_01M0GQAHQ7T7JMMTJ03ZVF6T34"
75
+ }
76
+ ]
77
+ }
78
+ ],
79
+ "traits": [
80
+ {
81
+ "category": "interaction",
82
+ "config": {
83
+ "art": {
84
+ "default": {
85
+ "item": {}
86
+ },
87
+ "description": "Vector art per fx type (an asset-art map: type → anim-state → drawables); a type's `idle` state wins over sprites/procedural.",
88
+ "items": {
89
+ "items": {
90
+ "items": {
91
+ "type": "object"
92
+ },
93
+ "type": "array"
94
+ },
95
+ "type": "object"
96
+ },
97
+ "label": "Art",
98
+ "tier": "presentation",
99
+ "type": "Map<string,Map<string,[object]>>"
100
+ },
101
+ "items": {
102
+ "default": [
103
+ {
104
+ "id": "e1",
105
+ "message": "Unit spawned",
106
+ "type": "spawn",
107
+ "x": 2.0,
108
+ "y": 2.0
109
+ },
110
+ {
111
+ "id": "e2",
112
+ "message": "Attack landed",
113
+ "type": "effect",
114
+ "x": 3.0,
115
+ "y": 1.0
116
+ }
117
+ ],
118
+ "description": "The live fx entries — the mechanic's `@entity.fx` list passed whole; `space: 'screen'` entries are skipped (the overlay owns those).",
119
+ "items": {
120
+ "properties": {
121
+ "bornAt": {
122
+ "name": "bornAt",
123
+ "required": false,
124
+ "type": "number"
125
+ },
126
+ "color": {
127
+ "name": "color",
128
+ "required": false,
129
+ "type": "string"
130
+ },
131
+ "effect": {
132
+ "name": "effect",
133
+ "required": false,
134
+ "type": "string",
135
+ "values": [
136
+ "confetti",
137
+ "flash",
138
+ "shake",
139
+ "sparkle",
140
+ "float-text",
141
+ "streak-glow"
142
+ ]
143
+ },
144
+ "id": {
145
+ "name": "id",
146
+ "required": true,
147
+ "type": "string"
148
+ },
149
+ "maxTtl": {
150
+ "name": "maxTtl",
151
+ "required": false,
152
+ "type": "number"
153
+ },
154
+ "message": {
155
+ "name": "message",
156
+ "required": false,
157
+ "type": "string"
158
+ },
159
+ "particleCount": {
160
+ "name": "particleCount",
161
+ "required": false,
162
+ "type": "number"
163
+ },
164
+ "position": {
165
+ "name": "position",
166
+ "properties": {
167
+ "x": {
168
+ "name": "x",
169
+ "required": true,
170
+ "type": "number"
171
+ },
172
+ "y": {
173
+ "name": "y",
174
+ "required": true,
175
+ "type": "number"
176
+ },
177
+ "z": {
178
+ "name": "z",
179
+ "required": false,
180
+ "type": "number"
181
+ }
182
+ },
183
+ "required": false,
184
+ "type": "object"
185
+ },
186
+ "size": {
187
+ "name": "size",
188
+ "required": false,
189
+ "type": "number"
190
+ },
191
+ "space": {
192
+ "name": "space",
193
+ "required": false,
194
+ "type": "string",
195
+ "values": [
196
+ "world",
197
+ "screen"
198
+ ]
199
+ },
200
+ "ttl": {
201
+ "name": "ttl",
202
+ "required": true,
203
+ "type": "number"
204
+ },
205
+ "type": {
206
+ "name": "type",
207
+ "required": true,
208
+ "type": "string"
209
+ },
210
+ "vx": {
211
+ "name": "vx",
212
+ "required": false,
213
+ "type": "number"
214
+ },
215
+ "vy": {
216
+ "name": "vy",
217
+ "required": false,
218
+ "type": "number"
219
+ },
220
+ "vz": {
221
+ "name": "vz",
222
+ "required": false,
223
+ "type": "number"
224
+ },
225
+ "x": {
226
+ "name": "x",
227
+ "required": true,
228
+ "type": "number"
229
+ },
230
+ "y": {
231
+ "name": "y",
232
+ "required": false,
233
+ "type": "number"
234
+ },
235
+ "z": {
236
+ "name": "z",
237
+ "required": false,
238
+ "type": "number"
239
+ }
240
+ },
241
+ "type": "object"
242
+ },
243
+ "label": "Items",
244
+ "tier": "presentation",
245
+ "type": "[DrawFxLayerItemsItem]"
246
+ },
247
+ "presets": {
248
+ "default": [],
249
+ "description": "Consumer-declared effect vocabulary — one row per fx `type` (look + recipe). Unknown types fall back to a neutral spark burst.",
250
+ "items": {
251
+ "properties": {
252
+ "color": {
253
+ "name": "color",
254
+ "required": false,
255
+ "type": "string"
256
+ },
257
+ "color2": {
258
+ "name": "color2",
259
+ "required": false,
260
+ "type": "string"
261
+ },
262
+ "count": {
263
+ "name": "count",
264
+ "required": false,
265
+ "type": "number"
266
+ },
267
+ "effect": {
268
+ "name": "effect",
269
+ "required": false,
270
+ "type": "string",
271
+ "values": [
272
+ "confetti",
273
+ "flash",
274
+ "shake",
275
+ "sparkle",
276
+ "float-text",
277
+ "streak-glow"
278
+ ]
279
+ },
280
+ "glow": {
281
+ "name": "glow",
282
+ "required": false,
283
+ "type": "number"
284
+ },
285
+ "gravity": {
286
+ "name": "gravity",
287
+ "required": false,
288
+ "type": "number"
289
+ },
290
+ "particleCount": {
291
+ "name": "particleCount",
292
+ "required": false,
293
+ "type": "number"
294
+ },
295
+ "shape": {
296
+ "name": "shape",
297
+ "required": false,
298
+ "type": "string",
299
+ "values": [
300
+ "spark",
301
+ "ring",
302
+ "puff",
303
+ "streak"
304
+ ]
305
+ },
306
+ "size": {
307
+ "name": "size",
308
+ "required": false,
309
+ "type": "number"
310
+ },
311
+ "space": {
312
+ "name": "space",
313
+ "required": false,
314
+ "type": "string",
315
+ "values": [
316
+ "world",
317
+ "screen"
318
+ ]
319
+ },
320
+ "type": {
321
+ "name": "type",
322
+ "required": true,
323
+ "type": "string"
324
+ },
325
+ "vx": {
326
+ "name": "vx",
327
+ "required": false,
328
+ "type": "number"
329
+ },
330
+ "vy": {
331
+ "name": "vy",
332
+ "required": false,
333
+ "type": "number"
334
+ },
335
+ "vz": {
336
+ "name": "vz",
337
+ "required": false,
338
+ "type": "number"
339
+ }
340
+ },
341
+ "type": "object"
342
+ },
343
+ "label": "Presets",
344
+ "tier": "presentation",
345
+ "type": "[DrawFxLayerPresetsItem]"
346
+ },
347
+ "sprites": {
348
+ "default": {
349
+ "item": {
350
+ "animations": [
351
+ "static"
352
+ ],
353
+ "aspect": "1:1",
354
+ "category": "item",
355
+ "dimension": "2d",
356
+ "name": "item",
357
+ "role": "item",
358
+ "style": "pixel",
359
+ "thumbnailUrl": "",
360
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/features/sword.png"
361
+ }
362
+ },
363
+ "description": "Sprite asset per fx type (an asset-manifest effects map) — used when no vector art matches.",
364
+ "items": {
365
+ "properties": {
366
+ "animations": {
367
+ "items": {
368
+ "type": "string"
369
+ },
370
+ "name": "animations",
371
+ "required": false,
372
+ "type": "array"
373
+ },
374
+ "aspect": {
375
+ "name": "aspect",
376
+ "required": false,
377
+ "type": "string",
378
+ "values": [
379
+ "1:1",
380
+ "16:9",
381
+ "5:7",
382
+ "8:1"
383
+ ]
384
+ },
385
+ "atlas": {
386
+ "name": "atlas",
387
+ "required": false,
388
+ "type": "string"
389
+ },
390
+ "category": {
391
+ "name": "category",
392
+ "required": true,
393
+ "type": "string"
394
+ },
395
+ "dimension": {
396
+ "name": "dimension",
397
+ "required": false,
398
+ "type": "string",
399
+ "values": [
400
+ "2d",
401
+ "3d"
402
+ ]
403
+ },
404
+ "name": {
405
+ "name": "name",
406
+ "required": false,
407
+ "type": "string"
408
+ },
409
+ "role": {
410
+ "name": "role",
411
+ "required": true,
412
+ "type": "string"
413
+ },
414
+ "sprite": {
415
+ "name": "sprite",
416
+ "required": false,
417
+ "type": "string"
418
+ },
419
+ "style": {
420
+ "name": "style",
421
+ "required": false,
422
+ "type": "string",
423
+ "values": [
424
+ "pixel",
425
+ "vector",
426
+ "hd",
427
+ "1-bit",
428
+ "isometric"
429
+ ]
430
+ },
431
+ "thumbnailUrl": {
432
+ "name": "thumbnailUrl",
433
+ "required": false,
434
+ "type": "string"
435
+ },
436
+ "url": {
437
+ "name": "url",
438
+ "required": true,
439
+ "type": "string"
440
+ },
441
+ "variant": {
442
+ "name": "variant",
443
+ "required": false,
444
+ "type": "string"
445
+ }
446
+ },
447
+ "type": "object"
448
+ },
449
+ "label": "Sprites",
450
+ "tier": "presentation",
451
+ "type": "Map<string,DrawFxLayerSpritesValue>"
452
+ },
453
+ "textColor": {
454
+ "description": "Floating-message text color when an item declares none. Default `#ffe066`.",
455
+ "label": "Text Color",
456
+ "tier": "presentation",
457
+ "type": "string"
458
+ },
459
+ "tickMs": {
460
+ "description": "The fx mechanic's decay tick period in ms; lifetime = maxTtl × tickMs. Default 500.",
461
+ "label": "Tick Ms",
462
+ "tier": "presentation",
463
+ "type": "number"
464
+ }
465
+ },
466
+ "entityContract": {
467
+ "provides": [],
468
+ "requires": []
469
+ },
470
+ "entityRebindable": true,
471
+ "entityRefIds": {
472
+ "DrawFxLayerItem": "ent_01M0GQAHQ7FDHH2XQB7F4AD2GR"
473
+ },
474
+ "id": "trt_01M0GQAHQ7T7JMMTJ03ZVF6T34",
475
+ "linkedEntity": "DrawFxLayerItem",
476
+ "linkedEntityId": "ent_01M0GQAHQ7FDHH2XQB7F4AD2GR",
477
+ "name": "DrawFxLayerRender",
478
+ "scope": "instance",
479
+ "stateMachine": {
480
+ "events": [
481
+ {
482
+ "id": "evt_01M0GQAHQ7YBRBV4BAPRTR7M1X",
483
+ "key": "INIT",
484
+ "name": "Initialize"
485
+ }
486
+ ],
487
+ "states": [
488
+ {
489
+ "isInitial": true,
490
+ "name": "idle"
491
+ }
492
+ ],
493
+ "transitions": [
494
+ {
495
+ "effects": [
496
+ [
497
+ "render-ui",
498
+ "main",
499
+ {
500
+ "art": "@config.art",
501
+ "items": "@config.items",
502
+ "presets": "@config.presets",
503
+ "sprites": "@config.sprites",
504
+ "textColor": "@config.textColor",
505
+ "tickMs": "@config.tickMs",
506
+ "type": "draw-fx-layer"
507
+ }
508
+ ]
509
+ ],
510
+ "event": "INIT",
511
+ "eventId": "evt_01M0GQAHQ7YBRBV4BAPRTR7M1X",
512
+ "from": "idle",
513
+ "to": "idle"
514
+ }
515
+ ]
516
+ }
517
+ }
518
+ ]
519
+ }
520
+ ],
521
+ "schemaVersion": 1,
522
+ "version": "1.0.0"
523
+ }