@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
package/dist/index.js CHANGED
@@ -317,7 +317,8 @@ var EntityFieldSchema = z.lazy(() => {
317
317
  properties: z.record(EntityFieldSchema).optional(),
318
318
  intrinsic: z.boolean().optional(),
319
319
  description: z.string().optional(),
320
- synonyms: z.string().optional()
320
+ synonyms: z.string().optional(),
321
+ mergedFrom: z.string().optional()
321
322
  };
322
323
  function scalarVariant(t) {
323
324
  return z.object({
@@ -2579,7 +2580,7 @@ function getInteractionModelForDomain(domain) {
2579
2580
  // src/patterns/patterns-registry.json
2580
2581
  var patterns_registry_default = {
2581
2582
  version: "1.0.0",
2582
- exportedAt: "2026-09-10T08:51:20.514Z",
2583
+ exportedAt: "2026-09-12T07:27:39.835Z",
2583
2584
  patterns: {
2584
2585
  "entity-table": {
2585
2586
  type: "entity-table",
@@ -6880,7 +6881,10 @@ var patterns_registry_default = {
6880
6881
  "1:1",
6881
6882
  "16:9",
6882
6883
  "5:7",
6883
- "8:1"
6884
+ "8:1",
6885
+ "4:1",
6886
+ "5:3",
6887
+ "1:2"
6884
6888
  ]
6885
6889
  },
6886
6890
  atlas: {
@@ -7040,7 +7044,10 @@ var patterns_registry_default = {
7040
7044
  "1:1",
7041
7045
  "16:9",
7042
7046
  "5:7",
7043
- "8:1"
7047
+ "8:1",
7048
+ "4:1",
7049
+ "5:3",
7050
+ "1:2"
7044
7051
  ]
7045
7052
  },
7046
7053
  atlas: {
@@ -10074,6 +10081,7 @@ var patterns_registry_default = {
10074
10081
  button: {
10075
10082
  type: "button",
10076
10083
  category: "component",
10084
+ sourceFile: "components/core/atoms/Button.tsx",
10077
10085
  tier: "atoms",
10078
10086
  family: "core",
10079
10087
  description: "Clickable button that emits events",
@@ -10218,7 +10226,10 @@ var patterns_registry_default = {
10218
10226
  "1:1",
10219
10227
  "16:9",
10220
10228
  "5:7",
10221
- "8:1"
10229
+ "8:1",
10230
+ "4:1",
10231
+ "5:3",
10232
+ "1:2"
10222
10233
  ]
10223
10234
  },
10224
10235
  atlas: {
@@ -10260,7 +10271,8 @@ var patterns_registry_default = {
10260
10271
  "object"
10261
10272
  ],
10262
10273
  description: "Payload to include with the action event",
10263
- payloadFor: "action"
10274
+ payloadFor: "action",
10275
+ eventPayloadBrand: true
10264
10276
  },
10265
10277
  label: {
10266
10278
  types: [
@@ -10285,6 +10297,7 @@ var patterns_registry_default = {
10285
10297
  badge: {
10286
10298
  type: "badge",
10287
10299
  category: "component",
10300
+ sourceFile: "components/core/atoms/Badge.tsx",
10288
10301
  tier: "atoms",
10289
10302
  family: "core",
10290
10303
  description: "Small label for status or count",
@@ -10416,7 +10429,10 @@ var patterns_registry_default = {
10416
10429
  "1:1",
10417
10430
  "16:9",
10418
10431
  "5:7",
10419
- "8:1"
10432
+ "8:1",
10433
+ "4:1",
10434
+ "5:3",
10435
+ "1:2"
10420
10436
  ]
10421
10437
  },
10422
10438
  atlas: {
@@ -10916,6 +10932,7 @@ var patterns_registry_default = {
10916
10932
  input: {
10917
10933
  type: "input",
10918
10934
  category: "component",
10935
+ sourceFile: "components/core/atoms/Input.tsx",
10919
10936
  tier: "atoms",
10920
10937
  family: "core",
10921
10938
  description: "Text input field",
@@ -11043,9 +11060,7 @@ var patterns_registry_default = {
11043
11060
  "function",
11044
11061
  "string"
11045
11062
  ],
11046
- description: "Callback or declarative event key when clear button is clicked",
11047
- kind: "event-ref",
11048
- emitPayloadSchema: []
11063
+ description: "Callback or declarative event key when clear button is clicked"
11049
11064
  },
11050
11065
  options: {
11051
11066
  types: [
@@ -11090,16 +11105,9 @@ var patterns_registry_default = {
11090
11105
  kind: "event-ref",
11091
11106
  emitPayloadSchema: [
11092
11107
  {
11093
- name: "value",
11094
- type: "string",
11095
- required: true,
11096
- typeWhen: [
11097
- {
11098
- knob: "inputType",
11099
- equals: "number",
11100
- type: "number"
11101
- }
11102
- ]
11108
+ name: "_payload",
11109
+ type: "object",
11110
+ required: false
11103
11111
  }
11104
11112
  ]
11105
11113
  }
@@ -11169,6 +11177,7 @@ var patterns_registry_default = {
11169
11177
  select: {
11170
11178
  type: "select",
11171
11179
  category: "component",
11180
+ sourceFile: "components/core/atoms/Select.tsx",
11172
11181
  tier: "atoms",
11173
11182
  family: "core",
11174
11183
  description: "Dropdown select input",
@@ -11358,7 +11367,26 @@ var patterns_registry_default = {
11358
11367
  "function",
11359
11368
  "string"
11360
11369
  ],
11361
- 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."
11370
+ 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.",
11371
+ kind: "event-ref",
11372
+ emitPayloadSchema: [
11373
+ {
11374
+ name: "value",
11375
+ type: "string",
11376
+ required: true,
11377
+ schema: {
11378
+ types: [
11379
+ "string",
11380
+ "array"
11381
+ ],
11382
+ items: {
11383
+ types: [
11384
+ "string"
11385
+ ]
11386
+ }
11387
+ }
11388
+ }
11389
+ ]
11362
11390
  }
11363
11391
  }
11364
11392
  },
@@ -13913,6 +13941,7 @@ var patterns_registry_default = {
13913
13941
  "input-group": {
13914
13942
  type: "input-group",
13915
13943
  category: "form",
13944
+ sourceFile: "components/core/molecules/InputGroup.tsx",
13916
13945
  tier: "molecules",
13917
13946
  family: "core",
13918
13947
  description: "InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.",
@@ -14033,9 +14062,7 @@ var patterns_registry_default = {
14033
14062
  "function",
14034
14063
  "string"
14035
14064
  ],
14036
- description: "Callback or declarative event key when clear button is clicked",
14037
- kind: "event-ref",
14038
- emitPayloadSchema: []
14065
+ description: "Callback or declarative event key when clear button is clicked"
14039
14066
  },
14040
14067
  options: {
14041
14068
  types: [
@@ -14079,16 +14106,9 @@ var patterns_registry_default = {
14079
14106
  kind: "event-ref",
14080
14107
  emitPayloadSchema: [
14081
14108
  {
14082
- name: "value",
14083
- type: "string",
14084
- required: true,
14085
- typeWhen: [
14086
- {
14087
- knob: "inputType",
14088
- equals: "number",
14089
- type: "number"
14090
- }
14091
- ]
14109
+ name: "_payload",
14110
+ type: "object",
14111
+ required: false
14092
14112
  }
14093
14113
  ]
14094
14114
  },
@@ -16388,6 +16408,7 @@ var patterns_registry_default = {
16388
16408
  "game-shell": {
16389
16409
  type: "game-shell",
16390
16410
  category: "game",
16411
+ sourceFile: "components/game/templates/GameShell.tsx",
16391
16412
  tier: "templates",
16392
16413
  family: "game",
16393
16414
  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>',
@@ -16513,7 +16534,10 @@ var patterns_registry_default = {
16513
16534
  "1:1",
16514
16535
  "16:9",
16515
16536
  "5:7",
16516
- "8:1"
16537
+ "8:1",
16538
+ "4:1",
16539
+ "5:3",
16540
+ "1:2"
16517
16541
  ]
16518
16542
  },
16519
16543
  atlas: {
@@ -16608,7 +16632,10 @@ var patterns_registry_default = {
16608
16632
  "1:1",
16609
16633
  "16:9",
16610
16634
  "5:7",
16611
- "8:1"
16635
+ "8:1",
16636
+ "4:1",
16637
+ "5:3",
16638
+ "1:2"
16612
16639
  ]
16613
16640
  },
16614
16641
  atlas: {
@@ -30876,6 +30903,7 @@ var patterns_registry_default = {
30876
30903
  "choice-button": {
30877
30904
  type: "choice-button",
30878
30905
  category: "game",
30906
+ sourceFile: "components/game/atoms/ChoiceButton.tsx",
30879
30907
  tier: "atoms",
30880
30908
  family: "game",
30881
30909
  description: "ChoiceButton component",
@@ -30965,7 +30993,10 @@ var patterns_registry_default = {
30965
30993
  "1:1",
30966
30994
  "16:9",
30967
30995
  "5:7",
30968
- "8:1"
30996
+ "8:1",
30997
+ "4:1",
30998
+ "5:3",
30999
+ "1:2"
30969
31000
  ]
30970
31001
  },
30971
31002
  atlas: {
@@ -31055,6 +31086,7 @@ var patterns_registry_default = {
31055
31086
  "control-button": {
31056
31087
  type: "control-button",
31057
31088
  category: "game",
31089
+ sourceFile: "components/game/atoms/ControlButton.tsx",
31058
31090
  tier: "atoms",
31059
31091
  family: "game",
31060
31092
  description: "ControlButton component",
@@ -31130,7 +31162,10 @@ var patterns_registry_default = {
31130
31162
  "1:1",
31131
31163
  "16:9",
31132
31164
  "5:7",
31133
- "8:1"
31165
+ "8:1",
31166
+ "4:1",
31167
+ "5:3",
31168
+ "1:2"
31134
31169
  ]
31135
31170
  },
31136
31171
  atlas: {
@@ -31247,6 +31282,7 @@ var patterns_registry_default = {
31247
31282
  "dialogue-bubble": {
31248
31283
  type: "dialogue-bubble",
31249
31284
  category: "game",
31285
+ sourceFile: "components/game/atoms/DialogueBubble.tsx",
31250
31286
  tier: "atoms",
31251
31287
  family: "game",
31252
31288
  description: "DialogueBubble component",
@@ -31337,7 +31373,10 @@ var patterns_registry_default = {
31337
31373
  "1:1",
31338
31374
  "16:9",
31339
31375
  "5:7",
31340
- "8:1"
31376
+ "8:1",
31377
+ "4:1",
31378
+ "5:3",
31379
+ "1:2"
31341
31380
  ]
31342
31381
  },
31343
31382
  atlas: {
@@ -31408,6 +31447,7 @@ var patterns_registry_default = {
31408
31447
  "health-bar": {
31409
31448
  type: "health-bar",
31410
31449
  category: "game",
31450
+ sourceFile: "components/game/atoms/HealthBar.tsx",
31411
31451
  tier: "atoms",
31412
31452
  family: "game",
31413
31453
  description: "HealthBar component",
@@ -31556,7 +31596,10 @@ var patterns_registry_default = {
31556
31596
  "1:1",
31557
31597
  "16:9",
31558
31598
  "5:7",
31559
- "8:1"
31599
+ "8:1",
31600
+ "4:1",
31601
+ "5:3",
31602
+ "1:2"
31560
31603
  ]
31561
31604
  },
31562
31605
  atlas: {
@@ -31651,7 +31694,10 @@ var patterns_registry_default = {
31651
31694
  "1:1",
31652
31695
  "16:9",
31653
31696
  "5:7",
31654
- "8:1"
31697
+ "8:1",
31698
+ "4:1",
31699
+ "5:3",
31700
+ "1:2"
31655
31701
  ]
31656
31702
  },
31657
31703
  atlas: {
@@ -31686,6 +31732,7 @@ var patterns_registry_default = {
31686
31732
  "score-display": {
31687
31733
  type: "score-display",
31688
31734
  category: "game",
31735
+ sourceFile: "components/game/atoms/ScoreDisplay.tsx",
31689
31736
  tier: "atoms",
31690
31737
  family: "game",
31691
31738
  description: "ScoreDisplay component",
@@ -31761,7 +31808,10 @@ var patterns_registry_default = {
31761
31808
  "1:1",
31762
31809
  "16:9",
31763
31810
  "5:7",
31764
- "8:1"
31811
+ "8:1",
31812
+ "4:1",
31813
+ "5:3",
31814
+ "1:2"
31765
31815
  ]
31766
31816
  },
31767
31817
  atlas: {
@@ -31848,6 +31898,7 @@ var patterns_registry_default = {
31848
31898
  "timer-display": {
31849
31899
  type: "timer-display",
31850
31900
  category: "game",
31901
+ sourceFile: "components/game/atoms/TimerDisplay.tsx",
31851
31902
  tier: "atoms",
31852
31903
  family: "game",
31853
31904
  description: "TimerDisplay component",
@@ -31974,7 +32025,10 @@ var patterns_registry_default = {
31974
32025
  "1:1",
31975
32026
  "16:9",
31976
32027
  "5:7",
31977
- "8:1"
32028
+ "8:1",
32029
+ "4:1",
32030
+ "5:3",
32031
+ "1:2"
31978
32032
  ]
31979
32033
  },
31980
32034
  atlas: {
@@ -34244,6 +34298,7 @@ var patterns_registry_default = {
34244
34298
  "game-hud": {
34245
34299
  type: "game-hud",
34246
34300
  category: "game",
34301
+ sourceFile: "components/game/molecules/GameHud.tsx",
34247
34302
  tier: "molecules",
34248
34303
  family: "game",
34249
34304
  description: "GameHud component",
@@ -34334,7 +34389,10 @@ var patterns_registry_default = {
34334
34389
  "1:1",
34335
34390
  "16:9",
34336
34391
  "5:7",
34337
- "8:1"
34392
+ "8:1",
34393
+ "4:1",
34394
+ "5:3",
34395
+ "1:2"
34338
34396
  ]
34339
34397
  },
34340
34398
  atlas: {
@@ -34428,7 +34486,10 @@ var patterns_registry_default = {
34428
34486
  "1:1",
34429
34487
  "16:9",
34430
34488
  "5:7",
34431
- "8:1"
34489
+ "8:1",
34490
+ "4:1",
34491
+ "5:3",
34492
+ "1:2"
34432
34493
  ]
34433
34494
  },
34434
34495
  atlas: {
@@ -34585,7 +34646,10 @@ var patterns_registry_default = {
34585
34646
  "1:1",
34586
34647
  "16:9",
34587
34648
  "5:7",
34588
- "8:1"
34649
+ "8:1",
34650
+ "4:1",
34651
+ "5:3",
34652
+ "1:2"
34589
34653
  ]
34590
34654
  },
34591
34655
  atlas: {
@@ -34679,7 +34743,10 @@ var patterns_registry_default = {
34679
34743
  "1:1",
34680
34744
  "16:9",
34681
34745
  "5:7",
34682
- "8:1"
34746
+ "8:1",
34747
+ "4:1",
34748
+ "5:3",
34749
+ "1:2"
34683
34750
  ]
34684
34751
  },
34685
34752
  atlas: {
@@ -34868,7 +34935,10 @@ var patterns_registry_default = {
34868
34935
  "1:1",
34869
34936
  "16:9",
34870
34937
  "5:7",
34871
- "8:1"
34938
+ "8:1",
34939
+ "4:1",
34940
+ "5:3",
34941
+ "1:2"
34872
34942
  ]
34873
34943
  },
34874
34944
  atlas: {
@@ -35215,7 +35285,10 @@ var patterns_registry_default = {
35215
35285
  "1:1",
35216
35286
  "16:9",
35217
35287
  "5:7",
35218
- "8:1"
35288
+ "8:1",
35289
+ "4:1",
35290
+ "5:3",
35291
+ "1:2"
35219
35292
  ]
35220
35293
  },
35221
35294
  atlas: {
@@ -35256,6 +35329,7 @@ var patterns_registry_default = {
35256
35329
  "stat-badge": {
35257
35330
  type: "stat-badge",
35258
35331
  category: "game",
35332
+ sourceFile: "components/game/molecules/StatBadge.tsx",
35259
35333
  tier: "molecules",
35260
35334
  family: "game",
35261
35335
  description: "StatBadge component",
@@ -35331,7 +35405,10 @@ var patterns_registry_default = {
35331
35405
  "1:1",
35332
35406
  "16:9",
35333
35407
  "5:7",
35334
- "8:1"
35408
+ "8:1",
35409
+ "4:1",
35410
+ "5:3",
35411
+ "1:2"
35335
35412
  ]
35336
35413
  },
35337
35414
  atlas: {
@@ -35426,7 +35503,10 @@ var patterns_registry_default = {
35426
35503
  "1:1",
35427
35504
  "16:9",
35428
35505
  "5:7",
35429
- "8:1"
35506
+ "8:1",
35507
+ "4:1",
35508
+ "5:3",
35509
+ "1:2"
35430
35510
  ]
35431
35511
  },
35432
35512
  atlas: {
@@ -35952,6 +36032,7 @@ var patterns_registry_default = {
35952
36032
  "game-audio-toggle": {
35953
36033
  type: "game-audio-toggle",
35954
36034
  category: "game",
36035
+ sourceFile: "components/game/atoms/GameAudioToggle.tsx",
35955
36036
  tier: "atoms",
35956
36037
  family: "game",
35957
36038
  description: "GameAudioToggle component",
@@ -36083,7 +36164,10 @@ var patterns_registry_default = {
36083
36164
  "1:1",
36084
36165
  "16:9",
36085
36166
  "5:7",
36086
- "8:1"
36167
+ "8:1",
36168
+ "4:1",
36169
+ "5:3",
36170
+ "1:2"
36087
36171
  ]
36088
36172
  },
36089
36173
  atlas: {
@@ -36178,7 +36262,10 @@ var patterns_registry_default = {
36178
36262
  "1:1",
36179
36263
  "16:9",
36180
36264
  "5:7",
36181
- "8:1"
36265
+ "8:1",
36266
+ "4:1",
36267
+ "5:3",
36268
+ "1:2"
36182
36269
  ]
36183
36270
  },
36184
36271
  atlas: {
@@ -36227,6 +36314,7 @@ var patterns_registry_default = {
36227
36314
  "trait-slot": {
36228
36315
  type: "trait-slot",
36229
36316
  category: "game",
36317
+ sourceFile: "components/game/molecules/TraitSlot.tsx",
36230
36318
  tier: "molecules",
36231
36319
  family: "game",
36232
36320
  description: "Event Contract: Emits: UI:CLICK Emits: UI:REMOVE",
@@ -36339,7 +36427,10 @@ var patterns_registry_default = {
36339
36427
  "1:1",
36340
36428
  "16:9",
36341
36429
  "5:7",
36342
- "8:1"
36430
+ "8:1",
36431
+ "4:1",
36432
+ "5:3",
36433
+ "1:2"
36343
36434
  ]
36344
36435
  },
36345
36436
  atlas: {
@@ -36582,7 +36673,10 @@ var patterns_registry_default = {
36582
36673
  "1:1",
36583
36674
  "16:9",
36584
36675
  "5:7",
36585
- "8:1"
36676
+ "8:1",
36677
+ "4:1",
36678
+ "5:3",
36679
+ "1:2"
36586
36680
  ]
36587
36681
  },
36588
36682
  atlas: {
@@ -36759,7 +36853,10 @@ var patterns_registry_default = {
36759
36853
  "1:1",
36760
36854
  "16:9",
36761
36855
  "5:7",
36762
- "8:1"
36856
+ "8:1",
36857
+ "4:1",
36858
+ "5:3",
36859
+ "1:2"
36763
36860
  ]
36764
36861
  },
36765
36862
  atlas: {
@@ -36985,7 +37082,10 @@ var patterns_registry_default = {
36985
37082
  "1:1",
36986
37083
  "16:9",
36987
37084
  "5:7",
36988
- "8:1"
37085
+ "8:1",
37086
+ "4:1",
37087
+ "5:3",
37088
+ "1:2"
36989
37089
  ]
36990
37090
  },
36991
37091
  atlas: {
@@ -37180,6 +37280,7 @@ var patterns_registry_default = {
37180
37280
  "action-palette": {
37181
37281
  type: "action-palette",
37182
37282
  category: "game",
37283
+ sourceFile: "components/game/molecules/ActionPalette.tsx",
37183
37284
  tier: "molecules",
37184
37285
  family: "game",
37185
37286
  description: "ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.",
@@ -37290,7 +37391,10 @@ var patterns_registry_default = {
37290
37391
  "1:1",
37291
37392
  "16:9",
37292
37393
  "5:7",
37293
- "8:1"
37394
+ "8:1",
37395
+ "4:1",
37396
+ "5:3",
37397
+ "1:2"
37294
37398
  ]
37295
37399
  },
37296
37400
  atlas: {
@@ -37478,6 +37582,7 @@ var patterns_registry_default = {
37478
37582
  "action-tile": {
37479
37583
  type: "action-tile",
37480
37584
  category: "game",
37585
+ sourceFile: "components/game/molecules/ActionTile.tsx",
37481
37586
  tier: "molecules",
37482
37587
  family: "game",
37483
37588
  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.",
@@ -37690,7 +37795,10 @@ var patterns_registry_default = {
37690
37795
  "1:1",
37691
37796
  "16:9",
37692
37797
  "5:7",
37693
- "8:1"
37798
+ "8:1",
37799
+ "4:1",
37800
+ "5:3",
37801
+ "1:2"
37694
37802
  ]
37695
37803
  },
37696
37804
  atlas: {
@@ -37853,6 +37961,7 @@ var patterns_registry_default = {
37853
37961
  "sequence-bar": {
37854
37962
  type: "sequence-bar",
37855
37963
  category: "game",
37964
+ sourceFile: "components/game/molecules/SequenceBar.tsx",
37856
37965
  tier: "molecules",
37857
37966
  family: "game",
37858
37967
  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.",
@@ -37963,7 +38072,10 @@ var patterns_registry_default = {
37963
38072
  "1:1",
37964
38073
  "16:9",
37965
38074
  "5:7",
37966
- "8:1"
38075
+ "8:1",
38076
+ "4:1",
38077
+ "5:3",
38078
+ "1:2"
37967
38079
  ]
37968
38080
  },
37969
38081
  atlas: {
@@ -38191,7 +38303,10 @@ var patterns_registry_default = {
38191
38303
  "1:1",
38192
38304
  "16:9",
38193
38305
  "5:7",
38194
- "8:1"
38306
+ "8:1",
38307
+ "4:1",
38308
+ "5:3",
38309
+ "1:2"
38195
38310
  ]
38196
38311
  },
38197
38312
  atlas: {
@@ -41240,6 +41355,7 @@ var patterns_registry_default = {
41240
41355
  "canvas-2d": {
41241
41356
  type: "canvas-2d",
41242
41357
  category: "game",
41358
+ sourceFile: "components/game/molecules/Canvas2D.tsx",
41243
41359
  tier: "molecules",
41244
41360
  family: "game",
41245
41361
  description: "Canvas2D component",
@@ -41386,7 +41502,10 @@ var patterns_registry_default = {
41386
41502
  "1:1",
41387
41503
  "16:9",
41388
41504
  "5:7",
41389
- "8:1"
41505
+ "8:1",
41506
+ "4:1",
41507
+ "5:3",
41508
+ "1:2"
41390
41509
  ]
41391
41510
  },
41392
41511
  atlas: {
@@ -41698,6 +41817,7 @@ var patterns_registry_default = {
41698
41817
  "control-grid": {
41699
41818
  type: "control-grid",
41700
41819
  category: "game",
41820
+ sourceFile: "components/game/molecules/ControlGrid.tsx",
41701
41821
  tier: "molecules",
41702
41822
  family: "game",
41703
41823
  description: "ControlGrid component",
@@ -41809,7 +41929,10 @@ var patterns_registry_default = {
41809
41929
  "1:1",
41810
41930
  "16:9",
41811
41931
  "5:7",
41812
- "8:1"
41932
+ "8:1",
41933
+ "4:1",
41934
+ "5:3",
41935
+ "1:2"
41813
41936
  ]
41814
41937
  },
41815
41938
  atlas: {
@@ -42038,7 +42161,10 @@ var patterns_registry_default = {
42038
42161
  "1:1",
42039
42162
  "16:9",
42040
42163
  "5:7",
42041
- "8:1"
42164
+ "8:1",
42165
+ "4:1",
42166
+ "5:3",
42167
+ "1:2"
42042
42168
  ]
42043
42169
  },
42044
42170
  atlas: {
@@ -42109,6 +42235,7 @@ var patterns_registry_default = {
42109
42235
  "game-icon": {
42110
42236
  type: "game-icon",
42111
42237
  category: "game",
42238
+ sourceFile: "components/core/atoms/GameIcon.tsx",
42112
42239
  tier: "atoms",
42113
42240
  family: "core",
42114
42241
  description: "GameIcon component",
@@ -42184,7 +42311,10 @@ var patterns_registry_default = {
42184
42311
  "1:1",
42185
42312
  "16:9",
42186
42313
  "5:7",
42187
- "8:1"
42314
+ "8:1",
42315
+ "4:1",
42316
+ "5:3",
42317
+ "1:2"
42188
42318
  ]
42189
42319
  },
42190
42320
  atlas: {
@@ -50482,6 +50612,7 @@ var patterns_registry_default = {
50482
50612
  "draw-sprite": {
50483
50613
  type: "draw-sprite",
50484
50614
  category: "game",
50615
+ sourceFile: "components/game/atoms/DrawSprite.tsx",
50485
50616
  tier: "atoms",
50486
50617
  family: "game",
50487
50618
  description: "DrawSprite component",
@@ -50603,7 +50734,10 @@ var patterns_registry_default = {
50603
50734
  "1:1",
50604
50735
  "16:9",
50605
50736
  "5:7",
50606
- "8:1"
50737
+ "8:1",
50738
+ "4:1",
50739
+ "5:3",
50740
+ "1:2"
50607
50741
  ]
50608
50742
  },
50609
50743
  atlas: {
@@ -51587,6 +51721,7 @@ var patterns_registry_default = {
51587
51721
  "draw-sprite-layer": {
51588
51722
  type: "draw-sprite-layer",
51589
51723
  category: "game",
51724
+ sourceFile: "components/game/molecules/DrawSpriteLayer.tsx",
51590
51725
  tier: "molecules",
51591
51726
  family: "game",
51592
51727
  description: "DrawSpriteLayer component",
@@ -51729,7 +51864,10 @@ var patterns_registry_default = {
51729
51864
  "1:1",
51730
51865
  "16:9",
51731
51866
  "5:7",
51732
- "8:1"
51867
+ "8:1",
51868
+ "4:1",
51869
+ "5:3",
51870
+ "1:2"
51733
51871
  ]
51734
51872
  },
51735
51873
  atlas: {
@@ -52035,6 +52173,7 @@ var patterns_registry_default = {
52035
52173
  canvas: {
52036
52174
  type: "canvas",
52037
52175
  category: "game",
52176
+ sourceFile: "components/game/molecules/Canvas.tsx",
52038
52177
  tier: "molecules",
52039
52178
  family: "game",
52040
52179
  description: "Canvas component",
@@ -52274,7 +52413,10 @@ var patterns_registry_default = {
52274
52413
  "1:1",
52275
52414
  "16:9",
52276
52415
  "5:7",
52277
- "8:1"
52416
+ "8:1",
52417
+ "4:1",
52418
+ "5:3",
52419
+ "1:2"
52278
52420
  ]
52279
52421
  },
52280
52422
  atlas: {
@@ -54707,6 +54849,7 @@ var patterns_registry_default = {
54707
54849
  "draw-fx-layer": {
54708
54850
  type: "draw-fx-layer",
54709
54851
  category: "game",
54852
+ sourceFile: "components/game/molecules/DrawFxLayer.tsx",
54710
54853
  tier: "molecules",
54711
54854
  family: "game",
54712
54855
  description: "DrawFxLayer component",
@@ -55082,7 +55225,10 @@ var patterns_registry_default = {
55082
55225
  "1:1",
55083
55226
  "16:9",
55084
55227
  "5:7",
55085
- "8:1"
55228
+ "8:1",
55229
+ "4:1",
55230
+ "5:3",
55231
+ "1:2"
55086
55232
  ]
55087
55233
  },
55088
55234
  atlas: {
@@ -56500,7 +56646,10 @@ var patterns_registry_default = {
56500
56646
  "1:1",
56501
56647
  "16:9",
56502
56648
  "5:7",
56503
- "8:1"
56649
+ "8:1",
56650
+ "4:1",
56651
+ "5:3",
56652
+ "1:2"
56504
56653
  ]
56505
56654
  },
56506
56655
  atlas: {
@@ -56632,7 +56781,7 @@ var patterns_registry_default = {
56632
56781
  types: [
56633
56782
  "array"
56634
56783
  ],
56635
- description: "The skeleton (bind pose; FK chain via `parent` names).",
56784
+ description: "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
56636
56785
  required: true,
56637
56786
  items: {
56638
56787
  types: [
@@ -56715,6 +56864,12 @@ var patterns_registry_default = {
56715
56864
  "frames"
56716
56865
  ]
56717
56866
  },
56867
+ clipName: {
56868
+ types: [
56869
+ "string"
56870
+ ],
56871
+ description: "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip."
56872
+ },
56718
56873
  frame: {
56719
56874
  types: [
56720
56875
  "number"
@@ -56782,7 +56937,7 @@ var patterns_registry_default = {
56782
56937
  // src/patterns/integrators-registry.json
56783
56938
  var integrators_registry_default = {
56784
56939
  version: "1.0.0",
56785
- exportedAt: "2026-09-10T08:46:50.227Z",
56940
+ exportedAt: "2026-09-12T12:14:53.173Z",
56786
56941
  integrators: {
56787
56942
  github: {
56788
56943
  name: "github",
@@ -60391,9 +60546,9 @@ var integrators_registry_default = {
60391
60546
  },
60392
60547
  {
60393
60548
  name: "rig",
60394
- type: "string",
60549
+ type: "object",
60395
60550
  required: true,
60396
- description: "Rig type to build (e.g. 'humanoid', 'quadruped')."
60551
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
60397
60552
  }
60398
60553
  ],
60399
60554
  responseShape: {
@@ -60416,9 +60571,9 @@ var integrators_registry_default = {
60416
60571
  },
60417
60572
  {
60418
60573
  name: "rig",
60419
- type: "string",
60574
+ type: "object",
60420
60575
  required: true,
60421
- description: "Rig type."
60576
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
60422
60577
  },
60423
60578
  {
60424
60579
  name: "preset",
@@ -60431,9 +60586,201 @@ var integrators_registry_default = {
60431
60586
  type: "string",
60432
60587
  required: true,
60433
60588
  description: "Output directory for rendered files."
60589
+ },
60590
+ {
60591
+ name: "mode",
60592
+ type: "string",
60593
+ required: false,
60594
+ description: "Render path: 'mesh' (skinned, deforming) or 'cutout' (rigid per-part layers). Defaults to 'mesh'."
60595
+ },
60596
+ {
60597
+ name: "supersample",
60598
+ type: "number",
60599
+ required: false,
60600
+ description: "Supersampling factor for the cutout path. Defaults to 1."
60434
60601
  }
60435
60602
  ],
60436
- responseShape: {}
60603
+ responseShape: {
60604
+ outdir: "string",
60605
+ frames: "number",
60606
+ framePaths: "string[]",
60607
+ sheet: "string",
60608
+ gif: "string",
60609
+ atlas: "string"
60610
+ }
60611
+ },
60612
+ {
60613
+ name: "listPresets",
60614
+ description: "List the available animation presets (name, fps, frame count, bone roles) from the local rigger service.",
60615
+ params: [],
60616
+ responseShape: {
60617
+ presets: {
60618
+ type: "array",
60619
+ items: {
60620
+ type: "object",
60621
+ properties: {
60622
+ name: {
60623
+ type: "string",
60624
+ required: true
60625
+ },
60626
+ path: {
60627
+ type: "string",
60628
+ required: true
60629
+ },
60630
+ fps: {
60631
+ type: "number",
60632
+ required: true
60633
+ },
60634
+ frames: {
60635
+ type: "number",
60636
+ required: true
60637
+ },
60638
+ bones: {
60639
+ type: "object[]",
60640
+ required: true
60641
+ }
60642
+ }
60643
+ }
60644
+ }
60645
+ }
60646
+ },
60647
+ {
60648
+ name: "loadRig",
60649
+ description: "Load a rig file, resolving `cloneOf` parts to concrete box/pivot geometry.",
60650
+ params: [
60651
+ {
60652
+ name: "rigPath",
60653
+ type: "string",
60654
+ required: true,
60655
+ description: "Path to the rig JSON file."
60656
+ }
60657
+ ],
60658
+ responseShape: {
60659
+ rig: "object",
60660
+ resolved: "object"
60661
+ }
60662
+ },
60663
+ {
60664
+ name: "saveRig",
60665
+ description: "Save a rig file; the server validates it and rejects a malformed part.",
60666
+ params: [
60667
+ {
60668
+ name: "rigPath",
60669
+ type: "string",
60670
+ required: true,
60671
+ description: "Path to write the rig JSON file."
60672
+ },
60673
+ {
60674
+ name: "rig",
60675
+ type: "object",
60676
+ required: true,
60677
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
60678
+ }
60679
+ ],
60680
+ responseShape: {
60681
+ rigPath: "string",
60682
+ parts: "number"
60683
+ }
60684
+ },
60685
+ {
60686
+ name: "ownership",
60687
+ description: "Render the per-part pixel ownership map for a rig over a source image.",
60688
+ params: [
60689
+ {
60690
+ name: "imagePath",
60691
+ type: "string",
60692
+ required: true,
60693
+ description: "Path to the source image."
60694
+ },
60695
+ {
60696
+ name: "rig",
60697
+ type: "object",
60698
+ required: true,
60699
+ description: "The rig definition (parts, boxes, pivots, \u2026) as JSON."
60700
+ },
60701
+ {
60702
+ name: "outPath",
60703
+ type: "string",
60704
+ required: true,
60705
+ description: "Path to write the ownership-map PNG."
60706
+ }
60707
+ ],
60708
+ responseShape: {
60709
+ outPath: "string",
60710
+ legend: {
60711
+ type: "array",
60712
+ items: {
60713
+ type: "object",
60714
+ properties: {
60715
+ name: {
60716
+ type: "string",
60717
+ required: true
60718
+ },
60719
+ color: {
60720
+ type: "string",
60721
+ required: true
60722
+ }
60723
+ }
60724
+ }
60725
+ }
60726
+ }
60727
+ },
60728
+ {
60729
+ name: "generate",
60730
+ description: "Generate one image on the local image server (text-to-image, or a Kontext edit conditioned on `sourcePath`).",
60731
+ params: [
60732
+ {
60733
+ name: "model",
60734
+ type: "'z-image-turbo' | 'kontext'",
60735
+ required: true,
60736
+ description: "Generation model: 'z-image-turbo' (text-to-image) or 'kontext' (edit; requires sourcePath)."
60737
+ },
60738
+ {
60739
+ name: "prompt",
60740
+ type: "string",
60741
+ required: true,
60742
+ description: "The generation/edit prompt."
60743
+ },
60744
+ {
60745
+ name: "seed",
60746
+ type: "number",
60747
+ required: false,
60748
+ description: "Random seed; omit for a fresh one each call."
60749
+ },
60750
+ {
60751
+ name: "size",
60752
+ type: "string",
60753
+ required: false,
60754
+ description: "Output image size, e.g. '1024x1024'. Defaults to '1024x1024'."
60755
+ },
60756
+ {
60757
+ name: "steps",
60758
+ type: "number",
60759
+ required: false,
60760
+ description: "Diffusion step count."
60761
+ },
60762
+ {
60763
+ name: "sourcePath",
60764
+ type: "string",
60765
+ required: false,
60766
+ description: "Path to the source image to edit; REQUIRED for 'kontext'."
60767
+ },
60768
+ {
60769
+ name: "outDir",
60770
+ type: "string",
60771
+ required: true,
60772
+ description: "Output directory the generated PNG is written under."
60773
+ }
60774
+ ],
60775
+ responseShape: {
60776
+ outPath: "string",
60777
+ model: "string",
60778
+ prompt: "string",
60779
+ seed: "number | null",
60780
+ size: "string",
60781
+ sourcePath: "string | null",
60782
+ elapsedMs: "number"
60783
+ }
60437
60784
  }
60438
60785
  ]
60439
60786
  }
@@ -60455,7 +60802,7 @@ var integrators_registry_default = {
60455
60802
  // src/patterns/component-mapping.json
60456
60803
  var component_mapping_default = {
60457
60804
  version: "1.0.0",
60458
- exportedAt: "2026-09-10T08:51:20.514Z",
60805
+ exportedAt: "2026-09-12T07:27:39.835Z",
60459
60806
  mappings: {
60460
60807
  "page-header": {
60461
60808
  component: "PageHeader",
@@ -61905,7 +62252,7 @@ var component_mapping_default = {
61905
62252
  // src/patterns/event-contracts.json
61906
62253
  var event_contracts_default = {
61907
62254
  version: "1.0.0",
61908
- exportedAt: "2026-09-10T08:51:20.514Z",
62255
+ exportedAt: "2026-09-12T07:27:39.835Z",
61909
62256
  contracts: {
61910
62257
  form: {
61911
62258
  emits: [
@@ -68758,6 +69105,7 @@ var en_default = {
68758
69105
  location: "location",
68759
69106
  max: "max",
68760
69107
  maxAttempts: "maxAttempts",
69108
+ mergedFrom: "mergedFrom",
68761
69109
  min: "min",
68762
69110
  motion: "motion",
68763
69111
  mounts: "mounts",
@@ -68782,6 +69130,7 @@ var en_default = {
68782
69130
  patternPath: "patternPath",
68783
69131
  payload: "payload",
68784
69132
  payloadEntity: "payloadEntity",
69133
+ payloadFor: "payloadFor",
68785
69134
  payloadMapping: "payloadMapping",
68786
69135
  payloadSchema: "payloadSchema",
68787
69136
  persistence: "persistence",
@@ -69191,6 +69540,7 @@ var ar_default = {
69191
69540
  location: "\u0645\u0648\u0642\u0639",
69192
69541
  max: "\u0623\u0642\u0635\u0649",
69193
69542
  maxAttempts: "\u0623\u0642\u0635\u0649_\u0639\u062F\u062F_\u0645\u062D\u0627\u0648\u0644\u0627\u062A",
69543
+ mergedFrom: "\u0645\u062F\u0645\u062C_\u0645\u0646",
69194
69544
  min: "\u0623\u062F\u0646\u0649",
69195
69545
  motion: "\u062D\u0631\u0643\u0629",
69196
69546
  mounts: "\u062A\u0631\u0643\u064A\u0628\u0627\u062A",
@@ -69215,6 +69565,7 @@ var ar_default = {
69215
69565
  patternPath: "\u0645\u0633\u0627\u0631_\u0627\u0644\u0646\u0645\u0637",
69216
69566
  payload: "\u062D\u0645\u0648\u0644\u0629",
69217
69567
  payloadEntity: "\u0643\u064A\u0627\u0646_\u0627\u0644\u062D\u0645\u0648\u0644\u0629",
69568
+ payloadFor: "\u062D\u0645\u0648\u0644\u0629_\u0644\u0623\u062C\u0644",
69218
69569
  payloadMapping: "\u062A\u062E\u0637\u064A\u0637_\u0627\u0644\u062D\u0645\u0648\u0644\u0629",
69219
69570
  payloadSchema: "\u0645\u062E\u0637\u0637_\u0627\u0644\u062D\u0645\u0648\u0644\u0629",
69220
69571
  persistence: "\u0627\u0633\u062A\u0645\u0631\u0627\u0631\u064A\u0629",
@@ -69624,6 +69975,7 @@ var sl_default = {
69624
69975
  location: "lokacija",
69625
69976
  max: "najvec",
69626
69977
  maxAttempts: "najvecPoskusov",
69978
+ mergedFrom: "zdruzenoIz",
69627
69979
  min: "najmanj",
69628
69980
  motion: "gibanje",
69629
69981
  mounts: "priklopi",
@@ -69648,6 +70000,7 @@ var sl_default = {
69648
70000
  patternPath: "potVzorca",
69649
70001
  payload: "podatki",
69650
70002
  payloadEntity: "podatkiEntiteta",
70003
+ payloadFor: "podatkiZa",
69651
70004
  payloadMapping: "podatkiPreslikava",
69652
70005
  payloadSchema: "podatkiShema",
69653
70006
  persistence: "trajnost",