@almadar/core 10.90.0 → 10.92.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 (38) hide show
  1. package/dist/builders.d.ts +3 -3
  2. package/dist/builders.js +4 -2
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-7jQQxiIt.d.ts → effect-DGa2ixo7.d.ts} +13 -1
  5. package/dist/{entityAccess-CpHfCQA3.d.ts → entityAccess-CXennIKj.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +437 -101
  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 +8 -3
  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-BFortVj8.d.ts} +39 -10
  15. package/dist/index.d.ts +11 -72
  16. package/dist/index.js +829 -209
  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 +1570 -181
  24. package/dist/patterns/index.js +771 -109
  25. package/dist/patterns/index.js.map +1 -1
  26. package/dist/patterns/integrators-registry.json +333 -6
  27. package/dist/patterns/patterns-registry.json +436 -101
  28. package/dist/patterns/registry.json +436 -101
  29. package/dist/patterns/services-registry.json +400 -68
  30. package/dist/{schema-C52juBr8.d.ts → schema-DIL07Bmv.d.ts} +25 -25
  31. package/dist/state-machine/index.js +19 -4
  32. package/dist/state-machine/index.js.map +1 -1
  33. package/dist/{trait-CFiL1YUN.d.ts → trait-DHb48lyx.d.ts} +10 -1
  34. package/dist/types/index.d.ts +5 -5
  35. package/dist/types/index.js +32 -3
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/{types-BgC8ETnl.d.ts → types-F5EPwMor.d.ts} +2 -2
  38. package/package.json +1 -1
@@ -929,6 +929,7 @@ var patterns_registry_default = {
929
929
  tier: "organisms",
930
930
  family: "core",
931
931
  description: "Data table with columns and sorting",
932
+ fieldsContract: "display",
932
933
  suggestedFor: [
933
934
  "data-dense views",
934
935
  "comparisons",
@@ -1397,6 +1398,48 @@ var patterns_registry_default = {
1397
1398
  "card-rows"
1398
1399
  ],
1399
1400
  default: "dense"
1401
+ },
1402
+ relationsData: {
1403
+ types: [
1404
+ "object"
1405
+ ],
1406
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
1407
+ mapValue: {
1408
+ types: [
1409
+ "array"
1410
+ ],
1411
+ items: {
1412
+ types: [
1413
+ "object"
1414
+ ],
1415
+ properties: {
1416
+ value: {
1417
+ types: [
1418
+ "string"
1419
+ ]
1420
+ },
1421
+ label: {
1422
+ types: [
1423
+ "string"
1424
+ ]
1425
+ },
1426
+ description: {
1427
+ types: [
1428
+ "string"
1429
+ ]
1430
+ },
1431
+ disabled: {
1432
+ types: [
1433
+ "boolean"
1434
+ ]
1435
+ }
1436
+ },
1437
+ required: [
1438
+ "value",
1439
+ "label"
1440
+ ]
1441
+ }
1442
+ }
1400
1443
  }
1401
1444
  }
1402
1445
  },
@@ -1627,7 +1670,6 @@ var patterns_registry_default = {
1627
1670
  "function"
1628
1671
  ],
