@almadar/core 10.57.0 → 10.59.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 (34) hide show
  1. package/dist/builders.d.ts +3 -3
  2. package/dist/builders.js +5 -2
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-D-_fm4No.d.ts → effect-CK9fn56C.d.ts} +40 -14
  5. package/dist/{entityAccess-kTNoti84.d.ts → entityAccess-pgfWacod.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +2 -0
  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 +5 -2
  11. package/dist/factory-runtime/index.js.map +1 -1
  12. package/dist/index-DMUBu17o.d.ts +3178 -0
  13. package/dist/index.d.ts +11 -98
  14. package/dist/index.js +925 -67
  15. package/dist/index.js.map +1 -1
  16. package/dist/mock/index.d.ts +4 -4
  17. package/dist/mock/index.js +8 -2
  18. package/dist/mock/index.js.map +1 -1
  19. package/dist/patterns/component-mapping.json +1 -1
  20. package/dist/patterns/event-contracts.json +1 -1
  21. package/dist/patterns/index.d.ts +1860 -80
  22. package/dist/patterns/index.js +913 -64
  23. package/dist/patterns/index.js.map +1 -1
  24. package/dist/patterns/integrators-registry.json +42 -0
  25. package/dist/patterns/patterns-registry.json +869 -62
  26. package/dist/patterns/registry.json +869 -62
  27. package/dist/patterns/services-registry.json +141 -253
  28. package/dist/{schema-CrUFqWXN.d.ts → schema-CVTOy4at.d.ts} +506 -506
  29. package/dist/{trait-A4_OlY_l.d.ts → trait-BjPraUgs.d.ts} +2 -2
  30. package/dist/types/index.d.ts +8 -3095
  31. package/dist/types/index.js +10 -3
  32. package/dist/types/index.js.map +1 -1
  33. package/dist/{types-AHD31Gn-.d.ts → types-Dopw3s2O.d.ts} +3 -3
  34. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -178,7 +178,8 @@ var FIELD_TYPES = [
178
178
  "relation",
179
179
  "trait",
180
180
  "slot",
181
- "pattern"
181
+ "pattern",
182
+ "node"
182
183
  ];
183
184
  var SEMANTIC_STRING_TYPES = ["email", "url", "phone", "uuid", "image"];
184
185
  function isSemanticStringType(type) {
@@ -297,6 +298,7 @@ var EntityFieldSchema = z.lazy(() => {
297
298
  scalarVariant("trait"),
298
299
  scalarVariant("slot"),
299
300
  scalarVariant("pattern"),
301
+ scalarVariant("node"),
300
302
  // Enum variant — REQUIRES non-empty values.
301
303
  z.object({
302
304
  ...baseFieldShape,
@@ -439,7 +441,8 @@ var CameraSchema = z.object({
439
441
  zoom: z.number().optional(),
440
442
  fov: z.number().optional(),
441
443
  mode: CameraModeSchema.optional(),
442
- azimuth: z.number().optional()
444
+ azimuth: z.number().optional(),
445
+ elevation: z.number().optional()
443
446
  });
444
447
  function createAssetKey(role, category) {
445
448
  return `${role}:${category}`;
@@ -2217,7 +2220,7 @@ function getInteractionModelForDomain(domain) {
2217
2220
  // src/patterns/patterns-registry.json
2218
2221
  var patterns_registry_default = {
2219
2222
  version: "1.0.0",
2220
- exportedAt: "2026-08-07T09:57:06.909Z",
2223
+ exportedAt: "2026-08-17T13:06:21.152Z",
2221
2224
  patterns: {
2222
2225
  "entity-table": {
2223
2226
  type: "entity-table",
@@ -2322,7 +2325,12 @@ var patterns_registry_default = {
2322
2325
  types: [
2323
2326
  "object"
2324
2327
  ],
2325
- description: "Active filters"
2328
+ description: "Active filters",
2329
+ mapValue: {
2330
+ types: [
2331
+ "string"
2332
+ ]
2333
+ }
2326
2334
  },
2327
2335
  selectedIds: {
2328
2336
  types: [
@@ -2797,7 +2805,12 @@ var patterns_registry_default = {
2797
2805
  types: [
2798
2806
  "object"
2799
2807
  ],
2800
- description: "Active filters"
2808
+ description: "Active filters",
2809
+ mapValue: {
2810
+ types: [
2811
+ "string"
2812
+ ]
2813
+ }
2801
2814
  },
2802
2815
  selectedIds: {
2803
2816
  types: [
@@ -3184,7 +3197,12 @@ var patterns_registry_default = {
3184
3197
  types: [
3185
3198
  "object"
3186
3199
  ],
3187
- description: "Active filters"
3200
+ description: "Active filters",
3201
+ mapValue: {
3202
+ types: [
3203
+ "string"
3204
+ ]
3205
+ }
3188
3206
  },
3189
3207
  selectedIds: {
3190
3208
  types: [
@@ -3533,7 +3551,12 @@ var patterns_registry_default = {
3533
3551
  types: [
3534
3552
  "object"
3535
3553
  ],
3536
- description: "Active filters"
3554
+ description: "Active filters",
3555
+ mapValue: {
3556
+ types: [
3557
+ "string"
3558
+ ]
3559
+ }
3537
3560
  },
3538
3561
  selectedIds: {
3539
3562
  types: [
@@ -4293,7 +4316,18 @@ var patterns_registry_default = {
4293
4316
  types: [
4294
4317
  "object"
4295
4318
  ],
4296
- freeform: true
4319
+ properties: {
4320
+ enum: {
4321
+ types: [
4322
+ "array"
4323
+ ],
4324
+ items: {
4325
+ types: [
4326
+ "string"
4327
+ ]
4328
+ }
4329
+ }
4330
+ }
4297
4331
  },
4298
4332
  readonly: {
4299
4333
  types: [
@@ -4776,7 +4810,18 @@ var patterns_registry_default = {
4776
4810
  types: [
4777
4811
  "object"
4778
4812
  ],
4779
- freeform: true
4813
+ properties: {
4814
+ enum: {
4815
+ types: [
4816
+ "array"
4817
+ ],
4818
+ items: {
4819
+ types: [
4820
+ "string"
4821
+ ]
4822
+ }
4823
+ }
4824
+ }
4780
4825
  },
4781
4826
  readonly: {
4782
4827
  types: [
@@ -5080,7 +5125,18 @@ var patterns_registry_default = {
5080
5125
  types: [
5081
5126
  "object"
5082
5127
  ],
5083
- freeform: true
5128
+ properties: {
5129
+ enum: {
5130
+ types: [
5131
+ "array"
5132
+ ],
5133
+ items: {
5134
+ types: [
5135
+ "string"
5136
+ ]
5137
+ }
5138
+ }
5139
+ }
5084
5140
  },
5085
5141
  readonly: {
5086
5142
  types: [
@@ -5563,7 +5619,18 @@ var patterns_registry_default = {
5563
5619
  types: [
5564
5620
  "object"
5565
5621
  ],
5566
- freeform: true
5622
+ properties: {
5623
+ enum: {
5624
+ types: [
5625
+ "array"
5626
+ ],
5627
+ items: {
5628
+ types: [
5629
+ "string"
5630
+ ]
5631
+ }
5632
+ }
5633
+ }
5567
5634
  },
5568
5635
  readonly: {
5569
5636
  types: [
@@ -5787,7 +5854,9 @@ var patterns_registry_default = {
5787
5854
  "checkbox",
5788
5855
  "date",
5789
5856
  "daterange",
5790
- "date-range"
5857
+ "date-range",
5858
+ "numberrange",
5859
+ "number-range"
5791
5860
  ]
5792
5861
  },
5793
5862
  type: {
@@ -5801,7 +5870,9 @@ var patterns_registry_default = {
5801
5870
  "checkbox",
5802
5871
  "date",
5803
5872
  "daterange",
5804
- "date-range"
5873
+ "date-range",
5874
+ "numberrange",
5875
+ "number-range"
5805
5876
  ]
5806
5877
  },
5807
5878
  options: {
@@ -5813,6 +5884,21 @@ var patterns_registry_default = {
5813
5884
  "string"
5814
5885
  ]
5815
5886
  }
5887
+ },
5888
+ min: {
5889
+ types: [
5890
+ "number"
5891
+ ]
5892
+ },
5893
+ max: {
5894
+ types: [
5895
+ "number"
5896
+ ]
5897
+ },
5898
+ step: {
5899
+ types: [
5900
+ "number"
5901
+ ]
5816
5902
  }
5817
5903
  },
5818
5904
  required: [
@@ -8305,7 +8391,12 @@ var patterns_registry_default = {
8305
8391
  types: [
8306
8392
  "object"
8307
8393
  ],
8308
- description: "Active filters"
8394
+ description: "Active filters",
8395
+ mapValue: {
8396
+ types: [
8397
+ "string"
8398
+ ]
8399
+ }
8309
8400
  },
8310
8401
  selectedIds: {
8311
8402
  types: [
@@ -8803,7 +8894,12 @@ var patterns_registry_default = {
8803
8894
  types: [
8804
8895
  "object"
8805
8896
  ],
8806
- description: "Inline styles"
8897
+ description: "Inline styles",
8898
+ mapValue: {
8899
+ types: [
8900
+ "string"
8901
+ ]
8902
+ }
8807
8903
  },
8808
8904
  children: {
8809
8905
  types: [
@@ -8886,7 +8982,12 @@ var patterns_registry_default = {
8886
8982
  types: [
8887
8983
  "object"
8888
8984
  ],
8889
- description: "Inline styles"
8985
+ description: "Inline styles",
8986
+ mapValue: {
8987
+ types: [
8988
+ "string"
8989
+ ]
8990
+ }
8890
8991
  },
8891
8992
  children: {
8892
8993
  types: [
@@ -9647,7 +9748,12 @@ var patterns_registry_default = {
9647
9748
  types: [
9648
9749
  "object"
9649
9750
  ],
9650
- description: "Inline style"
9751
+ description: "Inline style",
9752
+ mapValue: {
9753
+ types: [
9754
+ "string"
9755
+ ]
9756
+ }
9651
9757
  }
9652
9758
  }
9653
9759
  },
@@ -11723,7 +11829,12 @@ var patterns_registry_default = {
11723
11829
  types: [
11724
11830
  "object"
11725
11831
  ],
11726
- description: "Inline styles"
11832
+ description: "Inline styles",
11833
+ mapValue: {
11834
+ types: [
11835
+ "string"
11836
+ ]
11837
+ }
11727
11838
  },
11728
11839
  children: {
11729
11840
  types: [
@@ -12078,7 +12189,12 @@ var patterns_registry_default = {
12078
12189
  types: [
12079
12190
  "object"
12080
12191
  ],
12081
- description: "Inline style"
12192
+ description: "Inline style",
12193
+ mapValue: {
12194
+ types: [
12195
+ "string"
12196
+ ]
12197
+ }
12082
12198
  },
12083
12199
  format: {
12084
12200
  types: [
@@ -12271,7 +12387,9 @@ var patterns_registry_default = {
12271
12387
  "checkbox",
12272
12388
  "date",
12273
12389
  "daterange",
12274
- "date-range"
12390
+ "date-range",
12391
+ "numberrange",
12392
+ "number-range"
12275
12393
  ]
12276
12394
  },
12277
12395
  type: {
@@ -12285,7 +12403,9 @@ var patterns_registry_default = {
12285
12403
  "checkbox",
12286
12404
  "date",
12287
12405
  "daterange",
12288
- "date-range"
12406
+ "date-range",
12407
+ "numberrange",
12408
+ "number-range"
12289
12409
  ]
12290
12410
  },
12291
12411
  options: {
@@ -12297,6 +12417,21 @@ var patterns_registry_default = {
12297
12417
  "string"
12298
12418
  ]
12299
12419
  }
12420
+ },
12421
+ min: {
12422
+ types: [
12423
+ "number"
12424
+ ]
12425
+ },
12426
+ max: {
12427
+ types: [
12428
+ "number"
12429
+ ]
12430
+ },
12431
+ step: {
12432
+ types: [
12433
+ "number"
12434
+ ]
12300
12435
  }
12301
12436
  },
12302
12437
  required: [
@@ -16303,7 +16438,12 @@ var patterns_registry_default = {
16303
16438
  types: [
16304
16439
  "object"
16305
16440
  ],
16306
- description: "Active filters"
16441
+ description: "Active filters",
16442
+ mapValue: {
16443
+ types: [
16444
+ "string"
16445
+ ]
16446
+ }
16307
16447
  },
16308
16448
  selectedIds: {
16309
16449
  types: [
@@ -18231,7 +18371,12 @@ var patterns_registry_default = {
18231
18371
  types: [
18232
18372
  "object"
18233
18373
  ],
18234
- description: "Active filters"
18374
+ description: "Active filters",
18375
+ mapValue: {
18376
+ types: [
18377
+ "string"
18378
+ ]
18379
+ }
18235
18380
  },
18236
18381
  selectedIds: {
18237
18382
  types: [
@@ -23766,7 +23911,12 @@ var patterns_registry_default = {
23766
23911
  types: [
23767
23912
  "object"
23768
23913
  ],
23769
- description: "Active filters"
23914
+ description: "Active filters",
23915
+ mapValue: {
23916
+ types: [
23917
+ "string"
23918
+ ]
23919
+ }
23770
23920
  },
23771
23921
  selectedIds: {
23772
23922
  types: [
@@ -23940,7 +24090,12 @@ var patterns_registry_default = {
23940
24090
  types: [
23941
24091
  "object"
23942
24092
  ],
23943
- description: "Active filters"
24093
+ description: "Active filters",
24094
+ mapValue: {
24095
+ types: [
24096
+ "string"
24097
+ ]
24098
+ }
23944
24099
  },
23945
24100
  selectedIds: {
23946
24101
  types: [
@@ -24121,7 +24276,12 @@ var patterns_registry_default = {
24121
24276
  types: [
24122
24277
  "object"
24123
24278
  ],
24124
- description: "Active filters"
24279
+ description: "Active filters",
24280
+ mapValue: {
24281
+ types: [
24282
+ "string"
24283
+ ]
24284
+ }
24125
24285
  },
24126
24286
  selectedIds: {
24127
24287
  types: [
@@ -24353,7 +24513,12 @@ var patterns_registry_default = {
24353
24513
  types: [
24354
24514
  "object"
24355
24515
  ],
24356
- description: "Active filters"
24516
+ description: "Active filters",
24517
+ mapValue: {
24518
+ types: [
24519
+ "string"
24520
+ ]
24521
+ }
24357
24522
  },
24358
24523
  selectedIds: {
24359
24524
  types: [
@@ -24542,7 +24707,12 @@ var patterns_registry_default = {
24542
24707
  types: [
24543
24708
  "object"
24544
24709
  ],
24545
- description: "Active filters"
24710
+ description: "Active filters",
24711
+ mapValue: {
24712
+ types: [
24713
+ "string"
24714
+ ]
24715
+ }
24546
24716
  },
24547
24717
  selectedIds: {
24548
24718
  types: [
@@ -24739,7 +24909,12 @@ var patterns_registry_default = {
24739
24909
  types: [
24740
24910
  "object"
24741
24911
  ],
24742
- description: "Active filters"
24912
+ description: "Active filters",
24913
+ mapValue: {
24914
+ types: [
24915
+ "string"
24916
+ ]
24917
+ }
24743
24918
  },
24744
24919
  selectedIds: {
24745
24920
  types: [
@@ -24895,7 +25070,12 @@ var patterns_registry_default = {
24895
25070
  types: [
24896
25071
  "object"
24897
25072
  ],
24898
- description: "Active filters"
25073
+ description: "Active filters",
25074
+ mapValue: {
25075
+ types: [
25076
+ "string"
25077
+ ]
25078
+ }
24899
25079
  },
24900
25080
  selectedIds: {
24901
25081
  types: [
@@ -25076,7 +25256,12 @@ var patterns_registry_default = {
25076
25256
  types: [
25077
25257
  "object"
25078
25258
  ],
25079
- description: "Active filters"
25259
+ description: "Active filters",
25260
+ mapValue: {
25261
+ types: [
25262
+ "string"
25263
+ ]
25264
+ }
25080
25265
  },
25081
25266
  selectedIds: {
25082
25267
  types: [
@@ -32549,7 +32734,12 @@ var patterns_registry_default = {
32549
32734
  types: [
32550
32735
  "object"
32551
32736
  ],
32552
- description: "Active filters"
32737
+ description: "Active filters",
32738
+ mapValue: {
32739
+ types: [
32740
+ "string"
32741
+ ]
32742
+ }
32553
32743
  },
32554
32744
  selectedIds: {
32555
32745
  types: [
@@ -33994,7 +34184,12 @@ var patterns_registry_default = {
33994
34184
  types: [
33995
34185
  "object"
33996
34186
  ],
33997
- description: "Active filters"
34187
+ description: "Active filters",
34188
+ mapValue: {
34189
+ types: [
34190
+ "string"
34191
+ ]
34192
+ }
33998
34193
  },
33999
34194
  selectedIds: {
34000
34195
  types: [
@@ -34732,7 +34927,12 @@ var patterns_registry_default = {
34732
34927
  types: [
34733
34928
  "object"
34734
34929
  ],
34735
- description: "Active filters"
34930
+ description: "Active filters",
34931
+ mapValue: {
34932
+ types: [
34933
+ "string"
34934
+ ]
34935
+ }
34736
34936
  },
34737
34937
  selectedIds: {
34738
34938
  types: [
@@ -36204,7 +36404,12 @@ var patterns_registry_default = {
36204
36404
  types: [
36205
36405
  "object"
36206
36406
  ],
36207
- description: "Active filters"
36407
+ description: "Active filters",
36408
+ mapValue: {
36409
+ types: [
36410
+ "string"
36411
+ ]
36412
+ }
36208
36413
  },
36209
36414
  selectedIds: {
36210
36415
  types: [
@@ -36706,7 +36911,34 @@ var patterns_registry_default = {
36706
36911
  types: [
36707
36912
  "object"
36708
36913
  ],
36709
- description: "User progress for restoring activation/reflection state"
36914
+ description: "User progress for restoring activation/reflection state",
36915
+ properties: {
36916
+ activationResponse: {
36917
+ types: [
36918
+ "string"
36919
+ ]
36920
+ },
36921
+ reflectionNotes: {
36922
+ types: [
36923
+ "array"
36924
+ ],
36925
+ items: {
36926
+ types: [
36927
+ "string"
36928
+ ]
36929
+ }
36930
+ },
36931
+ bloomAnswered: {
36932
+ types: [
36933
+ "object"
36934
+ ],
36935
+ mapValue: {
36936
+ types: [
36937
+ "boolean"
36938
+ ]
36939
+ }
36940
+ }
36941
+ }
36710
36942
  },
36711
36943
  onRunCodeSimulation: {
36712
36944
  types: [
@@ -36850,7 +37082,12 @@ var patterns_registry_default = {
36850
37082
  types: [
36851
37083
  "object"
36852
37084
  ],
36853
- description: "Active filters"
37085
+ description: "Active filters",
37086
+ mapValue: {
37087
+ types: [
37088
+ "string"
37089
+ ]
37090
+ }
36854
37091
  },
36855
37092
  selectedIds: {
36856
37093
  types: [
@@ -37005,7 +37242,12 @@ var patterns_registry_default = {
37005
37242
  types: [
37006
37243
  "object"
37007
37244
  ],
37008
- description: "Active filters"
37245
+ description: "Active filters",
37246
+ mapValue: {
37247
+ types: [
37248
+ "string"
37249
+ ]
37250
+ }
37009
37251
  },
37010
37252
  selectedIds: {
37011
37253
  types: [
@@ -38105,7 +38347,12 @@ var patterns_registry_default = {
38105
38347
  types: [
38106
38348
  "object"
38107
38349
  ],
38108
- description: "Inline styles"
38350
+ description: "Inline styles",
38351
+ mapValue: {
38352
+ types: [
38353
+ "string"
38354
+ ]
38355
+ }
38109
38356
  },
38110
38357
  children: {
38111
38358
  types: [
@@ -38270,7 +38517,12 @@ var patterns_registry_default = {
38270
38517
  types: [
38271
38518
  "object"
38272
38519
  ],
38273
- description: "Inline styles"
38520
+ description: "Inline styles",
38521
+ mapValue: {
38522
+ types: [
38523
+ "string"
38524
+ ]
38525
+ }
38274
38526
  },
38275
38527
  children: {
38276
38528
  types: [
@@ -38447,7 +38699,12 @@ var patterns_registry_default = {
38447
38699
  types: [
38448
38700
  "object"
38449
38701
  ],
38450
- description: "Active filters"
38702
+ description: "Active filters",
38703
+ mapValue: {
38704
+ types: [
38705
+ "string"
38706
+ ]
38707
+ }
38451
38708
  },
38452
38709
  selectedIds: {
38453
38710
  types: [
@@ -38873,6 +39130,36 @@ var patterns_registry_default = {
38873
39130
  ],
38874
39131
  description: "backgroundColor prop"
38875
39132
  },
39133
+ mode: {
39134
+ types: [
39135
+ "string"
39136
+ ],
39137
+ description: "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host.",
39138
+ enumValues: [
39139
+ "2d",
39140
+ "3d"
39141
+ ],
39142
+ default: "2d"
39143
+ },
39144
+ camera: {
39145
+ types: [
39146
+ "object"
39147
+ ],
39148
+ description: "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }).",
39149
+ freeform: true
39150
+ },
39151
+ lighting: {
39152
+ types: [
39153
+ "object"
39154
+ ],
39155
+ description: "3D only: scene light rig as data."
39156
+ },
39157
+ post: {
39158
+ types: [
39159
+ "object"
39160
+ ],
39161
+ description: "3D only: post-processing stack (bloom/vignette)."
39162
+ },
38876
39163
  nodes: {
38877
39164
  types: [
38878
39165
  "array"
@@ -38898,6 +39185,11 @@ var patterns_registry_default = {
38898
39185
  "number"
38899
39186
  ]
38900
39187
  },
39188
+ z: {
39189
+ types: [
39190
+ "number"
39191
+ ]
39192
+ },
38901
39193
  radius: {
38902
39194
  types: [
38903
39195
  "number"
@@ -38923,6 +39215,27 @@ var patterns_registry_default = {
38923
39215
  "molecule",
38924
39216
  "organism"
38925
39217
  ]
39218
+ },
39219
+ shape: {
39220
+ types: [
39221
+ "string"
39222
+ ],
39223
+ enumValues: [
39224
+ "box",
39225
+ "sphere",
39226
+ "capsule",
39227
+ "cylinder",
39228
+ "cone",
39229
+ "torus",
39230
+ "plane",
39231
+ "circle",
39232
+ "polyhedron"
39233
+ ]
39234
+ },
39235
+ opacity: {
39236
+ types: [
39237
+ "number"
39238
+ ]
38926
39239
  }
38927
39240
  },
38928
39241
  required: [
@@ -38974,7 +39287,7 @@ var patterns_registry_default = {
38974
39287
  types: [
38975
39288
  "array"
38976
39289
  ],
38977
- description: "Extra declarative shapes in canvas pixel coordinates.",
39290
+ description: "Extra declarative shapes in canvas pixel coordinates (2D mode only \u2014 ignored in 3D).",
38978
39291
  items: {
38979
39292
  types: [
38980
39293
  "object"
@@ -39153,18 +39466,29 @@ var patterns_registry_default = {
39153
39466
  },
39154
39467
  default: []
39155
39468
  },
39469
+ showGrid: {
39470
+ types: [
39471
+ "boolean"
39472
+ ],
39473
+ description: "3D only: show the ground grid (default off)."
39474
+ },
39475
+ shadows: {
39476
+ types: [
39477
+ "boolean"
39478
+ ],
39479
+ description: "3D only: enable shadows. Omitted \u2192 the host default."
39480
+ },
39156
39481
  interactive: {
39157
39482
  types: [
39158
39483
  "boolean"
39159
39484
  ],
39160
- description: "interactive prop",
39161
- default: false
39485
+ description: "2D: pointer interaction (click/hover). 3D: orbit camera controls."
39162
39486
  },
39163
39487
  animate: {
39164
39488
  types: [
39165
39489
  "boolean"
39166
39490
  ],
39167
- description: "animate prop",
39491
+ description: "2D only: continuous redraw loop. 3D motion is entity-state driven.",
39168
39492
  default: false
39169
39493
  },
39170
39494
  onShapeClick: {
@@ -39289,6 +39613,36 @@ var patterns_registry_default = {
39289
39613
  ],
39290
39614
  description: "backgroundColor prop"
39291
39615
  },
39616
+ mode: {
39617
+ types: [
39618
+ "string"
39619
+ ],
39620
+ description: "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host.",
39621
+ enumValues: [
39622
+ "2d",
39623
+ "3d"
39624
+ ],
39625
+ default: "2d"
39626
+ },
39627
+ camera: {
39628
+ types: [
39629
+ "object"
39630
+ ],
39631
+ description: "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }).",
39632
+ freeform: true
39633
+ },
39634
+ lighting: {
39635
+ types: [
39636
+ "object"
39637
+ ],
39638
+ description: "3D only: scene light rig as data."
39639
+ },
39640
+ post: {
39641
+ types: [
39642
+ "object"
39643
+ ],
39644
+ description: "3D only: post-processing stack (bloom/vignette)."
39645
+ },
39292
39646
  atoms: {
39293
39647
  types: [
39294
39648
  "array"
@@ -39314,6 +39668,11 @@ var patterns_registry_default = {
39314
39668
  "number"
39315
39669
  ]
39316
39670
  },
39671
+ z: {
39672
+ types: [
39673
+ "number"
39674
+ ]
39675
+ },
39317
39676
  element: {
39318
39677
  types: [
39319
39678
  "string"
@@ -39432,7 +39791,7 @@ var patterns_registry_default = {
39432
39791
  types: [
39433
39792
  "array"
39434
39793
  ],
39435
- description: "Extra declarative shapes in canvas pixel coordinates.",
39794
+ description: "Extra declarative shapes in canvas pixel coordinates (2D mode only \u2014 ignored in 3D).",
39436
39795
  items: {
39437
39796
  types: [
39438
39797
  "object"
@@ -39611,18 +39970,29 @@ var patterns_registry_default = {
39611
39970
  },
39612
39971
  default: []
39613
39972
  },
39973
+ showGrid: {
39974
+ types: [
39975
+ "boolean"
39976
+ ],
39977
+ description: "3D only: show the ground grid (default off)."
39978
+ },
39979
+ shadows: {
39980
+ types: [
39981
+ "boolean"
39982
+ ],
39983
+ description: "3D only: enable shadows. Omitted \u2192 the host default."
39984
+ },
39614
39985
  interactive: {
39615
39986
  types: [
39616
39987
  "boolean"
39617
39988
  ],
39618
- description: "interactive prop",
39619
- default: false
39989
+ description: "2D: pointer interaction (click/hover). 3D: orbit camera controls."
39620
39990
  },
39621
39991
  animate: {
39622
39992
  types: [
39623
39993
  "boolean"
39624
39994
  ],
39625
- description: "animate prop",
39995
+ description: "2D only: continuous redraw loop. 3D motion is entity-state driven.",
39626
39996
  default: false
39627
39997
  },
39628
39998
  onShapeClick: {
@@ -40255,6 +40625,36 @@ var patterns_registry_default = {
40255
40625
  ],
40256
40626
  description: "backgroundColor prop"
40257
40627
  },
40628
+ mode: {
40629
+ types: [
40630
+ "string"
40631
+ ],
40632
+ description: "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host.",
40633
+ enumValues: [
40634
+ "2d",
40635
+ "3d"
40636
+ ],
40637
+ default: "2d"
40638
+ },
40639
+ camera: {
40640
+ types: [
40641
+ "object"
40642
+ ],
40643
+ description: "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target }).",
40644
+ freeform: true
40645
+ },
40646
+ lighting: {
40647
+ types: [
40648
+ "object"
40649
+ ],
40650
+ description: "3D only: scene light rig as data."
40651
+ },
40652
+ post: {
40653
+ types: [
40654
+ "object"
40655
+ ],
40656
+ description: "3D only: post-processing stack (bloom/vignette)."
40657
+ },
40258
40658
  bodies: {
40259
40659
  types: [
40260
40660
  "array"
@@ -40280,6 +40680,11 @@ var patterns_registry_default = {
40280
40680
  "number"
40281
40681
  ]
40282
40682
  },
40683
+ z: {
40684
+ types: [
40685
+ "number"
40686
+ ]
40687
+ },
40283
40688
  radius: {
40284
40689
  types: [
40285
40690
  "number"
@@ -40305,6 +40710,11 @@ var patterns_registry_default = {
40305
40710
  "number"
40306
40711
  ]
40307
40712
  },
40713
+ vz: {
40714
+ types: [
40715
+ "number"
40716
+ ]
40717
+ },
40308
40718
  fx: {
40309
40719
  types: [
40310
40720
  "number"
@@ -40314,6 +40724,11 @@ var patterns_registry_default = {
40314
40724
  types: [
40315
40725
  "number"
40316
40726
  ]
40727
+ },
40728
+ fz: {
40729
+ types: [
40730
+ "number"
40731
+ ]
40317
40732
  }
40318
40733
  },
40319
40734
  required: [
@@ -40388,7 +40803,7 @@ var patterns_registry_default = {
40388
40803
  types: [
40389
40804
  "array"
40390
40805
  ],
40391
- description: "Extra declarative shapes in canvas pixel coordinates.",
40806
+ description: "Extra declarative shapes in canvas pixel coordinates (2D mode only \u2014 ignored in 3D).",
40392
40807
  items: {
40393
40808
  types: [
40394
40809
  "object"
@@ -40567,18 +40982,29 @@ var patterns_registry_default = {
40567
40982
  },
40568
40983
  default: []
40569
40984
  },
40985
+ showGrid: {
40986
+ types: [
40987
+ "boolean"
40988
+ ],
40989
+ description: "3D only: show the ground grid (default off)."
40990
+ },
40991
+ shadows: {
40992
+ types: [
40993
+ "boolean"
40994
+ ],
40995
+ description: "3D only: enable shadows. Omitted \u2192 the host default."
40996
+ },
40570
40997
  interactive: {
40571
40998
  types: [
40572
40999
  "boolean"
40573
41000
  ],
40574
- description: "interactive prop",
40575
- default: false
41001
+ description: "2D: pointer interaction (click/hover). 3D: orbit camera controls."
40576
41002
  },
40577
41003
  animate: {
40578
41004
  types: [
40579
41005
  "boolean"
40580
41006
  ],
40581
- description: "animate prop",
41007
+ description: "2D only: continuous redraw loop. 3D motion is entity-state driven.",
40582
41008
  default: false
40583
41009
  },
40584
41010
  onShapeClick: {
@@ -41429,7 +41855,12 @@ var patterns_registry_default = {
41429
41855
  types: [
41430
41856
  "object"
41431
41857
  ],
41432
- description: "style prop"
41858
+ description: "style prop",
41859
+ mapValue: {
41860
+ types: [
41861
+ "string"
41862
+ ]
41863
+ }
41433
41864
  },
41434
41865
  "aria-hidden": {
41435
41866
  types: [
@@ -41505,7 +41936,12 @@ var patterns_registry_default = {
41505
41936
  types: [
41506
41937
  "object"
41507
41938
  ],
41508
- description: "style prop"
41939
+ description: "style prop",
41940
+ mapValue: {
41941
+ types: [
41942
+ "string"
41943
+ ]
41944
+ }
41509
41945
  },
41510
41946
  children: {
41511
41947
  types: [
@@ -41640,6 +42076,22 @@ var patterns_registry_default = {
41640
42076
  items: {
41641
42077
  types: [
41642
42078
  "object"
42079
+ ],
42080
+ properties: {
42081
+ x: {
42082
+ types: [
42083
+ "number"
42084
+ ]
42085
+ },
42086
+ y: {
42087
+ types: [
42088
+ "number"
42089
+ ]
42090
+ }
42091
+ },
42092
+ required: [
42093
+ "x",
42094
+ "y"
41643
42095
  ]
41644
42096
  }
41645
42097
  },
@@ -41674,16 +42126,64 @@ var patterns_registry_default = {
41674
42126
  from: {
41675
42127
  types: [
41676
42128
  "object"
42129
+ ],
42130
+ properties: {
42131
+ x: {
42132
+ types: [
42133
+ "number"
42134
+ ]
42135
+ },
42136
+ y: {
42137
+ types: [
42138
+ "number"
42139
+ ]
42140
+ }
42141
+ },
42142
+ required: [
42143
+ "x",
42144
+ "y"
41677
42145
  ]
41678
42146
  },
41679
42147
  to: {
41680
42148
  types: [
41681
42149
  "object"
42150
+ ],
42151
+ properties: {
42152
+ x: {
42153
+ types: [
42154
+ "number"
42155
+ ]
42156
+ },
42157
+ y: {
42158
+ types: [
42159
+ "number"
42160
+ ]
42161
+ }
42162
+ },
42163
+ required: [
42164
+ "x",
42165
+ "y"
41682
42166
  ]
41683
42167
  },
41684
42168
  center: {
41685
42169
  types: [
41686
42170
  "object"
42171
+ ],
42172
+ properties: {
42173
+ x: {
42174
+ types: [
42175
+ "number"
42176
+ ]
42177
+ },
42178
+ y: {
42179
+ types: [
42180
+ "number"
42181
+ ]
42182
+ }
42183
+ },
42184
+ required: [
42185
+ "x",
42186
+ "y"
41687
42187
  ]
41688
42188
  },
41689
42189
  radius: {
@@ -41783,16 +42283,64 @@ var patterns_registry_default = {
41783
42283
  from: {
41784
42284
  types: [
41785
42285
  "object"
42286
+ ],
42287
+ properties: {
42288
+ x: {
42289
+ types: [
42290
+ "number"
42291
+ ]
42292
+ },
42293
+ y: {
42294
+ types: [
42295
+ "number"
42296
+ ]
42297
+ }
42298
+ },
42299
+ required: [
42300
+ "x",
42301
+ "y"
41786
42302
  ]
41787
42303
  },
41788
42304
  to: {
41789
42305
  types: [
41790
42306
  "object"
42307
+ ],
42308
+ properties: {
42309
+ x: {
42310
+ types: [
42311
+ "number"
42312
+ ]
42313
+ },
42314
+ y: {
42315
+ types: [
42316
+ "number"
42317
+ ]
42318
+ }
42319
+ },
42320
+ required: [
42321
+ "x",
42322
+ "y"
41791
42323
  ]
41792
42324
  },
41793
42325
  center: {
41794
42326
  types: [
41795
42327
  "object"
42328
+ ],
42329
+ properties: {
42330
+ x: {
42331
+ types: [
42332
+ "number"
42333
+ ]
42334
+ },
42335
+ y: {
42336
+ types: [
42337
+ "number"
42338
+ ]
42339
+ }
42340
+ },
42341
+ required: [
42342
+ "x",
42343
+ "y"
41796
42344
  ]
41797
42345
  },
41798
42346
  radius: {
@@ -41883,7 +42431,23 @@ var patterns_registry_default = {
41883
42431
  types: [
41884
42432
  "object"
41885
42433
  ],
41886
- description: "Rotation pivot in world units relative to the cell's projected top-left; default `{x:0.5, y:0.5}` (cell center)."
42434
+ description: "Rotation pivot in world units relative to the cell's projected top-left; default `{x:0.5, y:0.5}` (cell center).",
42435
+ properties: {
42436
+ x: {
42437
+ types: [
42438
+ "number"
42439
+ ]
42440
+ },
42441
+ y: {
42442
+ types: [
42443
+ "number"
42444
+ ]
42445
+ }
42446
+ },
42447
+ propertyRequired: [
42448
+ "x",
42449
+ "y"
42450
+ ]
41887
42451
  },
41888
42452
  shadow: {
41889
42453
  types: [
@@ -42217,7 +42781,35 @@ var patterns_registry_default = {
42217
42781
  types: [
42218
42782
  "object"
42219
42783
  ],
42220
- description: "Explicit atlas sub-rect override (px); omitted \u2192 resolved from `asset.atlas`/`asset.sprite`."
42784
+ description: "Explicit atlas sub-rect override (px); omitted \u2192 resolved from `asset.atlas`/`asset.sprite`.",
42785
+ properties: {
42786
+ x: {
42787
+ types: [
42788
+ "number"
42789
+ ]
42790
+ },
42791
+ y: {
42792
+ types: [
42793
+ "number"
42794
+ ]
42795
+ },
42796
+ w: {
42797
+ types: [
42798
+ "number"
42799
+ ]
42800
+ },
42801
+ h: {
42802
+ types: [
42803
+ "number"
42804
+ ]
42805
+ }
42806
+ },
42807
+ propertyRequired: [
42808
+ "x",
42809
+ "y",
42810
+ "w",
42811
+ "h"
42812
+ ]
42221
42813
  },
42222
42814
  animation: {
42223
42815
  types: [
@@ -42253,7 +42845,23 @@ var patterns_registry_default = {
42253
42845
  types: [
42254
42846
  "object"
42255
42847
  ],
42256
- description: "Drop shadow (e.g. a team-colored glow)."
42848
+ description: "Drop shadow (e.g. a team-colored glow).",
42849
+ properties: {
42850
+ color: {
42851
+ types: [
42852
+ "string"
42853
+ ]
42854
+ },
42855
+ blur: {
42856
+ types: [
42857
+ "number"
42858
+ ]
42859
+ }
42860
+ },
42861
+ propertyRequired: [
42862
+ "color",
42863
+ "blur"
42864
+ ]
42257
42865
  }
42258
42866
  },
42259
42867
  drawable: true
@@ -42353,15 +42961,30 @@ var patterns_registry_default = {
42353
42961
  },
42354
42962
  align: {
42355
42963
  types: [
42356
- "object"
42964
+ "string"
42357
42965
  ],
42358
- description: "align prop"
42966
+ description: "align prop",
42967
+ enumValues: [
42968
+ "center",
42969
+ "end",
42970
+ "left",
42971
+ "right",
42972
+ "start"
42973
+ ]
42359
42974
  },
42360
42975
  baseline: {
42361
42976
  types: [
42362
- "object"
42977
+ "string"
42363
42978
  ],
42364
- description: "baseline prop"
42979
+ description: "baseline prop",
42980
+ enumValues: [
42981
+ "alphabetic",
42982
+ "bottom",
42983
+ "hanging",
42984
+ "ideographic",
42985
+ "middle",
42986
+ "top"
42987
+ ]
42365
42988
  },
42366
42989
  opacity: {
42367
42990
  types: [
@@ -42496,6 +43119,22 @@ var patterns_registry_default = {
42496
43119
  items: {
42497
43120
  types: [
42498
43121
  "object"
43122
+ ],
43123
+ properties: {
43124
+ x: {
43125
+ types: [
43126
+ "number"
43127
+ ]
43128
+ },
43129
+ y: {
43130
+ types: [
43131
+ "number"
43132
+ ]
43133
+ }
43134
+ },
43135
+ required: [
43136
+ "x",
43137
+ "y"
42499
43138
  ]
42500
43139
  }
42501
43140
  },
@@ -42527,16 +43166,64 @@ var patterns_registry_default = {
42527
43166
  from: {
42528
43167
  types: [
42529
43168
  "object"
43169
+ ],
43170
+ properties: {
43171
+ x: {
43172
+ types: [
43173
+ "number"
43174
+ ]
43175
+ },
43176
+ y: {
43177
+ types: [
43178
+ "number"
43179
+ ]
43180
+ }
43181
+ },
43182
+ required: [
43183
+ "x",
43184
+ "y"
42530
43185
  ]
42531
43186
  },
42532
43187
  to: {
42533
43188
  types: [
42534
43189
  "object"
43190
+ ],
43191
+ properties: {
43192
+ x: {
43193
+ types: [
43194
+ "number"
43195
+ ]
43196
+ },
43197
+ y: {
43198
+ types: [
43199
+ "number"
43200
+ ]
43201
+ }
43202
+ },
43203
+ required: [
43204
+ "x",
43205
+ "y"
42535
43206
  ]
42536
43207
  },
42537
43208
  center: {
42538
43209
  types: [
42539
43210
  "object"
43211
+ ],
43212
+ properties: {
43213
+ x: {
43214
+ types: [
43215
+ "number"
43216
+ ]
43217
+ },
43218
+ y: {
43219
+ types: [
43220
+ "number"
43221
+ ]
43222
+ }
43223
+ },
43224
+ required: [
43225
+ "x",
43226
+ "y"
42540
43227
  ]
42541
43228
  },
42542
43229
  radius: {
@@ -42632,16 +43319,64 @@ var patterns_registry_default = {
42632
43319
  from: {
42633
43320
  types: [
42634
43321
  "object"
43322
+ ],
43323
+ properties: {
43324
+ x: {
43325
+ types: [
43326
+ "number"
43327
+ ]
43328
+ },
43329
+ y: {
43330
+ types: [
43331
+ "number"
43332
+ ]
43333
+ }
43334
+ },
43335
+ required: [
43336
+ "x",
43337
+ "y"
42635
43338
  ]
42636
43339
  },
42637
43340
  to: {
42638
43341
  types: [
42639
43342
  "object"
43343
+ ],
43344
+ properties: {
43345
+ x: {
43346
+ types: [
43347
+ "number"
43348
+ ]
43349
+ },
43350
+ y: {
43351
+ types: [
43352
+ "number"
43353
+ ]
43354
+ }
43355
+ },
43356
+ required: [
43357
+ "x",
43358
+ "y"
42640
43359
  ]
42641
43360
  },
42642
43361
  center: {
42643
43362
  types: [
42644
43363
  "object"
43364
+ ],
43365
+ properties: {
43366
+ x: {
43367
+ types: [
43368
+ "number"
43369
+ ]
43370
+ },
43371
+ y: {
43372
+ types: [
43373
+ "number"
43374
+ ]
43375
+ }
43376
+ },
43377
+ required: [
43378
+ "x",
43379
+ "y"
42645
43380
  ]
42646
43381
  },
42647
43382
  radius: {
@@ -42726,6 +43461,22 @@ var patterns_registry_default = {
42726
43461
  pivot: {
42727
43462
  types: [
42728
43463
  "object"
43464
+ ],
43465
+ properties: {
43466
+ x: {
43467
+ types: [
43468
+ "number"
43469
+ ]
43470
+ },
43471
+ y: {
43472
+ types: [
43473
+ "number"
43474
+ ]
43475
+ }
43476
+ },
43477
+ required: [
43478
+ "x",
43479
+ "y"
42729
43480
  ]
42730
43481
  },
42731
43482
  shadow: {
@@ -43074,6 +43825,34 @@ var patterns_registry_default = {
43074
43825
  frame: {
43075
43826
  types: [
43076
43827
  "object"
43828
+ ],
43829
+ properties: {
43830
+ x: {
43831
+ types: [
43832
+ "number"
43833
+ ]
43834
+ },
43835
+ y: {
43836
+ types: [
43837
+ "number"
43838
+ ]
43839
+ },
43840
+ w: {
43841
+ types: [
43842
+ "number"
43843
+ ]
43844
+ },
43845
+ h: {
43846
+ types: [
43847
+ "number"
43848
+ ]
43849
+ }
43850
+ },
43851
+ required: [
43852
+ "x",
43853
+ "y",
43854
+ "w",
43855
+ "h"
43077
43856
  ]
43078
43857
  },
43079
43858
  animation: {
@@ -43104,6 +43883,22 @@ var patterns_registry_default = {
43104
43883
  shadow: {
43105
43884
  types: [
43106
43885
  "object"
43886
+ ],
43887
+ properties: {
43888
+ color: {
43889
+ types: [
43890
+ "string"
43891
+ ]
43892
+ },
43893
+ blur: {
43894
+ types: [
43895
+ "number"
43896
+ ]
43897
+ }
43898
+ },
43899
+ required: [
43900
+ "color",
43901
+ "blur"
43107
43902
  ]
43108
43903
  }
43109
43904
  },
@@ -43219,12 +44014,27 @@ var patterns_registry_default = {
43219
44014
  },
43220
44015
  align: {
43221
44016
  types: [
43222
- "object"
44017
+ "string"
44018
+ ],
44019
+ enumValues: [
44020
+ "center",
44021
+ "end",
44022
+ "left",
44023
+ "right",
44024
+ "start"
43223
44025
  ]
43224
44026
  },
43225
44027
  baseline: {
43226
44028
  types: [
43227
- "object"
44029
+ "string"
44030
+ ],
44031
+ enumValues: [
44032
+ "alphabetic",
44033
+ "bottom",
44034
+ "hanging",
44035
+ "ideographic",
44036
+ "middle",
44037
+ "top"
43228
44038
  ]
43229
44039
  },
43230
44040
  opacity: {
@@ -45713,6 +46523,48 @@ var integrators_registry_default = {
45713
46523
  }
45714
46524
  }
45715
46525
  ]
46526
+ },
46527
+ webhook: {
46528
+ name: "webhook",
46529
+ description: "Outbound webhook - signed HTTP POST notifications to external endpoints",
46530
+ category: "messaging",
46531
+ actions: [
46532
+ {
46533
+ name: "send",
46534
+ description: "POST a JSON event envelope to an external URL, HMAC-SHA256 signed when a secret is configured",
46535
+ params: [
46536
+ {
46537
+ name: "url",
46538
+ type: "string",
46539
+ required: true,
46540
+ description: "Target endpoint URL"
46541
+ },
46542
+ {
46543
+ name: "event",
46544
+ type: "string",
46545
+ required: true,
46546
+ description: "Event name carried in the envelope and X-Almadar-Event header"
46547
+ },
46548
+ {
46549
+ name: "payload",
46550
+ type: "object",
46551
+ required: false,
46552
+ description: "Event payload fields (string map)"
46553
+ },
46554
+ {
46555
+ name: "secret",
46556
+ type: "string",
46557
+ required: false,
46558
+ description: "Per-call HMAC signing secret (overrides WEBHOOK_SIGNING_SECRET)"
46559
+ }
46560
+ ],
46561
+ responseShape: {
46562
+ status: "number",
46563
+ ok: "boolean",
46564
+ durationMs: "number"
46565
+ }
46566
+ }
46567
+ ]
45716
46568
  }
45717
46569
  },
45718
46570
  categories: [
@@ -45728,7 +46580,7 @@ var integrators_registry_default = {
45728
46580
  // src/patterns/component-mapping.json
45729
46581
  var component_mapping_default = {
45730
46582
  version: "1.0.0",
45731
- exportedAt: "2026-08-07T09:57:06.909Z",
46583
+ exportedAt: "2026-08-17T13:06:21.152Z",
45732
46584
  mappings: {
45733
46585
  "page-header": {
45734
46586
  component: "PageHeader",
@@ -47123,7 +47975,7 @@ var component_mapping_default = {
47123
47975
  // src/patterns/event-contracts.json
47124
47976
  var event_contracts_default = {
47125
47977
  version: "1.0.0",
47126
- exportedAt: "2026-08-07T09:57:06.909Z",
47978
+ exportedAt: "2026-08-17T13:06:21.152Z",
47127
47979
  contracts: {
47128
47980
  form: {
47129
47981
  emits: [
@@ -49122,7 +49974,11 @@ function inferTsType(schemaType) {
49122
49974
  timestamp: "number",
49123
49975
  array: "unknown[]",
49124
49976
  object: "Record<string, unknown>",
49125
- any: "unknown"
49977
+ any: "unknown",
49978
+ // Renderable UI content — the canonical pattern-tree type from
49979
+ // render-ui-edit.ts. Without this entry the raw tag `node` would leak
49980
+ // out as a (nonexistent) TS type name.
49981
+ node: "PatternNode | PatternNode[]"
49126
49982
  };
49127
49983
  if (schemaType.endsWith("[]")) {
49128
49984
  const baseType = schemaType.slice(0, -2);
@@ -50967,6 +51823,8 @@ function signatureFieldToEntityField(f) {
50967
51823
  return { ...base, type: "relation", relation: f.relation };
50968
51824
  }
50969
51825
  return { ...base, type: "string" };
51826
+ case "node":
51827
+ return { ...base, type: "node" };
50970
51828
  default: {
50971
51829
  f.type;
50972
51830
  return { ...base, type: "string" };