@almadar/std 16.211.0 → 16.213.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 (145) hide show
  1. package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +1 -0
  2. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +3 -0
  3. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +6 -0
  4. package/behaviors/lolo/infra/atoms/std-calendar-sync.lolo +3 -0
  5. package/behaviors/lolo/infra/atoms/std-cascade-on-delete.lolo +1 -0
  6. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +2 -0
  7. package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +2 -0
  8. package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +3 -0
  9. package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +2 -0
  10. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +12 -0
  11. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +1 -0
  12. package/behaviors/lolo/infra/atoms/std-notification-center.lolo +21 -1
  13. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +5 -0
  14. package/behaviors/lolo/infra/atoms/std-reminder-scheduler.lolo +2 -0
  15. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -0
  16. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +1 -0
  17. package/behaviors/lolo/ml/atoms/std-ml-infer.lolo +1 -0
  18. package/behaviors/lolo/ui/core/atoms/std-board.lolo +6 -0
  19. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +6 -1
  20. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +6 -1
  21. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +2 -0
  22. package/behaviors/lolo/ui/core/atoms/std-gallery.lolo +8 -1
  23. package/behaviors/lolo/ui/core/atoms/std-list.lolo +8 -1
  24. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +214 -3
  25. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +8 -1
  26. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +1 -0
  27. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +16 -0
  28. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +36 -0
  29. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -1
  30. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +1 -1
  31. package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +22 -2
  32. package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +1 -1
  33. package/behaviors/lolo/ui/core/atoms/ui-select.lolo +6 -2
  34. package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +3 -1
  35. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +1 -1
  36. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +13 -0
  37. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +13 -0
  38. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +1 -1
  39. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +1 -1
  40. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +1 -1
  41. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +13 -0
  42. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +2 -2
  43. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +13 -0
  44. package/behaviors/lolo/ui/game/atoms/std-tutorial-overlay.lolo +6 -0
  45. package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +1 -1
  46. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +1 -1
  47. package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +2 -2
  48. package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +2 -2
  49. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +1 -1
  50. package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +1 -1
  51. package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +4 -4
  52. package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +1 -1
  53. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +1 -1
  54. package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +7 -2
  55. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +1 -1
  56. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
  57. package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +2 -2
  58. package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +5 -5
  59. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +1 -1
  60. package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +2 -2
  61. package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +1 -1
  62. package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +2 -2
  63. package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +2 -2
  64. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +4 -4
  65. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +2 -2
  66. package/behaviors/registry/agent/organisms/std-agent-rabit.orb +8 -0
  67. package/behaviors/registry/infra/atoms/std-approval-gate.orb +56 -18
  68. package/behaviors/registry/infra/atoms/std-cache-aside.orb +76 -32
  69. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +46 -0
  70. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +20 -0
  71. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +40 -14
  72. package/behaviors/registry/infra/atoms/std-cross-reference.orb +41 -15
  73. package/behaviors/registry/infra/atoms/std-data-erasure.orb +52 -0
  74. package/behaviors/registry/infra/atoms/std-lifecycle.orb +36 -0
  75. package/behaviors/registry/infra/atoms/std-migration-job.orb +108 -0
  76. package/behaviors/registry/infra/atoms/std-mod-queue.orb +20 -0
  77. package/behaviors/registry/infra/atoms/std-notification-center.orb +208 -1
  78. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +70 -0
  79. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +36 -0
  80. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +20 -0
  81. package/behaviors/registry/ml/atoms/std-ml-classify.orb +18 -0
  82. package/behaviors/registry/ml/atoms/std-ml-infer.orb +18 -0
  83. package/behaviors/registry/ui/core/atoms/std-board.orb +58 -0
  84. package/behaviors/registry/ui/core/atoms/std-browse.orb +9 -1
  85. package/behaviors/registry/ui/core/atoms/std-calendar.orb +9 -1
  86. package/behaviors/registry/ui/core/atoms/std-event-log.orb +26 -0
  87. package/behaviors/registry/ui/core/atoms/std-gallery.orb +35 -1
  88. package/behaviors/registry/ui/core/atoms/std-list.orb +35 -1
  89. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +443 -2
  90. package/behaviors/registry/ui/core/atoms/std-selection.orb +35 -1
  91. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +20 -0
  92. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +56 -0
  93. package/behaviors/registry/ui/core/atoms/std-wizard.orb +77 -0
  94. package/behaviors/registry/ui/core/atoms/ui-badge.orb +4 -1
  95. package/behaviors/registry/ui/core/atoms/ui-button.orb +4 -1
  96. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +78 -2
  97. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +4 -1
  98. package/behaviors/registry/ui/core/atoms/ui-select.orb +28 -0
  99. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +14 -0
  100. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -28
  101. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +58 -0
  102. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +58 -0
  103. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -20
  104. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -14
  105. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -24
  106. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +58 -0
  107. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +8 -2
  108. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +58 -0
  109. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +44 -0
  110. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +4 -1
  111. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +4 -1
  112. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +2 -2
  113. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +2 -2
  114. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +4 -1
  115. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +4 -1
  116. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +10 -4
  117. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +4 -1
  118. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +4 -1
  119. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +12 -2
  120. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +4 -1
  121. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +4 -1
  122. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +8 -2
  123. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +20 -5
  124. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +4 -1
  125. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +8 -2
  126. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +4 -1
  127. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +4 -1
  128. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +8 -2
  129. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +8 -2
  130. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +2 -2
  131. package/dist/behaviors/exports-reader.js +1813 -283
  132. package/dist/behaviors/functions/index.d.ts +64 -19
  133. package/dist/behaviors/functions/index.js +1811 -284
  134. package/dist/behaviors/index.d.ts +1 -1
  135. package/dist/behaviors/index.js +1814 -284
  136. package/dist/behaviors/query.js +1813 -283
  137. package/dist/behaviors-embeddings.hash.json +3 -3
  138. package/dist/behaviors-embeddings.json +15 -15
  139. package/dist/behaviors-registry.json +827 -490
  140. package/dist/index.d.ts +1 -1
  141. package/dist/index.js +1814 -284
  142. package/dist/knob-embeddings.hash.json +3 -3
  143. package/dist/knob-embeddings.json +1 -1
  144. package/dist/registry/factory-signatures.json +1 -1
  145. package/package.json +2 -2