1629
1672
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
1630
- kind: "callback",
1631
1673
  callbackArgs: [
1632
1674
  {
1633
1675
  name: "item",
@@ -5221,7 +5263,10 @@ var patterns_registry_default = {
5221
5263
  "1:1",
5222
5264
  "16:9",
5223
5265
  "5:7",
5224
- "8:1"
5266
+ "8:1",
5267
+ "4:1",
5268
+ "5:3",
5269
+ "1:2"
5225
5270
  ]
5226
5271
  },
5227
5272
  atlas: {
@@ -5381,7 +5426,10 @@ var patterns_registry_default = {
5381
5426
  "1:1",
5382
5427
  "16:9",
5383
5428
  "5:7",
5384
- "8:1"
5429
+ "8:1",
5430
+ "4:1",
5431
+ "5:3",
5432
+ "1:2"
5385
5433
  ]
5386
5434
  },
5387
5435
  atlas: {
@@ -8415,6 +8463,7 @@ var patterns_registry_default = {
8415
8463
  button: {
8416
8464
  type: "button",
8417
8465
  category: "component",
8466
+ sourceFile: "components/core/atoms/Button.tsx",
8418
8467
  tier: "atoms",
8419
8468
  family: "core",
8420
8469
  description: "Clickable button that emits events",
@@ -8559,7 +8608,10 @@ var patterns_registry_default = {
8559
8608
  "1:1",
8560
8609
  "16:9",
8561
8610
  "5:7",
8562
- "8:1"
8611
+ "8:1",
8612
+ "4:1",
8613
+ "5:3",
8614
+ "1:2"
8563
8615
  ]
8564
8616
  },
8565
8617
  atlas: {
@@ -8601,7 +8653,8 @@ var patterns_registry_default = {
8601
8653
  "object"
8602
8654
  ],
8603
8655
  description: "Payload to include with the action event",
8604
- payloadFor: "action"
8656
+ payloadFor: "action",
8657
+ eventPayloadBrand: true
8605
8658
  },
8606
8659
  label: {
8607
8660
  types: [
@@ -8626,6 +8679,7 @@ var patterns_registry_default = {
8626
8679
  badge: {
8627
8680
  type: "badge",
8628
8681
  category: "component",
8682
+ sourceFile: "components/core/atoms/Badge.tsx",
8629
8683
  tier: "atoms",
8630
8684
  family: "core",
8631
8685
  description: "Small label for status or count",
@@ -8757,7 +8811,10 @@ var patterns_registry_default = {
8757
8811
  "1:1",
8758
8812
  "16:9",
8759
8813
  "5:7",
8760
- "8:1"
8814
+ "8:1",
8815
+ "4:1",
8816
+ "5:3",
8817
+ "1:2"
8761
8818
  ]
8762
8819
  },
8763
8820
  atlas: {
@@ -9257,6 +9314,7 @@ var patterns_registry_default = {
9257
9314
  input: {
9258
9315
  type: "input",
9259
9316
  category: "component",
9317
+ sourceFile: "components/core/atoms/Input.tsx",
9260
9318
  tier: "atoms",
9261
9319
  family: "core",
9262
9320
  description: "Text input field",
@@ -9384,9 +9442,7 @@ var patterns_registry_default = {
9384
9442
  "function",
9385
9443
  "string"
9386
9444
  ],
9387
- description: "Callback or declarative event key when clear button is clicked",
9388
- kind: "event-ref",
9389
- emitPayloadSchema: []
9445
+ description: "Callback or declarative event key when clear button is clicked"
9390
9446
  },
9391
9447
  options: {
9392
9448
  types: [
@@ -9431,16 +9487,9 @@ var patterns_registry_default = {
9431
9487
  kind: "event-ref",
9432
9488
  emitPayloadSchema: [
9433
9489
  {
9434
- name: "value",
9435
- type: "string",
9436
- required: true,
9437
- typeWhen: [
9438
- {
9439
- knob: "inputType",
9440
- equals: "number",
9441
- type: "number"
9442
- }
9443
- ]
9490
+ name: "_payload",
9491
+ type: "object",
9492
+ required: false
9444
9493
  }
9445
9494
  ]
9446
9495
  }
@@ -9510,6 +9559,7 @@ var patterns_registry_default = {
9510
9559
  select: {
9511
9560
  type: "select",
9512
9561
  category: "component",
9562
+ sourceFile: "components/core/atoms/Select.tsx",
9513
9563
  tier: "atoms",
9514
9564
  family: "core",
9515
9565
  description: "Dropdown select input",
@@ -9699,7 +9749,26 @@ var patterns_registry_default = {
9699
9749
  "function",
9700
9750
  "string"
9701
9751
  ],
9702
- 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."
9752
+ 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.",
9753
+ kind: "event-ref",
9754
+ emitPayloadSchema: [
9755
+ {
9756
+ name: "value",
9757
+ type: "string",
9758
+ required: true,
9759
+ schema: {
9760
+ types: [
9761
+ "string",
9762
+ "array"
9763
+ ],
9764
+ items: {
9765
+ types: [
9766
+ "string"
9767
+ ]
9768
+ }
9769
+ }
9770
+ }
9771
+ ]
9703
9772
  }
9704
9773
  }
9705
9774
  },
@@ -10646,6 +10715,7 @@ var patterns_registry_default = {
10646
10715
  "repeatable-form-section": {
10647
10716
  type: "repeatable-form-section",
10648
10717
  category: "form",
10718
+ sourceFile: "components/core/molecules/RepeatableFormSection.tsx",
10649
10719
  tier: "molecules",
10650
10720
  family: "core",
10651
10721
  description: "RepeatableFormSection \u2014 a form section that repeats a fixed group of fields, letting the user add or remove entries.",
@@ -10709,7 +10779,6 @@ var patterns_registry_default = {
10709
10779
  ],
10710
10780
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
10711
10781
  required: true,
10712
- kind: "callback",
10713
10782
  callbackArgs: [
10714
10783
  {
10715
10784
  name: "item",
@@ -12254,6 +12323,7 @@ var patterns_registry_default = {
12254
12323
  "input-group": {
12255
12324
  type: "input-group",
12256
12325
  category: "form",
12326
+ sourceFile: "components/core/molecules/InputGroup.tsx",
12257
12327
  tier: "molecules",
12258
12328
  family: "core",
12259
12329
  description: "InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.",
@@ -12374,9 +12444,7 @@ var patterns_registry_default = {
12374
12444
  "function",
12375
12445
  "string"
12376
12446
  ],
12377
- description: "Callback or declarative event key when clear button is clicked",
12378
- kind: "event-ref",
12379
- emitPayloadSchema: []
12447
+ description: "Callback or declarative event key when clear button is clicked"
12380
12448
  },
12381
12449
  options: {
12382
12450
  types: [
@@ -12420,16 +12488,9 @@ var patterns_registry_default = {
12420
12488
  kind: "event-ref",
12421
12489
  emitPayloadSchema: [
12422
12490
  {
12423
- name: "value",
12424
- type: "string",
12425
- required: true,
12426
- typeWhen: [
12427
- {
12428
- knob: "inputType",
12429
- equals: "number",
12430
- type: "number"
12431
- }
12432
- ]
12491
+ name: "_payload",
12492
+ type: "object",
12493
+ required: false
12433
12494
  }
12434
12495
  ]
12435
12496
  },
@@ -14729,6 +14790,7 @@ var patterns_registry_default = {
14729
14790
  "game-shell": {
14730
14791
  type: "game-shell",
14731
14792
  category: "game",
14793
+ sourceFile: "components/game/templates/GameShell.tsx",
14732
14794
  tier: "templates",
14733
14795
  family: "game",
14734
14796
  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>',
@@ -14854,7 +14916,10 @@ var patterns_registry_default = {
14854
14916
  "1:1",
14855
14917
  "16:9",
14856
14918
  "5:7",
14857
- "8:1"
14919
+ "8:1",
14920
+ "4:1",
14921
+ "5:3",
14922
+ "1:2"
14858
14923
  ]
14859
14924
  },
14860
14925
  atlas: {
@@ -14949,7 +15014,10 @@ var patterns_registry_default = {
14949
15014
  "1:1",
14950
15015
  "16:9",
14951
15016
  "5:7",
14952
- "8:1"
15017
+ "8:1",
15018
+ "4:1",
15019
+ "5:3",
15020
+ "1:2"
14953
15021
  ]
14954
15022
  },
14955
15023
  atlas: {
@@ -18306,6 +18374,7 @@ var patterns_registry_default = {
18306
18374
  "state-machine-view": {
18307
18375
  type: "state-machine-view",
18308
18376
  category: "display",
18377
+ sourceFile: "components/core/organisms/StateMachineView.tsx",
18309
18378
  tier: "organisms",
18310
18379
  family: "core",
18311
18380
  description: "StateMachineView component",
@@ -18373,7 +18442,6 @@ var patterns_registry_default = {
18373
18442
  "function"
18374
18443
  ],
18375
18444
  description: "Custom state node renderer \u2014 when provided, replaces the default circle nodes",
18376
- kind: "callback",
18377
18445
  callbackArgs: [
18378
18446
  {
18379
18447
  name: "state",
@@ -18757,6 +18825,7 @@ var patterns_registry_default = {
18757
18825
  "calendar-grid": {
18758
18826
  type: "calendar-grid",
18759
18827
  category: "display",
18828
+ sourceFile: "components/core/molecules/CalendarGrid.tsx",
18760
18829
  tier: "molecules",
18761
18830
  family: "core",
18762
18831
  description: "CalendarGrid component",
@@ -18894,7 +18963,8 @@ var patterns_registry_default = {
18894
18963
  "object"
18895
18964
  ],
18896
18965
  description: "Additional payload for long-press events",
18897
- payloadFor: "longPressEvent"
18966
+ payloadFor: "longPressEvent",
18967
+ eventPayloadBrand: true
18898
18968
  },
18899
18969
  swipeLeftEvent: {
18900
18970
  types: [
@@ -18956,7 +19026,6 @@ var patterns_registry_default = {
18956
19026
  "function"
18957
19027
  ],
18958
19028
  description: "Render function for one event chip's content. Receives the row and its index in the materialised events array. The grid keeps ownership of placement, colour and the click target; this replaces only what is drawn INSIDE the chip, so a host can show a time + instructor + badge stack instead of the default single label.",
18959
- kind: "callback",
18960
19029
  callbackArgs: [
18961
19030
  {
18962
19031
  name: "item",
@@ -18974,7 +19043,6 @@ var patterns_registry_default = {
18974
19043
  "function"
18975
19044
  ],
18976
19045
  description: 'Per-event render function (schema-level alias for the children render prop). In `.orb`: `["fn", "item", { pattern tree with @item.field bindings }]`. In `.lolo`: `renderItem: (fn item <Component \u2026={@item.field}/>)` \u2014 the same contract `data-list` / `data-grid` / `carousel` already use.',
18977
- kind: "callback",
18978
19046
  callbackArgs: [
18979
19047
  {
18980
19048
  name: "item",
@@ -19520,6 +19588,7 @@ var patterns_registry_default = {
19520
19588
  "progress-dots": {
19521
19589
  type: "progress-dots",
19522
19590
  category: "component",
19591
+ sourceFile: "components/core/molecules/ProgressDots.tsx",
19523
19592
  tier: "molecules",
19524
19593
  family: "core",
19525
19594
  description: "ProgressDots component",
@@ -19549,7 +19618,6 @@ var patterns_registry_default = {
19549
19618
  "function"
19550
19619
  ],
19551
19620
  description: "Custom state resolver per dot index",
19552
- kind: "callback",
19553
19621
  callbackArgs: [
19554
19622
  {
19555
19623
  name: "index",
@@ -19599,6 +19667,7 @@ var patterns_registry_default = {
19599
19667
  family: "core",
19600
19668
  description: "DataGrid \u2014 structured records grid rendering rows over configurable columns, with sort, select, and drag-reorder.",
19601
19669
  capabilities: "admin table, records grid, user list, CRUD list, manage-records view, spreadsheet-style data grid, sortable columns",
19670
+ fieldsContract: "display",
19602
19671
  suggestedFor: [
19603
19672
  "data",
19604
19673
  "grid",
@@ -20005,7 +20074,6 @@ var patterns_registry_default = {
20005
20074
  "function"
20006
20075
  ],
20007
20076
  description: "Render prop for custom per-card content. When provided, `fields` are ignored; `itemActions` render as a footer beneath the custom content.",
20008
- kind: "callback",
20009
20077
  callbackArgs: [
20010
20078
  {
20011
20079
  name: "item",
@@ -20023,7 +20091,6 @@ var patterns_registry_default = {
20023
20091
  "function"
20024
20092
  ],
20025
20093
  description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
20026
- kind: "callback",
20027
20094
  callbackArgs: [
20028
20095
  {
20029
20096
  name: "item",
@@ -20056,6 +20123,48 @@ var patterns_registry_default = {
20056
20123
  "card-rows"
20057
20124
  ],
20058
20125
  default: "dense"
20126
+ },
20127
+ relationsData: {
20128
+ types: [
20129
+ "object"
20130
+ ],
20131
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a field whose type is relation. Same contract DetailPanel takes.",
20132
+ mapValue: {
20133
+ types: [
20134
+ "array"
20135
+ ],
20136
+ items: {
20137
+ types: [
20138
+ "object"
20139
+ ],
20140
+ properties: {
20141
+ value: {
20142
+ types: [
20143
+ "string"
20144
+ ]
20145
+ },
20146
+ label: {
20147
+ types: [
20148
+ "string"
20149
+ ]
20150
+ },
20151
+ description: {
20152
+ types: [
20153
+ "string"
20154
+ ]
20155
+ },
20156
+ disabled: {
20157
+ types: [
20158
+ "boolean"
20159
+ ]
20160
+ }
20161
+ },
20162
+ required: [
20163
+ "value",
20164
+ "label"
20165
+ ]
20166
+ }
20167
+ }
20059
20168
  }
20060
20169
  }
20061
20170
  },
@@ -20066,6 +20175,7 @@ var patterns_registry_default = {
20066
20175
  tier: "molecules",
20067
20176
  family: "core",
20068
20177
  description: "DataList component",
20178
+ fieldsContract: "display",
20069
20179
  suggestedFor: [
20070
20180
  "data",
20071
20181
  "list",
@@ -20549,7 +20659,6 @@ var patterns_registry_default = {
20549
20659
  "function"
20550
20660
  ],
20551
20661
  description: "Render prop for custom per-item content. When provided, `fields` and `itemActions` are ignored.",
20552
- kind: "callback",
20553
20662
  callbackArgs: [
20554
20663
  {
20555
20664
  name: "item",
@@ -20567,7 +20676,6 @@ var patterns_registry_default = {
20567
20676
  "function"
20568
20677
  ],
20569
20678
  description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
20570
- kind: "callback",
20571
20679
  callbackArgs: [
20572
20680
  {
20573
20681
  name: "item",
@@ -20616,6 +20724,48 @@ var patterns_registry_default = {
20616
20724
  "card-rows"
20617
20725
  ],
20618
20726
  default: "dense"
20727
+ },
20728
+ relationsData: {
20729
+ types: [
20730
+ "object"
20731
+ ],
20732
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a field whose type is relation. Same contract DetailPanel takes.",
20733
+ mapValue: {
20734
+ types: [
20735
+ "array"
20736
+ ],
20737
+ items: {
20738
+ types: [
20739
+ "object"
20740
+ ],
20741
+ properties: {
20742
+ value: {
20743
+ types: [
20744
+ "string"
20745
+ ]
20746
+ },
20747
+ label: {
20748
+ types: [
20749
+ "string"
20750
+ ]
20751
+ },
20752
+ description: {
20753
+ types: [
20754
+ "string"
20755
+ ]
20756
+ },
20757
+ disabled: {
20758
+ types: [
20759
+ "boolean"
20760
+ ]
20761
+ }
20762
+ },
20763
+ required: [
20764
+ "value",
20765
+ "label"
20766
+ ]
20767
+ }
20768
+ }
20619
20769
  }
20620
20770
  }
20621
20771
  },
@@ -20926,6 +21076,7 @@ var patterns_registry_default = {
20926
21076
  "range-slider": {
20927
21077
  type: "range-slider",
20928
21078
  category: "component",
21079
+ sourceFile: "components/core/atoms/RangeSlider.tsx",
20929
21080
  tier: "atoms",
20930
21081
  family: "core",
20931
21082
  description: "RangeSlider component",
@@ -21028,7 +21179,8 @@ var patterns_registry_default = {
21028
21179
  "object"
21029
21180
  ],
21030
21181
  description: "Payload to include with the action event",
21031
- payloadFor: "action"
21182
+ payloadFor: "action",
21183
+ eventPayloadBrand: true
21032
21184
  },
21033
21185
  onChange: {
21034
21186
  types: [
@@ -21048,7 +21200,6 @@ var patterns_registry_default = {
21048
21200
  "function"
21049
21201
  ],
21050
21202
  description: "Format function for tooltip display",
21051
- kind: "callback",
21052
21203
  callbackArgs: [
21053
21204
  {
21054
21205
  name: "value",
@@ -21898,7 +22049,6 @@ var patterns_registry_default = {
21898
22049
  "function"
21899
22050
  ],
21900
22051
  description: "Render function for each slide. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
21901
- kind: "callback",
21902
22052
  callbackArgs: [
21903
22053
  {
21904
22054
  name: "item",
@@ -21938,7 +22088,6 @@ var patterns_registry_default = {
21938
22088
  "function"
21939
22089
  ],
21940
22090
  description: "Children-as-function fallback for renderItem (compiler compatibility)",
21941
- kind: "callback",
21942
22091
  callbackArgs: [
21943
22092
  {
21944
22093
  name: "item",
@@ -22096,6 +22245,7 @@ var patterns_registry_default = {
22096
22245
  "sortable-list": {
22097
22246
  type: "sortable-list",
22098
22247
  category: "display",
22248
+ sourceFile: "components/core/molecules/SortableList.tsx",
22099
22249
  tier: "molecules",
22100
22250
  family: "core",
22101
22251
  description: "SortableList \u2014 a drag-and-drop reorderable list of items.",
@@ -22123,7 +22273,6 @@ var patterns_registry_default = {
22123
22273
  ],
22124
22274
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
22125
22275
  required: true,
22126
- kind: "callback",
22127
22276
  callbackArgs: [
22128
22277
  {
22129
22278
  name: "item",
@@ -22167,7 +22316,8 @@ var patterns_registry_default = {
22167
22316
  "object"
22168
22317
  ],
22169
22318
  description: "reorderPayload prop",
22170
- payloadFor: "reorderEvent"
22319
+ payloadFor: "reorderEvent",
22320
+ eventPayloadBrand: true
22171
22321
  },
22172
22322
  dragHandlePosition: {
22173
22323
  types: [
@@ -29217,6 +29367,7 @@ var patterns_registry_default = {
29217
29367
  "choice-button": {
29218
29368
  type: "choice-button",
29219
29369
  category: "game",
29370
+ sourceFile: "components/game/atoms/ChoiceButton.tsx",
29220
29371
  tier: "atoms",
29221
29372
  family: "game",
29222
29373
  description: "ChoiceButton component",
@@ -29306,7 +29457,10 @@ var patterns_registry_default = {
29306
29457
  "1:1",
29307
29458
  "16:9",
29308
29459
  "5:7",
29309
- "8:1"
29460
+ "8:1",
29461
+ "4:1",
29462
+ "5:3",
29463
+ "1:2"
29310
29464
  ]
29311
29465
  },
29312
29466
  atlas: {
@@ -29396,6 +29550,7 @@ var patterns_registry_default = {
29396
29550
  "control-button": {
29397
29551
  type: "control-button",
29398
29552
  category: "game",
29553
+ sourceFile: "components/game/atoms/ControlButton.tsx",
29399
29554
  tier: "atoms",
29400
29555
  family: "game",
29401
29556
  description: "ControlButton component",
@@ -29471,7 +29626,10 @@ var patterns_registry_default = {
29471
29626
  "1:1",
29472
29627
  "16:9",
29473
29628
  "5:7",
29474
- "8:1"
29629
+ "8:1",
29630
+ "4:1",
29631
+ "5:3",
29632
+ "1:2"
29475
29633
  ]
29476
29634
  },
29477
29635
  atlas: {
@@ -29588,6 +29746,7 @@ var patterns_registry_default = {
29588
29746
  "dialogue-bubble": {
29589
29747
  type: "dialogue-bubble",
29590
29748
  category: "game",
29749
+ sourceFile: "components/game/atoms/DialogueBubble.tsx",
29591
29750
  tier: "atoms",
29592
29751
  family: "game",
29593
29752
  description: "DialogueBubble component",
@@ -29678,7 +29837,10 @@ var patterns_registry_default = {
29678
29837
  "1:1",
29679
29838
  "16:9",
29680
29839
  "5:7",
29681
- "8:1"
29840
+ "8:1",
29841
+ "4:1",
29842
+ "5:3",
29843
+ "1:2"
29682
29844
  ]
29683
29845
  },
29684
29846
  atlas: {
@@ -29749,6 +29911,7 @@ var patterns_registry_default = {
29749
29911
  "health-bar": {
29750
29912
  type: "health-bar",
29751
29913
  category: "game",
29914
+ sourceFile: "components/game/atoms/HealthBar.tsx",
29752
29915
  tier: "atoms",
29753
29916
  family: "game",
29754
29917
  description: "HealthBar component",
@@ -29897,7 +30060,10 @@ var patterns_registry_default = {
29897
30060
  "1:1",
29898
30061
  "16:9",
29899
30062
  "5:7",
29900
- "8:1"
30063
+ "8:1",
30064
+ "4:1",
30065
+ "5:3",
30066
+ "1:2"
29901
30067
  ]
29902
30068
  },
29903
30069
  atlas: {
@@ -29992,7 +30158,10 @@ var patterns_registry_default = {
29992
30158
  "1:1",
29993
30159
  "16:9",
29994
30160
  "5:7",
29995
- "8:1"
30161
+ "8:1",
30162
+ "4:1",
30163
+ "5:3",
30164
+ "1:2"
29996
30165
  ]
29997
30166
  },
29998
30167
  atlas: {
@@ -30027,6 +30196,7 @@ var patterns_registry_default = {
30027
30196
  "score-display": {
30028
30197
  type: "score-display",
30029
30198
  category: "game",
30199
+ sourceFile: "components/game/atoms/ScoreDisplay.tsx",
30030
30200
  tier: "atoms",
30031
30201
  family: "game",
30032
30202
  description: "ScoreDisplay component",
@@ -30102,7 +30272,10 @@ var patterns_registry_default = {
30102
30272
  "1:1",
30103
30273
  "16:9",
30104
30274
  "5:7",
30105
- "8:1"
30275
+ "8:1",
30276
+ "4:1",
30277
+ "5:3",
30278
+ "1:2"
30106
30279
  ]
30107
30280
  },
30108
30281
  atlas: {
@@ -30189,6 +30362,7 @@ var patterns_registry_default = {
30189
30362
  "timer-display": {
30190
30363
  type: "timer-display",
30191
30364
  category: "game",
30365
+ sourceFile: "components/game/atoms/TimerDisplay.tsx",
30192
30366
  tier: "atoms",
30193
30367
  family: "game",
30194
30368
  description: "TimerDisplay component",
@@ -30315,7 +30489,10 @@ var patterns_registry_default = {
30315
30489
  "1:1",
30316
30490
  "16:9",
30317
30491
  "5:7",
30318
- "8:1"
30492
+ "8:1",
30493
+ "4:1",
30494
+ "5:3",
30495
+ "1:2"
30319
30496
  ]
30320
30497
  },
30321
30498
  atlas: {
@@ -31624,6 +31801,7 @@ var patterns_registry_default = {
31624
31801
  "doc-search": {
31625
31802
  type: "doc-search",
31626
31803
  category: "filter",
31804
+ sourceFile: "components/core/molecules/DocSearch.tsx",
31627
31805
  tier: "molecules",
31628
31806
  family: "core",
31629
31807
  description: "DocSearch component",
@@ -31645,7 +31823,6 @@ var patterns_registry_default = {
31645
31823
  "function"
31646
31824
  ],
31647
31825
  description: "Callback invoked with the search query, returns results",
31648
- kind: "callback",
31649
31826
  callbackArgs: [
31650
31827
  {
31651
31828
  name: "query",
@@ -32585,6 +32762,7 @@ var patterns_registry_default = {
32585
32762
  "game-hud": {
32586
32763
  type: "game-hud",
32587
32764
  category: "game",
32765
+ sourceFile: "components/game/molecules/GameHud.tsx",
32588
32766
  tier: "molecules",
32589
32767
  family: "game",
32590
32768
  description: "GameHud component",
@@ -32675,7 +32853,10 @@ var patterns_registry_default = {
32675
32853
  "1:1",
32676
32854
  "16:9",
32677
32855
  "5:7",
32678
- "8:1"
32856
+ "8:1",
32857
+ "4:1",
32858
+ "5:3",
32859
+ "1:2"
32679
32860
  ]
32680
32861
  },
32681
32862
  atlas: {
@@ -32769,7 +32950,10 @@ var patterns_registry_default = {
32769
32950
  "1:1",
32770
32951
  "16:9",
32771
32952
  "5:7",
32772
- "8:1"
32953
+ "8:1",
32954
+ "4:1",
32955
+ "5:3",
32956
+ "1:2"
32773
32957
  ]
32774
32958
  },
32775
32959
  atlas: {
@@ -32926,7 +33110,10 @@ var patterns_registry_default = {
32926
33110
  "1:1",
32927
33111
  "16:9",
32928
33112
  "5:7",
32929
- "8:1"
33113
+ "8:1",
33114
+ "4:1",
33115
+ "5:3",
33116
+ "1:2"
32930
33117
  ]
32931
33118
  },
32932
33119
  atlas: {
@@ -33020,7 +33207,10 @@ var patterns_registry_default = {
33020
33207
  "1:1",
33021
33208
  "16:9",
33022
33209
  "5:7",
33023
- "8:1"
33210
+ "8:1",
33211
+ "4:1",
33212
+ "5:3",
33213
+ "1:2"
33024
33214
  ]
33025
33215
  },
33026
33216
  atlas: {
@@ -33209,7 +33399,10 @@ var patterns_registry_default = {
33209
33399
  "1:1",
33210
33400
  "16:9",
33211
33401
  "5:7",
33212
- "8:1"
33402
+ "8:1",
33403
+ "4:1",
33404
+ "5:3",
33405
+ "1:2"
33213
33406
  ]
33214
33407
  },
33215
33408
  atlas: {
@@ -33556,7 +33749,10 @@ var patterns_registry_default = {
33556
33749
  "1:1",
33557
33750
  "16:9",
33558
33751
  "5:7",
33559
- "8:1"
33752
+ "8:1",
33753
+ "4:1",
33754
+ "5:3",
33755
+ "1:2"
33560
33756
  ]
33561
33757
  },
33562
33758
  atlas: {
@@ -33597,6 +33793,7 @@ var patterns_registry_default = {
33597
33793
  "stat-badge": {
33598
33794
  type: "stat-badge",
33599
33795
  category: "game",
33796
+ sourceFile: "components/game/molecules/StatBadge.tsx",
33600
33797
  tier: "molecules",
33601
33798
  family: "game",
33602
33799
  description: "StatBadge component",
@@ -33672,7 +33869,10 @@ var patterns_registry_default = {
33672
33869
  "1:1",
33673
33870
  "16:9",
33674
33871
  "5:7",
33675
- "8:1"
33872
+ "8:1",
33873
+ "4:1",
33874
+ "5:3",
33875
+ "1:2"
33676
33876
  ]
33677
33877
  },
33678
33878
  atlas: {
@@ -33767,7 +33967,10 @@ var patterns_registry_default = {
33767
33967
  "1:1",
33768
33968
  "16:9",
33769
33969
  "5:7",
33770
- "8:1"
33970
+ "8:1",
33971
+ "4:1",
33972
+ "5:3",
33973
+ "1:2"
33771
33974
  ]
33772
33975
  },
33773
33976
  atlas: {
@@ -34293,6 +34496,7 @@ var patterns_registry_default = {
34293
34496
  "game-audio-toggle": {
34294
34497
  type: "game-audio-toggle",
34295
34498
  category: "game",
34499
+ sourceFile: "components/game/atoms/GameAudioToggle.tsx",
34296
34500
  tier: "atoms",
34297
34501
  family: "game",
34298
34502
  description: "GameAudioToggle component",
@@ -34424,7 +34628,10 @@ var patterns_registry_default = {
34424
34628
  "1:1",
34425
34629
  "16:9",
34426
34630
  "5:7",
34427
- "8:1"
34631
+ "8:1",
34632
+ "4:1",
34633
+ "5:3",
34634
+ "1:2"
34428
34635
  ]
34429
34636
  },
34430
34637
  atlas: {
@@ -34519,7 +34726,10 @@ var patterns_registry_default = {
34519
34726
  "1:1",
34520
34727
  "16:9",
34521
34728
  "5:7",
34522
- "8:1"
34729
+ "8:1",
34730
+ "4:1",
34731
+ "5:3",
34732
+ "1:2"
34523
34733
  ]
34524
34734
  },
34525
34735
  atlas: {
@@ -34568,6 +34778,7 @@ var patterns_registry_default = {
34568
34778
  "trait-slot": {
34569
34779
  type: "trait-slot",
34570
34780
  category: "game",
34781
+ sourceFile: "components/game/molecules/TraitSlot.tsx",
34571
34782
  tier: "molecules",
34572
34783
  family: "game",
34573
34784
  description: "Event Contract: Emits: UI:CLICK Emits: UI:REMOVE",
@@ -34680,7 +34891,10 @@ var patterns_registry_default = {
34680
34891
  "1:1",
34681
34892
  "16:9",
34682
34893
  "5:7",
34683
- "8:1"
34894
+ "8:1",
34895
+ "4:1",
34896
+ "5:3",
34897
+ "1:2"
34684
34898
  ]
34685
34899
  },
34686
34900
  atlas: {
@@ -34923,7 +35137,10 @@ var patterns_registry_default = {
34923
35137
  "1:1",
34924
35138
  "16:9",
34925
35139
  "5:7",
34926
- "8:1"
35140
+ "8:1",
35141
+ "4:1",
35142
+ "5:3",
35143
+ "1:2"
34927
35144
  ]
34928
35145
  },
34929
35146
  atlas: {
@@ -35100,7 +35317,10 @@ var patterns_registry_default = {
35100
35317
  "1:1",
35101
35318
  "16:9",
35102
35319
  "5:7",
35103
- "8:1"
35320
+ "8:1",
35321
+ "4:1",
35322
+ "5:3",
35323
+ "1:2"
35104
35324
  ]
35105
35325
  },
35106
35326
  atlas: {
@@ -35326,7 +35546,10 @@ var patterns_registry_default = {
35326
35546
  "1:1",
35327
35547
  "16:9",
35328
35548
  "5:7",
35329
- "8:1"
35549
+ "8:1",
35550
+ "4:1",
35551
+ "5:3",
35552
+ "1:2"
35330
35553
  ]
35331
35554
  },
35332
35555
  atlas: {
@@ -35521,6 +35744,7 @@ var patterns_registry_default = {
35521
35744
  "action-palette": {
35522
35745
  type: "action-palette",
35523
35746
  category: "game",
35747
+ sourceFile: "components/game/molecules/ActionPalette.tsx",
35524
35748
  tier: "molecules",
35525
35749
  family: "game",
35526
35750
  description: "ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.",
@@ -35631,7 +35855,10 @@ var patterns_registry_default = {
35631
35855
  "1:1",
35632
35856
  "16:9",
35633
35857
  "5:7",
35634
- "8:1"
35858
+ "8:1",
35859
+ "4:1",
35860
+ "5:3",
35861
+ "1:2"
35635
35862
  ]
35636
35863
  },
35637
35864
  atlas: {
@@ -35819,6 +36046,7 @@ var patterns_registry_default = {
35819
36046
  "action-tile": {
35820
36047
  type: "action-tile",
35821
36048
  category: "game",
36049
+ sourceFile: "components/game/molecules/ActionTile.tsx",
35822
36050
  tier: "molecules",
35823
36051
  family: "game",
35824
36052
  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.",
@@ -36031,7 +36259,10 @@ var patterns_registry_default = {
36031
36259
  "1:1",
36032
36260
  "16:9",
36033
36261
  "5:7",
36034
- "8:1"
36262
+ "8:1",
36263
+ "4:1",
36264
+ "5:3",
36265
+ "1:2"
36035
36266
  ]
36036
36267
  },
36037
36268
  atlas: {
@@ -36194,6 +36425,7 @@ var patterns_registry_default = {
36194
36425
  "sequence-bar": {
36195
36426
  type: "sequence-bar",
36196
36427
  category: "game",
36428
+ sourceFile: "components/game/molecules/SequenceBar.tsx",
36197
36429
  tier: "molecules",
36198
36430
  family: "game",
36199
36431
  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.",
@@ -36304,7 +36536,10 @@ var patterns_registry_default = {
36304
36536
  "1:1",
36305
36537
  "16:9",
36306
36538
  "5:7",
36307
- "8:1"
36539
+ "8:1",
36540
+ "4:1",
36541
+ "5:3",
36542
+ "1:2"
36308
36543
  ]
36309
36544
  },
36310
36545
  atlas: {
@@ -36532,7 +36767,10 @@ var patterns_registry_default = {
36532
36767
  "1:1",
36533
36768
  "16:9",
36534
36769
  "5:7",
36535
- "8:1"
36770
+ "8:1",
36771
+ "4:1",
36772
+ "5:3",
36773
+ "1:2"
36536
36774
  ]
36537
36775
  },
36538
36776
  atlas: {
@@ -37773,6 +38011,7 @@ var patterns_registry_default = {
37773
38011
  family: "core",
37774
38012
  description: "TableView \u2014 sortable, selectable data table rendering rows over configurable columns, with inline row actions and grouping.",
37775
38013
  capabilities: "admin console table, records list, CRUD data table, user list, manage-users grid, sortable columns, row selection with bulk actions, grouped list view",
38014
+ fieldsContract: "display",
37776
38015
  suggestedFor: [
37777
38016
  "table",
37778
38017
  "view",
@@ -38229,7 +38468,6 @@ var patterns_registry_default = {
38229
38468
  "function"
38230
38469
  ],
38231
38470
  description: "Custom per-row render. When provided, the whole row content is delegated to this function (columns are ignored for the body; the header still renders). Mirrors DataList's children render prop.",
38232
- kind: "callback",
38233
38471
  callbackArgs: [
38234
38472
  {
38235
38473
  name: "item",
@@ -38247,7 +38485,6 @@ var patterns_registry_default = {
38247
38485
  "function"
38248
38486
  ],
38249
38487
  description: 'Per-row render function (schema alias). In .orb: ["fn","item",{...}]. The compiler converts this to the children render prop. In .lolo, author the per-row renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
38250
- kind: "callback",
38251
38488
  callbackArgs: [
38252
38489
  {
38253
38490
  name: "item",
@@ -38273,6 +38510,48 @@ var patterns_registry_default = {
38273
38510
  "bordered"
38274
38511
  ],
38275
38512
  default: "dense"
38513
+ },
38514
+ relationsData: {
38515
+ types: [
38516
+ "object"
38517
+ ],
38518
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
38519
+ mapValue: {
38520
+ types: [
38521
+ "array"
38522
+ ],
38523
+ items: {
38524
+ types: [
38525
+ "object"
38526
+ ],
38527
+ properties: {
38528
+ value: {
38529
+ types: [
38530
+ "string"
38531
+ ]
38532
+ },
38533
+ label: {
38534
+ types: [
38535
+ "string"
38536
+ ]
38537
+ },
38538
+ description: {
38539
+ types: [
38540
+ "string"
38541
+ ]
38542
+ },
38543
+ disabled: {
38544
+ types: [
38545
+ "boolean"
38546
+ ]
38547
+ }
38548
+ },
38549
+ required: [
38550
+ "value",
38551
+ "label"
38552
+ ]
38553
+ }
38554
+ }
38276
38555
  }
38277
38556
  }
38278
38557
  },
@@ -38854,6 +39133,7 @@ var patterns_registry_default = {
38854
39133
  "code-runner-panel": {
38855
39134
  type: "code-runner-panel",
38856
39135
  category: "display",
39136
+ sourceFile: "components/core/organisms/CodeRunnerPanel.tsx",
38857
39137
  tier: "organisms",
38858
39138
  family: "core",
38859
39139
  description: "CodeRunnerPanel component",
@@ -38891,7 +39171,6 @@ var patterns_registry_default = {
38891
39171
  "function"
38892
39172
  ],
38893
39173
  description: "Simulate executing the code. Omit to render a read-only block. Real execution is a separate future track \u2014 this callback supplies deterministic simulated output for UI feedback.",
38894
- kind: "callback",
38895
39174
  callbackArgs: [
38896
39175
  {
38897
39176
  name: "code",
@@ -38918,6 +39197,7 @@ var patterns_registry_default = {
38918
39197
  "segment-renderer": {
38919
39198
  type: "segment-renderer",
38920
39199
  category: "display",
39200
+ sourceFile: "components/core/organisms/SegmentRenderer.tsx",
38921
39201
  tier: "organisms",
38922
39202
  family: "core",
38923
39203
  description: "SegmentRenderer component",
@@ -39009,7 +39289,6 @@ var patterns_registry_default = {
39009
39289
  "function"
39010
39290
  ],
39011
39291
  description: "Simulate executing runnable code blocks. Omit to render runnable blocks as read-only. Real execution is a future track.",
39012
- kind: "callback",
39013
39292
  callbackArgs: [
39014
39293
  {
39015
39294
  name: "code",
@@ -39027,7 +39306,6 @@ var patterns_registry_default = {
39027
39306
  "function"
39028
39307
  ],
39029
39308
  description: "Optional render slot for `visualization` segment types. When not provided, visualization segments are silently skipped. Callers can wire this to any custom component or orbital generator.",
39030
- kind: "callback",
39031
39309
  callbackArgs: [
39032
39310
  {
39033
39311
  name: "type",
@@ -39581,6 +39859,7 @@ var patterns_registry_default = {
39581
39859
  "canvas-2d": {
39582
39860
  type: "canvas-2d",
39583
39861
  category: "game",
39862
+ sourceFile: "components/game/molecules/Canvas2D.tsx",
39584
39863
  tier: "molecules",
39585
39864
  family: "game",
39586
39865
  description: "Canvas2D component",
@@ -39727,7 +40006,10 @@ var patterns_registry_default = {
39727
40006
  "1:1",
39728
40007
  "16:9",
39729
40008
  "5:7",
39730
- "8:1"
40009
+ "8:1",
40010
+ "4:1",
40011
+ "5:3",
40012
+ "1:2"
39731
40013
  ]
39732
40014
  },
39733
40015
  atlas: {
@@ -39822,10 +40104,12 @@ var patterns_registry_default = {
39822
40104
  "object"
39823
40105
  ],
39824
40106
  description: "Maps a keydown `e.code` \u2192 the board's SEMANTIC event (device-agnostic input).",
40107
+ kind: "event-map",
39825
40108
  mapValue: {
39826
40109
  types: [
39827
40110
  "string"
39828
- ]
40111
+ ],
40112
+ kind: "event"
39829
40113
  }
39830
40114
  },
39831
40115
  keyUpMap: {
@@ -39833,10 +40117,12 @@ var patterns_registry_default = {
39833
40117
  "object"
39834
40118
  ],
39835
40119
  description: "Maps a keyup `e.code` \u2192 the board's SEMANTIC event.",
40120
+ kind: "event-map",
39836
40121
  mapValue: {
39837
40122
  types: [
39838
40123
  "string"
39839
- ]
40124
+ ],
40125
+ kind: "event"
39840
40126
  }
39841
40127
  },
39842
40128
  editable: {
@@ -40039,6 +40325,7 @@ var patterns_registry_default = {
40039
40325
  "control-grid": {
40040
40326
  type: "control-grid",
40041
40327
  category: "game",
40328
+ sourceFile: "components/game/molecules/ControlGrid.tsx",
40042
40329
  tier: "molecules",
40043
40330
  family: "game",
40044
40331
  description: "ControlGrid component",
@@ -40150,7 +40437,10 @@ var patterns_registry_default = {
40150
40437
  "1:1",
40151
40438
  "16:9",
40152
40439
  "5:7",
40153
- "8:1"
40440
+ "8:1",
40441
+ "4:1",
40442
+ "5:3",
40443
+ "1:2"
40154
40444
  ]
40155
40445
  },
40156
40446
  atlas: {
@@ -40293,10 +40583,12 @@ var patterns_registry_default = {
40293
40583
  "object"
40294
40584
  ],
40295
40585
  description: 'Per-direction PRESS \u2192 the board\'s SEMANTIC event (kind="dpad"), e.g. `{ left: "LEFT", right: "RIGHT", up: "JUMP" }`. Lets the d-pad emit the SAME intent events as the keyboard so the FSM stays device-agnostic.',
40586
+ kind: "event-map",
40296
40587
  mapValue: {
40297
40588
  types: [
40298
40589
  "string"
40299
- ]
40590
+ ],
40591
+ kind: "event"
40300
40592
  }
40301
40593
  },
40302
40594
  directionReleaseEvents: {
@@ -40304,10 +40596,12 @@ var patterns_registry_default = {
40304
40596
  "object"
40305
40597
  ],
40306
40598
  description: 'Per-direction RELEASE \u2192 semantic event, e.g. `{ left: "STOP", right: "STOP" }`. Omit a direction to ignore its release.',
40599
+ kind: "event-map",
40307
40600
  mapValue: {
40308
40601
  types: [
40309
40602
  "string"
40310
- ]
40603
+ ],
40604
+ kind: "event"
40311
40605
  }
40312
40606
  },
40313
40607
  directionAssets: {
@@ -40379,7 +40673,10 @@ var patterns_registry_default = {
40379
40673
  "1:1",
40380
40674
  "16:9",
40381
40675
  "5:7",
40382
- "8:1"
40676
+ "8:1",
40677
+ "4:1",
40678
+ "5:3",
40679
+ "1:2"
40383
40680
  ]
40384
40681
  },
40385
40682
  atlas: {
@@ -40450,6 +40747,7 @@ var patterns_registry_default = {
40450
40747
  "game-icon": {
40451
40748
  type: "game-icon",
40452
40749
  category: "game",
40750
+ sourceFile: "components/core/atoms/GameIcon.tsx",
40453
40751
  tier: "atoms",
40454
40752
  family: "core",
40455
40753
  description: "GameIcon component",
@@ -40525,7 +40823,10 @@ var patterns_registry_default = {
40525
40823
  "1:1",
40526
40824
  "16:9",
40527
40825
  "5:7",
40528
- "8:1"
40826
+ "8:1",
40827
+ "4:1",
40828
+ "5:3",
40829
+ "1:2"
40529
40830
  ]
40530
40831
  },
40531
40832
  atlas: {
@@ -44249,6 +44550,7 @@ var patterns_registry_default = {
44249
44550
  "math-canvas": {
44250
44551
  type: "math-canvas",
44251
44552
  category: "learning",
44553
+ sourceFile: "components/learning/molecules/MathCanvas.tsx",
44252
44554
  tier: "molecules",
44253
44555
  family: "learning",
44254
44556
  description: "MathCanvas component",
@@ -45280,10 +45582,12 @@ var patterns_registry_default = {
45280
45582
  "object"
45281
45583
  ],
45282
45584
  description: "Maps a keydown `e.code` \u2192 the board's SEMANTIC event (device-agnostic input), emitted as `UI:{event}` \u2014 same contract as the game canvas keyMap.",
45585
+ kind: "event-map",
45283
45586
  mapValue: {
45284
45587
  types: [
45285
45588
  "string"
45286
- ]
45589
+ ],
45590
+ kind: "event"
45287
45591
  }
45288
45592
  },
45289
45593
  keyUpMap: {
@@ -45291,10 +45595,12 @@ var patterns_registry_default = {
45291
45595
  "object"
45292
45596
  ],
45293
45597
  description: "Maps a keyup `e.code` \u2192 the board's SEMANTIC event.",
45598
+ kind: "event-map",
45294
45599
  mapValue: {
45295
45600
  types: [
45296
45601
  "string"
45297
- ]
45602
+ ],
45603
+ kind: "event"
45298
45604
  }
45299
45605
  },
45300
45606
  isLoading: {
@@ -48823,6 +49129,7 @@ var patterns_registry_default = {
48823
49129
  "draw-sprite": {
48824
49130
  type: "draw-sprite",
48825
49131
  category: "game",
49132
+ sourceFile: "components/game/atoms/DrawSprite.tsx",
48826
49133
  tier: "atoms",
48827
49134
  family: "game",
48828
49135
  description: "DrawSprite component",
@@ -48944,7 +49251,10 @@ var patterns_registry_default = {
48944
49251
  "1:1",
48945
49252
  "16:9",
48946
49253
  "5:7",
48947
- "8:1"
49254
+ "8:1",
49255
+ "4:1",
49256
+ "5:3",
49257
+ "1:2"
48948
49258
  ]
48949
49259
  },
48950
49260
  atlas: {
@@ -49928,6 +50238,7 @@ var patterns_registry_default = {
49928
50238
  "draw-sprite-layer": {
49929
50239
  type: "draw-sprite-layer",
49930
50240
  category: "game",
50241
+ sourceFile: "components/game/molecules/DrawSpriteLayer.tsx",
49931
50242
  tier: "molecules",
49932
50243
  family: "game",
49933
50244
  description: "DrawSpriteLayer component",
@@ -50070,7 +50381,10 @@ var patterns_registry_default = {
50070
50381
  "1:1",
50071
50382
  "16:9",
50072
50383
  "5:7",
50073
- "8:1"
50384
+ "8:1",
50385
+ "4:1",
50386
+ "5:3",
50387
+ "1:2"
50074
50388
  ]
50075
50389
  },
50076
50390
  atlas: {
@@ -50376,6 +50690,7 @@ var patterns_registry_default = {
50376
50690
  canvas: {
50377
50691
  type: "canvas",
50378
50692
  category: "game",
50693
+ sourceFile: "components/game/molecules/Canvas.tsx",
50379
50694
  tier: "molecules",
50380
50695
  family: "game",
50381
50696
  description: "Canvas component",
@@ -50615,7 +50930,10 @@ var patterns_registry_default = {
50615
50930
  "1:1",
50616
50931
  "16:9",
50617
50932
  "5:7",
50618
- "8:1"
50933
+ "8:1",
50934
+ "4:1",
50935
+ "5:3",
50936
+ "1:2"
50619
50937
  ]
50620
50938
  },
50621
50939
  atlas: {
@@ -51032,10 +51350,12 @@ var patterns_registry_default = {
51032
51350
  "object"
51033
51351
  ],
51034
51352
  description: "keyMap prop",
51353
+ kind: "event-map",
51035
51354
  mapValue: {
51036
51355
  types: [
51037
51356
  "string"
51038
- ]
51357
+ ],
51358
+ kind: "event"
51039
51359
  }
51040
51360
  },
51041
51361
  keyUpMap: {
@@ -51043,10 +51363,12 @@ var patterns_registry_default = {
51043
51363
  "object"
51044
51364
  ],
51045
51365
  description: "keyUpMap prop",
51366
+ kind: "event-map",
51046
51367
  mapValue: {
51047
51368
  types: [
51048
51369
  "string"
51049
- ]
51370
+ ],
51371
+ kind: "event"
51050
51372
  }
51051
51373
  },
51052
51374
  editable: {
@@ -53048,6 +53370,7 @@ var patterns_registry_default = {
53048
53370
  "draw-fx-layer": {
53049
53371
  type: "draw-fx-layer",
53050
53372
  category: "game",
53373
+ sourceFile: "components/game/molecules/DrawFxLayer.tsx",
53051
53374
  tier: "molecules",
53052
53375
  family: "game",
53053
53376
  description: "DrawFxLayer component",
@@ -53423,7 +53746,10 @@ var patterns_registry_default = {
53423
53746
  "1:1",
53424
53747
  "16:9",
53425
53748
  "5:7",
53426
- "8:1"
53749
+ "8:1",
53750
+ "4:1",
53751
+ "5:3",
53752
+ "1:2"
53427
53753
  ]
53428
53754
  },
53429
53755
  atlas: {
@@ -54841,7 +55167,10 @@ var patterns_registry_default = {
54841
55167
  "1:1",
54842
55168
  "16:9",
54843
55169
  "5:7",
54844
- "8:1"
55170
+ "8:1",
55171
+ "4:1",
55172
+ "5:3",
55173
+ "1:2"
54845
55174
  ]
54846
55175
  },
54847
55176
  atlas: {
@@ -54973,7 +55302,7 @@ var patterns_registry_default = {
54973
55302
  types: [
54974
55303
  "array"
54975
55304
  ],
54976
- description: "The skeleton (bind pose; FK chain via `parent` names).",
55305
+ description: "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
54977
55306
  required: true,
54978
55307
  items: {
54979
55308
  types: [
@@ -55056,6 +55385,12 @@ var patterns_registry_default = {
55056
55385
  "frames"
55057
55386
  ]
55058
55387
  },
55388
+ clipName: {
55389
+ types: [
55390
+ "string"
55391
+ ],
55392
+ description: "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip."
55393
+ },
55059
55394
  frame: {
55060
55395
  types: [
55061
55396
  "number"
@@ -55260,7 +55595,8 @@ var EntityFieldSchema = z.lazy(() => {
55260
55595
  properties: z.record(EntityFieldSchema).optional(),
55261
55596
  intrinsic: z.boolean().optional(),
55262
55597
  description: z.string().optional(),
55263
- synonyms: z.string().optional()
55598
+ synonyms: z.string().optional(),
55599
+ mergedFrom: z.string().optional()
55264
55600
  };
55265
55601
  function scalarVariant(t) {
55266
55602
  return z.object({