@almadar/core 10.90.0 → 10.91.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 (36) hide show
  1. package/dist/builders.d.ts +3 -3
  2. package/dist/builders.js +2 -1
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-7jQQxiIt.d.ts → effect-Bt8vKHwd.d.ts} +9 -1
  5. package/dist/{entityAccess-CpHfCQA3.d.ts → entityAccess-BdDX85rM.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +225 -70
  8. package/dist/factory/index.js.map +1 -1
  9. package/dist/factory-runtime/index.d.ts +3 -3
  10. package/dist/factory-runtime/index.js +2 -1
  11. package/dist/factory-runtime/index.js.map +1 -1
  12. package/dist/i18n/index.js +6 -0
  13. package/dist/i18n/index.js.map +1 -1
  14. package/dist/{index-BresfHJy.d.ts → index-rOBf1Oag.d.ts} +24 -4
  15. package/dist/index.d.ts +10 -10
  16. package/dist/index.js +432 -79
  17. package/dist/index.js.map +1 -1
  18. package/dist/mock/index.d.ts +11 -5
  19. package/dist/mock/index.js +3 -2
  20. package/dist/mock/index.js.map +1 -1
  21. package/dist/patterns/component-mapping.json +1 -1
  22. package/dist/patterns/event-contracts.json +1 -1
  23. package/dist/patterns/index.d.ts +785 -109
  24. package/dist/patterns/index.js +424 -78
  25. package/dist/patterns/index.js.map +1 -1
  26. package/dist/patterns/integrators-registry.json +198 -6
  27. package/dist/patterns/patterns-registry.json +224 -70
  28. package/dist/patterns/registry.json +224 -70
  29. package/dist/patterns/services-registry.json +265 -68
  30. package/dist/{schema-C52juBr8.d.ts → schema-ovDTDQz9.d.ts} +2 -2
  31. package/dist/{trait-CFiL1YUN.d.ts → trait-C3e3btfn.d.ts} +1 -1
  32. package/dist/types/index.d.ts +5 -5
  33. package/dist/types/index.js +2 -1
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/{types-BgC8ETnl.d.ts → types-rh0naR6C.d.ts} +2 -2
  36. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-09-10T08:51:20.514Z",
3
+ "exportedAt": "2026-09-12T07:27:39.835Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -4301,7 +4301,10 @@
4301
4301
  "1:1",
4302
4302
  "16:9",
4303
4303
  "5:7",
4304
- "8:1"
4304
+ "8:1",
4305
+ "4:1",
4306
+ "5:3",
4307
+ "1:2"
4305
4308
  ]
4306
4309
  },
4307
4310
  "atlas": {
@@ -4461,7 +4464,10 @@
4461
4464
  "1:1",
4462
4465
  "16:9",
4463
4466
  "5:7",
4464
- "8:1"
4467
+ "8:1",
4468
+ "4:1",
4469
+ "5:3",
4470
+ "1:2"
4465
4471
  ]
4466
4472
  },
4467
4473
  "atlas": {
@@ -7495,6 +7501,7 @@
7495
7501
  "button": {
7496
7502
  "type": "button",
7497
7503
  "category": "component",
7504
+ "sourceFile": "components/core/atoms/Button.tsx",
7498
7505
  "tier": "atoms",
7499
7506
  "family": "core",
7500
7507
  "description": "Clickable button that emits events",
@@ -7639,7 +7646,10 @@
7639
7646
  "1:1",
7640
7647
  "16:9",
7641
7648
  "5:7",
7642
- "8:1"
7649
+ "8:1",
7650
+ "4:1",
7651
+ "5:3",
7652
+ "1:2"
7643
7653
  ]
7644
7654
  },
7645
7655
  "atlas": {
@@ -7681,7 +7691,8 @@
7681
7691
  "object"
7682
7692
  ],
7683
7693
  "description": "Payload to include with the action event",