@@ -447,6 +447,41 @@
447
447
  "tier": "presentation",
448
448
  "type": "string"
449
449
  },
450
+ "relationsData": {
451
+ "default": {},
452
+ "description": "Relation display data: { fieldName: [{value, label}] } — injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
453
+ "items": {
454
+ "items": {
455
+ "properties": {
456
+ "description": {
457
+ "name": "description",
458
+ "required": false,
459
+ "type": "string"
460
+ },
461
+ "disabled": {
462
+ "name": "disabled",
463
+ "required": false,
464
+ "type": "boolean"
465
+ },
466
+ "label": {
467
+ "name": "label",
468
+ "required": true,
469
+ "type": "string"
470
+ },
471
+ "value": {
472
+ "name": "value",
473
+ "required": true,
474
+ "type": "string"
475
+ }
476
+ },
477
+ "type": "object"
478
+ },
479
+ "type": "array"
480
+ },
481
+ "label": "Relations Data",
482
+ "tier": "presentation",
483
+ "type": "Map<string,[TableViewRelationsDataValueItem]>"
484
+ },
450
485
  "reorderEvent": {
451
486
  "description": "Bus event fired on in-container reorder. Payload: { id, oldIndex, newIndex }",
452
487
  "label": "Reorder Event",
@@ -739,6 +774,7 @@
739
774
  "maxInlineActions": "@config.maxInlineActions",
740
775
  "pageSize": "@config.pageSize",
741
776
  "positionEvent": "@config.positionEvent",
777
+ "relationsData": "@config.relationsData",
742
778
  "reorderEvent": "@config.reorderEvent",
743
779
  "selectEvent": "@config.selectEvent",
744
780
  "selectable": "@config.selectable",
@@ -782,6 +818,7 @@
782
818
  "maxInlineActions": "@config.maxInlineActions",
783
819
  "pageSize": "@config.pageSize",
784
820
  "positionEvent": "@config.positionEvent",
821
+ "relationsData": "@config.relationsData",
785
822
  "reorderEvent": "@config.reorderEvent",
786
823
  "selectEvent": "@config.selectEvent",
787
824
  "selectable": "@config.selectable",
@@ -828,6 +865,7 @@
828
865
  "maxInlineActions": "@config.maxInlineActions",
829
866
  "pageSize": "@config.pageSize",
830
867
  "positionEvent": "@config.positionEvent",
868
+ "relationsData": "@config.relationsData",
831
869
  "reorderEvent": "@config.reorderEvent",
832
870
  "selectEvent": "@config.selectEvent",
833
871
  "selectable": "@config.selectable",
@@ -982,6 +1020,26 @@
982
1020
  "name": "variant",
983
1021
  "type": "string"
984
1022
  }
