@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
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  // src/patterns/patterns-registry.json
4
4
  var patterns_registry_default = {
5
5
  version: "1.0.0",
6
- exportedAt: "2026-09-10T08:51:20.514Z",
6
+ exportedAt: "2026-09-12T07:27:39.835Z",
7
7
  patterns: {
8
8
  "entity-table": {
9
9
  type: "entity-table",
@@ -4304,7 +4304,10 @@ var patterns_registry_default = {
4304
4304
  "1:1",
4305
4305
  "16:9",
4306
4306
  "5:7",
4307
- "8:1"
4307
+ "8:1",
4308
+ "4:1",
4309
+ "5:3",
4310
+ "1:2"
4308
4311
  ]
4309
4312
  },
4310
4313
  atlas: {
@@ -4464,7 +4467,10 @@ var patterns_registry_default = {
4464
4467
  "1:1",
4465
4468
  "16:9",
4466
4469
  "5:7",
4467
- "8:1"
4470
+ "8:1",
4471
+ "4:1",
4472
+ "5:3",
4473
+ "1:2"
4468
4474
  ]
4469
4475
  },
4470
4476
  atlas: {
@@ -7498,6 +7504,7 @@ var patterns_registry_default = {
7498
7504
  button: {
7499
7505
  type: "button",
7500
7506
  category: "component",
7507
+ sourceFile: "components/core/atoms/Button.tsx",
7501
7508
  tier: "atoms",
7502
7509
  family: "core",
7503
7510
  description: "Clickable button that emits events",
@@ -7642,7 +7649,10 @@ var patterns_registry_default = {
7642
7649
  "1:1",
7643
7650
  "16:9",
7644
7651
  "5:7",
7645
- "8:1"
7652
+ "8:1",
7653
+ "4:1",
7654
+ "5:3",
7655
+ "1:2"
7646
7656
  ]
7647
7657
  },
7648
7658
  atlas: {
@@ -7684,7 +7694,8 @@ var patterns_registry_default = {
7684
7694
  "object"
7685
7695
  ],
7686
7696
  description: "Payload to include with the action event",
7687
- payloadFor: "action"
7697
+ payloadFor: "action",
7698
+ eventPayloadBrand: true
7688
7699
  },
7689
7700
  label: {
7690
7701
  types: [
@@ -7709,6 +7720,7 @@ var patterns_registry_default = {
7709
7720
  badge: {
7710
7721
  type: "badge",
7711
7722
  category: "component",
7723
+ sourceFile: "components/core/atoms/Badge.tsx",
7712
7724
  tier: "atoms",
7713
7725
  family: "core",
7714
7726
  description: "Small label for status or count",
@@ -7840,7 +7852,10 @@ var patterns_registry_default = {
7840
7852
  "1:1",
7841
7853
  "16:9",
7842
7854
  "5:7",
7843
- "8:1"
7855
+ "8:1",
7856
+ "4:1",
7857
+ "5:3",
7858
+ "1:2"
7844
7859
  ]
7845
7860
  },
7846
7861
  atlas: {
@@ -8340,6 +8355,7 @@ var patterns_registry_default = {
8340
8355
  input: {
8341
8356
  type: "input",
8342
8357
  category: "component",
8358
+ sourceFile: "components/core/atoms/Input.tsx",
8343
8359
  tier: "atoms",
8344
8360
  family: "core",
8345
8361
  description: "Text input field",
@@ -8467,9 +8483,7 @@ var patterns_registry_default = {
8467
8483
  "function",
8468
8484
  "string"
8469
8485
  ],
8470
- description: "Callback or declarative event key when clear button is clicked",
8471
- kind: "event-ref",
8472
- emitPayloadSchema: []
8486
+ description: "Callback or declarative event key when clear button is clicked"
8473
8487
  },
8474
8488
  options: {
8475
8489
  types: [
@@ -8514,16 +8528,9 @@ var patterns_registry_default = {
8514
8528
  kind: "event-ref",
8515
8529
  emitPayloadSchema: [
8516
8530
  {
8517
- name: "value",
8518
- type: "string",
8519
- required: true,
8520
- typeWhen: [
8521
- {
8522
- knob: "inputType",
8523
- equals: "number",
8524
- type: "number"
8525
- }
8526
- ]
8531
+ name: "_payload",
8532
+ type: "object",
8533
+ required: false
8527
8534
  }
8528
8535
  ]
8529
8536
  }
@@ -8593,6 +8600,7 @@ var patterns_registry_default = {
8593
8600
  select: {
8594
8601
  type: "select",
8595
8602
  category: "component",
8603
+ sourceFile: "components/core/atoms/Select.tsx",
8596
8604
  tier: "atoms",
8597
8605
  family: "core",
8598
8606
  description: "Dropdown select input",
@@ -8782,7 +8790,26 @@ var patterns_registry_default = {
8782
8790
  "function",
8783
8791
  "string"
8784
8792
  ],
8785
- 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."
8793
+ 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.",
8794
+ kind: "event-ref",
8795
+ emitPayloadSchema: [
8796
+ {
8797
+ name: "value",
8798
+ type: "string",
8799
+ required: true,
8800
+ schema: {
8801
+ types: [
8802
+ "string",
8803
+ "array"
8804
+ ],
8805
+ items: {
8806
+ types: [
8807
+ "string"
8808
+ ]
8809
+ }
8810
+ }
8811
+ }
8812
+ ]
8786
8813
  }
8787
8814
  }
8788
8815
  },
@@ -11337,6 +11364,7 @@ var patterns_registry_default = {
11337
11364
  "input-group": {
11338
11365
  type: "input-group",
11339
11366
  category: "form",
11367
+ sourceFile: "components/core/molecules/InputGroup.tsx",
11340
11368
  tier: "molecules",
11341
11369
  family: "core",
11342
11370
  description: "InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.",
@@ -11457,9 +11485,7 @@ var patterns_registry_default = {
11457
11485
  "function",
11458
11486
  "string"
11459
11487
  ],
11460
- description: "Callback or declarative event key when clear button is clicked",
11461
- kind: "event-ref",
11462
- emitPayloadSchema: []
11488
+ description: "Callback or declarative event key when clear button is clicked"
11463
11489
  },
11464
11490
  options: {
11465
11491
  types: [
@@ -11503,16 +11529,9 @@ var patterns_registry_default = {
11503
11529
  kind: "event-ref",
11504
11530
  emitPayloadSchema: [
11505
11531
  {
11506
- name: "value",
11507
- type: "string",
11508
- required: true,
11509
- typeWhen: [
11510
- {
11511
- knob: "inputType",
11512
- equals: "number",
11513
- type: "number"
11514
- }
11515
- ]
11532
+ name: "_payload",
11533
+ type: "object",
11534
+ required: false
11516
11535
  }
11517
11536
  ]
11518
11537
  },
@@ -13812,6 +13831,7 @@ var patterns_registry_default = {
13812
13831
  "game-shell": {
13813
13832
  type: "game-shell",
13814
13833
  category: "game",
13834
+ sourceFile: "components/game/templates/GameShell.tsx",
13815
13835
  tier: "templates",
13816
13836
  family: "game",
13817
13837
  description: 'GameShell A full-screen layout wrapper for game applications. Replaces DashboardLayout for game clients \u2014 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>',
@@ -13937,7 +13957,10 @@ var patterns_registry_default = {
13937
13957
  "1:1",
13938
13958
  "16:9",
13939
13959
  "5:7",
13940
- "8:1"
13960
+ "8:1",
13961
+ "4:1",
13962
+ "5:3",
13963
+ "1:2"
13941
13964
  ]
13942
13965
  },
13943
13966
  atlas: {
@@ -14032,7 +14055,10 @@ var patterns_registry_default = {
14032
14055
  "1:1",
14033
14056
  "16:9",
14034
14057
  "5:7",
14035
- "8:1"
14058
+ "8:1",
14059
+ "4:1",
14060
+ "5:3",
14061
+ "1:2"
14036
14062
  ]
14037
14063
  },
14038
14064
  atlas: {
@@ -28300,6 +28326,7 @@ var patterns_registry_default = {
28300
28326
  "choice-button": {
28301
28327
  type: "choice-button",
28302
28328
  category: "game",
28329
+ sourceFile: "components/game/atoms/ChoiceButton.tsx",
28303
28330
  tier: "atoms",
28304
28331
  family: "game",
28305
28332
  description: "ChoiceButton component",
@@ -28389,7 +28416,10 @@ var patterns_registry_default = {
28389
28416
  "1:1",
28390
28417
  "16:9",
28391
28418
  "5:7",
28392
- "8:1"
28419
+ "8:1",
28420
+ "4:1",
28421
+ "5:3",
28422
+ "1:2"
28393
28423
  ]
28394
28424
  },
28395
28425
  atlas: {
@@ -28479,6 +28509,7 @@ var patterns_registry_default = {
28479
28509
  "control-button": {
28480
28510
  type: "control-button",
28481
28511
  category: "game",
28512
+ sourceFile: "components/game/atoms/ControlButton.tsx",
28482
28513
  tier: "atoms",
28483
28514
  family: "game",
28484
28515
  description: "ControlButton component",
@@ -28554,7 +28585,10 @@ var patterns_registry_default = {
28554
28585
  "1:1",
28555
28586
  "16:9",
28556
28587
  "5:7",
28557
- "8:1"
28588
+ "8:1",
28589
+ "4:1",
28590
+ "5:3",
28591
+ "1:2"
28558
28592
  ]
28559
28593
  },
28560
28594
  atlas: {
@@ -28671,6 +28705,7 @@ var patterns_registry_default = {
28671
28705
  "dialogue-bubble": {
28672
28706
  type: "dialogue-bubble",
28673
28707
  category: "game",
28708
+ sourceFile: "components/game/atoms/DialogueBubble.tsx",
28674
28709
  tier: "atoms",
28675
28710
  family: "game",
28676
28711
  description: "DialogueBubble component",
@@ -28761,7 +28796,10 @@ var patterns_registry_default = {
28761
28796
  "1:1",
28762
28797
  "16:9",
28763
28798
  "5:7",
28764
- "8:1"
28799
+ "8:1",
28800
+ "4:1",
28801
+ "5:3",
28802
+ "1:2"
28765
28803
  ]
28766
28804
  },
28767
28805
  atlas: {
@@ -28832,6 +28870,7 @@ var patterns_registry_default = {
28832
28870
  "health-bar": {
28833
28871
  type: "health-bar",
28834
28872
  category: "game",
28873
+ sourceFile: "components/game/atoms/HealthBar.tsx",
28835
28874
  tier: "atoms",
28836
28875
  family: "game",
28837
28876
  description: "HealthBar component",
@@ -28980,7 +29019,10 @@ var patterns_registry_default = {
28980
29019
  "1:1",
28981
29020
  "16:9",
28982
29021
  "5:7",
28983
- "8:1"
29022
+ "8:1",
29023
+ "4:1",
29024
+ "5:3",
29025
+ "1:2"
28984
29026
  ]
28985
29027
  },
28986
29028
  atlas: {
@@ -29075,7 +29117,10 @@ var patterns_registry_default = {
29075
29117
  "1:1",
29076
29118
  "16:9",
29077
29119
  "5:7",
29078
- "8:1"
29120
+ "8:1",
29121
+ "4:1",
29122
+ "5:3",
29123
+ "1:2"
29079
29124
  ]
29080
29125
  },
29081
29126
  atlas: {
@@ -29110,6 +29155,7 @@ var patterns_registry_default = {
29110
29155
  "score-display": {
29111
29156
  type: "score-display",
29112
29157
  category: "game",
29158
+ sourceFile: "components/game/atoms/ScoreDisplay.tsx",
29113
29159
  tier: "atoms",
29114
29160
  family: "game",
29115
29161
  description: "ScoreDisplay component",
@@ -29185,7 +29231,10 @@ var patterns_registry_default = {
29185
29231
  "1:1",
29186
29232
  "16:9",
29187
29233
  "5:7",
29188
- "8:1"
29234
+ "8:1",
29235
+ "4:1",
29236
+ "5:3",
29237
+ "1:2"
29189
29238
  ]
29190
29239
  },
29191
29240
  atlas: {
@@ -29272,6 +29321,7 @@ var patterns_registry_default = {
29272
29321
  "timer-display": {
29273
29322
  type: "timer-display",
29274
29323
  category: "game",
29324
+ sourceFile: "components/game/atoms/TimerDisplay.tsx",
29275
29325
  tier: "atoms",
29276
29326
  family: "game",
29277
29327
  description: "TimerDisplay component",
@@ -29398,7 +29448,10 @@ var patterns_registry_default = {
29398
29448
  "1:1",
29399
29449
  "16:9",
29400
29450
  "5:7",
29401
- "8:1"
29451
+ "8:1",
29452
+ "4:1",
29453
+ "5:3",
29454
+ "1:2"
29402
29455
  ]
29403
29456
  },
29404
29457
  atlas: {
@@ -31668,6 +31721,7 @@ var patterns_registry_default = {
31668
31721
  "game-hud": {
31669
31722
  type: "game-hud",
31670
31723
  category: "game",
31724
+ sourceFile: "components/game/molecules/GameHud.tsx",
31671
31725
  tier: "molecules",
31672
31726
  family: "game",
31673
31727
  description: "GameHud component",
@@ -31758,7 +31812,10 @@ var patterns_registry_default = {
31758
31812
  "1:1",
31759
31813
  "16:9",
31760
31814
  "5:7",
31761
- "8:1"
31815
+ "8:1",
31816
+ "4:1",
31817
+ "5:3",
31818
+ "1:2"
31762
31819
  ]
31763
31820
  },
31764
31821
  atlas: {
@@ -31852,7 +31909,10 @@ var patterns_registry_default = {
31852
31909
  "1:1",
31853
31910
  "16:9",
31854
31911
  "5:7",
31855
- "8:1"
31912
+ "8:1",
31913
+ "4:1",
31914
+ "5:3",
31915
+ "1:2"
31856
31916
  ]
31857
31917
  },
31858
31918
  atlas: {
@@ -32009,7 +32069,10 @@ var patterns_registry_default = {
32009
32069
  "1:1",
32010
32070
  "16:9",
32011
32071
  "5:7",
32012
- "8:1"
32072
+ "8:1",
32073
+ "4:1",
32074
+ "5:3",
32075
+ "1:2"
32013
32076
  ]
32014
32077
  },
32015
32078
  atlas: {
@@ -32103,7 +32166,10 @@ var patterns_registry_default = {
32103
32166
  "1:1",
32104
32167
  "16:9",
32105
32168
  "5:7",
32106
- "8:1"
32169
+ "8:1",
32170
+ "4:1",
32171
+ "5:3",
32172
+ "1:2"
32107
32173
  ]
32108
32174
  },
32109
32175
  atlas: {
@@ -32292,7 +32358,10 @@ var patterns_registry_default = {
32292
32358
  "1:1",
32293
32359
  "16:9",
32294
32360
  "5:7",
32295
- "8:1"
32361
+ "8:1",
32362
+ "4:1",
32363
+ "5:3",
32364
+ "1:2"
32296
32365
  ]
32297
32366
  },
32298
32367
  atlas: {
@@ -32639,7 +32708,10 @@ var patterns_registry_default = {
32639
32708
  "1:1",
32640
32709
  "16:9",
32641
32710
  "5:7",
32642
- "8:1"
32711
+ "8:1",
32712
+ "4:1",
32713
+ "5:3",
32714
+ "1:2"
32643
32715
  ]
32644
32716
  },
32645
32717
  atlas: {
@@ -32680,6 +32752,7 @@ var patterns_registry_default = {
32680
32752
  "stat-badge": {
32681
32753
  type: "stat-badge",
32682
32754
  category: "game",
32755
+ sourceFile: "components/game/molecules/StatBadge.tsx",
32683
32756
  tier: "molecules",
32684
32757
  family: "game",
32685
32758
  description: "StatBadge component",
@@ -32755,7 +32828,10 @@ var patterns_registry_default = {
32755
32828
  "1:1",
32756
32829
  "16:9",
32757
32830
  "5:7",
32758
- "8:1"
32831
+ "8:1",
32832
+ "4:1",
32833
+ "5:3",
32834
+ "1:2"
32759
32835
  ]
32760
32836
  },
32761
32837
  atlas: {
@@ -32850,7 +32926,10 @@ var patterns_registry_default = {
32850
32926
  "1:1",
32851
32927
  "16:9",
32852
32928
  "5:7",
32853
- "8:1"
32929
+ "8:1",
32930
+ "4:1",
32931
+ "5:3",
32932
+ "1:2"
32854
32933
  ]
32855
32934
  },
32856
32935
  atlas: {
@@ -33376,6 +33455,7 @@ var patterns_registry_default = {
33376
33455
  "game-audio-toggle": {
33377
33456
  type: "game-audio-toggle",
33378
33457
  category: "game",
33458
+ sourceFile: "components/game/atoms/GameAudioToggle.tsx",
33379
33459
  tier: "atoms",
33380
33460
  family: "game",
33381
33461
  description: "GameAudioToggle component",
@@ -33507,7 +33587,10 @@ var patterns_registry_default = {
33507
33587
  "1:1",
33508
33588
  "16:9",
33509
33589
  "5:7",
33510
- "8:1"
33590
+ "8:1",
33591
+ "4:1",
33592
+ "5:3",
33593
+ "1:2"
33511
33594
  ]
33512
33595
  },
33513
33596
  atlas: {
@@ -33602,7 +33685,10 @@ var patterns_registry_default = {
33602
33685
  "1:1",
33603
33686
  "16:9",
33604
33687
  "5:7",
33605
- "8:1"
33688
+ "8:1",
33689
+ "4:1",
33690
+ "5:3",
33691
+ "1:2"
33606
33692
  ]
33607
33693
  },
33608
33694
  atlas: {
@@ -33651,6 +33737,7 @@ var patterns_registry_default = {
33651
33737
  "trait-slot": {
33652
33738
  type: "trait-slot",
33653
33739
  category: "game",
33740
+ sourceFile: "components/game/molecules/TraitSlot.tsx",
33654
33741
  tier: "molecules",
33655
33742
  family: "game",
33656
33743
  description: "Event Contract: Emits: UI:CLICK Emits: UI:REMOVE",
@@ -33763,7 +33850,10 @@ var patterns_registry_default = {
33763
33850
  "1:1",
33764
33851
  "16:9",
33765
33852
  "5:7",
33766
- "8:1"
33853
+ "8:1",
33854
+ "4:1",
33855
+ "5:3",
33856
+ "1:2"
33767
33857
  ]
33768
33858
  },
33769
33859
  atlas: {
@@ -34006,7 +34096,10 @@ var patterns_registry_default = {
34006
34096
  "1:1",
34007
34097
  "16:9",
34008
34098
  "5:7",
34009
- "8:1"
34099
+ "8:1",
34100
+ "4:1",
34101
+ "5:3",
34102
+ "1:2"
34010
34103
  ]
34011
34104
  },
34012
34105
  atlas: {
@@ -34183,7 +34276,10 @@ var patterns_registry_default = {
34183
34276
  "1:1",
34184
34277
  "16:9",
34185
34278
  "5:7",
34186
- "8:1"
34279
+ "8:1",
34280
+ "4:1",
34281
+ "5:3",
34282
+ "1:2"
34187
34283
  ]
34188
34284
  },
34189
34285
  atlas: {
@@ -34409,7 +34505,10 @@ var patterns_registry_default = {
34409
34505
  "1:1",
34410
34506
  "16:9",
34411
34507
  "5:7",
34412
- "8:1"
34508
+ "8:1",
34509
+ "4:1",
34510
+ "5:3",
34511
+ "1:2"
34413
34512
  ]
34414
34513
  },
34415
34514
  atlas: {
@@ -34604,6 +34703,7 @@ var patterns_registry_default = {
34604
34703
  "action-palette": {
34605
34704
  type: "action-palette",
34606
34705
  category: "game",
34706
+ sourceFile: "components/game/molecules/ActionPalette.tsx",
34607
34707
  tier: "molecules",
34608
34708
  family: "game",
34609
34709
  description: "ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.",
@@ -34714,7 +34814,10 @@ var patterns_registry_default = {
34714
34814
  "1:1",
34715
34815
  "16:9",
34716
34816
  "5:7",
34717
- "8:1"
34817
+ "8:1",
34818
+ "4:1",
34819
+ "5:3",
34820
+ "1:2"
34718
34821
  ]
34719
34822
  },
34720
34823
  atlas: {
@@ -34902,6 +35005,7 @@ var patterns_registry_default = {
34902
35005
  "action-tile": {
34903
35006
  type: "action-tile",
34904
35007
  category: "game",
35008
+ sourceFile: "components/game/molecules/ActionTile.tsx",
34905
35009
  tier: "molecules",
34906
35010
  family: "game",
34907
35011
  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.",
@@ -35114,7 +35218,10 @@ var patterns_registry_default = {
35114
35218
  "1:1",
35115
35219
  "16:9",
35116
35220
  "5:7",
35117
- "8:1"
35221
+ "8:1",
35222
+ "4:1",
35223
+ "5:3",
35224
+ "1:2"
35118
35225
  ]
35119
35226
  },
35120
35227
  atlas: {
@@ -35277,6 +35384,7 @@ var patterns_registry_default = {
35277
35384
  "sequence-bar": {
35278
35385
  type: "sequence-bar",
35279
35386
  category: "game",
35387
+ sourceFile: "components/game/molecules/SequenceBar.tsx",
35280
35388
  tier: "molecules",
35281
35389
  family: "game",
35282
35390
  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.",
@@ -35387,7 +35495,10 @@ var patterns_registry_default = {
35387
35495
  "1:1",
35388
35496
  "16:9",
35389
35497
  "5:7",
35390
- "8:1"
35498
+ "8:1",
35499
+ "4:1",
35500
+ "5:3",
35501
+ "1:2"
35391
35502
  ]
35392
35503
  },
35393
35504
  atlas: {
@@ -35615,7 +35726,10 @@ var patterns_registry_default = {
35615
35726
  "1:1",
35616
35727
  "16:9",
35617
35728
  "5:7",
35618
- "8:1"
35729
+ "8:1",
35730
+ "4:1",
35731
+ "5:3",
35732
+ "1:2"
35619
35733
  ]
35620
35734
  },
35621
35735
  atlas: {
@@ -38664,6 +38778,7 @@ var patterns_registry_default = {
38664
38778
  "canvas-2d": {
38665
38779
  type: "canvas-2d",
38666
38780
  category: "game",
38781
+ sourceFile: "components/game/molecules/Canvas2D.tsx",
38667
38782
  tier: "molecules",
38668
38783
  family: "game",
38669
38784
  description: "Canvas2D component",
@@ -38810,7 +38925,10 @@ var patterns_registry_default = {
38810
38925
  "1:1",
38811
38926
  "16:9",
38812
38927
  "5:7",
38813
- "8:1"
38928
+ "8:1",
38929
+ "4:1",
38930
+ "5:3",
38931
+ "1:2"
38814
38932
  ]
38815
38933
  },
38816
38934
  atlas: {
@@ -39122,6 +39240,7 @@ var patterns_registry_default = {
39122
39240
  "control-grid": {
39123
39241
  type: "control-grid",
39124
39242
  category: "game",
39243
+ sourceFile: "components/game/molecules/ControlGrid.tsx",
39125
39244
  tier: "molecules",
39126
39245
  family: "game",
39127
39246
  description: "ControlGrid component",
@@ -39233,7 +39352,10 @@ var patterns_registry_default = {
39233
39352
  "1:1",
39234
39353
  "16:9",
39235
39354
  "5:7",
39236
- "8:1"
39355
+ "8:1",
39356
+ "4:1",
39357
+ "5:3",
39358
+ "1:2"
39237
39359
  ]
39238
39360
  },
39239
39361
  atlas: {
@@ -39462,7 +39584,10 @@ var patterns_registry_default = {
39462
39584
  "1:1",
39463
39585
  "16:9",
39464
39586
  "5:7",
39465
- "8:1"
39587
+ "8:1",
39588
+ "4:1",
39589
+ "5:3",
39590
+ "1:2"
39466
39591
  ]
39467
39592
  },
39468
39593
  atlas: {
@@ -39533,6 +39658,7 @@ var patterns_registry_default = {
39533
39658
  "game-icon": {
39534
39659
  type: "game-icon",
39535
39660
  category: "game",
39661
+ sourceFile: "components/core/atoms/GameIcon.tsx",
39536
39662
  tier: "atoms",
39537
39663
  family: "core",
39538
39664
  description: "GameIcon component",
@@ -39608,7 +39734,10 @@ var patterns_registry_default = {
39608
39734
  "1:1",
39609
39735
  "16:9",
39610
39736
  "5:7",
39611
- "8:1"
39737
+ "8:1",
39738
+ "4:1",
39739
+ "5:3",
39740
+ "1:2"
39612
39741
  ]
39613
39742
  },
39614
39743
  atlas: {
@@ -47906,6 +48035,7 @@ var patterns_registry_default = {
47906
48035
  "draw-sprite": {
47907
48036
  type: "draw-sprite",
47908
48037
  category: "game",
48038
+ sourceFile: "components/game/atoms/DrawSprite.tsx",
47909
48039
  tier: "atoms",
47910
48040
  family: "game",
47911
48041
  description: "DrawSprite component",
@@ -48027,7 +48157,10 @@ var patterns_registry_default = {
48027
48157
  "1:1",
48028
48158
  "16:9",
48029
48159
  "5:7",
48030
- "8:1"
48160
+ "8:1",
48161
+ "4:1",
48162
+ "5:3",
48163
+ "1:2"
48031
48164
  ]
48032
48165
  },
48033
48166
  atlas: {
@@ -49011,6 +49144,7 @@ var patterns_registry_default = {
49011
49144
  "draw-sprite-layer": {
49012
49145
  type: "draw-sprite-layer",
49013
49146
  category: "game",
49147
+ sourceFile: "components/game/molecules/DrawSpriteLayer.tsx",
49014
49148
  tier: "molecules",
49015
49149
  family: "game",
49016
49150
  description: "DrawSpriteLayer component",
@@ -49153,7 +49287,10 @@ var patterns_registry_default = {
49153
49287
  "1:1",
49154
49288
  "16:9",
49155
49289
  "5:7",
49156
- "8:1"
49290
+ "8:1",
49291
+ "4:1",
49292
+ "5:3",
49293
+ "1:2"
49157
49294
  ]
49158
49295
  },
49159
49296
  atlas: {
@@ -49459,6 +49596,7 @@ var patterns_registry_default = {
49459
49596
  canvas: {
49460
49597
  type: "canvas",
49461
49598
  category: "game",
49599
+ sourceFile: "components/game/molecules/Canvas.tsx",
49462
49600
  tier: "molecules",
49463
49601
  family: "game",
49464
49602
  description: "Canvas component",
@@ -49698,7 +49836,10 @@ var patterns_registry_default = {
49698
49836
  "1:1",
49699
49837
  "16:9",
49700
49838
  "5:7",
49701
- "8:1"
49839
+ "8:1",
49840
+ "4:1",
49841
+ "5:3",
49842
+ "1:2"
49702
49843
  ]
49703
49844
  },
49704
49845
  atlas: {
@@ -52131,6 +52272,7 @@ var patterns_registry_default = {
52131
52272
  "draw-fx-layer": {
52132
52273
  type: "draw-fx-layer",
52133
52274
  category: "game",
52275
+ sourceFile: "components/game/molecules/DrawFxLayer.tsx",
52134
52276
  tier: "molecules",
52135
52277
  family: "game",
52136
52278
  description: "DrawFxLayer component",
@@ -52506,7 +52648,10 @@ var patterns_registry_default = {
52506
52648
  "1:1",
52507
52649
  "16:9",
52508
52650
  "5:7",
52509
- "8:1"
52651
+ "8:1",
52652
+ "4:1",
52653
+ "5:3",
52654
+ "1:2"
52510
52655
  ]
52511
52656
  },
52512
52657
  atlas: {
@@ -53924,7 +54069,10 @@ var patterns_registry_default = {
53924
54069
  "1:1",
53925
54070
  "16:9",
53926
54071
  "5:7",
53927
- "8:1"
54072
+ "8:1",
54073
+ "4:1",
54074
+ "5:3",
54075
+ "1:2"
53928
54076
  ]
53929
54077
  },
53930
54078
  atlas: {
@@ -54056,7 +54204,7 @@ var patterns_registry_default = {
54056
54204
  types: [
54057
54205
  "array"
54058
54206
  ],
54059
- description: "The skeleton (bind pose; FK chain via `parent` names).",
54207
+ description: "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
54060
54208
  required: true,
54061
54209
  items: {
54062
54210
  types: [
@@ -54139,6 +54287,12 @@ var patterns_registry_default = {
54139
54287
  "frames"
54140
54288
  ]
54141
54289
  },
54290
+ clipName: {
54291
+ types: [
54292
+ "string"
54293
+ ],
54294
+ description: "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip."
54295
+ },
54142
54296
  frame: {
54143
54297
  types: [
54144
54298
  "number"
@@ -54206,7 +54360,7 @@ var patterns_registry_default = {
54206
54360
  // src/patterns/integrators-registry.json
54207
54361
  var integrators_registry_default = {
54208
54362
  version: "1.0.0",
54209
- exportedAt: "2026-09-10T08:46:50.227Z",
54363
+ exportedAt: "2026-09-12T12:14:53.173Z",
54210
54364
  integrators: {
54211
54365
  github: {
54212
54366
  name: "github",
@@ -57815,9 +57969,9 @@ var integrators_registry_default = {
57815
57969
  },
57816
57970
  {
57817
57971
  name: "rig",
57818
- type: "string",
57972
+ type: "object",
57819
57973
  required: true,
57820
- description: "Rig type to build (e.g. 'humanoid', 'quadruped')."
57974
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
57821
57975
  }
57822
57976
  ],
57823
57977
  responseShape: {
@@ -57840,9 +57994,9 @@ var integrators_registry_default = {
57840
57994
  },
57841
57995
  {
57842
57996
  name: "rig",
57843
- type: "string",
57997
+ type: "object",
57844
57998
  required: true,
57845
- description: "Rig type."
57999
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
57846
58000
  },
57847
58001
  {
57848
58002
  name: "preset",
@@ -57855,9 +58009,201 @@ var integrators_registry_default = {
57855
58009
  type: "string",
57856
58010
  required: true,
57857
58011
  description: "Output directory for rendered files."
58012
+ },
58013
+ {
58014
+ name: "mode",
58015
+ type: "string",
58016
+ required: false,
58017
+ description: "Render path: 'mesh' (skinned, deforming) or 'cutout' (rigid per-part layers). Defaults to 'mesh'."
58018
+ },
58019
+ {
58020
+ name: "supersample",
58021
+ type: "number",
58022
+ required: false,
58023
+ description: "Supersampling factor for the cutout path. Defaults to 1."
57858
58024
  }
57859
58025
  ],
57860
- responseShape: {}
58026
+ responseShape: {
58027
+ outdir: "string",
58028
+ frames: "number",
58029
+ framePaths: "string[]",
58030
+ sheet: "string",
58031
+ gif: "string",
58032
+ atlas: "string"
58033
+ }
58034
+ },
58035
+ {
58036
+ name: "listPresets",
58037
+ description: "List the available animation presets (name, fps, frame count, bone roles) from the local rigger service.",
58038
+ params: [],
58039
+ responseShape: {
58040
+ presets: {
58041
+ type: "array",
58042
+ items: {
58043
+ type: "object",
58044
+ properties: {
58045
+ name: {
58046
+ type: "string",
58047
+ required: true
58048
+ },
58049
+ path: {
58050
+ type: "string",
58051
+ required: true
58052
+ },
58053
+ fps: {
58054
+ type: "number",
58055
+ required: true
58056
+ },
58057
+ frames: {
58058
+ type: "number",
58059
+ required: true
58060
+ },
58061
+ bones: {
58062
+ type: "object[]",
58063
+ required: true
58064
+ }
58065
+ }
58066
+ }
58067
+ }
58068
+ }
58069
+ },
58070
+ {
58071
+ name: "loadRig",
58072
+ description: "Load a rig file, resolving `cloneOf` parts to concrete box/pivot geometry.",
58073
+ params: [
58074
+ {
58075
+ name: "rigPath",
58076
+ type: "string",
58077
+ required: true,
58078
+ description: "Path to the rig JSON file."
58079
+ }
58080
+ ],
58081
+ responseShape: {
58082
+ rig: "object",
58083
+ resolved: "object"
58084
+ }
58085
+ },
58086
+ {
58087
+ name: "saveRig",
58088
+ description: "Save a rig file; the server validates it and rejects a malformed part.",
58089
+ params: [
58090
+ {
58091
+ name: "rigPath",
58092
+ type: "string",
58093
+ required: true,
58094
+ description: "Path to write the rig JSON file."
58095
+ },
58096
+ {
58097
+ name: "rig",
58098
+ type: "object",
58099
+ required: true,
58100
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
58101
+ }
58102
+ ],
58103
+ responseShape: {
58104
+ rigPath: "string",
58105
+ parts: "number"
58106
+ }
58107
+ },
58108
+ {
58109
+ name: "ownership",
58110
+ description: "Render the per-part pixel ownership map for a rig over a source image.",
58111
+ params: [
58112
+ {
58113
+ name: "imagePath",
58114
+ type: "string",
58115
+ required: true,
58116
+ description: "Path to the source image."
58117
+ },
58118
+ {
58119
+ name: "rig",
58120
+ type: "object",
58121
+ required: true,
58122
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
58123
+ },
58124
+ {
58125
+ name: "outPath",
58126
+ type: "string",
58127
+ required: true,
58128
+ description: "Path to write the ownership-map PNG."
58129
+ }
58130
+ ],
58131
+ responseShape: {
58132
+ outPath: "string",
58133
+ legend: {
58134
+ type: "array",
58135
+ items: {
58136
+ type: "object",
58137
+ properties: {
58138
+ name: {
58139
+ type: "string",
58140
+ required: true
58141
+ },
58142
+ color: {
58143
+ type: "string",
58144
+ required: true
58145
+ }
58146
+ }
58147
+ }
58148
+ }
58149
+ }
58150
+ },
58151
+ {
58152
+ name: "generate",
58153
+ description: "Generate one image on the local image server (text-to-image, or a Kontext edit conditioned on `sourcePath`).",
58154
+ params: [
58155
+ {
58156
+ name: "model",
58157
+ type: "'z-image-turbo' | 'kontext'",
58158
+ required: true,
58159
+ description: "Generation model: 'z-image-turbo' (text-to-image) or 'kontext' (edit; requires sourcePath)."
58160
+ },
58161
+ {
58162
+ name: "prompt",
58163
+ type: "string",
58164
+ required: true,
58165
+ description: "The generation/edit prompt."
58166
+ },
58167
+ {
58168
+ name: "seed",
58169
+ type: "number",
58170
+ required: false,
58171
+ description: "Random seed; omit for a fresh one each call."
58172
+ },
58173
+ {
58174
+ name: "size",
58175
+ type: "string",
58176
+ required: false,
58177
+ description: "Output image size, e.g. '1024x1024'. Defaults to '1024x1024'."
58178
+ },
58179
+ {
58180
+ name: "steps",
58181
+ type: "number",
58182
+ required: false,
58183
+ description: "Diffusion step count."
58184
+ },
58185
+ {
58186
+ name: "sourcePath",
58187
+ type: "string",
58188
+ required: false,
58189
+ description: "Path to the source image to edit; REQUIRED for 'kontext'."
58190
+ },
58191
+ {
58192
+ name: "outDir",
58193
+ type: "string",
58194
+ required: true,
58195
+ description: "Output directory the generated PNG is written under."
58196
+ }
58197
+ ],
58198
+ responseShape: {
58199
+ outPath: "string",
58200
+ model: "string",
58201
+ prompt: "string",
58202
+ seed: "number | null",
58203
+ size: "string",
58204
+ sourcePath: "string | null",
58205
+ elapsedMs: "number"
58206
+ }
57861
58207
  }
57862
58208
  ]
57863
58209
  }
@@ -57879,7 +58225,7 @@ var integrators_registry_default = {
57879
58225
  // src/patterns/component-mapping.json
57880
58226
  var component_mapping_default = {
57881
58227
  version: "1.0.0",
57882
- exportedAt: "2026-09-10T08:51:20.514Z",
58228
+ exportedAt: "2026-09-12T07:27:39.835Z",
57883
58229
  mappings: {
57884
58230
  "page-header": {
57885
58231
  component: "PageHeader",
@@ -59329,7 +59675,7 @@ var component_mapping_default = {
59329
59675
  // src/patterns/event-contracts.json
59330
59676
  var event_contracts_default = {
59331
59677
  version: "1.0.0",
59332
- exportedAt: "2026-09-10T08:51:20.514Z",
59678
+ exportedAt: "2026-09-12T07:27:39.835Z",
59333
59679
  contracts: {
59334
59680
  form: {
59335
59681
  emits: [