7684
- "payloadFor": "action"
7694
+ "payloadFor": "action",
7695
+ "eventPayloadBrand": true
7685
7696
  },
7686
7697
  "label": {
7687
7698
  "types": [
@@ -7706,6 +7717,7 @@
7706
7717
  "badge": {
7707
7718
  "type": "badge",
7708
7719
  "category": "component",
7720
+ "sourceFile": "components/core/atoms/Badge.tsx",
7709
7721
  "tier": "atoms",
7710
7722
  "family": "core",
7711
7723
  "description": "Small label for status or count",
@@ -7837,7 +7849,10 @@
7837
7849
  "1:1",
7838
7850
  "16:9",
7839
7851
  "5:7",
7840
- "8:1"
7852
+ "8:1",
7853
+ "4:1",
7854
+ "5:3",
7855
+ "1:2"
7841
7856
  ]
7842
7857
  },
7843
7858
  "atlas": {
@@ -8337,6 +8352,7 @@
8337
8352
  "input": {
8338
8353
  "type": "input",
8339
8354
  "category": "component",
8355
+ "sourceFile": "components/core/atoms/Input.tsx",
8340
8356
  "tier": "atoms",
8341
8357
  "family": "core",
8342
8358
  "description": "Text input field",
@@ -8464,9 +8480,7 @@
8464
8480
  "function",
8465
8481
  "string"
8466
8482
  ],
8467
- "description": "Callback or declarative event key when clear button is clicked",
8468
- "kind": "event-ref",
8469
- "emitPayloadSchema": []
8483
+ "description": "Callback or declarative event key when clear button is clicked"
8470
8484
  },
8471
8485
  "options": {
8472
8486
  "types": [
@@ -8511,16 +8525,9 @@
8511
8525
  "kind": "event-ref",
8512
8526
  "emitPayloadSchema": [
8513
8527
  {
8514
- "name": "value",
8515
- "type": "string",
8516
- "required": true,
8517
- "typeWhen": [
8518
- {
8519
- "knob": "inputType",
8520
- "equals": "number",
8521
- "type": "number"
8522
- }
8523
- ]
8528
+ "name": "_payload",
8529
+ "type": "object",
8530
+ "required": false
8524
8531
  }
8525
8532
  ]
8526
8533
  }
@@ -8590,6 +8597,7 @@
8590
8597
  "select": {
8591
8598
  "type": "select",
8592
8599
  "category": "component",
8600
+ "sourceFile": "components/core/atoms/Select.tsx",
8593
8601
  "tier": "atoms",
8594
8602
  "family": "core",
8595
8603
  "description": "Dropdown select input",
@@ -8779,7 +8787,26 @@
8779
8787
  "function",
8780
8788
  "string"
8781
8789
  ],
8782
- "description": "Value-based change: a React callback (internal use) OR a declarative event key that emits `{ value }` on the bus (render-ui / lolo authoring). Mirrors the `onChange` handler|event convention so it's an event-emitting prop, not a bare callback."
8790
+ "description": "Value-based change: a React callback (internal use) OR a declarative event key that emits `{ value }` on the bus (render-ui / lolo authoring). Mirrors the `onChange` handler|event convention so it's an event-emitting prop, not a bare callback.",
8791
+ "kind": "event-ref",
8792
+ "emitPayloadSchema": [
8793
+ {
8794
+ "name": "value",
8795
+ "type": "string",
8796
+ "required": true,
8797
+ "schema": {
8798
+ "types": [
8799
+ "string",
8800
+ "array"
8801
+ ],
8802
+ "items": {
8803
+ "types": [
8804
+ "string"
8805
+ ]
8806
+ }
8807
+ }
8808
+ }
8809
+ ]
8783
8810
  }
8784
8811
  }
8785
8812
  },