1023
+ ],
1024
+ "TableViewRelationsDataValueItem": [
1025
+ {
1026
+ "name": "value",
1027
+ "required": true,
1028
+ "type": "string"
1029
+ },
1030
+ {
1031
+ "name": "label",
1032
+ "required": true,
1033
+ "type": "string"
1034
+ },
1035
+ {
1036
+ "name": "description",
1037
+ "type": "string"
1038
+ },
1039
+ {
1040
+ "name": "disabled",
1041
+ "type": "boolean"
1042
+ }
985
1043
  ]
986
1044
  }
987
1045
  }
@@ -161,7 +161,10 @@
161
161
  "1:1",
162
162
  "16:9",
163
163
  "5:7",
164
- "8:1"
164
+ "8:1",
165
+ "4:1",
166
+ "5:3",
167
+ "1:2"
165
168
  ]
166
169
  },
167
170
  "atlas": {
@@ -330,7 +333,10 @@
330
333
  "1:1",
331
334
  "16:9",
332
335
  "5:7",
333
- "8:1"
336
+ "8:1",
337
+ "4:1",
338
+ "5:3",
339
+ "1:2"
334
340
  ]
335
341
  },
336
342
  "atlas": {
@@ -403,6 +403,41 @@
403
403
  "tier": "presentation",
404
404
  "type": "number"
405
405
  },
406
+ "relationsData": {
407
+ "default": {},
408
+ "description": "Relation display data: { fieldName: [{value, label}] } — injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
409
+ "items": {
410
+ "items": {
411
+ "properties": {
412
+ "description": {
413
+ "name": "description",
414
+ "required": false,
415
+ "type": "string"
416
+ },
417
+ "disabled": {
418
+ "name": "disabled",
419
+ "required": false,
420
+ "type": "boolean"
421
+ },
422
+ "label": {
423
+ "name": "label",
424
+ "required": true,
425
+ "type": "string"
426
+ },
427
+ "value": {
428
+ "name": "value",
429
+ "required": true,
430
+ "type": "string"
431
+ }
432
+ },
433
+ "type": "object"
434
+ },
435
+ "type": "array"
436
+ },
437
+ "label": "Relations Data",
438
+ "tier": "presentation",
439
+ "type": "Map<string,[EntityTableRelationsDataValueItem]>"
440
+ },
406
441
  "rowActions": {
407
442
  "default": [],
408
443
  "description": "Row actions",
@@ -667,6 +702,7 @@
667
702
  "look": "@config.look",
668
703
  "page": "@config.pageProp",
669
704
  "pageSize": "@config.pageSize",
705
+ "relationsData": "@config.relationsData",
670
706
  "rowActions": "@config.rowActions",
671
707
  "searchPlaceholder": "@config.searchPlaceholder",
672
708
  "searchValue": "@config.searchValue",
@@ -710,6 +746,7 @@
710
746
  "look": "@config.look",
711
747
  "page": "@config.pageProp",
712
748
  "pageSize": "@config.pageSize",
749
+ "relationsData": "@config.relationsData",
713
750
  "rowActions": "@config.rowActions",
714
751
  "searchPlaceholder": "@config.searchPlaceholder",
715
752
  "searchValue": "@config.searchValue",
@@ -756,6 +793,7 @@
756
793
  "look": "@config.look",
757
794
  "page": "@config.pageProp",
758
795
  "pageSize": "@config.pageSize",
796
+ "relationsData": "@config.relationsData",
759
797
  "rowActions": "@config.rowActions",
760
798
  "searchPlaceholder": "@config.searchPlaceholder",
761
799
  "searchValue": "@config.searchValue",
@@ -908,6 +946,26 @@
908
946
  "type": "string"
909
947
  }
910
948
  ],
