@almadar/core 10.89.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 +11 -3
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-CdLBg9zL.d.ts → effect-Bt8vKHwd.d.ts} +66 -42
  5. package/dist/{entityAccess-BmZHpQUv.d.ts → entityAccess-BdDX85rM.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +662 -49
  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 +11 -3
  11. package/dist/factory-runtime/index.js.map +1 -1
  12. package/dist/i18n/index.js +12 -0
  13. package/dist/i18n/index.js.map +1 -1
  14. package/dist/{index-CV_iM5Cm.d.ts → index-rOBf1Oag.d.ts} +83 -6
  15. package/dist/index.d.ts +34 -12
  16. package/dist/index.js +975 -57
  17. package/dist/index.js.map +1 -1
  18. package/dist/mock/index.d.ts +60 -5
  19. package/dist/mock/index.js +35 -4
  20. package/dist/mock/index.js.map +1 -1
  21. package/dist/patterns/component-mapping.json +6 -1
  22. package/dist/patterns/event-contracts.json +1 -1
  23. package/dist/patterns/index.d.ts +1875 -53
  24. package/dist/patterns/index.js +930 -51
  25. package/dist/patterns/index.js.map +1 -1
  26. package/dist/patterns/integrators-registry.json +264 -1
  27. package/dist/patterns/patterns-registry.json +654 -47
  28. package/dist/patterns/registry.json +654 -47
  29. package/dist/patterns/services-registry.json +284 -1
  30. package/dist/{schema-DYC_RnBX.d.ts → schema-ovDTDQz9.d.ts} +495 -323
  31. package/dist/{trait-DmWdtKlP.d.ts → trait-C3e3btfn.d.ts} +98 -55
  32. package/dist/types/index.d.ts +5 -5
  33. package/dist/types/index.js +13 -7
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/{types-DdK77hq2.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-08T23:56:00.442Z",
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",
@@ -8508,7 +8524,15 @@ var patterns_registry_default = {
8508
8524
  "function",
8509
8525
  "string"
8510
8526
  ],
8511
- description: "onChange handler or declarative event key for trait dispatch"
8527
+ description: "onChange handler or declarative event key for trait dispatch",
8528
+ kind: "event-ref",
8529
+ emitPayloadSchema: [
8530
+ {
8531
+ name: "_payload",
8532
+ type: "object",
8533
+ required: false
8534
+ }
8535
+ ]
8512
8536
  }
8513
8537
  }
8514
8538
  },
@@ -8561,13 +8585,22 @@ var patterns_registry_default = {
8561
8585
  "function",
8562
8586
  "string"
8563
8587
  ],
8564
- description: "onChange handler or declarative event key for trait dispatch"
8588
+ description: "onChange handler or declarative event key for trait dispatch",
8589
+ kind: "event-ref",
8590
+ emitPayloadSchema: [
8591
+ {
8592
+ name: "value",
8593
+ type: "string",
8594
+ required: true
8595
+ }
8596
+ ]
8565
8597
  }
8566
8598
  }
8567
8599
  },
8568
8600
  select: {
8569
8601
  type: "select",
8570
8602
  category: "component",
8603
+ sourceFile: "components/core/atoms/Select.tsx",
8571
8604
  tier: "atoms",
8572
8605
  family: "core",
8573
8606
  description: "Dropdown select input",
@@ -8731,14 +8764,52 @@ var patterns_registry_default = {
8731
8764
  "function",
8732
8765
  "string"
8733
8766
  ],
8734
- description: "onChange handler (native ChangeEvent) or declarative event key for trait dispatch"
8767
+ description: "onChange handler (native ChangeEvent) or declarative event key for trait dispatch",
8768
+ kind: "event-ref",
8769
+ emitPayloadSchema: [
8770
+ {
8771
+ name: "value",
8772
+ type: "string",
8773
+ required: true,
8774
+ schema: {
8775
+ types: [
8776
+ "string",
8777
+ "array"
8778
+ ],
8779
+ items: {
8780
+ types: [
8781
+ "string"
8782
+ ]
8783
+ }
8784
+ }
8785
+ }
8786
+ ]
8735
8787
  },
8736
8788
  onValueChange: {
8737
8789
  types: [
8738
8790
  "function",
8739
8791
  "string"
8740
8792
  ],
8741
- 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
+ ]
8742
8813
  }
8743
8814
  }
8744
8815
  },
@@ -8784,7 +8855,15 @@ var patterns_registry_default = {
8784
8855
  "function",
8785
8856
  "string"
8786
8857
  ],
8787
- description: "onChange handler or declarative event key for trait dispatch"
8858
+ description: "onChange handler or declarative event key for trait dispatch",
8859
+ kind: "event-ref",
8860
+ emitPayloadSchema: [
8861
+ {
8862
+ name: "checked",
8863
+ type: "boolean",
8864
+ required: true
8865
+ }
8866
+ ]
8788
8867
  }
8789
8868
  }
8790
8869
  },