@@ -11334,6 +11361,7 @@
11334
11361
  "input-group": {
11335
11362
  "type": "input-group",
11336
11363
  "category": "form",
11364
+ "sourceFile": "components/core/molecules/InputGroup.tsx",
11337
11365
  "tier": "molecules",
11338
11366
  "family": "core",
11339
11367
  "description": "InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.",
@@ -11454,9 +11482,7 @@
11454
11482
  "function",
11455
11483
  "string"
11456
11484
  ],
11457
- "description": "Callback or declarative event key when clear button is clicked",
11458
- "kind": "event-ref",
11459
- "emitPayloadSchema": []
11485
+ "description": "Callback or declarative event key when clear button is clicked"
11460
11486
  },
11461
11487
  "options": {
11462
11488
  "types": [
@@ -11500,16 +11526,9 @@
11500
11526
  "kind": "event-ref",
11501
11527
  "emitPayloadSchema": [
11502
11528
  {
11503
- "name": "value",
11504
- "type": "string",
11505
- "required": true,
11506
- "typeWhen": [
11507
- {
11508
- "knob": "inputType",
11509
- "equals": "number",
11510
- "type": "number"
11511
- }
11512
- ]
11529
+ "name": "_payload",
11530
+ "type": "object",
11531
+ "required": false
11513
11532
  }
11514
11533
  ]
11515
11534
  },
@@ -13809,6 +13828,7 @@
13809
13828
  "game-shell": {
13810
13829
  "type": "game-shell",
13811
13830
  "category": "game",
13831
+ "sourceFile": "components/game/templates/GameShell.tsx",
13812
13832
  "tier": "templates",
13813
13833
  "family": "game",
13814
13834
  "description": "GameShell A full-screen layout wrapper for game applications. Replaces DashboardLayout for game clients — no sidebar nav, just full-viewport rendering with an optional HUD overlay bar. Used as a React Router layout route element: <Route element={<GameShell appName=\"TraitWars\" />}> <Route index element={<WorldMapPage />} /> ... </Route>",
@@ -13934,7 +13954,10 @@
13934
13954
  "1:1",
13935
13955
  "16:9",
13936
13956
  "5:7",
13937
- "8:1"
13957
+ "8:1",
13958
+ "4:1",
13959
+ "5:3",
13960
+ "1:2"
13938
13961
  ]
13939
13962
  },
13940
13963
  "atlas": {
@@ -14029,7 +14052,10 @@
14029
14052
  "1:1",
14030
14053
  "16:9",
14031
14054
  "5:7",
14032
- "8:1"
14055
+ "8:1",
14056
+ "4:1",
14057
+ "5:3",
14058
+ "1:2"
14033
14059
  ]
14034
14060
  },
14035
14061
  "atlas": {
@@ -28297,6 +28323,7 @@
28297
28323
  "choice-button": {
28298
28324
  "type": "choice-button",
28299
28325
  "category": "game",
28326
+ "sourceFile": "components/game/atoms/ChoiceButton.tsx",
28300
28327
  "tier": "atoms",
28301
28328
  "family": "game",
28302
28329
  "description": "ChoiceButton component",
@@ -28386,7 +28413,10 @@
28386
28413
  "1:1",
28387
28414
  "16:9",
28388
28415
  "5:7",
28389
- "8:1"
28416
+ "8:1",
28417
+ "4:1",
28418
+ "5:3",
28419
+ "1:2"
28390
28420
  ]
28391
28421
  },
28392
28422
  "atlas": {
@@ -28476,6 +28506,7 @@
28476
28506
  "control-button": {
28477
28507
  "type": "control-button",
28478
28508
  "category": "game",
28509
+ "sourceFile": "components/game/atoms/ControlButton.tsx",
28479
28510
  "tier": "atoms",
28480
28511
  "family": "game",
28481
28512
  "description": "ControlButton component",
@@ -28551,7 +28582,10 @@
28551
28582
  "1:1",
28552
28583
  "16:9",
28553
28584
  "5:7",
28554
- "8:1"
28585
+ "8:1",
28586
+ "4:1",
28587
+ "5:3",
28588
+ "1:2"
28555
28589
  ]
28556
28590
  },
