@codexo/exojs-tilemap 0.13.0 → 0.15.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 (59) hide show
  1. package/dist/esm/ImageLayer.d.ts +81 -0
  2. package/dist/esm/ImageLayer.js +67 -0
  3. package/dist/esm/ImageLayer.js.map +1 -0
  4. package/dist/esm/ObjectLayer.d.ts +277 -0
  5. package/dist/esm/ObjectLayer.js +176 -0
  6. package/dist/esm/ObjectLayer.js.map +1 -0
  7. package/dist/esm/TileAnimator.d.ts +62 -0
  8. package/dist/esm/TileAnimator.js +169 -0
  9. package/dist/esm/TileAnimator.js.map +1 -0
  10. package/dist/esm/TileChunk.js.map +1 -1
  11. package/dist/esm/TileChunkNode.d.ts +1 -1
  12. package/dist/esm/TileChunkNode.js +1 -1
  13. package/dist/esm/TileLayer.d.ts +33 -2
  14. package/dist/esm/TileLayer.js +26 -2
  15. package/dist/esm/TileLayer.js.map +1 -1
  16. package/dist/esm/TileLayerNode.d.ts +10 -3
  17. package/dist/esm/TileLayerNode.js +35 -7
  18. package/dist/esm/TileLayerNode.js.map +1 -1
  19. package/dist/esm/TileMap.d.ts +71 -1
  20. package/dist/esm/TileMap.js +100 -1
  21. package/dist/esm/TileMap.js.map +1 -1
  22. package/dist/esm/TileMapBand.d.ts +6 -3
  23. package/dist/esm/TileMapBand.js +7 -6
  24. package/dist/esm/TileMapBand.js.map +1 -1
  25. package/dist/esm/TileMapNode.d.ts +1 -1
  26. package/dist/esm/TileMapView.d.ts +1 -1
  27. package/dist/esm/TileMapView.js.map +1 -1
  28. package/dist/esm/TileSet.d.ts +12 -0
  29. package/dist/esm/TileSet.js +30 -2
  30. package/dist/esm/TileSet.js.map +1 -1
  31. package/dist/esm/WangSet.d.ts +79 -0
  32. package/dist/esm/WangSet.js +81 -0
  33. package/dist/esm/WangSet.js.map +1 -0
  34. package/dist/esm/autoTile.d.ts +83 -0
  35. package/dist/esm/autoTile.js +214 -0
  36. package/dist/esm/autoTile.js.map +1 -0
  37. package/dist/esm/chunkGeometry.js +4 -3
  38. package/dist/esm/chunkGeometry.js.map +1 -1
  39. package/dist/esm/index.js +6 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/pixelSnap.d.ts +1 -1
  42. package/dist/esm/public.d.ts +11 -2
  43. package/dist/esm/register.js +6 -1
  44. package/dist/esm/register.js.map +1 -1
  45. package/dist/esm/tilemapExtension.d.ts +4 -3
  46. package/dist/esm/tilemapExtension.js +8 -4
  47. package/dist/esm/tilemapExtension.js.map +1 -1
  48. package/dist/esm/tilemapSerializers.d.ts +19 -0
  49. package/dist/esm/tilemapSerializers.js +47 -0
  50. package/dist/esm/tilemapSerializers.js.map +1 -0
  51. package/dist/esm/types.d.ts +86 -4
  52. package/dist/esm/types.js +18 -1
  53. package/dist/esm/types.js.map +1 -1
  54. package/dist/esm/webgl2/WebGl2TileChunkRenderer.d.ts +2 -2
  55. package/dist/esm/webgl2/WebGl2TileChunkRenderer.js +1 -1
  56. package/dist/esm/webgl2/WebGl2TileChunkRenderer.js.map +1 -1
  57. package/dist/esm/webgpu/WebGpuTileChunkRenderer.d.ts +2 -2
  58. package/dist/esm/webgpu/WebGpuTileChunkRenderer.js +1 -1
  59. package/package.json +8 -3
@@ -8,7 +8,8 @@ import { TileMapView } from './TileMapView.js';
8
8
  * Tile data is stored in compact chunked arrays — no per-tile heap objects.
9
9
  *
10
10
  * The map does NOT own tileset textures (those are Loader-owned) and does
11
- * NOT own SceneNode children (the future TileMapNode will own those).
11
+ * NOT own SceneNode children see {@link import('./TileMapNode').TileMapNode},
12
+ * which owns those.
12
13
  *
