@almadar/core 10.47.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-31T07:15:07.239Z",
6
+ exportedAt: "2026-07-31T10:02:24.207Z",
7
7
  patterns: {
8
8
  "entity-table": {
9
9
  type: "entity-table",
@@ -41197,6 +41197,18 @@ var patterns_registry_default = {
41197
41197
  }
41198
41198
  }
41199
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
+ },
41200
41212
  tileClickEvent: {
41201
41213
  types: [
41202
41214
  "string"
@@ -41883,6 +41895,357 @@ var patterns_registry_default = {
41883
41895
  description: "Additional CSS classes applied to the trigger button"
41884
41896
  }
41885
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
41886
42249
  }
41887
42250
  },
41888
42251
  categories: [
@@ -42804,7 +43167,7 @@ var integrators_registry_default = {
42804
43167
  // src/patterns/component-mapping.json
42805
43168
  var component_mapping_default = {
42806
43169
  version: "1.0.0",
42807
- exportedAt: "2026-07-31T07:15:07.239Z",
43170
+ exportedAt: "2026-07-31T10:02:24.207Z",
42808
43171
  mappings: {
42809
43172
  "page-header": {
42810
43173
  component: "PageHeader",
@@ -44187,6 +44550,11 @@ var component_mapping_default = {
44187
44550
  component: "EmojiPicker",
44188
44551
  importPath: "@/components/core/molecules/EmojiPicker",
44189
44552
  category: "component"
44553
+ },
44554
+ "draw-mesh": {
44555
+ component: "DrawMesh",
44556
+ importPath: "@/components/game/atoms/DrawMesh",
44557
+ category: "game"
44190
44558
  }
44191
44559
  }
44192
44560
  };
@@ -44194,7 +44562,7 @@ var component_mapping_default = {
44194
44562
  // src/patterns/event-contracts.json
44195
44563
  var event_contracts_default = {
44196
44564
  version: "1.0.0",
44197
- exportedAt: "2026-07-31T07:15:07.239Z",
44565
+ exportedAt: "2026-07-31T10:02:24.207Z",
44198
44566
  contracts: {
44199
44567
  form: {
44200
44568
  emits: [
@@ -45425,6 +45793,7 @@ var PATTERN_TYPES = [
45425
45793
  "doc-toc",
45426
45794
  "document-viewer",
45427
45795
  "draw-group",
45796
+ "draw-mesh",
45428
45797
  "draw-shape",
45429
45798
  "draw-shape-layer",
45430
45799
  "draw-sprite",