28557
28591
  "atlas": {
@@ -28668,6 +28702,7 @@
28668
28702
  "dialogue-bubble": {
28669
28703
  "type": "dialogue-bubble",
28670
28704
  "category": "game",
28705
+ "sourceFile": "components/game/atoms/DialogueBubble.tsx",
28671
28706
  "tier": "atoms",
28672
28707
  "family": "game",
28673
28708
  "description": "DialogueBubble component",
@@ -28758,7 +28793,10 @@
28758
28793
  "1:1",
28759
28794
  "16:9",
28760
28795
  "5:7",
28761
- "8:1"
28796
+ "8:1",
28797
+ "4:1",
28798
+ "5:3",
28799
+ "1:2"
28762
28800
  ]
28763
28801
  },
28764
28802
  "atlas": {
@@ -28829,6 +28867,7 @@
28829
28867
  "health-bar": {
28830
28868
  "type": "health-bar",
28831
28869
  "category": "game",
28870
+ "sourceFile": "components/game/atoms/HealthBar.tsx",
28832
28871
  "tier": "atoms",
28833
28872
  "family": "game",
28834
28873
  "description": "HealthBar component",
@@ -28977,7 +29016,10 @@
28977
29016
  "1:1",
28978
29017
  "16:9",
28979
29018
  "5:7",
28980
- "8:1"
29019
+ "8:1",
29020
+ "4:1",
29021
+ "5:3",
29022
+ "1:2"
28981
29023
  ]
28982
29024
  },
28983
29025
  "atlas": {
@@ -29072,7 +29114,10 @@
29072
29114
  "1:1",
29073
29115
  "16:9",
29074
29116
  "5:7",
29075
- "8:1"
29117
+ "8:1",
29118
+ "4:1",
29119
+ "5:3",
29120
+ "1:2"
29076
29121
  ]
29077
29122
  },
29078
29123
  "atlas": {
@@ -29107,6 +29152,7 @@
29107
29152
  "score-display": {
29108
29153
  "type": "score-display",
29109
29154
  "category": "game",
29155
+ "sourceFile": "components/game/atoms/ScoreDisplay.tsx",
29110
29156
  "tier": "atoms",
29111
29157
  "family": "game",
29112
29158
  "description": "ScoreDisplay component",
@@ -29182,7 +29228,10 @@
29182
29228
  "1:1",
29183
29229
  "16:9",
29184
29230
  "5:7",
29185
- "8:1"
29231
+ "8:1",
29232
+ "4:1",
29233
+ "5:3",
29234
+ "1:2"
29186
29235
  ]
29187
29236
  },
29188
29237
  "atlas": {
@@ -29269,6 +29318,7 @@
29269
29318
  "timer-display": {
29270
29319
  "type": "timer-display",
29271
29320
  "category": "game",
29321
+ "sourceFile": "components/game/atoms/TimerDisplay.tsx",
29272
29322
  "tier": "atoms",
29273
29323
  "family": "game",
29274
29324
  "description": "TimerDisplay component",
@@ -29395,7 +29445,10 @@
29395
29445
  "1:1",
29396
29446
  "16:9",
29397
29447
  "5:7",
29398
- "8:1"
29448
+ "8:1",
29449
+ "4:1",
29450
+ "5:3",
29451
+ "1:2"
29399
29452
  ]
29400
29453
  },
29401
29454
  "atlas": {
@@ -31665,6 +31718,7 @@
31665
31718
  "game-hud": {
31666
31719
  "type": "game-hud",
31667
31720
  "category": "game",
31721
+ "sourceFile": "components/game/molecules/GameHud.tsx",
31668
31722
  "tier": "molecules",
31669
31723
  "family": "game",
31670
31724
  "description": "GameHud component",
@@ -31755,7 +31809,10 @@
31755
31809
  "1:1",
31756
31810
  "16:9",
31757
31811
  "5:7",
31758
- "8:1"
31812
+ "8:1",
31813
+ "4:1",
31814
+ "5:3",
31815
+ "1:2"
31759
31816
  ]
31760
31817
  },