949
+ "EntityTableRelationsDataValueItem": [
950
+ {
951
+ "name": "value",
952
+ "required": true,
953
+ "type": "string"
954
+ },
955
+ {
956
+ "name": "label",
957
+ "required": true,
958
+ "type": "string"
959
+ },
960
+ {
961
+ "name": "description",
962
+ "type": "string"
963
+ },
964
+ {
965
+ "name": "disabled",
966
+ "type": "boolean"
967
+ }
968
+ ],
911
969
  "EntityTableRowActionsItem": [
912
970
  {
913
971
  "name": "label",
@@ -100,6 +100,15 @@
100
100
  "parent": "trt_01M0S4ZSRVQBN2JT81Y534547C",
101
101
  "renames": []
102
102
  },
103
+ "evt_01M2AFRW87S5CEYPK9E8AGXC69": {
104
+ "bakedName": "CLOSE",
105
+ "curName": "CLOSE",
106
+ "id": "evt_01M2AFRW87S5CEYPK9E8AGXC69",
107
+ "kind": "event",
108
+ "owner": "workspace",
109
+ "parent": "trt_01M0PEDYHY2HA8AFMMAD5883VT",
110
+ "renames": []
111
+ },
103
112
  "orb_01M0PEDYHYEZSSAA4NT93JBSNS": {
104
113
  "bakedName": "TutorialOverlayOrbital",
105
114
  "curName": "TutorialOverlayOrbital",
@@ -495,6 +504,11 @@
495
504
  ],
496
505
  "tier": "essential"
497
506
  },
507
+ {
508
+ "id": "evt_01M2AFRW87S5CEYPK9E8AGXC69",
509
+ "key": "CLOSE",
510
+ "name": "Close"
511
+ },
498
512
  {
499
513
  "description": "The tutorial was finished or skipped; boards unpause or log completion.",
500
514
  "id": "evt_01M0PEDYJ12JJNHT06186T7N11",
@@ -1233,6 +1247,36 @@
1233
1247
  "eventId": "evt_01M0PEDYJ1B3KT6WAQ36ESVPBC",
1234
1248
  "from": "showing",
1235
1249
  "to": "hidden"
1250
+ },
1251
+ {
1252
+ "effects": [
1253
+ [
1254
+ "set",
1255
+ "@entity.done",
1256
+ true
1257
+ ],
1258
+ [
1259
+ "render-ui",
1260
+ "overlay",
1261
+ null
1262
+ ],
1263
+ [
1264
+ "emit",
1265
+ "TUTORIAL_DEMO_STOP",
1266
+ {}
1267
+ ],
1268
+ [
1269
+ "emit",
1270
+ "TUTORIAL_DONE",
1271
+ {
1272
+ "id": "tutorial"
1273
+ }
1274
+ ]
1275
+ ],
1276
+ "event": "CLOSE",
1277
+ "eventId": "evt_01M2AFRW87S5CEYPK9E8AGXC69",
1278
+ "from": "showing",
1279
+ "to": "hidden"
1236
1280
  }
1237
1281
  ]
1238
1282
  },
@@ -206,7 +206,10 @@
206
206
  "1:1",
207
207
  "16:9",
208
208
  "5:7",
209
- "8:1"
209
+ "8:1",
210
+ "4:1",
211
+ "5:3",
212
+ "1:2"
210
213
  ]
211
214
  },
212
215
  "atlas": {
@@ -161,7 +161,10 @@
161
161
  "1:1",
162
162
  "16:9",
163
163
  "5:7",
164
- "8:1"
164
+ "8:1",
165
+ "4:1",
166
+ "5:3",
167
+ "1:2"
165
168
  ]
166
169
  },
167
170
  "atlas": {
@@ -277,7 +277,7 @@
277
277
  },