13
14
  * Multiple tilesets are supported: each cell stores a packed tileset index
14
15
  * and local tile ID, so different tilesets may have different tile dimensions.
@@ -34,11 +35,19 @@ class TileMap {
34
35
  chunkWidth;
35
36
  /** Default chunk height for layers. */
36
37
  chunkHeight;
38
+ /** Map class/type string (Tiled `class`; may be empty). */
39
+ class;
40
+ /** Map background colour as `0xRRGGBB`, or `null`. Informational. */
41
+ backgroundColor;
42
+ /** Tile draw order (Tiled `renderorder`). Informational. */
43
+ renderOrder;
37
44
  /** Map-level properties (immutable). */
38
45
  properties;
39
46
  _tilesets;
40
47
  _layers = [];
41
48
  _layerById = new Map();
49
+ _objectLayers = [];
50
+ _imageLayers = [];
42
51
  _revision = 0;
43
52
  _destroyed = false;
44
53
  /**
@@ -60,6 +69,9 @@ class TileMap {
60
69
  this.tileHeight = options.tileHeight;
61
70
  this.chunkWidth = chunkWidth;
62
71
  this.chunkHeight = chunkHeight;
72
+ this.class = options.class ?? '';
73
+ this.backgroundColor = options.backgroundColor ?? null;
74
+ this.renderOrder = options.renderOrder ?? 'right-down';
63
75
  this._tilesets = options.tilesets ? [...options.tilesets] : [];
64
76
  this.properties = options.properties
65
77
  ? Object.freeze({ ...options.properties })
@@ -69,6 +81,12 @@ class TileMap {
69
81
  this._addLayer(layer);
70
82
  }
71
83
  }
84
+ if (options.objectLayers) {
85
+ this._objectLayers.push(...options.objectLayers);
86
+ }
87
+ if (options.imageLayers) {
88
+ this._imageLayers.push(...options.imageLayers);
89
+ }
72
90
  }
73
91
  // ── Tilesets ──────────────────────────────────────────────────────────
74
92
  /** Immutable list of tilesets available to this map. */
@@ -147,6 +165,85 @@ class TileMap {
147
165
  this._revision++;
148
166
  return true;
149
167
  }
168
+ // ── Object layers (data-only) ─────────────────────────────────────────
169
+ /** Immutable snapshot of object layers (insertion order). */
170
+ get objectLayers() {
171
+ return this._objectLayers;
172
+ }
173
+ /**
174
+ * Add an object layer after construction.
175
+ * @throws If the map is destroyed.
176
+ */
177
+ addObjectLayer(layer) {
178
+ this._checkDestroyed();
179
+ this._objectLayers.push(layer);
180
+ this._revision++;
181
+ }
182
+ /**
183
+ * Get an object layer by name (first match in insertion order), or undefined.
184
+ *
185
+ * Supply an {@link ObjectSchema} type argument `S` to obtain a typed view of
186
+ * the layer — `getObjectLayer<LevelObjects>('Entities')` returns an
187
+ * `ObjectLayer<LevelObjects>` whose {@link ObjectLayer.byType} / {@link
188
+ * ObjectLayer.where} accessors narrow `properties`. The schema is a static
189
+ * developer promise only; no runtime validation is performed and the call
190
+ * remains fully back-compatible when omitted.
191
+ */
192
+ getObjectLayer(name) {
193
+ return this._objectLayers.find(layer => layer.name === name);
194
+ }
195
+ /**
196
+ * Get an object layer by ID.
197
+ *
198
+ * Supply an {@link ObjectSchema} type argument `S` to obtain a typed view of
199
+ * the layer, as with {@link getObjectLayer}.
200
+ */
201
+ getObjectLayerById(id) {
202
+ return this._objectLayers.find(layer => layer.id === id);
203
+ }
204
+ /**
205
+ * Remove an object layer by ID.
206
+ * @returns true if the layer was found and removed.
207
+ */
208
+ removeObjectLayer(id) {
209
+ this._checkDestroyed();
210
+ const index = this._objectLayers.findIndex(layer => layer.id === id);
211
+ if (index === -1)
212
+ return false;
213
+ this._objectLayers.splice(index, 1);
214
+ this._revision++;
215
+ return true;
216
+ }
217
+ // ── Image layers (data-only) ──────────────────────────────────────────
218
+ /** Immutable snapshot of image layers (insertion order). */
219
+ get imageLayers() {
220
+ return this._imageLayers;
221
+ }
222
+ /**
223
+ * Get an image layer by name (first match in insertion order), or undefined.
224
+ */
225
+ getImageLayer(name) {
226
+ return this._imageLayers.find(layer => layer.name === name);
227
+ }
228
+ /**
229
+ * Get an image layer by ID.
230
+ */
231
+ getImageLayerById(id) {
232
+ return this._imageLayers.find(layer => layer.id === id);
233
+ }
234
+ /**
235
+ * Remove an image layer by ID.
236
+ * @returns true if the layer was found and removed.
237
+ */
238
+ removeImageLayer(id) {
239
+ this._checkDestroyed();
240
+ const index = this._imageLayers.findIndex(layer => layer.id === id);
241
+ if (index === -1)
242
+ return false;
243
+ this._imageLayers.splice(index, 1);
244
+ this._revision++;
245
+ return true;
246
+ }
150
247
  // ── Scene composition ─────────────────────────────────────────────────
151
248
  /**
152
249
  * Create a new {@link TileMapView} that groups this map's layers into
@@ -254,6 +351,8 @@ class TileMap {
254
351
  }
255
352
  this._layers.length = 0;
256
353
  this._layerById.clear();
354
+ this._objectLayers.length = 0;
355
+ this._imageLayers.length = 0;
257
356
  this._tilesets.length = 0;
258
357
  }
259
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TileMap.js","sources":["../../../src/TileMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMap.js","sources":["../../../src/TileMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -33,7 +33,12 @@ import type { TileLayerNode } from './TileLayerNode';
33
33
  * @advanced
34
34
  */
35
35
  export declare class TileMapBand extends Container {
36
- private readonly _name;
36
+ /**
37
+ * The band name (unique within its owning {@link TileMapView}). Narrows the
38
+ * inherited {@link SceneNode.name} from `string | null` to a required string;
39
+ * assigned once at construction.
40
+ */
41
+ name: string;
37
42
  private readonly _layerNodes;
38
43
  private _destroyed;
39
44
  /**
@@ -43,8 +48,6 @@ export declare class TileMapBand extends Container {
43
48
  * @internal Constructed by {@link TileMapView}.
44
49
  */
45
50
  constructor(name: string, layerNodes: readonly TileLayerNode[]);
46
- /** The band name (unique within its owning {@link TileMapView}). */
47
- get name(): string;
48
51
  /**
49
52
  * The tile-layer nodes that compose this band, in map document order. This
50
53
  * is the band's **membership** list (the nodes it owns and destroys); it may
@@ -33,7 +33,12 @@ import { Container } from '@codexo/exojs';
33
33
  * @advanced
34
34
  */
35
35
  class TileMapBand extends Container {
36
- _name;
36
+ /**
37
+ * The band name (unique within its owning {@link TileMapView}). Narrows the
38
+ * inherited {@link SceneNode.name} from `string | null` to a required string;
39
+ * assigned once at construction.
40
+ */
41
+ name = '';
37
42
  _layerNodes;
38
43
  _destroyed = false;
39
44
  /**
@@ -44,16 +49,12 @@ class TileMapBand extends Container {
44
49
  */
45
50
  constructor(name, layerNodes) {
46
51
  super();
47
- this._name = name;
52
+ this.name = name;
48
53
  this._layerNodes = [...layerNodes];
49
54
  for (const node of this._layerNodes) {
50
55
  this.addChild(node);
51
56
  }
52
57
  }
53
- /** The band name (unique within its owning {@link TileMapView}). */
54
- get name() {
55
- return this._name;
56
- }
57
58
  /**
58
59
  * The tile-layer nodes that compose this band, in map document order. This
59
60
  * is the band's **membership** list (the nodes it owns and destroys); it may
@@ -1 +1 @@
1
- {"version":3,"file":"TileMapBand.js","sources":["../../../src/TileMapBand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMapBand.js","sources":["../../../src/TileMapBand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Rectangle } from '@codexo/exojs';
2
2
  import { Container } from '@codexo/exojs';
3
- import type { PixelSnapMode } from '@codexo/exojs/rendering';
3
+ import type { PixelSnapMode } from '@codexo/exojs/renderer-sdk';
4
4
  import { TileLayerNode } from './TileLayerNode';
5
5
  import type { TileMap } from './TileMap';
6
6
  /**
@@ -1,4 +1,4 @@
1
- import type { PixelSnapMode } from '@codexo/exojs/rendering';
1
+ import type { PixelSnapMode } from '@codexo/exojs/renderer-sdk';
2
2
  import { TileLayerNode } from './TileLayerNode';
3
3
  import type { TileMap } from './TileMap';
4
4
  import { TileMapBand } from './TileMapBand';
@@ -1 +1 @@
1
- {"version":3,"file":"TileMapView.js","sources":["../../../src/TileMapView.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMapView.js","sources":["../../../src/TileMapView.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ export interface TileSetOptions {
21
21
  readonly spacing?: number;
22
22
  /** Pixel margin around the atlas. Defaults to 0. */
23
23
  readonly margin?: number;
24
+ /** Tileset class/type string (Tiled `class`). Defaults to `''`. */
25
+ readonly class?: string;
26
+ /** Visual drawing offset in pixels applied to every tile of this set. Defaults to 0. */
27
+ readonly offsetX?: number;
28
+ /** Visual drawing offset in pixels applied to every tile of this set. Defaults to 0. */
29
+ readonly offsetY?: number;
24
30
  }
25
31
  /**
26
32
  * A resolved tileset: a uniform grid of tiles within a texture atlas.
@@ -52,6 +58,12 @@ export declare class TileSet {
52
58
  readonly spacing: number;
53
59
  /** Pixel margin around the atlas. */
54
60
  readonly margin: number;
61
+ /** Tileset class/type string (Tiled `class`; may be empty). */
62
+ readonly class: string;
63
+ /** Visual drawing offset X in pixels, applied to every tile of this set. */
64
+ readonly offsetX: number;
65
+ /** Visual drawing offset Y in pixels, applied to every tile of this set. */
66
+ readonly offsetY: number;
55
67
  private readonly _definitions;
56
68
  /**
57
69
  * @throws When dimensions, counts, or spacing values are invalid.
@@ -30,6 +30,12 @@ class TileSet {
30
30
  spacing;
31
31
  /** Pixel margin around the atlas. */
32
32
  margin;
33
+ /** Tileset class/type string (Tiled `class`; may be empty). */
34
+ class;
35
+ /** Visual drawing offset X in pixels, applied to every tile of this set. */
36
+ offsetX;
37
+ /** Visual drawing offset Y in pixels, applied to every tile of this set. */
38
+ offsetY;
33
39
  _definitions;
34
40
  /**
35
41
  * @throws When dimensions, counts, or spacing values are invalid.
@@ -73,6 +79,9 @@ class TileSet {
73
79
  this.rows = rows;
74
80
  this.spacing = spacing;
75
81
  this.margin = margin;
82
+ this.class = options.class ?? '';
83
+ this.offsetX = options.offsetX ?? 0;
84
+ this.offsetY = options.offsetY ?? 0;
76
85
  this._definitions = new Map();
77
86
  }
78
87
  /**
@@ -87,9 +96,17 @@ class TileSet {
87
96
  const props = definition.properties
88
97
  ? Object.freeze({ ...definition.properties })
89
98
  : undefined;
99
+ const animation = definition.animation
100
+ ? Object.freeze(definition.animation.map(frame => Object.freeze({ ...frame })))
101
+ : undefined;
102
+ const collision = definition.collision
103
+ ? Object.freeze([...definition.collision])
104
+ : undefined;
90
105
  this._definitions.set(localTileId, {
91
106
  localTileId,
92
- properties: props,
107
+ ...(props !== undefined && { properties: props }),
108
+ ...(animation !== undefined && { animation }),
109
+ ...(collision !== undefined && { collision }),
93
110
  });
94
111
  }
95
112
  /**
@@ -104,7 +121,18 @@ class TileSet {
104
121
  const props = def.properties
105
122
  ? Object.freeze({ ...def.properties })
106
123
  : undefined;
107
- map.set(def.localTileId, { localTileId: def.localTileId, properties: props });
124
+ const animation = def.animation
125
+ ? Object.freeze(def.animation.map(frame => Object.freeze({ ...frame })))
126
+ : undefined;
127
+ const collision = def.collision
128
+ ? Object.freeze([...def.collision])
129
+ : undefined;
130
+ map.set(def.localTileId, {
131
+ localTileId: def.localTileId,
132
+ ...(props !== undefined && { properties: props }),
133
+ ...(animation !== undefined && { animation }),
134
+ ...(collision !== undefined && { collision }),
135
+ });
108
136
  }
109
137
  }
110
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TileSet.js","sources":["../../../src/TileSet.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileSet.js","sources":["../../../src/TileSet.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Options for constructing a {@link WangSet}.
3
+ */
4
+ export interface WangSetOptions {
5
+ /** Which TileSet contains the Wang tiles (index into the layer's tilesets array). */
6
+ tilesetIndex: number;
7
+ /**
8
+ * Map from Wang bitmask to local tile ID within the tileset.
9
+ *
10
+ * For blob mode (8-neighbor), keys are 0–255; the 47 valid combinations
11
+ * of the blob encoding must be covered at minimum.
12
+ * For edge mode (4-neighbor), keys are 0–15.
13
+ *
14
+ * Accepts either a {@link ReadonlyMap} or a plain `Record<number, number>`.
15
+ */
16
+ blobMap: ReadonlyMap<number, number> | Record<number, number>;
17
+ /** Whether this is a blob (8-neighbor, default) or edge (4-neighbor) Wang set. */
18
+ type?: 'blob' | 'edge';
19
+ /**
20
+ * Extra local tile IDs that count as belonging to this Wang group, beyond
21
+ * the variant IDs already present as {@link blobMap} *values*.
22
+ *
23
+ * Membership is what {@link autoTile} / `refreshCell` use to decide whether a
24
+ * neighbouring cell is "part of the terrain". Because every value in
25
+ * `blobMap` is itself a member, group membership stays stable no matter which
26
+ * variant a cell currently shows — that is what makes incremental
27
+ * `refreshCell` correct. Add the *base* tile ID you paint with here if it is
28
+ * not already one of the blobMap variants.
29
+ */
30
+ members?: Iterable<number>;
31
+ }
32
+ /**
33
+ * Describes a Wang autotile set: a mapping from a neighbor bitmask to a
34
+ * local tile ID within a specific tileset.
35
+ *
36
+ * Blob bitmask bit layout (powers of 2):
37
+ * - Bit 0 (1): Top-left
38
+ * - Bit 1 (2): Top
39
+ * - Bit 2 (4): Top-right
40
+ * - Bit 3 (8): Left
41
+ * - Bit 4 (16): Right
42
+ * - Bit 5 (32): Bottom-left
43
+ * - Bit 6 (64): Bottom
44
+ * - Bit 7 (128): Bottom-right
45
+ *
46
+ * Diagonal (corner) bits are only set when both adjacent cardinal directions
47
+ * are also set — reducing 256 raw combinations to 47 meaningful blob states.
48
+ *
49
+ * Edge bitmask bit layout:
50
+ * - Bit 0 (1): Top
51
+ * - Bit 1 (2): Right
52
+ * - Bit 2 (4): Bottom
53
+ * - Bit 3 (8): Left
54
+ */
55
+ export declare class WangSet {
56
+ /** Index of the tileset that contains the Wang tiles. */
57
+ readonly tilesetIndex: number;
58
+ /** The Wang mode: `'blob'` (8-neighbor) or `'edge'` (4-neighbor). */
59
+ readonly type: 'blob' | 'edge';
60
+ private readonly _map;
61
+ private readonly _members;
62
+ constructor(options: WangSetOptions);
63
+ /**
64
+ * Look up the local tile ID for a given neighbor bitmask.
65
+ * Returns `undefined` if the mask has no mapping in this set.
66
+ */
67
+ getTileId(mask: number): number | undefined;
68
+ /**
69
+ * Whether a local tile ID belongs to this Wang group. True for every variant
70
+ * the set produces plus any explicit {@link WangSetOptions.members}. Used as
71
+ * the default, variant-stable neighbour-membership test by {@link autoTile}
72
+ * and `refreshCell`.
73
+ */
74
+ isMember(localTileId: number): boolean;
75
+ /** Read-only view of the full bitmask → tile-ID mapping. */
76
+ get blobMap(): ReadonlyMap<number, number>;
77
+ /** Read-only view of the local tile IDs that count as group members. */
78
+ get members(): ReadonlySet<number>;
79
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Describes a Wang autotile set: a mapping from a neighbor bitmask to a
3
+ * local tile ID within a specific tileset.
4
+ *
5
+ * Blob bitmask bit layout (powers of 2):
6
+ * - Bit 0 (1): Top-left
7
+ * - Bit 1 (2): Top
8
+ * - Bit 2 (4): Top-right
9
+ * - Bit 3 (8): Left
10
+ * - Bit 4 (16): Right
11
+ * - Bit 5 (32): Bottom-left
12
+ * - Bit 6 (64): Bottom
13
+ * - Bit 7 (128): Bottom-right
14
+ *
15
+ * Diagonal (corner) bits are only set when both adjacent cardinal directions
16
+ * are also set — reducing 256 raw combinations to 47 meaningful blob states.
17
+ *
18
+ * Edge bitmask bit layout:
19
+ * - Bit 0 (1): Top
20
+ * - Bit 1 (2): Right
21
+ * - Bit 2 (4): Bottom
22
+ * - Bit 3 (8): Left
23
+ */
24
+ class WangSet {
25
+ /** Index of the tileset that contains the Wang tiles. */
26
+ tilesetIndex;
27
+ /** The Wang mode: `'blob'` (8-neighbor) or `'edge'` (4-neighbor). */
28
+ type;
29
+ _map;
30
+ _members;
31
+ constructor(options) {
32
+ this.tilesetIndex = options.tilesetIndex;
33
+ this.type = options.type ?? 'blob';
34
+ if (options.blobMap instanceof Map) {
35
+ this._map = options.blobMap;
36
+ }
37
+ else {
38
+ const map = new Map();
39
+ for (const [k, v] of Object.entries(options.blobMap)) {
40
+ map.set(Number(k), v);
41
+ }
42
+ this._map = map;
43
+ }
44
+ // Members default to every variant tile ID the set can produce, so that any
45
+ // autotiled variant is recognised as part of the group (variant-stable
46
+ // membership). Explicit `members` (e.g. the base paint ID) are added on top.
47
+ const members = new Set(this._map.values());
48
+ if (options.members) {
49
+ for (const id of options.members)
50
+ members.add(id);
51
+ }
52
+ this._members = members;
53
+ }
54
+ /**
55
+ * Look up the local tile ID for a given neighbor bitmask.
56
+ * Returns `undefined` if the mask has no mapping in this set.
57
+ */
58
+ getTileId(mask) {
59
+ return this._map.get(mask);
60
+ }
61
+ /**
62
+ * Whether a local tile ID belongs to this Wang group. True for every variant
63
+ * the set produces plus any explicit {@link WangSetOptions.members}. Used as
64
+ * the default, variant-stable neighbour-membership test by {@link autoTile}
65
+ * and `refreshCell`.
66
+ */
67
+ isMember(localTileId) {
68
+ return this._members.has(localTileId);
69
+ }
70
+ /** Read-only view of the full bitmask → tile-ID mapping. */
71
+ get blobMap() {
72
+ return this._map;
73
+ }
74
+ /** Read-only view of the local tile IDs that count as group members. */
75
+ get members() {
76
+ return this._members;
77
+ }
78
+ }
79
+
80
+ export { WangSet };
81
+ //# sourceMappingURL=WangSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WangSet.js","sources":["../../../src/WangSet.ts"],"sourcesContent":[null],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;;;;AAsBG;MACU,OAAO,CAAA;;AAEF,IAAA,YAAY;;AAGZ,IAAA,IAAI;AAEH,IAAA,IAAI;AACJ,IAAA,QAAQ;AAEzB,IAAA,WAAA,CAAmB,OAAuB,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;QACxC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM;AAElC,QAAA,IAAI,OAAO,CAAC,OAAO,YAAY,GAAG,EAAE;AAClC,YAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO;QAC7B;aAAO;AACL,YAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB;AACrC,YAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAiC,CAAC,EAAE;gBAC9E,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB;AACA,YAAA,IAAI,CAAC,IAAI,GAAG,GAAG;QACjB;;;;AAKA,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACnD,QAAA,IAAI,OAAO,CAAC,OAAO,EAAE;AACnB,YAAA,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO;AAAE,gBAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;IACzB;AAEA;;;AAGG;AACI,IAAA,SAAS,CAAC,IAAY,EAAA;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5B;AAEA;;;;;AAKG;AACI,IAAA,QAAQ,CAAC,WAAmB,EAAA;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,IAAI;IAClB;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AACD;;;;"}