31761
31818
  "atlas": {
@@ -31849,7 +31906,10 @@
31849
31906
  "1:1",
31850
31907
  "16:9",
31851
31908
  "5:7",
31852
- "8:1"
31909
+ "8:1",
31910
+ "4:1",
31911
+ "5:3",
31912
+ "1:2"
31853
31913
  ]
31854
31914
  },
31855
31915
  "atlas": {
@@ -32006,7 +32066,10 @@
32006
32066
  "1:1",
32007
32067
  "16:9",
32008
32068
  "5:7",
32009
- "8:1"
32069
+ "8:1",
32070
+ "4:1",
32071
+ "5:3",
32072
+ "1:2"
32010
32073
  ]
32011
32074
  },
32012
32075
  "atlas": {
@@ -32100,7 +32163,10 @@
32100
32163
  "1:1",
32101
32164
  "16:9",
32102
32165
  "5:7",
32103
- "8:1"
32166
+ "8:1",
32167
+ "4:1",
32168
+ "5:3",
32169
+ "1:2"
32104
32170
  ]
32105
32171
  },
32106
32172
  "atlas": {
@@ -32289,7 +32355,10 @@
32289
32355
  "1:1",
32290
32356
  "16:9",
32291
32357
  "5:7",
32292
- "8:1"
32358
+ "8:1",
32359
+ "4:1",
32360
+ "5:3",
32361
+ "1:2"
32293
32362
  ]
32294
32363
  },
32295
32364
  "atlas": {
@@ -32636,7 +32705,10 @@
32636
32705
  "1:1",
32637
32706
  "16:9",
32638
32707
  "5:7",
32639
- "8:1"
32708
+ "8:1",
32709
+ "4:1",
32710
+ "5:3",
32711
+ "1:2"
32640
32712
  ]
32641
32713
  },
32642
32714
  "atlas": {
@@ -32677,6 +32749,7 @@
32677
32749
  "stat-badge": {
32678
32750
  "type": "stat-badge",
32679
32751
  "category": "game",
32752
+ "sourceFile": "components/game/molecules/StatBadge.tsx",
32680
32753
  "tier": "molecules",
32681
32754
  "family": "game",
32682
32755
  "description": "StatBadge component",
@@ -32752,7 +32825,10 @@
32752
32825
  "1:1",
32753
32826
  "16:9",
32754
32827
  "5:7",
32755
- "8:1"
32828
+ "8:1",
32829
+ "4:1",
32830
+ "5:3",
32831
+ "1:2"
32756
32832
  ]
32757
32833
  },
32758
32834
  "atlas": {
@@ -32847,7 +32923,10 @@
32847
32923
  "1:1",
32848
32924
  "16:9",
32849
32925
  "5:7",
32850
- "8:1"
32926
+ "8:1",
32927
+ "4:1",
32928
+ "5:3",
32929
+ "1:2"
32851
32930
  ]
32852
32931
  },
32853
32932
  "atlas": {
@@ -33373,6 +33452,7 @@
33373
33452
  "game-audio-toggle": {
33374
33453
  "type": "game-audio-toggle",
33375
33454
  "category": "game",
33455
+ "sourceFile": "components/game/atoms/GameAudioToggle.tsx",
33376
33456
  "tier": "atoms",
33377
33457
  "family": "game",
33378
33458
  "description": "GameAudioToggle component",
@@ -33504,7 +33584,10 @@
33504
33584
  "1:1",
33505
33585
  "16:9",
33506
33586
  "5:7",
33507
- "8:1"
33587
+ "8:1",
33588
+ "4:1",
33589
+ "5:3",
33590
+ "1:2"
33508
33591
  ]
33509
33592
  },
