@almadar/core 10.46.0 → 10.48.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.
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  // src/patterns/patterns-registry.json
4
4
  var patterns_registry_default = {
5
5
  version: "1.0.0",
6
- exportedAt: "2026-07-31T03:04:39.259Z",
6
+ exportedAt: "2026-07-31T10:02:24.207Z",
7
7
  patterns: {
8
8
  "entity-table": {
9
9
  type: "entity-table",
@@ -39381,7 +39381,8 @@ var patterns_registry_default = {
39381
39381
  ],
39382
39382
  enumValues: [
39383
39383
  "linear",
39384
- "radial"
39384
+ "radial",
39385
+ "conic"
39385
39386
  ]
39386
39387
  },
39387
39388
  from: {
@@ -39404,6 +39405,11 @@ var patterns_registry_default = {
39404
39405
  "number"
39405
39406
  ]
39406
39407
  },
39408
+ angle: {
39409
+ types: [
39410
+ "number"
39411
+ ]
39412
+ },
39407
39413
  stops: {
39408
39414
  types: [
39409
39415
  "array"
@@ -39420,6 +39426,46 @@ var patterns_registry_default = {
39420
39426
  "stops"
39421
39427
  ]
39422
39428
  },
39429
+ fillPattern: {
39430
+ types: [
39431
+ "object"
39432
+ ],
39433
+ description: "Repeating texture painted over the fill (grain / tiling image).",
39434
+ properties: {
39435
+ kind: {
39436
+ types: [
39437
+ "string"
39438
+ ],
39439
+ enumValues: [
39440
+ "noise",
39441
+ "image"
39442
+ ]
39443
+ },
39444
+ url: {
39445
+ types: [
39446
+ "string"
39447
+ ]
39448
+ },
39449
+ scale: {
39450
+ types: [
39451
+ "number"
39452
+ ]
39453
+ },
39454
+ alpha: {
39455
+ types: [
39456
+ "number"
39457
+ ]
39458
+ },
39459
+ color: {
39460
+ types: [
39461
+ "string"
39462
+ ]
39463
+ }
39464
+ },
39465
+ propertyRequired: [
39466
+ "kind"
39467
+ ]
39468
+ },
39423
39469
  stroke: {
39424
39470
  types: [
39425
39471
  "string"
@@ -39432,6 +39478,115 @@ var patterns_registry_default = {
39432
39478
  ],
39433
39479
  description: "strokeWidth prop"
39434
39480
  },
39481
+ strokeGradient: {
39482
+ types: [
39483
+ "object"
39484
+ ],
39485
+ description: "Gradient stroke in world units; overrides `stroke` when present.",
39486
+ properties: {
39487
+ kind: {
39488
+ types: [
39489
+ "string"
39490
+ ],
39491
+ enumValues: [
39492
+ "linear",
39493
+ "radial",
39494
+ "conic"
39495
+ ]
39496
+ },
39497
+ from: {
39498
+ types: [
39499
+ "object"
39500
+ ]
39501
+ },
39502
+ to: {
39503
+ types: [
39504
+ "object"
39505
+ ]
39506
+ },
39507
+ center: {
39508
+ types: [
39509
+ "object"
39510
+ ]
39511
+ },
39512
+ radius: {
39513
+ types: [
39514
+ "number"
39515
+ ]
39516
+ },
39517
+ angle: {
39518
+ types: [
39519
+ "number"
39520
+ ]
39521
+ },
39522
+ stops: {
39523
+ types: [
39524
+ "array"
39525
+ ],
39526
+ items: {
39527
+ types: [
39528
+ "object"
39529
+ ]
39530
+ }
39531
+ }
39532
+ },
39533
+ propertyRequired: [
39534
+ "kind",
39535
+ "stops"
39536
+ ]
39537
+ },
39538
+ strokeDash: {
39539
+ types: [
39540
+ "array"
39541
+ ],
39542
+ description: "Dash pattern in painter-px (constant under group scale, like `strokeWidth`).",
39543
+ items: {
39544
+ types: [
39545
+ "number"
39546
+ ]
39547
+ }
39548
+ },
39549
+ strokeDashOffset: {
39550
+ types: [
39551
+ "number"
39552
+ ],
39553
+ description: "Dash phase offset in painter-px; animatable (marching ants)."
39554
+ },
39555
+ blendMode: {
39556
+ types: [
39557
+ "string"
39558
+ ],
39559
+ description: "Composite/blend mode for this shape's draws (`lighter`, `multiply`, `screen`, \u2026).",
39560
+ enumValues: [
39561
+ "source-over",
39562
+ "lighter",
39563
+ "multiply",
39564
+ "screen",
39565
+ "overlay",
39566
+ "darken",
39567
+ "lighten",
39568
+ "color-dodge",
39569
+ "color-burn",
39570
+ "hard-light",
39571
+ "soft-light",
39572
+ "difference",
39573
+ "exclusion",
39574
+ "hue",
39575
+ "saturation",
39576
+ "color",
39577
+ "luminosity",
39578
+ "source-atop",
39579
+ "destination-over",
39580
+ "destination-out",
39581
+ "xor"
39582
+ ]
39583
+ },
39584
+ blur: {
39585
+ types: [
39586
+ "number"
39587
+ ],
39588
+ description: "Gaussian blur in painter-px. Expensive \u2014 forces an intermediate raster; use sparingly."
39589
+ },
39435
39590
  rotate: {
39436
39591
  types: [
39437
39592
  "number"
@@ -39541,6 +39696,16 @@ var patterns_registry_default = {
39541
39696
  "number"
39542
39697
  ]
39543
39698
  },
39699
+ strokeDashOffset: {
39700
+ types: [
39701
+ "number"
39702
+ ]
39703
+ },
39704
+ blur: {
39705
+ types: [
39706
+ "number"
39707
+ ]
39708
+ },
39544
39709
  fill: {
39545
39710
  types: [
39546
39711
  "string"
@@ -40063,7 +40228,8 @@ var patterns_registry_default = {
40063
40228
  ],
40064
40229
  enumValues: [
40065
40230
  "linear",
40066
- "radial"
40231
+ "radial",
40232
+ "conic"
40067
40233
  ]
40068
40234
  },
40069
40235
  from: {
@@ -40086,6 +40252,11 @@ var patterns_registry_default = {
40086
40252
  "number"
40087
40253
  ]
40088
40254
  },
40255
+ angle: {
40256
+ types: [
40257
+ "number"
40258
+ ]
40259
+ },
40089
40260
  stops: {
40090
40261
  types: [
40091
40262
  "array"
@@ -40102,6 +40273,45 @@ var patterns_registry_default = {
40102
40273
  "stops"
40103
40274
  ]
40104
40275
  },
40276
+ fillPattern: {
40277
+ types: [
40278
+ "object"
40279
+ ],
40280
+ properties: {
40281
+ kind: {
40282
+ types: [
40283
+ "string"
40284
+ ],
40285
+ enumValues: [
40286
+ "noise",
40287
+ "image"
40288
+ ]
40289
+ },
40290
+ url: {
40291
+ types: [
40292
+ "string"
40293
+ ]
40294
+ },
40295
+ scale: {
40296
+ types: [
40297
+ "number"
40298
+ ]
40299
+ },
40300
+ alpha: {
40301
+ types: [
40302
+ "number"
40303
+ ]
40304
+ },
40305
+ color: {
40306
+ types: [
40307
+ "string"
40308
+ ]
40309
+ }
40310
+ },
40311
+ required: [
40312
+ "kind"
40313
+ ]
40314
+ },
40105
40315
  stroke: {
40106
40316
  types: [
40107
40317
  "string"
@@ -40112,6 +40322,110 @@ var patterns_registry_default = {
40112
40322
  "number"
40113
40323
  ]
40114
40324
  },
40325
+ strokeGradient: {
40326
+ types: [
40327
+ "object"
40328
+ ],
40329
+ properties: {
40330
+ kind: {
40331
+ types: [
40332
+ "string"
40333
+ ],
40334
+ enumValues: [
40335
+ "linear",
40336
+ "radial",
40337
+ "conic"
40338
+ ]
40339
+ },
40340
+ from: {
40341
+ types: [
40342
+ "object"
40343
+ ]
40344
+ },
40345
+ to: {
40346
+ types: [
40347
+ "object"
40348
+ ]
40349
+ },
40350
+ center: {
40351
+ types: [
40352
+ "object"
40353
+ ]
40354
+ },
40355
+ radius: {
40356
+ types: [
40357
+ "number"
40358
+ ]
40359
+ },
40360
+ angle: {
40361
+ types: [
40362
+ "number"
40363
+ ]
40364
+ },
40365
+ stops: {
40366
+ types: [
40367
+ "array"
40368
+ ],
40369
+ items: {
40370
+ types: [
40371
+ "object"
40372
+ ]
40373
+ }
40374
+ }
40375
+ },
40376
+ required: [
40377
+ "kind",
40378
+ "stops"
40379
+ ]
40380
+ },
40381
+ strokeDash: {
40382
+ types: [
40383
+ "array"
40384
+ ],
40385
+ items: {
40386
+ types: [
40387
+ "number"
40388
+ ]
40389
+ }
40390
+ },
40391
+ strokeDashOffset: {
40392
+ types: [
40393
+ "number"
40394
+ ]
40395
+ },
40396
+ blendMode: {
40397
+ types: [
40398
+ "string"
40399
+ ],
40400
+ enumValues: [
40401
+ "source-over",
40402
+ "lighter",
40403
+ "multiply",
40404
+ "screen",
40405
+ "overlay",
40406
+ "darken",
40407
+ "lighten",
40408
+ "color-dodge",
40409
+ "color-burn",
40410
+ "hard-light",
40411
+ "soft-light",
40412
+ "difference",
40413
+ "exclusion",
40414
+ "hue",
40415
+ "saturation",
40416
+ "color",
40417
+ "luminosity",
40418
+ "source-atop",
40419
+ "destination-over",
40420
+ "destination-out",
40421
+ "xor"
40422
+ ]
40423
+ },
40424
+ blur: {
40425
+ types: [
40426
+ "number"
40427
+ ]
40428
+ },
40115
40429
  rotate: {
40116
40430
  types: [
40117
40431
  "number"
@@ -40217,6 +40531,16 @@ var patterns_registry_default = {
40217
40531
  "number"
40218
40532
  ]
40219
40533
  },
40534
+ strokeDashOffset: {
40535
+ types: [
40536
+ "number"
40537
+ ]
40538
+ },
40539
+ blur: {
40540
+ types: [
40541
+ "number"
40542
+ ]
40543
+ },
40220
40544
  fill: {
40221
40545
  types: [
40222
40546
  "string"
@@ -40873,6 +41197,18 @@ var patterns_registry_default = {
40873
41197
  }
40874
41198
  }
40875
41199
  },
41200
+ lighting: {
41201
+ types: [
41202
+ "object"
41203
+ ],
41204
+ description: "3D scene light rig as data \u2014 ambient/directional/hemisphere/point lights + optional 'room' environment for PBR reflections. Omitted \u2192 the standard fixed rig."
41205
+ },
41206
+ post: {
41207
+ types: [
41208
+ "object"
41209
+ ],
41210
+ description: "3D post-processing stack \u2014 bloom (emissive glow / neon) and vignette. Omitted \u2192 no post pass."
41211
+ },
40876
41212
  tileClickEvent: {
40877
41213
  types: [
40878
41214
  "string"
@@ -41483,6 +41819,12 @@ var patterns_registry_default = {
41483
41819
  ],
41484
41820
  description: "0..1 opacity."
41485
41821
  },
41822
+ clip: {
41823
+ types: [
41824
+ "string"
41825
+ ],
41826
+ description: "Clip the group's items to an SVG path (`d` syntax) in world units relative to the group origin \u2014 masked reveals, meters, portraits."
41827
+ },
41486
41828
  items: {
41487
41829
  types: [
41488
41830
  "array"
@@ -41553,6 +41895,357 @@ var patterns_registry_default = {
41553
41895
  description: "Additional CSS classes applied to the trigger button"
41554
41896
  }
41555
41897
  }
41898
+ },
41899
+ "draw-mesh": {
41900
+ type: "draw-mesh",
41901
+ category: "game",
41902
+ tier: "atoms",
41903
+ family: "game",
41904
+ description: "DrawMesh component",
41905
+ suggestedFor: [
41906
+ "draw",
41907
+ "mesh",
41908
+ "draw mesh"
41909
+ ],
41910
+ typicalSize: "small",
41911
+ propsSchema: {
41912
+ id: {
41913
+ types: [
41914
+ "string"
41915
+ ],
41916
+ description: "Optional source-tagged hit-test handle \u2014 the host indexes the drawable's ScenePos\u2192id so a pointer/raycast at that cell resolves to this id (unit/entity click). No id \u2192 the host emits only the coordinate (tile click)."
41917
+ },
41918
+ type: {
41919
+ types: [
41920
+ "unknown"
41921
+ ],
41922
+ description: "type prop",
41923
+ required: true
41924
+ },
41925
+ shape: {
41926
+ types: [
41927
+ "string"
41928
+ ],
41929
+ description: "shape prop",
41930
+ required: true,
41931
+ enumValues: [
41932
+ "box",
41933
+ "sphere",
41934
+ "capsule",
41935
+ "cylinder",
41936
+ "cone",
41937
+ "torus",
41938
+ "plane",
41939
+ "circle"
41940
+ ]
41941
+ },
41942
+ position: {
41943
+ types: [
41944
+ "object"
41945
+ ],
41946
+ description: "Logical scene position; `z` is height in cells (projected to world Y).",
41947
+ required: true,
41948
+ properties: {
41949
+ x: {
41950
+ types: [
41951
+ "number"
41952
+ ]
41953
+ },
41954
+ y: {
41955
+ types: [
41956
+ "number"
41957
+ ]
41958
+ },
41959
+ z: {
41960
+ types: [
41961
+ "number"
41962
+ ]
41963
+ }
41964
+ },
41965
+ propertyRequired: [
41966
+ "x",
41967
+ "y"
41968
+ ],
41969
+ scenePos: true
41970
+ },
41971
+ width: {
41972
+ types: [
41973
+ "number"
41974
+ ],
41975
+ description: "Box/plane X extent in cells (default 1)."
41976
+ },
41977
+ height: {
41978
+ types: [
41979
+ "number"
41980
+ ],
41981
+ description: "Box Y (height) extent / capsule-cylinder-cone length in cells (default 1)."
41982
+ },
41983
+ depth: {
41984
+ types: [
41985
+ "number"
41986
+ ],
41987
+ description: "Box/plane Z extent in cells (default `width`)."
41988
+ },
41989
+ radius: {
41990
+ types: [
41991
+ "number"
41992
+ ],
41993
+ description: "Sphere/capsule/cone/torus/circle radius in cells (default 0.4)."
41994
+ },
41995
+ radiusTop: {
41996
+ types: [
41997
+ "number"
41998
+ ],
41999
+ description: "Cylinder top radius (default `radius`)."
42000
+ },
42001
+ radiusBottom: {
42002
+ types: [
42003
+ "number"
42004
+ ],
42005
+ description: "Cylinder bottom radius (default `radius`)."
42006
+ },
42007
+ tube: {
42008
+ types: [
42009
+ "number"
42010
+ ],
42011
+ description: "Torus tube radius in cells (default `radius` / 3)."
42012
+ },
42013
+ segments: {
42014
+ types: [
42015
+ "number"
42016
+ ],
42017
+ description: "Curved-surface tessellation, clamped 3..64 (default 24). 4\u20138 + `flatShading` = low-poly."
42018
+ },
42019
+ rotation: {
42020
+ types: [
42021
+ "array"
42022
+ ],
42023
+ description: "Euler rotation `[x, y, z]` in radians.",
42024
+ items: {
42025
+ types: [
42026
+ "number"
42027
+ ]
42028
+ }
42029
+ },
42030
+ pivot: {
42031
+ types: [
42032
+ "string"
42033
+ ],
42034
+ description: "`bottom` (default) rests the mesh on its position's ground plane; `center` centers it there.",
42035
+ enumValues: [
42036
+ "bottom",
42037
+ "center"
42038
+ ]
42039
+ },
42040
+ material: {
42041
+ types: [
42042
+ "object"
42043
+ ],
42044
+ description: "material prop",
42045
+ properties: {
42046
+ kind: {
42047
+ types: [
42048
+ "string"
42049
+ ],
42050
+ enumValues: [
42051
+ "standard",
42052
+ "physical",
42053
+ "toon",
42054
+ "basic"
42055
+ ]
42056
+ },
42057
+ color: {
42058
+ types: [
42059
+ "string"
42060
+ ]
42061
+ },
42062
+ metalness: {
42063
+ types: [
42064
+ "number"
42065
+ ]
42066
+ },
42067
+ roughness: {
42068
+ types: [
42069
+ "number"
42070
+ ]
42071
+ },
42072
+ emissive: {
42073
+ types: [
42074
+ "string"
42075
+ ]
42076
+ },
42077
+ emissiveIntensity: {
42078
+ types: [
42079
+ "number"
42080
+ ]
42081
+ },
42082
+ opacity: {
42083
+ types: [
42084
+ "number"
42085
+ ]
42086
+ },
42087
+ transmission: {
42088
+ types: [
42089
+ "number"
42090
+ ]
42091
+ },
42092
+ ior: {
42093
+ types: [
42094
+ "number"
42095
+ ]
42096
+ },
42097
+ flatShading: {
42098
+ types: [
42099
+ "boolean"
42100
+ ]
42101
+ },
42102
+ side: {
42103
+ types: [
42104
+ "string"
42105
+ ],
42106
+ enumValues: [
42107
+ "front",
42108
+ "back",
42109
+ "double"
42110
+ ]
42111
+ }
42112
+ }
42113
+ },
42114
+ outline: {
42115
+ types: [
42116
+ "object"
42117
+ ],
42118
+ description: "outline prop",
42119
+ properties: {
42120
+ color: {
42121
+ types: [
42122
+ "string"
42123
+ ]
42124
+ },
42125
+ width: {
42126
+ types: [
42127
+ "number"
42128
+ ]
42129
+ }
42130
+ }
42131
+ },
42132
+ castShadow: {
42133
+ types: [
42134
+ "boolean"
42135
+ ],
42136
+ description: "castShadow prop"
42137
+ },
42138
+ receiveShadow: {
42139
+ types: [
42140
+ "boolean"
42141
+ ],
42142
+ description: "receiveShadow prop"
42143
+ },
42144
+ animation: {
42145
+ types: [
42146
+ "object"
42147
+ ],
42148
+ description: "Keyframe animation over transform/material tracks; the 3D host runs it per frame.",
42149
+ properties: {
42150
+ durationMs: {
42151
+ types: [
42152
+ "number"
42153
+ ]
42154
+ },
42155
+ loop: {
42156
+ types: [
42157
+ "boolean"
42158
+ ]
42159
+ },
42160
+ keyframes: {
42161
+ types: [
42162
+ "array"
42163
+ ],
42164
+ items: {
42165
+ types: [
42166
+ "object"
42167
+ ],
42168
+ properties: {
42169
+ at: {
42170
+ types: [
42171
+ "number"
42172
+ ]
42173
+ },
42174
+ offsetX: {
42175
+ types: [
42176
+ "number"
42177
+ ]
42178
+ },
42179
+ offsetY: {
42180
+ types: [
42181
+ "number"
42182
+ ]
42183
+ },
42184
+ offsetZ: {
42185
+ types: [
42186
+ "number"
42187
+ ]
42188
+ },
42189
+ rotateX: {
42190
+ types: [
42191
+ "number"
42192
+ ]
42193
+ },
42194
+ rotateY: {
42195
+ types: [
42196
+ "number"
42197
+ ]
42198
+ },
42199
+ rotateZ: {
42200
+ types: [
42201
+ "number"
42202
+ ]
42203
+ },
42204
+ scale: {
42205
+ types: [
42206
+ "number"
42207
+ ]
42208
+ },
42209
+ opacity: {
42210
+ types: [
42211
+ "number"
42212
+ ]
42213
+ },
42214
+ emissiveIntensity: {
42215
+ types: [
42216
+ "number"
42217
+ ]
42218
+ },
42219
+ color: {
42220
+ types: [
42221
+ "string"
42222
+ ]
42223
+ },
42224
+ emissive: {
42225
+ types: [
42226
+ "string"
42227
+ ]
42228
+ }
42229
+ },
42230
+ required: [
42231
+ "at"
42232
+ ]
42233
+ }
42234
+ }
42235
+ },
42236
+ propertyRequired: [
42237
+ "durationMs",
42238
+ "keyframes"
42239
+ ]
42240
+ },
42241
+ opacity: {
42242
+ types: [
42243
+ "number"
42244
+ ],
42245
+ description: "0..1 opacity; multiplies the material and enclosing group opacity."
42246
+ }
42247
+ },
42248
+ drawable: true
41556
42249
  }
41557
42250
  },
41558
42251
  categories: [
@@ -42474,7 +43167,7 @@ var integrators_registry_default = {
42474
43167
  // src/patterns/component-mapping.json
42475
43168
  var component_mapping_default = {
42476
43169
  version: "1.0.0",
42477
- exportedAt: "2026-07-31T03:04:39.259Z",
43170
+ exportedAt: "2026-07-31T10:02:24.207Z",
42478
43171
  mappings: {
42479
43172
  "page-header": {
42480
43173
  component: "PageHeader",
@@ -43857,6 +44550,11 @@ var component_mapping_default = {
43857
44550
  component: "EmojiPicker",
43858
44551
  importPath: "@/components/core/molecules/EmojiPicker",
43859
44552
  category: "component"
44553
+ },
44554
+ "draw-mesh": {
44555
+ component: "DrawMesh",
44556
+ importPath: "@/components/game/atoms/DrawMesh",
44557
+ category: "game"
43860
44558
  }
43861
44559
  }
43862
44560
  };
@@ -43864,7 +44562,7 @@ var component_mapping_default = {
43864
44562
  // src/patterns/event-contracts.json
43865
44563
  var event_contracts_default = {
43866
44564
  version: "1.0.0",
43867
- exportedAt: "2026-07-31T03:04:39.259Z",
44565
+ exportedAt: "2026-07-31T10:02:24.207Z",
43868
44566
  contracts: {
43869
44567
  form: {
43870
44568
  emits: [
@@ -45095,6 +45793,7 @@ var PATTERN_TYPES = [
45095
45793
  "doc-toc",
45096
45794
  "document-viewer",
45097
45795
  "draw-group",
45796
+ "draw-mesh",
45098
45797
  "draw-shape",
45099
45798
  "draw-shape-layer",
45100
45799
  "draw-sprite",