@almadar/core 10.41.0 → 10.42.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-07-28T14:48:23.507Z",
3
+ "exportedAt": "2026-07-28T16:34:50.202Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -18157,6 +18157,22 @@
18157
18157
  "description": "Max items to show before \"Show More\" button. Defaults to 5. Set to 0 to disable.",
18158
18158
  "default": 5
18159
18159
  },
18160
+ "sortBy": {
18161
+ "types": [
18162
+ "string"
18163
+ ],
18164
+ "description": "Field name to order rows by. Values are compared by their own type — numbers numerically, date-like strings chronologically, everything else alphabetically — never by what the field is called. Empty cells sort last. Unset leaves the incoming order untouched. Orders only the rows already fetched: a collection larger than its `limit` still needs ordering at the data layer."
18165
+ },
18166
+ "sortDirection": {
18167
+ "types": [
18168
+ "string"
18169
+ ],
18170
+ "description": "Direction for `sortBy`. Defaults to ascending.",
18171
+ "enumValues": [
18172
+ "asc",
18173
+ "desc"
18174
+ ]
18175
+ },
18160
18176
  "look": {
18161
18177
  "types": [
18162
18178
  "string"
@@ -39207,7 +39223,8 @@
39207
39223
  "cell",
39208
39224
  "rect",
39209
39225
  "ellipse",
39210
- "poly"
39226
+ "poly",
39227
+ "path"
39211
39228
  ]
39212
39229
  },
39213
39230
  "position": {
@@ -39292,6 +39309,12 @@
39292
39309
  ]
39293
39310
  }
39294
39311
  },
39312
+ "d": {
39313
+ "types": [
39314
+ "string"
39315
+ ],
39316
+ "description": "SVG path data in world units relative to the cell's projected top-left — same coordinate convention as `points`."
39317
+ },
39295
39318
  "fill": {
39296
39319
  "types": [
39297
39320
  "string"
@@ -39692,7 +39715,8 @@
39692
39715
  "cell",
39693
39716
  "rect",
39694
39717
  "ellipse",
39695
- "poly"
39718
+ "poly",
39719
+ "path"
39696
39720
  ]
39697
39721
  },
39698
39722
  "position": {
@@ -39767,6 +39791,11 @@
39767
39791
  ]
39768
39792
  }
39769
39793
  },
39794
+ "d": {
39795
+ "types": [
39796
+ "string"
39797
+ ]
39798
+ },
39770
39799
  "fill": {
39771
39800
  "types": [
39772
39801
  "string"
@@ -40914,175 +40943,72 @@
40914
40943
  }
40915
40944
  }
40916
40945
  },