33510
33593
  "atlas": {
@@ -33599,7 +33682,10 @@
33599
33682
  "1:1",
33600
33683
  "16:9",
33601
33684
  "5:7",
33602
- "8:1"
33685
+ "8:1",
33686
+ "4:1",
33687
+ "5:3",
33688
+ "1:2"
33603
33689
  ]
33604
33690
  },
33605
33691
  "atlas": {
@@ -33648,6 +33734,7 @@
33648
33734
  "trait-slot": {
33649
33735
  "type": "trait-slot",
33650
33736
  "category": "game",
33737
+ "sourceFile": "components/game/molecules/TraitSlot.tsx",
33651
33738
  "tier": "molecules",
33652
33739
  "family": "game",
33653
33740
  "description": "Event Contract: Emits: UI:CLICK Emits: UI:REMOVE",
@@ -33760,7 +33847,10 @@
33760
33847
  "1:1",
33761
33848
  "16:9",
33762
33849
  "5:7",
33763
- "8:1"
33850
+ "8:1",
33851
+ "4:1",
33852
+ "5:3",
33853
+ "1:2"
33764
33854
  ]
33765
33855
  },
33766
33856
  "atlas": {
@@ -34003,7 +34093,10 @@
34003
34093
  "1:1",
34004
34094
  "16:9",
34005
34095
  "5:7",
34006
- "8:1"
34096
+ "8:1",
34097
+ "4:1",
34098
+ "5:3",
34099
+ "1:2"
34007
34100
  ]
34008
34101
  },
34009
34102
  "atlas": {
@@ -34180,7 +34273,10 @@
34180
34273
  "1:1",
34181
34274
  "16:9",
34182
34275
  "5:7",
34183
- "8:1"
34276
+ "8:1",
34277
+ "4:1",
34278
+ "5:3",
34279
+ "1:2"
34184
34280
  ]
34185
34281
  },
34186
34282
  "atlas": {
@@ -34406,7 +34502,10 @@
34406
34502
  "1:1",
34407
34503
  "16:9",
34408
34504
  "5:7",
34409
- "8:1"
34505
+ "8:1",
34506
+ "4:1",
34507
+ "5:3",
34508
+ "1:2"
34410
34509
  ]
34411
34510
  },
34412
34511
  "atlas": {
@@ -34601,6 +34700,7 @@
34601
34700
  "action-palette": {
34602
34701
  "type": "action-palette",
34603
34702
  "category": "game",
34703
+ "sourceFile": "components/game/molecules/ActionPalette.tsx",
34604
34704
  "tier": "molecules",
34605
34705
  "family": "game",
34606
34706
  "description": "ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.",
@@ -34711,7 +34811,10 @@
34711
34811
  "1:1",
34712
34812
  "16:9",
34713
34813
  "5:7",
34714
- "8:1"
34814
+ "8:1",
34815
+ "4:1",
34816
+ "5:3",
34817
+ "1:2"
34715
34818
  ]
34716
34819
  },
34717
34820
  "atlas": {
@@ -34899,6 +35002,7 @@
34899
35002
  "action-tile": {
34900
35003
  "type": "action-tile",
34901
35004
  "category": "game",
35005
+ "sourceFile": "components/game/molecules/ActionTile.tsx",
34902
35006
  "tier": "molecules",
34903
35007
  "family": "game",
34904
35008
  "description": "ActionTile Component A draggable action tile for the Sequencer tier (ages 5-8). Kids drag these from the ActionPalette into SequenceBar slots. Sets SlotItemData on dataTransfer for TraitSlot compatibility.",
@@ -35111,7 +35215,10 @@
35111
35215
  "1:1",
35112
35216
  "16:9",
35113
35217
  "5:7",
35114
- "8:1"
35218
+ "8:1",
35219
+ "4:1",
35220
+ "5:3",
35221
+ "1:2"
35115
35222
  ]
35116
35223
  },