278
278
  "keyMap": {
279
279
  "default": {
280
- "item": "Item"
280
+ "item": "INIT"
281
281
  },
282
282
  "description": "Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input).",
283
283
  "items": {
@@ -289,7 +289,7 @@
289
289
  },
290
290
  "keyUpMap": {
291
291
  "default": {
292
- "item": "Item"
292
+ "item": "INIT"
293
293
  },
294
294
  "description": "Maps a keyup `e.code` → the board's SEMANTIC event.",
295
295
  "items": {
@@ -302,7 +302,7 @@
302
302
  },
303
303
  "keyMap": {
304
304
  "default": {
305
- "item": "Item"
305
+ "item": "INIT"
306
306
  },
307
307
  "description": "keyMap prop",
308
308
  "items": {
@@ -314,7 +314,7 @@
314
314
  },
315
315
  "keyUpMap": {
316
316
  "default": {
317
- "item": "Item"
317
+ "item": "INIT"
318
318
  },
319
319
  "description": "keyUpMap prop",
320
320
  "items": {
@@ -125,7 +125,10 @@
125
125
  "1:1",
126
126
  "16:9",
127
127
  "5:7",
128
- "8:1"
128
+ "8:1",
129
+ "4:1",
130
+ "5:3",
131
+ "1:2"
129
132
  ]
130
133
  },
131
134
  "atlas": {
@@ -118,7 +118,10 @@
118
118
  "1:1",
119
119
  "16:9",
120
120
  "5:7",
121
- "8:1"
121
+ "8:1",
122
+ "4:1",
123
+ "5:3",
124
+ "1:2"
122
125
  ]
123
126
  },
124
127
  "atlas": {
@@ -129,7 +129,10 @@
129
129
  "1:1",
130
130
  "16:9",
131
131
  "5:7",
132
- "8:1"
132
+ "8:1",
133
+ "4:1",
134
+ "5:3",
135
+ "1:2"
133
136
  ]
134
137
  },
135
138
  "atlas": {
@@ -265,7 +268,10 @@
265
268
  "1:1",
266
269
  "16:9",
267
270
  "5:7",
268
- "8:1"
271
+ "8:1",
272
+ "4:1",
273
+ "5:3",
274
+ "1:2"
269
275
  ]
270
276
  },
271
277
  "atlas": {
@@ -345,7 +351,7 @@
345
351
  },
346
352
  "directionEvents": {
347
353
  "default": {
348
- "item": "Item"
354
+ "item": "INIT"
349
355
  },
350
356
  "description": "Per-direction PRESS → the board's SEMANTIC event (kind='dpad'), e.g. `{ left: 'LEFT', right: 'RIGHT', up: 'JUMP' }`. Lets the d-pad emit the SAME intent events as the keyboard so the FSM stays device-agnostic.",
351
357
  "items": {
@@ -357,7 +363,7 @@
357
363
  },
358
364
  "directionReleaseEvents": {
359
365
  "default": {
360
- "item": "Item"
366
+ "item": "INIT"
361
367
  },
362
368
  "description": "Per-direction RELEASE → semantic event, e.g. `{ left: 'STOP', right: 'STOP' }`. Omit a direction to ignore its release.",
363
369
  "items": {
@@ -119,7 +119,10 @@
119
119
  "1:1",
120
120
  "16:9",
121
121
  "5:7",
122
- "8:1"
122
+ "8:1",
123
+ "4:1",
124
+ "5:3",
125
+ "1:2"
123
126
  ]
124
127
  },
125
128
  "atlas": {
@@ -391,7 +391,10 @@
391
391
  "1:1",
392
392
  "16:9",
393
393
  "5:7",
394
- "8:1"
394
+ "8:1",
395
+ "4:1",
396
+ "5:3",
397
+ "1:2"
395
398
  ]
396
399
  },
397
400
  "atlas": {
@@ -100,7 +100,10 @@
100
100
  "1:1",
101
101
  "16:9",
102
102
  "5:7",
103
- "8:1"
103
+ "8:1",
104
+ "4:1",
105
+ "5:3",
106
+ "1:2"
104
107
  ]
105
108
  },
106
109
  "atlas": {
@@ -195,7 +198,7 @@
195
198
  ]
196
199
  }
197
200
  ],
198
- "description": "The skeleton (bind pose; FK chain via `parent` names).",
201
+ "description": "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
199
202
  "items": {
200
203
  "properties": {
201
204
  "name": {
@@ -250,6 +253,12 @@
250
253
  "tier": "presentation",
251
254
  "type": "DrawSkinnedMeshClip"
252
255
  },
256
+ "clipName": {
257
+ "description": "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip.",
258
+ "label": "Clip Name",
259
+ "tier": "presentation",
260
+ "type": "string"
261
+ },
253
262
  "frame": {
254
263
  "description": "Clip frame counter (host-driven paint clock frame).",
255
264
  "label": "Frame",
@@ -445,6 +454,7 @@
445
454
  "asset": "@config.asset",
446
455
  "bones": "@config.bones",
447
456
  "clip": "@config.clip",
457
+ "clipName": "@config.clipName",
448
458
  "frame": "@config.frame",
449
459
  "ghost": "@config.ghost",
450
460
  "mesh": "@config.mesh",
@@ -210,7 +210,10 @@
210
210
  "1:1",
211
211
  "16:9",
212
212
  "5:7",
213
- "8:1"
213
+ "8:1",
214
+ "4:1",
215
+ "5:3",
216
+ "1:2"
214
217
  ]
215
218
  },
216
219
  "atlas": {
@@ -118,7 +118,10 @@
118
118
  "1:1",
119
119
  "16:9",
120
120
  "5:7",
121
- "8:1"
121
+ "8:1",
122
+ "4:1",
123
+ "5:3",
124
+ "1:2"
122
125
  ]
123
126
  },