@@ -11285,6 +11364,7 @@ var patterns_registry_default = {
11285
11364
  "input-group": {
11286
11365
  type: "input-group",
11287
11366
  category: "form",
11367
+ sourceFile: "components/core/molecules/InputGroup.tsx",
11288
11368
  tier: "molecules",
11289
11369
  family: "core",
11290
11370
  description: "InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.",
@@ -11445,7 +11525,15 @@ var patterns_registry_default = {
11445
11525
  "function",
11446
11526
  "string"
11447
11527
  ],
11448
- description: "onChange handler or declarative event key for trait dispatch"
11528
+ description: "onChange handler or declarative event key for trait dispatch",
11529
+ kind: "event-ref",
11530
+ emitPayloadSchema: [
11531
+ {
11532
+ name: "_payload",
11533
+ type: "object",
11534
+ required: false
11535
+ }
11536
+ ]
11449
11537
  },
11450
11538
  leftAddon: {
11451
11539
  types: [
@@ -13743,6 +13831,7 @@ var patterns_registry_default = {
13743
13831
  "game-shell": {
13744
13832
  type: "game-shell",
13745
13833
  category: "game",
13834
+ sourceFile: "components/game/templates/GameShell.tsx",
13746
13835
  tier: "templates",
13747
13836
  family: "game",
13748
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>',
@@ -13868,7 +13957,10 @@ var patterns_registry_default = {
13868
13957
  "1:1",
13869
13958
  "16:9",
13870
13959
  "5:7",
13871
- "8:1"
13960
+ "8:1",
13961
+ "4:1",
13962
+ "5:3",
13963
+ "1:2"
13872
13964
  ]
13873
13965
  },
13874
13966
  atlas: {
@@ -13963,7 +14055,10 @@ var patterns_registry_default = {
13963
14055
  "1:1",
13964
14056
  "16:9",
13965
14057
  "5:7",
13966
- "8:1"
14058
+ "8:1",
14059
+ "4:1",
14060
+ "5:3",
14061
+ "1:2"
13967
14062
  ]
13968
14063
  },
13969
14064
  atlas: {
@@ -28231,6 +28326,7 @@ var patterns_registry_default = {
28231
28326
  "choice-button": {
28232
28327
  type: "choice-button",
28233
28328
  category: "game",
28329
+ sourceFile: "components/game/atoms/ChoiceButton.tsx",
28234
28330
  tier: "atoms",
28235
28331
  family: "game",
28236
28332
  description: "ChoiceButton component",
@@ -28320,7 +28416,10 @@ var patterns_registry_default = {
28320
28416
  "1:1",
28321
28417
  "16:9",
28322
28418
  "5:7",
28323
- "8:1"
28419
+ "8:1",
28420
+ "4:1",
28421
+ "5:3",
28422
+ "1:2"
28324
28423
  ]
28325
28424
  },
28326
28425
  atlas: {
@@ -28410,6 +28509,7 @@ var patterns_registry_default = {
28410
28509
  "control-button": {
28411
28510
  type: "control-button",
28412
28511
  category: "game",
28512
+ sourceFile: "components/game/atoms/ControlButton.tsx",
28413
28513
  tier: "atoms",
28414
28514
  family: "game",
28415
28515
  description: "ControlButton component",
@@ -28485,7 +28585,10 @@ var patterns_registry_default = {
28485
28585
  "1:1",
28486
28586
  "16:9",
28487
28587
  "5:7",
28488
- "8:1"
28588
+ "8:1",
28589
+ "4:1",
28590
+ "5:3",
28591
+ "1:2"
28489
28592
  ]
28490
28593
  },
28491
28594
  atlas: {
@@ -28602,6 +28705,7 @@ var patterns_registry_default = {
28602
28705
  "dialogue-bubble": {
28603
28706
  type: "dialogue-bubble",
28604
28707
  category: "game",
28708
+ sourceFile: "components/game/atoms/DialogueBubble.tsx",
28605
28709
  tier: "atoms",
28606
28710
  family: "game",
28607
28711
  description: "DialogueBubble component",
@@ -28692,7 +28796,10 @@ var patterns_registry_default = {
28692
28796
  "1:1",
28693
28797
  "16:9",
28694
28798
  "5:7",
28695
- "8:1"
28799
+ "8:1",
28800
+ "4:1",
28801
+ "5:3",
28802
+ "1:2"
28696
28803
  ]
28697
28804
  },
28698
28805
  atlas: {
@@ -28763,6 +28870,7 @@ var patterns_registry_default = {
28763
28870
  "health-bar": {
28764
28871
  type: "health-bar",
28765
28872
  category: "game",
28873
+ sourceFile: "components/game/atoms/HealthBar.tsx",
28766
28874
  tier: "atoms",
28767
28875
  family: "game",
28768
28876
  description: "HealthBar component",
@@ -28911,7 +29019,10 @@ var patterns_registry_default = {
28911
29019
  "1:1",
28912
29020
  "16:9",
28913
29021
  "5:7",
28914
- "8:1"
29022
+ "8:1",
29023
+ "4:1",
29024
+ "5:3",
29025
+ "1:2"
28915
29026
  ]
28916
29027
  },
28917
29028
  atlas: {
@@ -29006,7 +29117,10 @@ var patterns_registry_default = {
29006
29117
  "1:1",
29007
29118
  "16:9",
29008
29119
  "5:7",
29009
- "8:1"
29120
+ "8:1",
29121
+ "4:1",
29122
+ "5:3",
29123
+ "1:2"
29010
29124
  ]
29011
29125
  },
29012
29126
  atlas: {
@@ -29041,6 +29155,7 @@ var patterns_registry_default = {
29041
29155
  "score-display": {
29042
29156
  type: "score-display",
29043
29157
  category: "game",
29158
+ sourceFile: "components/game/atoms/ScoreDisplay.tsx",
29044
29159
  tier: "atoms",
29045
29160
  family: "game",
29046
29161
  description: "ScoreDisplay component",
@@ -29116,7 +29231,10 @@ var patterns_registry_default = {
29116
29231
  "1:1",
29117
29232
  "16:9",
29118
29233
  "5:7",
29119
- "8:1"
29234
+ "8:1",
29235
+ "4:1",
29236
+ "5:3",
29237
+ "1:2"
29120
29238
  ]
29121
29239
  },
29122
29240
  atlas: {
@@ -29203,6 +29321,7 @@ var patterns_registry_default = {
29203
29321
  "timer-display": {
29204
29322
  type: "timer-display",
29205
29323
  category: "game",
29324
+ sourceFile: "components/game/atoms/TimerDisplay.tsx",
29206
29325
  tier: "atoms",
29207
29326
  family: "game",
29208
29327
  description: "TimerDisplay component",
@@ -29329,7 +29448,10 @@ var patterns_registry_default = {
29329
29448
  "1:1",
29330
29449
  "16:9",
29331
29450
  "5:7",
29332
- "8:1"
29451
+ "8:1",
29452
+ "4:1",
29453
+ "5:3",
29454
+ "1:2"
29333
29455
  ]
29334
29456
  },
29335
29457
  atlas: {
@@ -31599,6 +31721,7 @@ var patterns_registry_default = {
31599
31721
  "game-hud": {
31600
31722
  type: "game-hud",
31601
31723
  category: "game",
31724
+ sourceFile: "components/game/molecules/GameHud.tsx",
31602
31725
  tier: "molecules",
31603
31726
  family: "game",
31604
31727
  description: "GameHud component",
@@ -31689,7 +31812,10 @@ var patterns_registry_default = {
31689
31812
  "1:1",
31690
31813
  "16:9",
31691
31814
  "5:7",
31692
- "8:1"
31815
+ "8:1",
31816
+ "4:1",
31817
+ "5:3",
31818
+ "1:2"
31693
31819
  ]
31694
31820
  },
31695
31821
  atlas: {
@@ -31783,7 +31909,10 @@ var patterns_registry_default = {
31783
31909
  "1:1",
31784
31910
  "16:9",
31785
31911
  "5:7",
31786
- "8:1"
31912
+ "8:1",
31913
+ "4:1",
31914
+ "5:3",
31915
+ "1:2"
31787
31916
  ]
31788
31917
  },
31789
31918
  atlas: {
@@ -31940,7 +32069,10 @@ var patterns_registry_default = {
31940
32069
  "1:1",
31941
32070
  "16:9",
31942
32071
  "5:7",
31943
- "8:1"
32072
+ "8:1",
32073
+ "4:1",
32074
+ "5:3",
32075
+ "1:2"
31944
32076
  ]
31945
32077
  },
31946
32078
  atlas: {
@@ -32034,7 +32166,10 @@ var patterns_registry_default = {
32034
32166
  "1:1",
32035
32167
  "16:9",
32036
32168
  "5:7",
32037
- "8:1"
32169
+ "8:1",
32170
+ "4:1",
32171
+ "5:3",
32172
+ "1:2"
32038
32173
  ]
32039
32174
  },
32040
32175
  atlas: {
@@ -32223,7 +32358,10 @@ var patterns_registry_default = {
32223
32358
  "1:1",
32224
32359
  "16:9",
32225
32360
  "5:7",
32226
- "8:1"
32361
+ "8:1",
32362
+ "4:1",
32363
+ "5:3",
32364
+ "1:2"
32227
32365
  ]
32228
32366
  },
32229
32367
  atlas: {
@@ -32570,7 +32708,10 @@ var patterns_registry_default = {
32570
32708
  "1:1",
32571
32709
  "16:9",
32572
32710
  "5:7",
32573
- "8:1"
32711
+ "8:1",
32712
+ "4:1",
32713
+ "5:3",
32714
+ "1:2"
32574
32715
  ]
32575
32716
  },
32576
32717
  atlas: {
@@ -32611,6 +32752,7 @@ var patterns_registry_default = {
32611
32752
  "stat-badge": {
32612
32753
  type: "stat-badge",
32613
32754
  category: "game",
32755
+ sourceFile: "components/game/molecules/StatBadge.tsx",
32614
32756
  tier: "molecules",
32615
32757
  family: "game",
32616
32758
  description: "StatBadge component",
@@ -32686,7 +32828,10 @@ var patterns_registry_default = {
32686
32828
  "1:1",
32687
32829
  "16:9",
32688
32830
  "5:7",
32689
- "8:1"
32831
+ "8:1",
32832
+ "4:1",
32833
+ "5:3",
32834
+ "1:2"
32690
32835
  ]
32691
32836
  },
32692
32837
  atlas: {
@@ -32781,7 +32926,10 @@ var patterns_registry_default = {
32781
32926
  "1:1",
32782
32927
  "16:9",
32783
32928
  "5:7",
32784
- "8:1"
32929
+ "8:1",
32930
+ "4:1",
32931
+ "5:3",
32932
+ "1:2"
32785
32933
  ]
32786
32934
  },
32787
32935
  atlas: {
@@ -33307,6 +33455,7 @@ var patterns_registry_default = {
33307
33455
  "game-audio-toggle": {
33308
33456
  type: "game-audio-toggle",
33309
33457
  category: "game",
33458
+ sourceFile: "components/game/atoms/GameAudioToggle.tsx",
33310
33459
  tier: "atoms",
33311
33460
  family: "game",
33312
33461
  description: "GameAudioToggle component",
@@ -33438,7 +33587,10 @@ var patterns_registry_default = {
33438
33587
  "1:1",
33439
33588
  "16:9",
33440
33589
  "5:7",
33441
- "8:1"
33590
+ "8:1",
33591
+ "4:1",
33592
+ "5:3",
33593
+ "1:2"
33442
33594
  ]
33443
33595
  },
33444
33596
  atlas: {
@@ -33533,7 +33685,10 @@ var patterns_registry_default = {
33533
33685
  "1:1",
33534
33686
  "16:9",
33535
33687
  "5:7",
33536
- "8:1"
33688
+ "8:1",
33689
+ "4:1",
33690
+ "5:3",
33691
+ "1:2"
33537
33692
  ]
33538
33693
  },
33539
33694
  atlas: {
@@ -33582,6 +33737,7 @@ var patterns_registry_default = {
33582
33737
  "trait-slot": {
33583
33738
  type: "trait-slot",
33584
33739
  category: "game",
33740
+ sourceFile: "components/game/molecules/TraitSlot.tsx",
33585
33741
  tier: "molecules",
33586
33742
  family: "game",
33587
33743
  description: "Event Contract: Emits: UI:CLICK Emits: UI:REMOVE",
@@ -33694,7 +33850,10 @@ var patterns_registry_default = {
33694
33850
  "1:1",
33695
33851
  "16:9",
33696
33852
  "5:7",
33697
- "8:1"
33853
+ "8:1",
33854
+ "4:1",
33855
+ "5:3",
33856
+ "1:2"
33698
33857
  ]
33699
33858
  },
33700
33859
  atlas: {
@@ -33937,7 +34096,10 @@ var patterns_registry_default = {
33937
34096
  "1:1",
33938
34097
  "16:9",
33939
34098
  "5:7",
33940
- "8:1"
34099
+ "8:1",
34100
+ "4:1",
34101
+ "5:3",
34102
+ "1:2"
33941
34103
  ]
33942
34104
  },
33943
34105
  atlas: {
@@ -34114,7 +34276,10 @@ var patterns_registry_default = {
34114
34276
  "1:1",
34115
34277
  "16:9",
34116
34278
  "5:7",
34117
- "8:1"
34279
+ "8:1",
34280
+ "4:1",
34281
+ "5:3",
34282
+ "1:2"
34118
34283
  ]
34119
34284
  },
34120
34285
  atlas: {
@@ -34340,7 +34505,10 @@ var patterns_registry_default = {
34340
34505
  "1:1",
34341
34506
  "16:9",
34342
34507
  "5:7",
34343
- "8:1"
34508
+ "8:1",
34509
+ "4:1",
34510
+ "5:3",
34511
+ "1:2"
34344
34512
  ]
34345
34513
  },
34346
34514
  atlas: {
@@ -34535,6 +34703,7 @@ var patterns_registry_default = {
34535
34703
  "action-palette": {
34536
34704
  type: "action-palette",
34537
34705
  category: "game",
34706
+ sourceFile: "components/game/molecules/ActionPalette.tsx",
34538
34707
  tier: "molecules",
34539
34708
  family: "game",
34540
34709
  description: "ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.",
@@ -34645,7 +34814,10 @@ var patterns_registry_default = {
34645
34814
  "1:1",
34646
34815
  "16:9",
34647
34816
  "5:7",
34648
- "8:1"
34817
+ "8:1",
34818
+ "4:1",
34819
+ "5:3",
34820
+ "1:2"
34649
34821
  ]
34650
34822
  },
34651
34823
  atlas: {
@@ -34833,6 +35005,7 @@ var patterns_registry_default = {
34833
35005
  "action-tile": {
34834
35006
  type: "action-tile",
34835
35007
  category: "game",
35008
+ sourceFile: "components/game/molecules/ActionTile.tsx",
34836
35009
  tier: "molecules",
34837
35010
  family: "game",
34838
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.",
@@ -35045,7 +35218,10 @@ var patterns_registry_default = {
35045
35218
  "1:1",
35046
35219
  "16:9",
35047
35220
  "5:7",
35048
- "8:1"
35221
+ "8:1",
35222
+ "4:1",
35223
+ "5:3",
35224
+ "1:2"
35049
35225
  ]
35050
35226
  },
35051
35227
  atlas: {
@@ -35208,6 +35384,7 @@ var patterns_registry_default = {
35208
35384
  "sequence-bar": {
35209
35385
  type: "sequence-bar",
35210
35386
  category: "game",
35387
+ sourceFile: "components/game/molecules/SequenceBar.tsx",
35211
35388
  tier: "molecules",
35212
35389
  family: "game",
35213
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.",
@@ -35318,7 +35495,10 @@ var patterns_registry_default = {
35318
35495
  "1:1",
35319
35496
  "16:9",
35320
35497
  "5:7",
35321
- "8:1"
35498
+ "8:1",
35499
+ "4:1",
35500
+ "5:3",
35501
+ "1:2"
35322
35502
  ]
35323
35503
  },
35324
35504
  atlas: {
@@ -35546,7 +35726,10 @@ var patterns_registry_default = {
35546
35726
  "1:1",
35547
35727
  "16:9",
35548
35728
  "5:7",
35549
- "8:1"
35729
+ "8:1",
35730
+ "4:1",
35731
+ "5:3",
35732
+ "1:2"
35550
35733
  ]
35551
35734
  },
35552
35735
  atlas: {
@@ -38595,6 +38778,7 @@ var patterns_registry_default = {
38595
38778
  "canvas-2d": {
38596
38779
  type: "canvas-2d",
38597
38780
  category: "game",
38781
+ sourceFile: "components/game/molecules/Canvas2D.tsx",
38598
38782
  tier: "molecules",
38599
38783
  family: "game",
38600
38784
  description: "Canvas2D component",
@@ -38741,7 +38925,10 @@ var patterns_registry_default = {
38741
38925
  "1:1",
38742
38926
  "16:9",
38743
38927
  "5:7",
38744
- "8:1"
38928
+ "8:1",
38929
+ "4:1",
38930
+ "5:3",
38931
+ "1:2"
38745
38932
  ]
38746
38933
  },
38747
38934
  atlas: {
@@ -39053,6 +39240,7 @@ var patterns_registry_default = {
39053
39240
  "control-grid": {
39054
39241
  type: "control-grid",
39055
39242
  category: "game",
39243
+ sourceFile: "components/game/molecules/ControlGrid.tsx",
39056
39244
  tier: "molecules",
39057
39245
  family: "game",
39058
39246
  description: "ControlGrid component",
@@ -39164,7 +39352,10 @@ var patterns_registry_default = {
39164
39352
  "1:1",
39165
39353
  "16:9",
39166
39354
  "5:7",
39167
- "8:1"
39355
+ "8:1",
39356
+ "4:1",
39357
+ "5:3",
39358
+ "1:2"
39168
39359
  ]
39169
39360
  },
39170
39361
  atlas: {
@@ -39393,7 +39584,10 @@ var patterns_registry_default = {
39393
39584
  "1:1",
39394
39585
  "16:9",
39395
39586
  "5:7",
39396
- "8:1"
39587
+ "8:1",
39588
+ "4:1",
39589
+ "5:3",
39590
+ "1:2"
39397
39591
  ]
39398
39592
  },
39399
39593
  atlas: {
@@ -39464,6 +39658,7 @@ var patterns_registry_default = {
39464
39658
  "game-icon": {
39465
39659
  type: "game-icon",
39466
39660
  category: "game",
39661
+ sourceFile: "components/core/atoms/GameIcon.tsx",
39467
39662
  tier: "atoms",
39468
39663
  family: "core",
39469
39664
  description: "GameIcon component",
@@ -39539,7 +39734,10 @@ var patterns_registry_default = {
39539
39734
  "1:1",
39540
39735
  "16:9",
39541
39736
  "5:7",
39542
- "8:1"
39737
+ "8:1",
39738
+ "4:1",
39739
+ "5:3",
39740
+ "1:2"
39543
39741
  ]
39544
39742
  },
39545
39743
  atlas: {
@@ -47837,6 +48035,7 @@ var patterns_registry_default = {
47837
48035
  "draw-sprite": {
47838
48036
  type: "draw-sprite",
47839
48037
  category: "game",
48038
+ sourceFile: "components/game/atoms/DrawSprite.tsx",
47840
48039
  tier: "atoms",
47841
48040
  family: "game",
47842
48041
  description: "DrawSprite component",
@@ -47958,7 +48157,10 @@ var patterns_registry_default = {
47958
48157
  "1:1",
47959
48158
  "16:9",
47960
48159
  "5:7",
47961
- "8:1"
48160
+ "8:1",
48161
+ "4:1",
48162
+ "5:3",
48163
+ "1:2"
47962
48164
  ]
47963
48165
  },
47964
48166
  atlas: {
@@ -48942,6 +49144,7 @@ var patterns_registry_default = {
48942
49144
  "draw-sprite-layer": {
48943
49145
  type: "draw-sprite-layer",
48944
49146
  category: "game",
49147
+ sourceFile: "components/game/molecules/DrawSpriteLayer.tsx",
48945
49148
  tier: "molecules",
48946
49149
  family: "game",
48947
49150
  description: "DrawSpriteLayer component",
@@ -49084,7 +49287,10 @@ var patterns_registry_default = {
49084
49287
  "1:1",
49085
49288
  "16:9",
49086
49289
  "5:7",
49087
- "8:1"
49290
+ "8:1",
49291
+ "4:1",
49292
+ "5:3",
49293
+ "1:2"
49088
49294
  ]
49089
49295
  },
49090
49296
  atlas: {
@@ -49390,6 +49596,7 @@ var patterns_registry_default = {
49390
49596
  canvas: {
49391
49597
  type: "canvas",
49392
49598
  category: "game",
49599
+ sourceFile: "components/game/molecules/Canvas.tsx",
49393
49600
  tier: "molecules",
49394
49601
  family: "game",
49395
49602
  description: "Canvas component",
@@ -49629,7 +49836,10 @@ var patterns_registry_default = {
49629
49836
  "1:1",
49630
49837
  "16:9",
49631
49838
  "5:7",
49632
- "8:1"
49839
+ "8:1",
49840
+ "4:1",
49841
+ "5:3",
49842
+ "1:2"
49633
49843
  ]
49634
49844
  },
49635
49845
  atlas: {
@@ -52062,6 +52272,7 @@ var patterns_registry_default = {
52062
52272
  "draw-fx-layer": {
52063
52273
  type: "draw-fx-layer",
52064
52274
  category: "game",
52275
+ sourceFile: "components/game/molecules/DrawFxLayer.tsx",
52065
52276
  tier: "molecules",
52066
52277
  family: "game",
52067
52278
  description: "DrawFxLayer component",
@@ -52437,7 +52648,10 @@ var patterns_registry_default = {
52437
52648
  "1:1",
52438
52649
  "16:9",
52439
52650
  "5:7",
52440
- "8:1"
52651
+ "8:1",
52652
+ "4:1",
52653
+ "5:3",
52654
+ "1:2"
52441
52655
  ]
52442
52656
  },
52443
52657
  atlas: {
@@ -53728,6 +53942,399 @@ var patterns_registry_default = {
53728
53942
  default: "replace"
53729
53943
  }
53730
53944
  }
53945
+ },
53946
+ "draw-skinned-mesh": {
53947
+ type: "draw-skinned-mesh",
53948
+ category: "game",
53949
+ sourceFile: "components/game/atoms/DrawSkinnedMesh.tsx",
53950
+ tier: "atoms",
53951
+ family: "game",
53952
+ description: "DrawSkinnedMesh component",
53953
+ suggestedFor: [
53954
+ "draw",
53955
+ "skinned",
53956
+ "mesh",
53957
+ "draw skinned mesh"
53958
+ ],
53959
+ typicalSize: "small",
53960
+ propsSchema: {
53961
+ id: {
53962
+ types: [
53963
+ "string"
53964
+ ],
53965
+ description: "Optional source-tagged hit-test handle \u2014 the host indexes the drawable's ScenePos\u2192id so a pointer/raycast at that cell resolves to this id (unit/entity click). No id \u2192 the host emits only the coordinate (tile click)."
53966
+ },
53967
+ type: {
53968
+ types: [
53969
+ "string"
53970
+ ],
53971
+ description: "type prop",
53972
+ required: true,
53973
+ enumValues: [
53974
+ "draw-skinned-mesh"
53975
+ ]
53976
+ },
53977
+ position: {
53978
+ types: [
53979
+ "object"
53980
+ ],
53981
+ description: "Logical scene position; mesh local coords are world units relative to its projected top-left.",
53982
+ required: true,
53983
+ properties: {
53984
+ x: {
53985
+ types: [
53986
+ "number"
53987
+ ]
53988
+ },
53989
+ y: {
53990
+ types: [
53991
+ "number"
53992
+ ]
53993
+ },
53994
+ z: {
53995
+ types: [
53996
+ "number"
53997
+ ]
53998
+ }
53999
+ },
54000
+ propertyRequired: [
54001
+ "x",
54002
+ "y"
54003
+ ],
54004
+ scenePos: true
54005
+ },
54006
+ asset: {
54007
+ types: [
54008
+ "object"
54009
+ ],
54010
+ description: "The texture the mesh UVs cut into.",
54011
+ required: true,
54012
+ properties: {
54013
+ url: {
54014
+ types: [
54015
+ "asset"
54016
+ ]
54017
+ },
54018
+ role: {
54019
+ types: [
54020
+ "string"
54021
+ ]
54022
+ },
54023
+ category: {
54024
+ types: [
54025
+ "string"
54026
+ ]
54027
+ },
54028
+ animations: {
54029
+ types: [
54030
+ "array"
54031
+ ],
54032
+ items: {
54033
+ types: [
54034
+ "string"
54035
+ ]
54036
+ }
54037
+ },
54038
+ style: {
54039
+ types: [
54040
+ "string"
54041
+ ],
54042
+ enumValues: [
54043
+ "pixel",
54044
+ "vector",
54045
+ "hd",
54046
+ "1-bit",
54047
+ "isometric"
54048
+ ]
54049
+ },
54050
+ variant: {
54051
+ types: [
54052
+ "string"
54053
+ ]
54054
+ },
54055
+ dimension: {
54056
+ types: [
54057
+ "string"
54058
+ ],
54059
+ enumValues: [
54060
+ "2d",
54061
+ "3d"
54062
+ ]
54063
+ },
54064
+ aspect: {
54065
+ types: [
54066
+ "string"
54067
+ ],
54068
+ enumValues: [
54069
+ "1:1",
54070
+ "16:9",
54071
+ "5:7",
54072
+ "8:1",
54073
+ "4:1",
54074
+ "5:3",
54075
+ "1:2"
54076
+ ]
54077
+ },
54078
+ atlas: {
54079
+ types: [
54080
+ "asset"
54081
+ ]
54082
+ },
54083
+ sprite: {
54084
+ types: [
54085
+ "string"
54086
+ ]
54087
+ },
54088
+ name: {
54089
+ types: [
54090
+ "string"
54091
+ ]
54092
+ },
54093
+ thumbnailUrl: {
54094
+ types: [
54095
+ "string"
54096
+ ]
54097
+ }
54098
+ },
54099
+ propertyRequired: [
54100
+ "url",
54101
+ "role",
54102
+ "category"
54103
+ ]
54104
+ },
54105
+ mesh: {
54106
+ types: [
54107
+ "object"
54108
+ ],
54109
+ description: "Inline bind mesh; wins over `meshUrl`.",
54110
+ properties: {
54111
+ vertices: {
54112
+ types: [
54113
+ "array"
54114
+ ],
54115
+ items: {
54116
+ types: [
54117
+ "object"
54118
+ ],
54119
+ properties: {
54120
+ x: {
54121
+ types: [
54122
+ "number"
54123
+ ]
54124
+ },
54125
+ y: {
54126
+ types: [
54127
+ "number"
54128
+ ]
54129
+ },
54130
+ u: {
54131
+ types: [
54132
+ "number"
54133
+ ]
54134
+ },
54135
+ v: {
54136
+ types: [
54137
+ "number"
54138
+ ]
54139
+ },
54140
+ weights: {
54141
+ types: [
54142
+ "array"
54143
+ ],
54144
+ items: {
54145
+ types: [
54146
+ "object"
54147
+ ],
54148
+ properties: {
54149
+ bone: {
54150
+ types: [
54151
+ "number"
54152
+ ]
54153
+ },
54154
+ w: {
54155
+ types: [
54156
+ "number"
54157
+ ]
54158
+ }
54159
+ },
54160
+ required: [
54161
+ "bone",
54162
+ "w"
54163
+ ]
54164
+ }
54165
+ }
54166
+ },
54167
+ required: [
54168
+ "x",
54169
+ "y",
54170
+ "u",
54171
+ "v",
54172
+ "weights"
54173
+ ]
54174
+ }
54175
+ },
54176
+ triangles: {
54177
+ types: [
54178
+ "array"
54179
+ ],
54180
+ items: {
54181
+ types: [
54182
+ "array"
54183
+ ],
54184
+ items: {
54185
+ types: [
54186
+ "number"
54187
+ ]
54188
+ }
54189
+ }
54190
+ }
54191
+ },
54192
+ propertyRequired: [
54193
+ "vertices",
54194
+ "triangles"
54195
+ ]
54196
+ },
54197
+ meshUrl: {
54198
+ types: [
54199
+ "string"
54200
+ ],
54201
+ description: "URL of a JSON `SkinMesh` (fetched + cached); used when `mesh` is absent."
54202
+ },
54203
+ bones: {
54204
+ types: [
54205
+ "array"
54206
+ ],
54207
+ description: "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
54208
+ required: true,
54209
+ items: {
54210
+ types: [
54211
+ "object"
54212
+ ],
54213
+ properties: {
54214
+ name: {
54215
+ types: [
54216
+ "string"
54217
+ ]
54218
+ },
54219
+ parent: {
54220
+ types: [
54221
+ "string"
54222
+ ]
54223
+ },
54224
+ pivot: {
54225
+ types: [
54226
+ "array"
54227
+ ],
54228
+ items: {
54229
+ types: [
54230
+ "number"
54231
+ ]
54232
+ }
54233
+ },
54234
+ tip: {
54235
+ types: [
54236
+ "array"
54237
+ ],
54238
+ items: {
54239
+ types: [
54240
+ "number"
54241
+ ]
54242
+ }
54243
+ }
54244
+ },
54245
+ required: [
54246
+ "name",
54247
+ "parent",
54248
+ "pivot",
54249
+ "tip"
54250
+ ]
54251
+ }
54252
+ },
54253
+ pose: {
54254
+ types: [
54255
+ "object"
54256
+ ],
54257
+ description: "Static pose (bone name \u2192 degrees relative to bind). Overridden by `clip` + `frame`.",
54258
+ mapValue: {
54259
+ types: [
54260
+ "number"
54261
+ ]
54262
+ }
54263
+ },
54264
+ clip: {
54265
+ types: [
54266
+ "object"
54267
+ ],
54268
+ description: "Pose animation clip; with `frame`, pose = `frames[frame % frames.length]`.",
54269
+ properties: {
54270
+ frames: {
54271
+ types: [
54272
+ "array"
54273
+ ],
54274
+ items: {
54275
+ types: [
54276
+ "object"
54277
+ ],
54278
+ mapValue: {
54279
+ types: [
54280
+ "number"
54281
+ ]
54282
+ }
54283
+ }
54284
+ }
54285
+ },
54286
+ propertyRequired: [
54287
+ "frames"
54288
+ ]
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
+ },
54296
+ frame: {
54297
+ types: [
54298
+ "number"
54299
+ ],
54300
+ description: "Clip frame counter (host-driven paint clock frame)."
54301
+ },
54302
+ opacity: {
54303
+ types: [
54304
+ "number"
54305
+ ],
54306
+ description: "0..1 opacity."
54307
+ },
54308
+ weightsOverlay: {
54309
+ types: [
54310
+ "boolean"
54311
+ ],
54312
+ description: "Paint per-triangle dominant-bone colors instead of the texture (rig inspection)."
54313
+ },
54314
+ ghost: {
54315
+ types: [
54316
+ "object"
54317
+ ],
54318
+ description: "Onion skin: render the mesh at this clip frame underneath, at this opacity.",
54319
+ properties: {
54320
+ frame: {
54321
+ types: [
54322
+ "number"
54323
+ ]
54324
+ },
54325
+ opacity: {
54326
+ types: [
54327
+ "number"
54328
+ ]
54329
+ }
54330
+ },
54331
+ propertyRequired: [
54332
+ "frame",
54333
+ "opacity"
54334
+ ]
54335
+ }
54336
+ },
54337
+ drawable: true
53731
54338
  }
53732
54339
  },
53733
54340
  categories: [
@@ -53753,7 +54360,7 @@ var patterns_registry_default = {
53753
54360
  // src/patterns/integrators-registry.json
53754
54361
  var integrators_registry_default = {
53755
54362
  version: "1.0.0",
53756
- exportedAt: "2026-09-07T01:58:57.916Z",
54363
+ exportedAt: "2026-09-12T12:14:53.173Z",
53757
54364
  integrators: {
53758
54365
  github: {
53759
54366
  name: "github",
@@ -57336,6 +57943,269 @@ var integrators_registry_default = {
57336
57943
  }
57337
57944
  }
57338
57945
  ]
57946
+ },
57947
+ rigger: {
57948
+ name: "rigger",
57949
+ description: "Local rigger service (FastAPI) \u2014 mesh rigging build + render",
57950
+ category: "media",
57951
+ actions: [
57952
+ {
57953
+ name: "health",
57954
+ description: "Liveness probe of the local rigger service.",
57955
+ params: [],
57956
+ responseShape: {
57957
+ ok: "boolean"
57958
+ }
57959
+ },
57960
+ {
57961
+ name: "buildMesh",
57962
+ description: "Build a rigged mesh bundle from a source image via the local rigger service.",
57963
+ params: [
57964
+ {
57965
+ name: "imagePath",
57966
+ type: "string",
57967
+ required: true,
57968
+ description: "Path to the source image."
57969
+ },
57970
+ {
57971
+ name: "rig",
57972
+ type: "object",
57973
+ required: true,
57974
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
57975
+ }
57976
+ ],
57977
+ responseShape: {
57978
+ bundlePath: "string",
57979
+ boneCount: "number",
57980
+ vertexCount: "number",
57981
+ triangleCount: "number",
57982
+ clips: "string[]"
57983
+ }
57984
+ },
57985
+ {
57986
+ name: "render",
57987
+ description: "Render a rigged mesh bundle to output files via the local rigger service.",
57988
+ params: [
57989
+ {
57990
+ name: "imagePath",
57991
+ type: "string",
57992
+ required: true,
57993
+ description: "Path to the source image."
57994
+ },
57995
+ {
57996
+ name: "rig",
57997
+ type: "object",
57998
+ required: true,
57999
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
58000
+ },
58001
+ {
58002
+ name: "preset",
58003
+ type: "string",
58004
+ required: true,
58005
+ description: "Render preset name."
58006
+ },
58007
+ {
58008
+ name: "outDir",
58009
+ type: "string",
58010
+ required: true,
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."
58024
+ }
58025
+ ],
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
+ }
58207
+ }
58208
+ ]
57339
58209
  }
57340
58210
  },
57341
58211
  categories: [
@@ -57355,7 +58225,7 @@ var integrators_registry_default = {
57355
58225
  // src/patterns/component-mapping.json
57356
58226
  var component_mapping_default = {
57357
58227
  version: "1.0.0",
57358
- exportedAt: "2026-09-08T23:56:00.442Z",
58228
+ exportedAt: "2026-09-12T07:27:39.835Z",
57359
58229
  mappings: {
57360
58230
  "page-header": {
57361
58231
  component: "PageHeader",
@@ -58674,6 +59544,11 @@ var component_mapping_default = {
58674
59544
  importPath: "@/components/game/atoms/DrawSprite",
58675
59545
  category: "game"
58676
59546
  },
59547
+ "draw-skinned-mesh": {
59548
+ component: "DrawSkinnedMesh",
59549
+ importPath: "@/components/game/atoms/DrawSkinnedMesh",
59550
+ category: "game"
59551
+ },
58677
59552
  "draw-text": {
58678
59553
  component: "DrawText",
58679
59554
  importPath: "@/components/game/atoms/DrawText",
@@ -58800,7 +59675,7 @@ var component_mapping_default = {
58800
59675
  // src/patterns/event-contracts.json
58801
59676
  var event_contracts_default = {
58802
59677
  version: "1.0.0",
58803
- exportedAt: "2026-09-08T23:56:00.442Z",
59678
+ exportedAt: "2026-09-12T07:27:39.835Z",
58804
59679
  contracts: {
58805
59680
  form: {
58806
59681
  emits: [
@@ -60067,6 +60942,7 @@ var PATTERN_TYPES = [
60067
60942
  "draw-mesh",
60068
60943
  "draw-shape",
60069
60944
  "draw-shape-layer",
60945
+ "draw-skinned-mesh",
60070
60946
  "draw-sprite",
60071
60947
  "draw-sprite-layer",
60072
60948
  "draw-text",
@@ -60283,6 +61159,9 @@ function isMainSlotRenderUi(effect) {
60283
61159
  return Array.isArray(effect) && effect[0] === "render-ui" && effect[1] === "main";
60284
61160
  }
60285
61161
 
61162
+ // src/patterns/self-overlay.ts
61163
+ var SELF_OVERLAY_PATTERN_TYPES = /* @__PURE__ */ new Set(["modal", "confirm-dialog"]);
61164
+
60286
61165
  // src/patterns/helpers/prompt-helpers.ts
60287
61166
  function getPatternsGroupedByCategory() {
60288
61167
  const patterns = patterns_registry_default.patterns || {};
@@ -60780,6 +61659,6 @@ function propHostsDrawables(schema) {
60780
61659
  return false;
60781
61660
  }
60782
61661
 
60783
- export { COMPONENT_MAPPING, EVENT_CONTRACTS, INTEGRATORS_REGISTRY, PATTERN_REGISTRY, PATTERN_TYPES, buildRecommendationContext, collectRenderUiPatternTypes, component_mapping_default as componentMapping, event_contracts_default as eventContracts, eventKeyPropsOf, eventListPropsOf, findCompatiblePatterns, formatRecommendationsForPrompt, generatePatternDescription, getAllPatternTypes, getComponentForPattern, getEmittedEvents, getEntityCardinality, getOrbAllowedPatterns, getOrbAllowedPatternsCompact, getOrbAllowedPatternsFiltered, getOrbAllowedPatternsSlim, getPatternActionsRef, getPatternDefinition, getPatternFieldsContract, getPatternMetadata, getPatternPropsCompact, getPatternsGroupedByCategory, integrators_registry_default as integratorsRegistry, isContentBodyPattern, isContentBodyPatternType, isDrawHostPattern, isDrawablePattern, isEntityAwarePattern, isMainSlotRenderUi, isValidPatternType, isValueInputPattern, patterns_registry_default as patternsRegistry, recommendPatterns, registry, renderUiPatternTypesOf };
61662
+ export { COMPONENT_MAPPING, EVENT_CONTRACTS, INTEGRATORS_REGISTRY, PATTERN_REGISTRY, PATTERN_TYPES, SELF_OVERLAY_PATTERN_TYPES, buildRecommendationContext, collectRenderUiPatternTypes, component_mapping_default as componentMapping, event_contracts_default as eventContracts, eventKeyPropsOf, eventListPropsOf, findCompatiblePatterns, formatRecommendationsForPrompt, generatePatternDescription, getAllPatternTypes, getComponentForPattern, getEmittedEvents, getEntityCardinality, getOrbAllowedPatterns, getOrbAllowedPatternsCompact, getOrbAllowedPatternsFiltered, getOrbAllowedPatternsSlim, getPatternActionsRef, getPatternDefinition, getPatternFieldsContract, getPatternMetadata, getPatternPropsCompact, getPatternsGroupedByCategory, integrators_registry_default as integratorsRegistry, isContentBodyPattern, isContentBodyPatternType, isDrawHostPattern, isDrawablePattern, isEntityAwarePattern, isMainSlotRenderUi, isValidPatternType, isValueInputPattern, patterns_registry_default as patternsRegistry, recommendPatterns, registry, renderUiPatternTypesOf };
60784
61663
  //# sourceMappingURL=index.js.map
60785
61664
  //# sourceMappingURL=index.js.map