35117
35224
  "atlas": {
@@ -35274,6 +35381,7 @@
35274
35381
  "sequence-bar": {
35275
35382
  "type": "sequence-bar",
35276
35383
  "category": "game",
35384
+ "sourceFile": "components/game/molecules/SequenceBar.tsx",
35277
35385
  "tier": "molecules",
35278
35386
  "family": "game",
35279
35387
  "description": "SequenceBar Component A row of TraitSlot components forming the action sequence for the Sequencer tier (ages 5-8). Kids drag ActionTiles from the palette into these slots to build their sequence.",
@@ -35384,7 +35492,10 @@
35384
35492
  "1:1",
35385
35493
  "16:9",
35386
35494
  "5:7",
35387
- "8:1"
35495
+ "8:1",
35496
+ "4:1",
35497
+ "5:3",
35498
+ "1:2"
35388
35499
  ]
35389
35500
  },
35390
35501
  "atlas": {
@@ -35612,7 +35723,10 @@
35612
35723
  "1:1",
35613
35724
  "16:9",
35614
35725
  "5:7",
35615
- "8:1"
35726
+ "8:1",
35727
+ "4:1",
35728
+ "5:3",
35729
+ "1:2"
35616
35730
  ]
35617
35731
  },
35618
35732
  "atlas": {
@@ -38661,6 +38775,7 @@
38661
38775
  "canvas-2d": {
38662
38776
  "type": "canvas-2d",
38663
38777
  "category": "game",
38778
+ "sourceFile": "components/game/molecules/Canvas2D.tsx",
38664
38779
  "tier": "molecules",
38665
38780
  "family": "game",
38666
38781
  "description": "Canvas2D component",
@@ -38807,7 +38922,10 @@
38807
38922
  "1:1",
38808
38923
  "16:9",
38809
38924
  "5:7",
38810
- "8:1"
38925
+ "8:1",
38926
+ "4:1",
38927
+ "5:3",
38928
+ "1:2"
38811
38929
  ]
38812
38930
  },
38813
38931
  "atlas": {
@@ -39119,6 +39237,7 @@
39119
39237
  "control-grid": {
39120
39238
  "type": "control-grid",
39121
39239
  "category": "game",
39240
+ "sourceFile": "components/game/molecules/ControlGrid.tsx",
39122
39241
  "tier": "molecules",
39123
39242
  "family": "game",
39124
39243
  "description": "ControlGrid component",
@@ -39230,7 +39349,10 @@
39230
39349
  "1:1",
39231
39350
  "16:9",
39232
39351
  "5:7",
39233
- "8:1"
39352
+ "8:1",
39353
+ "4:1",
39354
+ "5:3",
39355
+ "1:2"
39234
39356
  ]
39235
39357
  },
39236
39358
  "atlas": {
@@ -39459,7 +39581,10 @@
39459
39581
  "1:1",
39460
39582
  "16:9",
39461
39583
  "5:7",
39462
- "8:1"
39584
+ "8:1",
39585
+ "4:1",
39586
+ "5:3",
39587
+ "1:2"
39463
39588
  ]
39464
39589
  },
39465
39590
  "atlas": {
@@ -39530,6 +39655,7 @@
39530
39655
  "game-icon": {
39531
39656
  "type": "game-icon",
39532
39657
  "category": "game",
39658
+ "sourceFile": "components/core/atoms/GameIcon.tsx",
39533
39659
  "tier": "atoms",
39534
39660
  "family": "core",
39535
39661
  "description": "GameIcon component",
@@ -39605,7 +39731,10 @@
39605
39731
  "1:1",
39606
39732
  "16:9",
39607
39733
  "5:7",
39608
- "8:1"
39734
+ "8:1",
39735
+ "4:1",
39736
+ "5:3",
39737
+ "1:2"
39609
39738
  ]
39610
39739
  },