124
127
  "atlas": {
@@ -149,7 +149,10 @@
149
149
  "1:1",
150
150
  "16:9",
151
151
  "5:7",
152
- "8:1"
152
+ "8:1",
153
+ "4:1",
154
+ "5:3",
155
+ "1:2"
153
156
  ]
154
157
  },
155
158
  "atlas": {
@@ -237,7 +240,10 @@
237
240
  "1:1",
238
241
  "16:9",
239
242
  "5:7",
240
- "8:1"
243
+ "8:1",
244
+ "4:1",
245
+ "5:3",
246
+ "1:2"
241
247
  ]
242
248
  },
243
249
  "atlas": {
@@ -110,7 +110,10 @@
110
110
  "1:1",
111
111
  "16:9",
112
112
  "5:7",
113
- "8:1"
113
+ "8:1",
114
+ "4:1",
115
+ "5:3",
116
+ "1:2"
114
117
  ]
115
118
  },
116
119
  "atlas": {
@@ -249,7 +252,10 @@
249
252
  "1:1",
250
253
  "16:9",
251
254
  "5:7",
252
- "8:1"
255
+ "8:1",
256
+ "4:1",
257
+ "5:3",
258
+ "1:2"
253
259
  ]
254
260
  },
255
261
  "atlas": {
@@ -356,7 +362,10 @@
356
362
  "1:1",
357
363
  "16:9",
358
364
  "5:7",
359
- "8:1"
365
+ "8:1",
366
+ "4:1",
367
+ "5:3",
368
+ "1:2"
360
369
  ]
361
370
  },
362
371
  "atlas": {
@@ -498,7 +507,10 @@
498
507
  "1:1",
499
508
  "16:9",
500
509
  "5:7",
501
- "8:1"
510
+ "8:1",
511
+ "4:1",
512
+ "5:3",
513
+ "1:2"
502
514
  ]
503
515
  },
504
516
  "atlas": {
@@ -605,7 +617,10 @@
605
617
  "1:1",
606
618
  "16:9",
607
619
  "5:7",
608
- "8:1"
620
+ "8:1",
621
+ "4:1",
622
+ "5:3",
623
+ "1:2"
609
624
  ]
610
625
  },
611
626
  "atlas": {
@@ -121,7 +121,10 @@
121
121
  "1:1",
122
122
  "16:9",
123
123
  "5:7",
124
- "8:1"
124
+ "8:1",
125
+ "4:1",
126
+ "5:3",
127
+ "1:2"
125
128
  ]
126
129
  },
127
130
  "atlas": {
@@ -120,7 +120,10 @@
120
120
  "1:1",
121
121
  "16:9",
122
122
  "5:7",
123
- "8:1"
123
+ "8:1",
124
+ "4:1",
125
+ "5:3",
126
+ "1:2"
124
127
  ]
125
128
  },
126
129
  "atlas": {
@@ -221,7 +224,10 @@
221
224
  "1:1",
222
225
  "16:9",
223
226
  "5:7",
224
- "8:1"
227
+ "8:1",
228
+ "4:1",
229
+ "5:3",
230
+ "1:2"
225
231
  ]
226
232
  },
227
233
  "atlas": {
@@ -100,7 +100,10 @@
100
100
  "1:1",
101
101
  "16:9",
102
102
  "5:7",
103
- "8:1"
103
+ "8:1",
104
+ "4:1",
105
+ "5:3",
106
+ "1:2"
104
107
  ]
105
108
  },
106
109
  "atlas": {
@@ -327,7 +327,10 @@
327
327
  "1:1",
328
328
  "16:9",
329
329
  "5:7",
330
- "8:1"
330
+ "8:1",
331
+ "4:1",
332
+ "5:3",
333
+ "1:2"
331
334
  ]
332
335
  },
333
336
  "atlas": {