40917
- "svg-draw-group": {
40918
- "type": "svg-draw-group",
40946
+ "draw-group": {
40947
+ "type": "draw-group",
40919
40948
  "category": "game",
40920
40949
  "tier": "atoms",
40921
40950
  "family": "game",
40922
- "description": "SvgDrawGroup component",
40951
+ "description": "DrawGroup component",
40923
40952
  "suggestedFor": [
40924
- "svg",
40925
40953
  "draw",
40926
40954
  "group",
40927
- "svg draw group"
40955
+ "draw group"
40928
40956
  ],
40929
40957
  "typicalSize": "small",
40930
40958
  "propsSchema": {
40931
- "x": {
40932
- "types": [
40933
- "number"
40934
- ],
40935
- "description": "Grid-cell x of the group's origin.",
40936
- "default": 0
40937
- },
40938
- "y": {
40939
- "types": [
40940
- "number"
40941
- ],
40942
- "description": "Grid-cell y of the group's origin.",
40943
- "default": 0
40944
- },
40945
- "scale": {
40946
- "types": [
40947
- "number"
40948
- ],
40949
- "description": "Uniform scale applied after the translate."
40950
- },
40951
- "rotate": {
40952
- "types": [
40953
- "number"
40954
- ],
40955
- "description": "Rotation in degrees applied after the translate."
40956
- },
40957
- "opacity": {
40958
- "types": [
40959
- "number"
40960
- ],
40961
- "description": "0..1 opacity."
40962
- },
40963
- "className": {
40964
- "types": [
40965
- "string"
40966
- ],
40967
- "description": "Additional CSS classes"
40968
- },
40969
- "children": {
40970
- "types": [
40971
- "node"
40972
- ],
40973
- "description": "children prop"
40974
- }
40975
- }
40976
- },
40977
- "svg-draw-shape": {
40978
- "type": "svg-draw-shape",
40979
- "category": "game",
40980
- "tier": "atoms",
40981
- "family": "game",
40982
- "description": "SvgDrawShape component",
40983
- "suggestedFor": [
40984
- "svg",
40985
- "draw",
40986
- "shape",
40987
- "svg draw shape"
40988
- ],
40989
- "typicalSize": "small",
40990
- "propsSchema": {
40991
- "shape": {
40959
+ "id": {
40992
40960
  "types": [
40993
40961
  "string"
40994
40962
  ],
40995
- "description": "shape prop",
40996
- "required": true,
40997
- "enumValues": [
40998
- "rect",
40999
- "circle",
41000
- "ellipse",
41001
- "polygon",
41002
- "polyline",
41003
- "path",
41004
- "line"
41005
- ]
41006
- },
41007
- "x": {
41008
- "types": [
41009
- "number"
41010
- ],
41011
- "description": "Grid-cell x of the element's translated origin.",
41012
- "required": true
40963
+ "description": "Optional source-tagged hit-test handle — the host indexes the drawable's ScenePos→id so a pointer/raycast at that cell resolves to this id (unit/entity click). No id → the host emits only the coordinate (tile click)."
41013
40964
  },
41014
- "y": {
40965
+ "type": {
41015
40966
  "types": [
41016
- "number"
40967
+ "unknown"
41017
40968
  ],
41018
- "description": "Grid-cell y of the element's translated origin.",
40969
+ "description": "type prop",
41019
40970
  "required": true
41020
40971
  },
41021
- "width": {
41022
- "types": [
41023
- "number"
41024
- ],
41025
- "description": "Rect width in cell units."
41026
- },
41027
- "height": {
41028
- "types": [
41029
- "number"
41030
- ],
41031
- "description": "Rect height in cell units."
41032
- },
41033
- "radius": {
41034
- "types": [
41035
- "number"
41036
- ],
41037
- "description": "Circle radius / ellipse horizontal radius in cell units."
41038
- },
41039
- "radiusY": {
41040
- "types": [
41041
- "number"
41042
- ],
41043
- "description": "Ellipse vertical radius in cell units; omitted → `radius` (a circle)."
41044
- },
41045
- "points": {
41046
- "types": [
41047
- "string"
41048
- ],
41049
- "description": "Polygon/polyline points, viewBox units relative to the translated origin."
41050
- },
41051
- "d": {
40972
+ "position": {
41052
40973
  "types": [
41053
- "string"
40974
+ "object"
41054
40975
  ],
41055
- "description": "Path data, viewBox units relative to the translated origin."
41056
- },
41057
- "x2": {
41058
- "types": [
41059
- "number"
40976
+ "description": "Logical scene position; the projector maps it to pixels / world.",
40977
+ "required": true,
40978
+ "properties": {
40979
+ "x": {
40980
+ "types": [
40981
+ "number"
40982
+ ]
40983
+ },
40984
+ "y": {
40985
+ "types": [
40986
+ "number"
40987
+ ]
40988
+ },
40989
+ "z": {
40990
+ "types": [
40991
+ "number"
40992
+ ]
40993
+ }
40994
+ },
40995
+ "propertyRequired": [
40996
+ "x",
40997
+ "y"
41060
40998
  ],
41061
- "description": "Line end x in cell units."
40999
+ "scenePos": true
41062
41000
  },
41063
- "y2": {
41001
+ "scale": {
41064
41002
  "types": [
41065
41003
  "number"
41066
41004
  ],
41067
- "description": "Line end y in cell units."
41068
- },
41069
- "fill": {
41070
- "types": [
41071
- "string"
41072
- ],
41073
- "description": "fill prop"
41074
- },
41075
- "stroke": {
41076
- "types": [
41077
- "string"
41078
- ],
41079
- "description": "stroke prop"
41005
+ "description": "Uniform scale applied to the whole group."
41080
41006
  },
41081
- "strokeWidth": {
41007
+ "rotate": {
41082
41008
  "types": [
41083
41009
  "number"
41084
41010
  ],
41085
- "description": "strokeWidth prop"
41011
+ "description": "Rotation in radians (painter units)."
41086
41012
  },
41087
41013
  "opacity": {
41088
41014
  "types": [
@@ -41090,268 +41016,22 @@
41090
41016
  ],
41091
41017
  "description": "0..1 opacity."
41092
41018
  },
41093
- "className": {
41094
- "types": [
41095
- "string"
41096
- ],
41097
- "description": "Additional CSS classes"
41098
- }
41099
- }
41100
- },
41101
- "svg-draw-text": {
41102
- "type": "svg-draw-text",
41103
- "category": "game",
41104
- "tier": "atoms",
41105
- "family": "game",
41106
- "description": "SvgDrawText component",
41107
- "suggestedFor": [
41108
- "svg",
41109
- "draw",
41110
- "text",
41111
- "svg draw text"
41112
- ],
41113
- "typicalSize": "small",
41114
- "propsSchema": {
41115
- "x": {
41116
- "types": [
41117
- "number"
41118
- ],
41119
- "description": "Grid-cell x of the text anchor.",
41120
- "required": true
41121
- },
41122
- "y": {
41123
- "types": [
41124
- "number"
41125
- ],
41126
- "description": "Grid-cell y of the text anchor.",
41127
- "required": true
41128
- },
41129
- "text": {
41130
- "types": [
41131
- "string"
41132
- ],
41133
- "description": "The text content.",
41134
- "required": true
41135
- },
41136
- "size": {
41137
- "types": [
41138
- "number"
41139
- ],
41140
- "description": "Font size in viewBox units (default 12).",
41141
- "default": 12
41142
- },
41143
- "fill": {
41144
- "types": [
41145
- "string"
41146
- ],
41147
- "description": "fill prop",
41148
- "default": "var(--color-foreground)"
41149
- },
41150
- "anchor": {
41151
- "types": [
41152
- "string"
41153
- ],
41154
- "description": "Text anchor (default 'middle').",
41155
- "enumValues": [
41156
- "start",
41157
- "middle",
41158
- "end"
41159
- ],
41160
- "default": "middle"
41161
- },
41162
- "className": {
41163
- "types": [
41164
- "string"
41165
- ],
41166
- "description": "Additional CSS classes"
41167
- }
41168
- }
41169
- },
41170
- "svg-draw-shape-layer": {
41171
- "type": "svg-draw-shape-layer",
41172
- "category": "game",
41173
- "tier": "molecules",
41174
- "family": "game",
41175
- "description": "SvgDrawShapeLayer component",
41176
- "suggestedFor": [
41177
- "svg",
41178
- "draw",
41179
- "shape",
41180
- "layer",
41181
- "svg draw shape layer"
41182
- ],
41183
- "typicalSize": "medium",
41184
- "propsSchema": {
41185
41019
  "items": {
41186
41020
  "types": [
41187
41021
  "array"
41188
41022
  ],
41189
- "description": "items prop",
41023
+ "description": "The grouped drawables, painted through the normal dispatch.",
41190
41024
  "required": true,
41191
41025
  "items": {
41192
41026
  "types": [
41193
41027
  "object"
41194
41028
  ],
41195
- "properties": {
41196
- "id": {
41197
- "types": [
41198
- "string"
41199
- ]
41200
- }
41201
- },
41202
- "required": [
41203
- "id"
41204
- ]
41205
- }
41206
- },
41207
- "fill": {
41208
- "types": [
41209
- "string"
41210
- ],
41211
- "description": "Default fill for items that don't set one."
41212
- },
41213
- "stroke": {
41214
- "types": [
41215
- "string"
41216
- ],
41217
- "description": "Default stroke for items that don't set one."
41218
- },
41219
- "strokeWidth": {
41220
- "types": [
41221
- "number"
41222
- ],
41223
- "description": "Default strokeWidth for items that don't set one."
41224
- },
41225
- "opacity": {
41226
- "types": [
41227
- "number"
41228
- ],
41229
- "description": "Default 0..1 opacity for items that don't set one."
41230
- }
41231
- }
41232
- },
41233
- "svg-stage": {
41234
- "type": "svg-stage",
41235
- "category": "game",
41236
- "tier": "molecules",
41237
- "family": "game",
41238
- "description": "SvgStage component",
41239
- "suggestedFor": [
41240
- "svg",
41241
- "stage",
41242
- "svg stage"
41243
- ],
41244
- "typicalSize": "medium",
41245
- "propsSchema": {
41246
- "cols": {
41247
- "types": [
41248
- "number"
41249
- ],
41250
- "description": "Grid width in cells.",
41251
- "required": true
41252
- },
41253
- "rows": {
41254
- "types": [
41255
- "number"
41256
- ],
41257
- "description": "Grid height in cells.",
41258
- "required": true
41259
- },
41260
- "tileSize": {
41261
- "types": [
41262
- "number"
41263
- ],
41264
- "description": "ViewBox units per cell (default 32); viewBox is `0 0 cols*tileSize rows*tileSize`.",
41265
- "default": 32
41266
- },
41267
- "background": {
41268
- "types": [
41269
- "string"
41270
- ],
41271
- "description": "Background rect fill (default `var(--color-background)`).",
41272
- "default": "var(--color-background)"
41273
- },
41274
- "tileClickEvent": {
41275
- "types": [
41276
- "string"
41277
- ],
41278
- "description": "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer up (<5px drag).",
41279
- "kind": "event-ref",
41280
- "emitPayloadSchema": [
41281
- {
41282
- "name": "x",
41283
- "type": "number",
41284
- "required": true
41285
- },
41286
- {
41287
- "name": "y",
41288
- "type": "number",
41289
- "required": true
41290
- }
41291
- ]
41292
- },
41293
- "tileHoverEvent": {
41294
- "types": [
41295
- "string"
41296
- ],
41297
- "description": "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer move.",
41298
- "kind": "event-ref",
41299
- "emitPayloadSchema": [
41300
- {
41301
- "name": "x",
41302
- "type": "number",
41303
- "required": true
41304
- },
41305
- {
41306
- "name": "y",
41307
- "type": "number",
41308
- "required": true
41309
- }
41310
- ]
41311
- },
41312
- "tileLeaveEvent": {
41313
- "types": [
41314
- "string"
41315
- ],
41316
- "description": "Emitted as `UI:<event>` with `{}` when the pointer leaves the stage.",
41317
- "kind": "event-ref",
41318
- "emitPayloadSchema": []
41319
- },
41320
- "keyMap": {
41321
- "types": [
41322
- "object"
41323
- ],
41324
- "description": "Keyboard → semantic events: `e.code` → event name, emitted as `UI:<event>` with `{}`.",
41325
- "mapValue": {
41326
- "types": [
41327
- "string"
41328
- ]
41329
- }
41330
- },
41331
- "keyUpMap": {
41332
- "types": [
41333
- "object"
41334
- ],
41335
- "description": "Keyup counterpart of `keyMap`.",
41336
- "mapValue": {
41337
- "types": [
41338
- "string"
41339
- ]
41029
+ "drawableSlot": true
41340
41030
  }
41341
- },
41342
- "className": {
41343
- "types": [
41344
- "string"
41345
- ],
41346
- "description": "Additional CSS classes"
41347
- },
41348
- "children": {
41349
- "types": [
41350
- "node"
41351
- ],
41352
- "description": "children prop"
41353
41031
  }
41354
- }
41032
+ },
41033
+ "drawable": true,
41034
+ "drawHost": true
41355
41035
  }
41356
41036
  },
41357
41037
  "categories": [