39611
39740
  "atlas": {
@@ -47903,6 +48032,7 @@
47903
48032
  "draw-sprite": {
47904
48033
  "type": "draw-sprite",
47905
48034
  "category": "game",
48035
+ "sourceFile": "components/game/atoms/DrawSprite.tsx",
47906
48036
  "tier": "atoms",
47907
48037
  "family": "game",
47908
48038
  "description": "DrawSprite component",
@@ -48024,7 +48154,10 @@
48024
48154
  "1:1",
48025
48155
  "16:9",
48026
48156
  "5:7",
48027
- "8:1"
48157
+ "8:1",
48158
+ "4:1",
48159
+ "5:3",
48160
+ "1:2"
48028
48161
  ]
48029
48162
  },
48030
48163
  "atlas": {
@@ -49008,6 +49141,7 @@
49008
49141
  "draw-sprite-layer": {
49009
49142
  "type": "draw-sprite-layer",
49010
49143
  "category": "game",
49144
+ "sourceFile": "components/game/molecules/DrawSpriteLayer.tsx",
49011
49145
  "tier": "molecules",
49012
49146
  "family": "game",
49013
49147
  "description": "DrawSpriteLayer component",
@@ -49150,7 +49284,10 @@
49150
49284
  "1:1",
49151
49285
  "16:9",
49152
49286
  "5:7",
49153
- "8:1"
49287
+ "8:1",
49288
+ "4:1",
49289
+ "5:3",
49290
+ "1:2"
49154
49291
  ]
49155
49292
  },
49156
49293
  "atlas": {
@@ -49456,6 +49593,7 @@
49456
49593
  "canvas": {
49457
49594
  "type": "canvas",
49458
49595
  "category": "game",
49596
+ "sourceFile": "components/game/molecules/Canvas.tsx",
49459
49597
  "tier": "molecules",
49460
49598
  "family": "game",
49461
49599
  "description": "Canvas component",
@@ -49695,7 +49833,10 @@
49695
49833
  "1:1",
49696
49834
  "16:9",
49697
49835
  "5:7",
49698
- "8:1"
49836
+ "8:1",
49837
+ "4:1",
49838
+ "5:3",
49839
+ "1:2"
49699
49840
  ]
49700
49841
  },
49701
49842
  "atlas": {
@@ -52128,6 +52269,7 @@
52128
52269
  "draw-fx-layer": {
52129
52270
  "type": "draw-fx-layer",
52130
52271
  "category": "game",
52272
+ "sourceFile": "components/game/molecules/DrawFxLayer.tsx",
52131
52273
  "tier": "molecules",
52132
52274
  "family": "game",
52133
52275
  "description": "DrawFxLayer component",
@@ -52503,7 +52645,10 @@
52503
52645
  "1:1",
52504
52646
  "16:9",
52505
52647
  "5:7",
52506
- "8:1"
52648
+ "8:1",
52649
+ "4:1",
52650
+ "5:3",
52651
+ "1:2"
52507
52652
  ]
52508
52653
  },
52509
52654
  "atlas": {
@@ -53921,7 +54066,10 @@
53921
54066
  "1:1",
53922
54067
  "16:9",
53923
54068
  "5:7",
53924
- "8:1"
54069
+ "8:1",
54070
+ "4:1",
54071
+ "5:3",
54072
+ "1:2"
53925
54073
  ]
53926
54074
  },
53927
54075
  "atlas": {
@@ -54053,7 +54201,7 @@
54053
54201
  "types": [
54054
54202
  "array"
54055
54203
  ],
54056
- "description": "The skeleton (bind pose; FK chain via `parent` names).",
54204
+ "description": "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
54057
54205
  "required": true,
54058
54206
  "items": {
54059
54207
  "types": [
@@ -54136,6 +54284,12 @@
54136
54284
  "frames"
54137
54285
  ]
54138
54286
  },
54287
+ "clipName": {
54288
+ "types": [
54289
+ "string"
54290
+ ],
54291
+ "description": "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip."
54292
+ },
54139
54293
  "frame": {
54140
54294
  "types": [
54141
54295
  "number"