@codexo/exojs-tiled 0.14.0 → 0.15.1

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,3 +1,4 @@
1
+ import { type Texture } from '@codexo/exojs';
1
2
  import { TileMap } from '@codexo/exojs-tilemap';
2
3
  import type { TiledMapData, TiledOrientation, TiledPropertyData, TiledRenderOrder } from './data';
3
4
  import { type TiledLayer } from './TiledLayer';
@@ -37,7 +38,8 @@ export declare class TiledMap {
37
38
  /** Tilesets used by this map, sorted by {@link TiledTileset.firstGid} ascending. */
38
39
  readonly tilesets: readonly TiledTileset[];
39
40
  readonly properties: readonly TiledPropertyData[];
40
- constructor(source: string, data: TiledMapData, tilesets: readonly TiledTileset[]);
41
+ private readonly _imageTextures;
42
+ constructor(source: string, data: TiledMapData, tilesets: readonly TiledTileset[], imageTextures?: ReadonlyMap<number, Texture>);
41
43
  /**
42
44
  * Returns the tileset that owns `gid`, or `undefined` if `gid` is `0`
43
45
  * (the empty-cell sentinel) or is not covered by any tileset.
@@ -56,9 +58,9 @@ export declare class TiledMap {
56
58
  * Only finite orthogonal maps with atlas tilesets are supported. A
57
59
  * non-orthogonal or infinite map, or a collection-of-images tileset, throws
58
60
  * {@link TiledFormatError} rather than silently producing wrong (misplaced)
59
- * or empty geometry. Tile layers become renderable `TileLayer`s and object
60
- * groups become data-only `ObjectLayer`s; group layer children are flattened
61
- * in document order. Image layers are not yet converted.
61
+ * or empty geometry. Tile layers become renderable `TileLayer`s, object
62
+ * groups become data-only `ObjectLayer`s, and image layers become data-only
63
+ * `ImageLayer`s; group layer children are flattened in document order.
62
64
  *
63
65
  * The returned `TileMap` does **not** own the tileset textures — they remain
64
66
  * in the Loader cache. Destroying the returned map does not unload textures.
@@ -1,7 +1,8 @@
1
1
  import { TextureRegion } from '@codexo/exojs';
2
- import { TileSet, TileMap, TileLayer, ObjectLayer } from '@codexo/exojs-tilemap';
2
+ import { TileSet, TileMap, TileLayer, ImageLayer, ObjectLayer, TilePropertyKind } from '@codexo/exojs-tilemap';
3
3
  import { maskTiledGid, TILED_FLIPPED_DIAGONALLY_FLAG, TILED_FLIPPED_VERTICALLY_FLAG, TILED_FLIPPED_HORIZONTALLY_FLAG } from './gid.js';
4
- import { createTiledLayer, TiledGroupLayer, TiledTileLayer, TiledObjectLayer } from './TiledLayer.js';
4
+ import { createTiledLayer, TiledGroupLayer, TiledTileLayer, TiledObjectLayer, TiledImageLayer } from './TiledLayer.js';
5
+ import { resolveTiledUrl } from './url.js';
5
6
  import { TiledFormatError } from './validate.js';
6
7
 
7
8
  /**
@@ -39,7 +40,8 @@ class TiledMap {
39
40
  /** Tilesets used by this map, sorted by {@link TiledTileset.firstGid} ascending. */
40
41
  tilesets;
41
42
  properties;
42
- constructor(source, data, tilesets) {
43
+ _imageTextures;
44
+ constructor(source, data, tilesets, imageTextures = new Map()) {
43
45
  this.source = source;
44
46
  this.data = data;
45
47
  this.orientation = data.orientation;
@@ -52,6 +54,7 @@ class TiledMap {
52
54
  this.infinite = data.infinite;
53
55
  this.backgroundColor = data.backgroundcolor;
54
56
  this.properties = data.properties ?? [];
57
+ this._imageTextures = imageTextures;
55
58
  this.layers = data.layers.map(createTiledLayer);
56
59
  this.tilesets = sortAndValidateTilesetRanges(tilesets, source);
57
60
  checkGidCoverage(this, source);
@@ -87,9 +90,9 @@ class TiledMap {
87
90
  * Only finite orthogonal maps with atlas tilesets are supported. A
88
91
  * non-orthogonal or infinite map, or a collection-of-images tileset, throws
89
92
  * {@link TiledFormatError} rather than silently producing wrong (misplaced)
90
- * or empty geometry. Tile layers become renderable `TileLayer`s and object
91
- * groups become data-only `ObjectLayer`s; group layer children are flattened
92
- * in document order. Image layers are not yet converted.
93
+ * or empty geometry. Tile layers become renderable `TileLayer`s, object
94
+ * groups become data-only `ObjectLayer`s, and image layers become data-only
95
+ * `ImageLayer`s; group layer children are flattened in document order.
93
96
  *
94
97
  * The returned `TileMap` does **not** own the tileset textures — they remain
95
98
  * in the Loader cache. Destroying the returned map does not unload textures.
@@ -138,13 +141,24 @@ class TiledMap {
138
141
  columns: tiledTs.columns,
139
142
  spacing: tiledTs.spacing,
140
143
  margin: tiledTs.margin,
144
+ class: tiledTs.class,
145
+ offsetX: tiledTs.tileOffset.x,
146
+ offsetY: tiledTs.tileOffset.y,
141
147
  });
148
+ // Carry per-tile metadata (properties + animation frames) into the runtime
149
+ // tileset. Without this, Tiled tile animations and per-tile properties are
150
+ // lost at conversion. Out-of-range entries are skipped defensively.
151
+ const defs = buildTileDefinitions(tiledTs.tiles, tiledTs.tileCount);
152
+ if (defs.length > 0) {
153
+ rts._setDefinitions(defs);
154
+ }
142
155
  runtimeTilesets.push(rts);
143
156
  indexToRuntime.push(rts);
144
157
  }
145
- // Collect and convert tile + object layers, flattening group layers.
158
+ // Collect and convert tile + object + image layers, flattening group layers.
146
159
  const runtimeLayers = [];
147
160
  const runtimeObjectLayers = [];
161
+ const runtimeImageLayers = [];
148
162
  const convertLayers = (layers) => {
149
163
  for (const layer of layers) {
150
164
  if (layer instanceof TiledGroupLayer) {
@@ -163,6 +177,10 @@ class TiledMap {
163
177
  opacity: layer.opacity,
164
178
  offsetX: layer.offsetX,
165
179
  offsetY: layer.offsetY,
180
+ parallaxX: layer.parallaxX,
181
+ parallaxY: layer.parallaxY,
182
+ class: layer.class,
183
+ tintColor: parseTiledColor(layer.tintColor),
166
184
  });
167
185
  if (layer.data) {
168
186
  populateTileLayer(rLayer, layer.data, this.tilesets, indexToRuntime);
@@ -172,7 +190,25 @@ class TiledMap {
172
190
  else if (layer instanceof TiledObjectLayer) {
173
191
  runtimeObjectLayers.push(convertObjectLayer(layer, this.tilesets, indexToRuntime));
174
192
  }
175
- // ImageLayer: not yet converted.
193
+ else if (layer instanceof TiledImageLayer) {
194
+ runtimeImageLayers.push(new ImageLayer({
195
+ id: layer.id,
196
+ name: layer.name,
197
+ class: layer.class,
198
+ image: resolveTiledUrl(layer.image, this.source),
199
+ texture: this._imageTextures.get(layer.id) ?? null,
200
+ visible: layer.visible,
201
+ opacity: layer.opacity,
202
+ offsetX: layer.offsetX,
203
+ offsetY: layer.offsetY,
204
+ parallaxX: layer.parallaxX,
205
+ parallaxY: layer.parallaxY,
206
+ tintColor: parseTiledColor(layer.tintColor),
207
+ repeatX: layer.repeatX,
208
+ repeatY: layer.repeatY,
209
+ properties: convertProperties(layer.properties),
210
+ }));
211
+ }
176
212
  }
177
213
  };
178
214
  convertLayers(this.layers);
@@ -185,6 +221,11 @@ class TiledMap {
185
221
  tilesets: runtimeTilesets,
186
222
  layers: runtimeLayers,
187
223
  objectLayers: runtimeObjectLayers,
224
+ imageLayers: runtimeImageLayers,
225
+ class: this.class,
226
+ backgroundColor: parseTiledColor(this.backgroundColor),
227
+ renderOrder: this.renderOrder ?? 'right-down',
228
+ properties: convertProperties(this.properties),
188
229
  });
189
230
  }
190
231
  /**
@@ -258,18 +299,16 @@ function convertObjectLayer(layer, tiledTilesets, indexToRuntime) {
258
299
  opacity: layer.opacity,
259
300
  offsetX: layer.offsetX,
260
301
  offsetY: layer.offsetY,
302
+ drawOrder: layer.drawOrder,
261
303
  objects,
262
304
  properties: convertProperties(layer.properties),
263
305
  });
264
306
  }
265
307
  /**
266
- * Convert one `TiledObject` to a `TileMapObject`. Text objects (and tile
267
- * objects whose tileset was skipped) are dropped — returns `null`.
308
+ * Convert one `TiledObject` to a `TileMapObject`. Tile objects whose tileset
309
+ * was skipped are dropped — returns `null`.
268
310
  */
269
311
  function convertObject(object, tiledTilesets, indexToRuntime) {
270
- if (object.text) {
271
- return null; // text objects are not represented in the data-only model
272
- }
273
312
  const base = {
274
313
  id: object.id,
275
314
  name: object.name,
@@ -282,6 +321,24 @@ function convertObject(object, tiledTilesets, indexToRuntime) {
282
321
  visible: object.visible,
283
322
  properties: convertProperties(object.properties),
284
323
  };
324
+ if (object.text) {
325
+ const t = object.text;
326
+ const color = t.color !== undefined ? parseTiledColor(t.color) : undefined;
327
+ const textStyle = {
328
+ text: t.text,
329
+ ...(color !== undefined && { color }),
330
+ ...(t.fontfamily !== undefined && { fontFamily: t.fontfamily }),
331
+ ...(t.pixelsize !== undefined && { pixelSize: t.pixelsize }),
332
+ ...(t.bold !== undefined && { bold: t.bold }),
333
+ ...(t.italic !== undefined && { italic: t.italic }),
334
+ ...(t.underline !== undefined && { underline: t.underline }),
335
+ ...(t.strikeout !== undefined && { strikeout: t.strikeout }),
336
+ ...(t.wrap !== undefined && { wrap: t.wrap }),
337
+ ...(t.halign !== undefined && { halign: t.halign }),
338
+ ...(t.valign !== undefined && { valign: t.valign }),
339
+ };
340
+ return { ...base, kind: 'text', text: textStyle };
341
+ }
285
342
  if (object.gid !== undefined) {
286
343
  const tile = resolveGid(object.gid, tiledTilesets, indexToRuntime);
287
344
  if (!tile)
@@ -304,21 +361,174 @@ function convertObject(object, tiledTilesets, indexToRuntime) {
304
361
  }
305
362
  const toPoints = (points) => points.map(p => ({ x: p.x, y: p.y }));
306
363
  /**
307
- * Project Tiled custom properties to the generic flat property bag. Class /
308
- * object-valued properties are not representable and are skipped.
364
+ * Parse a Tiled colour string (`#RRGGBB` or `#AARRGGBB`) into a `0xRRGGBB`
365
+ * integer, dropping any alpha. Returns `null` for an absent or malformed value.
366
+ */
367
+ function parseTiledColor(value) {
368
+ if (value === undefined || value === '')
369
+ return null;
370
+ const hex = value.startsWith('#') ? value.slice(1) : value;
371
+ let rrggbb;
372
+ if (hex.length === 8) {
373
+ rrggbb = hex.slice(2); // drop leading alpha
374
+ }
375
+ else if (hex.length === 6) {
376
+ rrggbb = hex;
377
+ }
378
+ else {
379
+ return null;
380
+ }
381
+ const parsed = Number.parseInt(rrggbb, 16);
382
+ return Number.isNaN(parsed) ? null : parsed;
383
+ }
384
+ /**
385
+ * Build runtime {@link TileDefinition}s from a Tiled tileset's per-tile data,
386
+ * carrying over per-tile properties, animation frames, and collision shapes
387
+ * (the tile's `objectgroup`). Tiles whose `id` is out of range, and animation
388
+ * frames referencing out-of-range local ids, are skipped so the runtime tileset
389
+ * never receives malformed definitions.
390
+ */
391
+ function buildTileDefinitions(tiles, tileCount) {
392
+ const defs = [];
393
+ for (const tile of tiles) {
394
+ if (tile.id < 0 || tile.id >= tileCount)
395
+ continue;
396
+ const properties = tile.properties ? convertProperties(tile.properties) : undefined;
397
+ const hasProps = properties !== undefined && Object.keys(properties).length > 0;
398
+ let animation;
399
+ if (tile.animation && tile.animation.length > 0) {
400
+ const frames = tile.animation
401
+ .filter(frame => frame.tileid >= 0 && frame.tileid < tileCount)
402
+ .map(frame => ({ localTileId: frame.tileid, duration: frame.duration }));
403
+ if (frames.length > 0)
404
+ animation = frames;
405
+ }
406
+ let collision;
407
+ if (tile.objectgroup && tile.objectgroup.objects.length > 0) {
408
+ const shapes = tile.objectgroup.objects
409
+ .map(obj => convertCollisionObject(obj))
410
+ .filter((obj) => obj !== null);
411
+ if (shapes.length > 0)
412
+ collision = shapes;
413
+ }
414
+ if (!hasProps && animation === undefined && collision === undefined)
415
+ continue;
416
+ defs.push({
417
+ localTileId: tile.id,
418
+ ...(hasProps && { properties }),
419
+ ...(animation !== undefined && { animation }),
420
+ ...(collision !== undefined && { collision }),
421
+ });
422
+ }
423
+ return defs;
424
+ }
425
+ /**
426
+ * Convert a raw `TiledObjectData` to a runtime `TileMapObject` for use as a
427
+ * per-tile collision shape. Text objects and tile-object (gid) references are
428
+ * dropped — returns `null`. Does not perform GID resolution; collision shapes
429
+ * in tile objectgroups are almost exclusively plain geometry.
430
+ */
431
+ function convertCollisionObject(obj) {
432
+ if (obj.text)
433
+ return null; // text not representable as a collision shape
434
+ if (obj.gid !== undefined)
435
+ return null; // tile objects require GID resolution not available here
436
+ const base = {
437
+ id: obj.id,
438
+ name: obj.name,
439
+ type: obj.type,
440
+ x: obj.x,
441
+ y: obj.y,
442
+ width: obj.width,
443
+ height: obj.height,
444
+ rotation: obj.rotation,
445
+ visible: obj.visible,
446
+ properties: convertProperties(obj.properties ?? []),
447
+ };
448
+ if (obj.point === true)
449
+ return { ...base, kind: 'point' };
450
+ if (obj.ellipse === true)
451
+ return { ...base, kind: 'ellipse' };
452
+ if (obj.polygon)
453
+ return { ...base, kind: 'polygon', points: toPoints(obj.polygon) };
454
+ if (obj.polyline)
455
+ return { ...base, kind: 'polyline', points: toPoints(obj.polyline) };
456
+ return { ...base, kind: 'rectangle' };
457
+ }
458
+ /**
459
+ * Project Tiled custom properties to the generic flat property bag.
460
+ * `object`-typed properties become a {@link TilePropertyKind.ObjectRef}
461
+ * (the wire value is already the referenced object's numeric id — Tiled has
462
+ * no LDtk-style navigation fields, so those stay `undefined`). `class`-typed
463
+ * properties recursively convert their nested member bag into a
464
+ * {@link TileProperties}.
309
465
  */
310
466
  function convertProperties(properties) {
311
467
  if (properties.length === 0)
312
468
  return Object.freeze({});
313
469
  const out = {};
314
470
  for (const property of properties) {
315
- const value = property.value;
316
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
471
+ const value = convertPropertyValue(property);
472
+ if (value !== undefined) {
317
473
  out[property.name] = value;
318
474
  }
319
475
  }
320
476
  return Object.freeze(out);
321
477
  }
478
+ /** Convert one {@link TiledPropertyData} to its canonical {@link TilePropertyValue}. */
479
+ function convertPropertyValue(property) {
480
+ switch (property.type) {
481
+ case 'string':
482
+ case 'int':
483
+ case 'float':
484
+ case 'bool':
485
+ case 'color':
486
+ case 'file':
487
+ return property.value;
488
+ case 'object':
489
+ return { kind: TilePropertyKind.ObjectRef, id: property.value };
490
+ case 'class':
491
+ return convertClassPropertyValue(property.value, property.propertytype);
492
+ default: {
493
+ // Exhaustiveness check: if a new TiledPropertyType is ever added,
494
+ // `property.type` will fail to narrow to `never` here and tsc will error.
495
+ property.type;
496
+ throw new Error(`convertProperties: unrecognised Tiled property type "${property.type}".`);
497
+ }
498
+ }
499
+ }
500
+ /**
501
+ * Reserved key under which a `class`-typed property's Tiled custom-class name
502
+ * ({@link TiledPropertyData.propertytype}, e.g. `"Stats"`) is stored inside the
503
+ * converted nested {@link TileProperties} bag, mirroring the `ldtkUid`/
504
+ * `ldtkWorldIid`-style reserved-metadata-key convention used by the LDtk
505
+ * adapter (`packages/exojs-ldtk/src/ldtkToTileMap.ts`). Only set on the
506
+ * top-level converted bag for a class-typed property that has a
507
+ * `propertytype` — nested-class members carry no `propertytype` of their own
508
+ * in Tiled's data model, so recursive calls never set it.
509
+ */
510
+ const tiledClassNameProperty = 'tiledClassName';
511
+ /**
512
+ * Recursively convert a `class`-typed property's nested member bag into a
513
+ * {@link TileProperties}. Scalar members pass through; nested-class members
514
+ * recurse (Tiled classes may nest arbitrarily deep). When `propertytype` is
515
+ * given (the Tiled custom-class name), it is tagged onto the bag under the
516
+ * reserved {@link tiledClassNameProperty} key, applied last so it can never
517
+ * be clobbered by a same-named member.
518
+ */
519
+ function convertClassPropertyValue(value, propertytype) {
520
+ const out = {};
521
+ for (const [name, member] of Object.entries(value)) {
522
+ out[name] =
523
+ typeof member === 'string' || typeof member === 'number' || typeof member === 'boolean'
524
+ ? member
525
+ : convertClassPropertyValue(member);
526
+ }
527
+ if (propertytype !== undefined) {
528
+ out[tiledClassNameProperty] = propertytype;
529
+ }
530
+ return Object.freeze(out);
531
+ }
322
532
  function sortAndValidateTilesetRanges(tilesets, source) {
323
533
  const sorted = [...tilesets].sort((a, b) => a.firstGid - b.firstGid);
324
534
  for (let i = 1; i < sorted.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"TiledMap.js","sources":["../../../src/TiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiledMap.js","sources":["../../../src/TiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Texture } from '@codexo/exojs';
2
- import type { TiledPointData, TiledPropertyData, TiledTileData, TiledTilesetData } from './data';
2
+ import type { TiledPointData, TiledPropertyData, TiledTileData, TiledTilesetData, TiledWangSetData } from './data';
3
3
  /**
4
4
  * Loader-resolved resources for a {@link TiledTileset}: the absolute image
5
5
  * URL(s) and the {@link Texture} instance(s) loaded for them. All textures
@@ -46,6 +46,8 @@ export declare class TiledTileset {
46
46
  readonly tileOffset: TiledPointData;
47
47
  readonly objectAlignment?: string | undefined;
48
48
  readonly tiles: readonly TiledTileData[];
49
+ /** Wang sets (terrain/auto-tile definitions) declared on this tileset. Empty when none are defined. */
50
+ readonly wangSets: readonly TiledWangSetData[];
49
51
  /** Textures loaded for collection-of-images tiles, keyed by local tile id. Loader-owned. */
50
52
  readonly tileTextures: ReadonlyMap<number, Texture>;
51
53
  readonly properties: readonly TiledPropertyData[];
@@ -28,6 +28,8 @@ class TiledTileset {
28
28
  tileOffset;
29
29
  objectAlignment;
30
30
  tiles;
31
+ /** Wang sets (terrain/auto-tile definitions) declared on this tileset. Empty when none are defined. */
32
+ wangSets;
31
33
  /** Textures loaded for collection-of-images tiles, keyed by local tile id. Loader-owned. */
32
34
  tileTextures;
33
35
  properties;
@@ -49,6 +51,7 @@ class TiledTileset {
49
51
  this.tileOffset = data.tileoffset ?? { x: 0, y: 0 };
50
52
  this.objectAlignment = data.objectalignment;
51
53
  this.tiles = data.tiles ?? [];
54
+ this.wangSets = data.wangsets ?? [];
52
55
  this.tileTextures = resources.tileTextures ?? new Map();
53
56
  this.properties = data.properties ?? [];
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TiledTileset.js","sources":["../../../src/TiledTileset.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;AAOG;MACU,YAAY,CAAA;;AAEP,IAAA,QAAQ;;AAER,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,MAAM;;AAEN,IAAA,QAAQ;AACR,IAAA,UAAU;AACV,IAAA,WAAW;;AAEX,IAAA,OAAO;AACP,IAAA,UAAU;AACV,IAAA,eAAe;AACf,IAAA,KAAK;;AAEL,IAAA,YAAY;AACZ,IAAA,UAAU;AAE1B,IAAA,WAAA,CAAmB,IAAsB,EAAE,QAAgB,EAAE,YAAmC,EAAE,EAAA;AAChG,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACnD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;IACzC;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;IAC3C;;AAGO,IAAA,OAAO,CAAC,OAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC;IACrD;;AAGO,IAAA,WAAW,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;IACjE;AACD;;;;"}
1
+ {"version":3,"file":"TiledTileset.js","sources":["../../../src/TiledTileset.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;AAOG;MACU,YAAY,CAAA;;AAEP,IAAA,QAAQ;;AAER,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,MAAM;;AAEN,IAAA,QAAQ;AACR,IAAA,UAAU;AACV,IAAA,WAAW;;AAEX,IAAA,OAAO;AACP,IAAA,UAAU;AACV,IAAA,eAAe;AACf,IAAA,KAAK;;AAEL,IAAA,QAAQ;;AAER,IAAA,YAAY;AACZ,IAAA,UAAU;AAE1B,IAAA,WAAA,CAAmB,IAAsB,EAAE,QAAgB,EAAE,YAAmC,EAAE,EAAA;AAChG,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACnD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;QACnC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;IACzC;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;IAC3C;;AAGO,IAAA,OAAO,CAAC,OAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC;IACrD;;AAGO,IAAA,WAAW,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;IACjE;AACD;;;;"}
@@ -55,6 +55,47 @@ export interface TiledTileData {
55
55
  readonly imagewidth?: number | undefined;
56
56
  readonly imageheight?: number | undefined;
57
57
  }
58
+ /**
59
+ * One color (terrain) entry within a wangset's `colors` array.
60
+ *
61
+ * `tile` is the representative tile local id for this color (–1 if unset).
62
+ * `probability` is the relative spawn weight used by Tiled's random fill.
63
+ */
64
+ export interface TiledWangColorData {
65
+ readonly name: string;
66
+ readonly color: string;
67
+ readonly tile: number;
68
+ readonly probability: number;
69
+ }
70
+ /**
71
+ * One wang-tile entry within a wangset's `wangtiles` array.
72
+ *
73
+ * `tileid` is the local tile id within the owning tileset.
74
+ *
75
+ * `wangid` is an 8-element array of color indices (1-based; 0 = unset) whose
76
+ * positions correspond to (in order): top, top-right, right, bottom-right,
77
+ * bottom, bottom-left, left, top-left.
78
+ */
79
+ export interface TiledWangTileData {
80
+ readonly tileid: number;
81
+ readonly wangid: readonly number[];
82
+ }
83
+ /**
84
+ * A wangset entry within a tileset's `wangsets` array.
85
+ *
86
+ * `type` is `'corner'`, `'edge'`, or `'mixed'` (Tiled 1.5+). Older files may
87
+ * omit it or use other strings — treat unknown values as-is.
88
+ *
89
+ * `tile` is the representative tile local id for this wangset (–1 if unset).
90
+ */
91
+ export interface TiledWangSetData {
92
+ readonly name: string;
93
+ readonly type: string;
94
+ readonly tile: number;
95
+ readonly colors: readonly TiledWangColorData[];
96
+ readonly wangtiles: readonly TiledWangTileData[];
97
+ readonly properties?: readonly TiledPropertyData[] | undefined;
98
+ }
58
99
  /**
59
100
  * A Tiled tileset, as the root of a standalone `.tsj` file or (minus
60
101
  * `firstgid`) embedded inline in a map's `tilesets` array.
@@ -75,6 +116,7 @@ export interface TiledTilesetData {
75
116
  readonly tileoffset?: TiledPointData | undefined;
76
117
  readonly objectalignment?: string | undefined;
77
118
  readonly tiles?: readonly TiledTileData[] | undefined;
119
+ readonly wangsets?: readonly TiledWangSetData[] | undefined;
78
120
  readonly properties?: readonly TiledPropertyData[] | undefined;
79
121
  readonly tiledversion?: string | undefined;
80
122
  readonly version?: string | number | undefined;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Decode any base64/compressed tile-layer data in a raw Tiled map document into
3
+ * plain GID arrays, mutating `raw` in place and returning it. Safe to call on a
4
+ * pure-CSV map (it does nothing). Runs before validation.
5
+ *
6
+ * @throws {TiledFormatError} On zstd/unknown compression or malformed data.
7
+ * @internal
8
+ */
9
+ export declare function decodeTiledLayerData(raw: unknown, source: string): Promise<unknown>;
@@ -0,0 +1,100 @@
1
+ import { Codec } from '@codexo/exojs';
2
+ import { TiledFormatError } from './validate.js';
3
+
4
+ // Pre-validation decode pass for Tiled tile-layer data.
5
+ //
6
+ // Tiled can store tile-layer GIDs as plain CSV (a JSON array), or as a base64
7
+ // string that is optionally gzip/zlib/zstd compressed. The rest of the pipeline
8
+ // (validation, `TiledMap`, `toTileMap`) only deals with the decoded `number[]`
9
+ // GID array, so this pass runs first — during the async load phase — and
10
+ // rewrites any base64/compressed `data` (and infinite-map `chunks[].data`) into
11
+ // plain GID arrays in place. After it runs, the document looks like a CSV map to
12
+ // every downstream stage, which stays synchronous and unchanged.
13
+ /** Read a little-endian Uint32 GID array out of a decoded byte buffer. */
14
+ function bytesToGids(bytes, source, path) {
15
+ if (bytes.length % 4 !== 0) {
16
+ throw new TiledFormatError(source, path, `decoded tile data length ${bytes.length} is not a multiple of 4`);
17
+ }
18
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
19
+ const count = bytes.length / 4;
20
+ const gids = new Array(count);
21
+ for (let i = 0; i < count; i++) {
22
+ gids[i] = view.getUint32(i * 4, true); // Tiled writes little-endian.
23
+ }
24
+ return gids;
25
+ }
26
+ /** Decode one base64 `data` string into a GID array, applying any compression. */
27
+ async function decodeBase64Gids(data, compression, source, path) {
28
+ let bytes = Codec.decodeBase64(data);
29
+ if (compression === 'gzip') {
30
+ bytes = await Codec.decompress(bytes, 'gzip');
31
+ }
32
+ else if (compression === 'zlib') {
33
+ bytes = await Codec.decompress(bytes, 'deflate');
34
+ }
35
+ else if (compression === 'zstd') {
36
+ throw new TiledFormatError(source, path, 'zstd-compressed tile data is not supported (no native decoder; re-export with gzip/zlib or uncompressed)');
37
+ }
38
+ else if (compression !== undefined && compression !== '') {
39
+ throw new TiledFormatError(source, path, `unsupported tile layer compression ${JSON.stringify(compression)}`);
40
+ }
41
+ return bytesToGids(bytes, source, path);
42
+ }
43
+ /** Decode a single tile layer's `data` and/or `chunks[].data` in place. */
44
+ async function decodeTileLayer(layer, source, path) {
45
+ if (layer.encoding !== 'base64') {
46
+ return; // CSV / plain array — nothing to decode.
47
+ }
48
+ if (typeof layer.data === 'string') {
49
+ layer.data = await decodeBase64Gids(layer.data, layer.compression, source, `${path}.data`);
50
+ }
51
+ if (Array.isArray(layer.chunks)) {
52
+ await Promise.all(layer.chunks.map(async (chunk, i) => {
53
+ if (typeof chunk !== 'object' || chunk === null)
54
+ return;
55
+ const c = chunk;
56
+ if (typeof c.data === 'string') {
57
+ c.data = await decodeBase64Gids(c.data, layer.compression, source, `${path}.chunks[${i}].data`);
58
+ }
59
+ }));
60
+ }
61
+ // Now that data is a plain GID array, drop the encoding/compression markers so
62
+ // downstream validation treats it like a CSV layer.
63
+ delete layer.encoding;
64
+ delete layer.compression;
65
+ }
66
+ /** Recursively decode every tile layer under a `layers` array (groups nest). */
67
+ async function decodeLayers(layers, source, path) {
68
+ if (!Array.isArray(layers)) {
69
+ return;
70
+ }
71
+ await Promise.all(layers.map(async (layer, i) => {
72
+ if (typeof layer !== 'object' || layer === null)
73
+ return;
74
+ const l = layer;
75
+ const layerPath = `${path}[${i}]`;
76
+ if (l.type === 'tilelayer') {
77
+ await decodeTileLayer(l, source, layerPath);
78
+ }
79
+ else if (l.type === 'group') {
80
+ await decodeLayers(l.layers, source, `${layerPath}.layers`);
81
+ }
82
+ }));
83
+ }
84
+ /**
85
+ * Decode any base64/compressed tile-layer data in a raw Tiled map document into
86
+ * plain GID arrays, mutating `raw` in place and returning it. Safe to call on a
87
+ * pure-CSV map (it does nothing). Runs before validation.
88
+ *
89
+ * @throws {TiledFormatError} On zstd/unknown compression or malformed data.
90
+ * @internal
91
+ */
92
+ async function decodeTiledLayerData(raw, source) {
93
+ if (typeof raw === 'object' && raw !== null) {
94
+ await decodeLayers(raw.layers, source, 'layers');
95
+ }
96
+ return raw;
97
+ }
98
+
99
+ export { decodeTiledLayerData };
100
+ //# sourceMappingURL=decodeLayerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeLayerData.js","sources":["../../../src/decodeLayerData.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA,SAAS,WAAW,CAAC,KAAiB,EAAE,MAAc,EAAE,IAAY,EAAA;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,QAAA,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA,yBAAA,EAA4B,KAAK,CAAC,MAAM,CAAA,uBAAA,CAAyB,CAAC;IAC7G;AACA,IAAA,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;AAC3E,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC9B,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC;AACrC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,QAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC;AACA,IAAA,OAAO,IAAI;AACb;AAEA;AACA,eAAe,gBAAgB,CAC7B,IAAY,EACZ,WAAoB,EACpB,MAAc,EACd,IAAY,EAAA;IAEZ,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;AAEpC,IAAA,IAAI,WAAW,KAAK,MAAM,EAAE;QAC1B,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAC/C;AAAO,SAAA,IAAI,WAAW,KAAK,MAAM,EAAE;QACjC,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;IAClD;AAAO,SAAA,IAAI,WAAW,KAAK,MAAM,EAAE;QACjC,MAAM,IAAI,gBAAgB,CACxB,MAAM,EACN,IAAI,EACJ,0GAA0G,CAC3G;IACH;SAAO,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,EAAE;AAC1D,QAAA,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA,mCAAA,EAAsC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA,CAAE,CAAC;IAC/G;IAEA,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;AACzC;AAEA;AACA,eAAe,eAAe,CAAC,KAA8B,EAAE,MAAc,EAAE,IAAY,EAAA;AACzF,IAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC/B,QAAA,OAAO;IACT;AAEA,IAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAClC,KAAK,CAAC,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA,KAAA,CAAO,CAAC;IAC5F;IAEA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC/B,QAAA,MAAM,OAAO,CAAC,GAAG,CACd,KAAK,CAAC,MAAoB,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,KAAI;AACjD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE;YACjD,MAAM,CAAC,GAAG,KAAgC;AAC1C,YAAA,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC9B,CAAC,CAAC,IAAI,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,QAAA,EAAW,CAAC,CAAA,MAAA,CAAQ,CAAC;YACjG;QACF,CAAC,CAAC,CACH;IACH;;;IAIA,OAAO,KAAK,CAAC,QAAQ;IACrB,OAAO,KAAK,CAAC,WAAW;AAC1B;AAEA;AACA,eAAe,YAAY,CAAC,MAAe,EAAE,MAAc,EAAE,IAAY,EAAA;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B;IACF;AACA,IAAA,MAAM,OAAO,CAAC,GAAG,CACd,MAAoB,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,KAAI;AAC3C,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE;QACjD,MAAM,CAAC,GAAG,KAAgC;AAC1C,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,CAAC,GAAG;AACjC,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YAC1B,MAAM,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC;QAC7C;AAAO,aAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;AAC7B,YAAA,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA,EAAG,SAAS,CAAA,OAAA,CAAS,CAAC;QAC7D;IACF,CAAC,CAAC,CACH;AACH;AAEA;;;;;;;AAOG;AACI,eAAe,oBAAoB,CAAC,GAAY,EAAE,MAAc,EAAA;IACrE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,MAAM,YAAY,CAAE,GAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC/E;AACA,IAAA,OAAO,GAAG;AACZ;;;;"}
package/dist/esm/index.js CHANGED
@@ -2,10 +2,11 @@ export { tiledBuildInfo } from './tiledBuildInfo.js';
2
2
  export { tiledExtension } from './tiledExtension.js';
3
3
  export { tiledMapBinding } from './tiledMapBinding.js';
4
4
  export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding.js';
5
- export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, tilemapExtension } from '@codexo/exojs-tilemap';
5
+ export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, WangSet, tilemapExtension } from '@codexo/exojs-tilemap';
6
6
  export { TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, createTiledLayer } from './TiledLayer.js';
7
7
  export { TiledMap } from './TiledMap.js';
8
8
  export { TiledObject } from './TiledObject.js';
9
9
  export { TiledTileset } from './TiledTileset.js';
10
+ export { tiledWangSetToWangSet } from './wangSets.js';
10
11
  export { TiledFormatError } from './validate.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { Texture } from '@codexo/exojs';
2
+ import { decodeTiledLayerData } from './decodeLayerData.js';
2
3
  import { TiledMap } from './TiledMap.js';
3
4
  import { TiledTileset } from './TiledTileset.js';
4
5
  import { resolveTiledUrl } from './url.js';
@@ -51,6 +52,29 @@ async function loadTiledTileset(ref, mapSource, context) {
51
52
  const resources = await loadTiledTilesetResources(ref, mapSource, context);
52
53
  return new TiledTileset(ref, ref.firstgid, resources);
53
54
  }
55
+ /**
56
+ * Recursively walks the layer tree and loads the image for every
57
+ * `imagelayer` encountered. Returns a `Map` keyed by layer `id` so that
58
+ * {@link TiledMap.toTileMap} can attach the pre-loaded {@link Texture} to each
59
+ * runtime image layer without performing additional I/O.
60
+ */
61
+ async function loadImageLayerTextures(layers, mapSource, context) {
62
+ const result = new Map();
63
+ for (const layer of layers) {
64
+ if (layer.type === 'imagelayer' && layer.image) {
65
+ const imageUrl = resolveTiledUrl(layer.image, mapSource);
66
+ const texture = await context.loader.load(Texture, imageUrl);
67
+ result.set(layer.id, texture);
68
+ }
69
+ else if (layer.type === 'group') {
70
+ const nested = await loadImageLayerTextures(layer.layers, mapSource, context);
71
+ for (const [id, tex] of nested) {
72
+ result.set(id, tex);
73
+ }
74
+ }
75
+ }
76
+ return result;
77
+ }
54
78
  /**
55
79
  * Loads and resolves a Tiled map: fetches and validates the `.tmj`, resolves
56
80
  * each tileset (external `.tsj` or embedded) and its image(s), and returns
@@ -59,9 +83,15 @@ async function loadTiledTileset(ref, mapSource, context) {
59
83
  */
60
84
  async function loadTiledMap(source, context) {
61
85
  const raw = await context.fetchJson(source);
86
+ // Decode any base64/gzip/zlib tile-layer data into plain GID arrays before
87
+ // validation, so the rest of the pipeline stays CSV-shaped and synchronous.
88
+ await decodeTiledLayerData(raw, source);
62
89
  const data = validateTiledMapData(raw, source);
63
- const tilesets = await Promise.all(data.tilesets.map(ref => loadTiledTileset(ref, source, context)));
64
- return new TiledMap(source, data, tilesets);
90
+ const [tilesets, imageTextures] = await Promise.all([
91
+ Promise.all(data.tilesets.map(ref => loadTiledTileset(ref, source, context))),
92
+ loadImageLayerTextures(data.layers, source, context),
93
+ ]);
94
+ return new TiledMap(source, data, tilesets, imageTextures);
65
95
  }
66
96
 
67
97
  export { loadTiledMap };
@@ -1 +1 @@
1
- {"version":3,"file":"loadTiledMap.js","sources":["../../../src/loadTiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAQA;;;;;;;;;AASG;AACH,eAAe,yBAAyB,CAAC,IAAsB,EAAE,OAAe,EAAE,OAA2B,EAAE,MAAe,EAAA;AAC5H,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAI,OAA4B;AAEhC,IAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;QAC5B,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;AAC/C,QAAA,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;IACxD;AAEA,IAAA,IAAI,YAA8C;AAElD,IAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC5B;YACF;YAEA,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;AACzD,YAAA,MAAM,WAAW,GAAY,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;AAE7E,YAAA,YAAY,KAAK,IAAI,GAAG,EAAE;YAC1B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC;QACxC;IACF;IAEA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;AACpD;AAEA;;;;AAIG;AACH,eAAe,gBAAgB,CAAC,GAAwB,EAAE,SAAiB,EAAE,OAA2B,EAAA;AACtG,IAAA,IAAI,QAAQ,IAAI,GAAG,EAAE;QACnB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,MAAM,IAAI,GAAG,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAEhF,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;IACxD;IAEA,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;IAE1E,OAAO,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;AACvD;AAEA;;;;;AAKG;AACI,eAAe,YAAY,CAAC,MAAc,EAAE,OAA2B,EAAA;IAC5E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAC3C,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpG,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC7C;;;;"}
1
+ {"version":3,"file":"loadTiledMap.js","sources":["../../../src/loadTiledMap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -5,15 +5,16 @@ export { tiledBuildInfo } from './tiledBuildInfo';
5
5
  export { tiledExtension } from './tiledExtension';
6
6
  export { tiledMapBinding } from './tiledMapBinding';
7
7
  export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding';
8
- export type { ChunkCoord, EllipseObject, ObjectLayerOptions, ObjectPoint, ObjectQuery, PackedTile, PointObject, PolygonObject, PolylineObject, ReadonlyTileChunk, RectangleObject, ResolvedTile, TileDefinition, TileLayerNodeOptions, TileLayerOptions, TileLayerSelector, TileMapBandDefinition, TileMapNodeOptions, TileMapObject, TileMapObjectKind, TileMapOptions, TileMapViewOptions, TileObject, TileProperties, TilePropertyValue, TileSetOptions, TileTransform, } from '@codexo/exojs-tilemap';
9
- export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, tilemapExtension, TileMapNode, TileMapView, TileSet, } from '@codexo/exojs-tilemap';
10
- export type { TiledAnimationFrameData, TiledChunkData, TiledClassPropertyValueData, TiledEmbeddedTilesetRefData, TiledExternalTilesetRefData, TiledGroupLayerData, TiledImageLayerData, TiledLayerData, TiledLayerDataBase, TiledMapData, TiledObjectData, TiledObjectLayerData, TiledOrientation, TiledPointData, TiledPropertyData, TiledPropertyType, TiledRenderOrder, TiledTextData, TiledTileData, TiledTileLayerData, TiledTilesetData, TiledTilesetRefData, } from './data';
8
+ export type { ChunkCoord, EllipseObject, ObjectLayerOptions, ObjectPoint, ObjectQuery, PackedTile, PointObject, PolygonObject, PolylineObject, ReadonlyTileChunk, RectangleObject, ResolvedTile, TileDefinition, TileLayerNodeOptions, TileLayerOptions, TileLayerSelector, TileMapBandDefinition, TileMapNodeOptions, TileMapObject, TileMapObjectKind, TileMapOptions, TileMapViewOptions, TileObject, TileProperties, TilePropertyValue, TileSetOptions, TileTransform, WangSetOptions, } from '@codexo/exojs-tilemap';
9
+ export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, tilemapExtension, TileMapNode, TileMapView, TileSet, WangSet, } from '@codexo/exojs-tilemap';
10
+ export type { TiledAnimationFrameData, TiledChunkData, TiledClassPropertyValueData, TiledEmbeddedTilesetRefData, TiledExternalTilesetRefData, TiledGroupLayerData, TiledImageLayerData, TiledLayerData, TiledLayerDataBase, TiledMapData, TiledObjectData, TiledObjectLayerData, TiledOrientation, TiledPointData, TiledPropertyData, TiledPropertyType, TiledRenderOrder, TiledTextData, TiledTileData, TiledTileLayerData, TiledTilesetData, TiledTilesetRefData, TiledWangColorData, TiledWangSetData, TiledWangTileData, } from './data';
11
11
  export type { TiledLayerType } from './TiledLayer';
12
12
  export { createTiledLayer, TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, } from './TiledLayer';
13
13
  export { TiledMap } from './TiledMap';
14
14
  export { TiledObject } from './TiledObject';
15
15
  export type { TiledTilesetResources } from './TiledTileset';
16
16
  export { TiledTileset } from './TiledTileset';
17
+ export { tiledWangSetToWangSet } from './wangSets';
17
18
  export { TiledFormatError } from './validate';
18
19
  import type { TileMap } from '@codexo/exojs-tilemap';
19
20
  import type { TiledMap } from './TiledMap';
@@ -3,11 +3,12 @@ import { tiledExtension } from './tiledExtension.js';
3
3
  export { tiledBuildInfo } from './tiledBuildInfo.js';
4
4
  export { tiledMapBinding } from './tiledMapBinding.js';
5
5
  export { tiledRuntimeMapBinding } from './tiledRuntimeMapBinding.js';
6
- export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, tilemapExtension } from '@codexo/exojs-tilemap';
6
+ export { ObjectLayer, TILE_TRANSFORM_IDENTITY, TileLayer, TileLayerNode, TileMap, TileMapBand, TileMapNode, TileMapView, TileSet, WangSet, tilemapExtension } from '@codexo/exojs-tilemap';
7
7
  export { TiledGroupLayer, TiledImageLayer, TiledLayer, TiledObjectLayer, TiledTileLayer, createTiledLayer } from './TiledLayer.js';
8
8
  export { TiledMap } from './TiledMap.js';
9
9
  export { TiledObject } from './TiledObject.js';
10
10
  export { TiledTileset } from './TiledTileset.js';
11
+ export { tiledWangSetToWangSet } from './wangSets.js';
11
12
  export { TiledFormatError } from './validate.js';
12
13
 
13
14
  // @codexo/exojs-tiled/register — explicit registration entry.
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sources":["../../../src/register.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMA,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;;;;"}
1
+ {"version":3,"file":"register.js","sources":["../../../src/register.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMA,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  const tiledBuildInfo = Object.freeze({
2
- version: "0.14.0",
3
- revision: "e4d9d55",
2
+ version: "0.15.1",
3
+ revision: "6f825a8",
4
4
  development: false,
5
5
  });
6
6
 
package/dist/esm/url.js CHANGED
@@ -34,7 +34,11 @@ function resolveTiledUrl(ref, base) {
34
34
  return new URL(ref, base).href;
35
35
  }
36
36
  const resolved = new URL(ref, SYNTHETIC_ORIGIN + base.replace(/^\/+/, ''));
37
- return resolved.href.slice(SYNTHETIC_ORIGIN.length);
37
+ const relative = resolved.href.slice(SYNTHETIC_ORIGIN.length);
38
+ // A root-relative base must produce a root-relative result again — dropping
39
+ // the leading slash would make the browser re-resolve the reference against
40
+ // the document base URL (e.g. `/site/assets/x.png` → `/site/site/assets/…`).
41
+ return base.startsWith('/') ? `/${relative}` : relative;
38
42
  }
39
43
 
40
44
  export { resolveTiledUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sources":["../../../src/url.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAM,YAAY,GAAG,iCAAiC;AAEtD;AACA,MAAM,aAAa,GAAG,qBAAqB;AAE3C;AACA,MAAM,gBAAgB,GAAG,wBAAwB;AAEjD;;;;;;;;;;;;;;;;AAgBG;AACG,SAAU,eAAe,CAAC,GAAW,EAAE,IAAY,EAAA;AACvD,IAAA,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI;IAChC;AAEA,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE1E,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;AACrD;;;;"}
1
+ {"version":3,"file":"url.js","sources":["../../../src/url.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAM,YAAY,GAAG,iCAAiC;AAEtD;AACA,MAAM,aAAa,GAAG,qBAAqB;AAE3C;AACA,MAAM,gBAAgB,GAAG,wBAAwB;AAEjD;;;;;;;;;;;;;;;;AAgBG;AACG,SAAU,eAAe,CAAC,GAAW,EAAE,IAAY,EAAA;AACvD,IAAA,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI;IAChC;AAEA,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1E,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;;;;AAK7D,IAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,GAAG,QAAQ;AACzD;;;;"}
@@ -282,6 +282,10 @@ function validateTiledChunkData(raw, source, path) {
282
282
  };
283
283
  }
284
284
  function validateTiledTileLayerData(obj, base, source, path) {
285
+ // Validation runs AFTER the async decode pass (`decodeLayerData.ts`), which
286
+ // turns base64/gzip/zlib `data` into a plain GID array and strips these
287
+ // markers. Reaching here with them still set means the data was not decoded
288
+ // (e.g. validate was called directly) — reject rather than mis-parse.
285
289
  if (obj.compression !== undefined) {
286
290
  throw new TiledFormatError(source, joinPath(path, 'compression'), `compressed tile layer data is not supported (compression: ${JSON.stringify(obj.compression)})`);
287
291
  }
@@ -404,6 +408,37 @@ function validateTiledTileData(raw, source, path) {
404
408
  imageheight: optionalNonNegativeInteger(obj, 'imageheight', source, path),
405
409
  };
406
410
  }
411
+ // ── Wangsets ─────────────────────────────────────────────────────────────────
412
+ function validateTiledWangColorData(raw, source, path) {
413
+ const obj = expectObject(raw, source, path);
414
+ return {
415
+ name: expectString(obj.name, source, joinPath(path, 'name')),
416
+ color: expectString(obj.color, source, joinPath(path, 'color')),
417
+ tile: expectInteger(obj.tile, source, joinPath(path, 'tile')),
418
+ probability: expectNumber(obj.probability, source, joinPath(path, 'probability')),
419
+ };
420
+ }
421
+ function validateTiledWangTileData(raw, source, path) {
422
+ const obj = expectObject(raw, source, path);
423
+ const tileid = expectNonNegativeInteger(obj.tileid, source, joinPath(path, 'tileid'));
424
+ const wangid = mapArray(obj.wangid, source, joinPath(path, 'wangid'), (item, itemPath) => expectNonNegativeInteger(item, source, itemPath));
425
+ return { tileid, wangid };
426
+ }
427
+ function validateTiledWangSetData(raw, source, path) {
428
+ const obj = expectObject(raw, source, path);
429
+ return {
430
+ name: expectString(obj.name, source, joinPath(path, 'name')),
431
+ // type is accepted as any string — unknown values are treated as-is per spec
432
+ type: expectString(obj.type, source, joinPath(path, 'type')),
433
+ tile: expectInteger(obj.tile, source, joinPath(path, 'tile')),
434
+ colors: mapArray(obj.colors, source, joinPath(path, 'colors'), (item, itemPath) => validateTiledWangColorData(item, source, itemPath)),
435
+ wangtiles: mapArray(obj.wangtiles, source, joinPath(path, 'wangtiles'), (item, itemPath) => validateTiledWangTileData(item, source, itemPath)),
436
+ properties: validateTiledPropertiesArray(obj.properties, source, joinPath(path, 'properties')),
437
+ };
438
+ }
439
+ function validateTiledWangSets(value, source, path) {
440
+ return optionalMapArray(value, source, path, (item, itemPath) => validateTiledWangSetData(item, source, itemPath));
441
+ }
407
442
  // ── Tilesets ─────────────────────────────────────────────────────────────────
408
443
  function validateTiledVersion(value, source, path) {
409
444
  if (typeof value !== 'string' && typeof value !== 'number') {
@@ -428,6 +463,7 @@ function validateTiledTilesetData(obj, source, path) {
428
463
  tileoffset: obj.tileoffset === undefined ? undefined : validateTiledPointData(obj.tileoffset, source, joinPath(path, 'tileoffset')),
429
464
  objectalignment: optionalString(obj, 'objectalignment', source, path),
430
465
  tiles: optionalMapArray(obj.tiles, source, joinPath(path, 'tiles'), (item, itemPath) => validateTiledTileData(item, source, itemPath)),
466
+ wangsets: validateTiledWangSets(obj.wangsets, source, joinPath(path, 'wangsets')),
431
467
  properties: validateTiledPropertiesArray(obj.properties, source, joinPath(path, 'properties')),
432
468
  tiledversion: optionalString(obj, 'tiledversion', source, path),
433
469
  version: obj.version === undefined ? undefined : validateTiledVersion(obj.version, source, joinPath(path, 'version')),
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sources":["../../../src/validate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { WangSet } from '@codexo/exojs-tilemap';
2
+ import type { TiledWangSetData } from './data';
3
+ /**
4
+ * Best-effort conversion of a {@link TiledWangSetData} to a runtime
5
+ * {@link WangSet} from `@codexo/exojs-tilemap`.
6
+ *
7
+ * ## Supported types
8
+ *
9
+ * - **`'corner'`** — Maps the four corner positions of each `wangtile` to the
10
+ * four corner bits of the 8-bit blob mask and returns a `WangSet` of type
11
+ * `'blob'`. Only color index `> 0` in the Tiled wangid is treated as "this
12
+ * terrain"; color index `0` means unset (not this terrain).
13
+ *
14
+ * Tiled corner wangid position → WangSet blob bit mapping:
15
+ * - `wangid[7]` (top-left) → bit 0 (value 1)
16
+ * - `wangid[1]` (top-right) → bit 2 (value 4)
17
+ * - `wangid[5]` (bottom-left) → bit 5 (value 32)
18
+ * - `wangid[3]` (bottom-right) → bit 7 (value 128)
19
+ *
20
+ * This is a best-effort conversion accurate for the common **single-color**
21
+ * corner terrain (blob-style). Multi-color terrains are accepted but only
22
+ * the presence/absence of any color (> 0 = set) is used; which specific
23
+ * color is set is ignored.
24
+ *
25
+ * - **`'edge'`** — Maps the four edge positions to the 4-bit edge mask and
26
+ * returns a `WangSet` of type `'edge'`.
27
+ *
28
+ * Tiled edge wangid position → WangSet edge bit mapping:
29
+ * - `wangid[0]` (top) → bit 0 (value 1)
30
+ * - `wangid[2]` (right) → bit 1 (value 2)
31
+ * - `wangid[4]` (bottom) → bit 2 (value 4)
32
+ * - `wangid[6]` (left) → bit 3 (value 8)
33
+ *
34
+ * - **`'mixed'` / unknown** — Returns `null`; mixed wangsets interleave corner
35
+ * and edge semantics in a way that cannot be faithfully represented by
36
+ * a single blob or edge mask without additional heuristics.
37
+ *
38
+ * @param wangSet The raw {@link TiledWangSetData} parsed from a `.tsj` file.
39
+ * @param tilesetIndex The index of the owning tileset within the layer's
40
+ * tileset list (forwarded to {@link WangSet} as-is).
41
+ * @returns A {@link WangSet}, or `null` when the wangset type is unsupported.
42
+ */
43
+ export declare function tiledWangSetToWangSet(wangSet: TiledWangSetData, tilesetIndex: number): WangSet | null;
@@ -0,0 +1,127 @@
1
+ import { WangSet } from '@codexo/exojs-tilemap';
2
+
3
+ /**
4
+ * Best-effort conversion of a {@link TiledWangSetData} to a runtime
5
+ * {@link WangSet} from `@codexo/exojs-tilemap`.
6
+ *
7
+ * ## Supported types
8
+ *
9
+ * - **`'corner'`** — Maps the four corner positions of each `wangtile` to the
10
+ * four corner bits of the 8-bit blob mask and returns a `WangSet` of type
11
+ * `'blob'`. Only color index `> 0` in the Tiled wangid is treated as "this
12
+ * terrain"; color index `0` means unset (not this terrain).
13
+ *
14
+ * Tiled corner wangid position → WangSet blob bit mapping:
15
+ * - `wangid[7]` (top-left) → bit 0 (value 1)
16
+ * - `wangid[1]` (top-right) → bit 2 (value 4)
17
+ * - `wangid[5]` (bottom-left) → bit 5 (value 32)
18
+ * - `wangid[3]` (bottom-right) → bit 7 (value 128)
19
+ *
20
+ * This is a best-effort conversion accurate for the common **single-color**
21
+ * corner terrain (blob-style). Multi-color terrains are accepted but only
22
+ * the presence/absence of any color (> 0 = set) is used; which specific
23
+ * color is set is ignored.
24
+ *
25
+ * - **`'edge'`** — Maps the four edge positions to the 4-bit edge mask and
26
+ * returns a `WangSet` of type `'edge'`.
27
+ *
28
+ * Tiled edge wangid position → WangSet edge bit mapping:
29
+ * - `wangid[0]` (top) → bit 0 (value 1)
30
+ * - `wangid[2]` (right) → bit 1 (value 2)
31
+ * - `wangid[4]` (bottom) → bit 2 (value 4)
32
+ * - `wangid[6]` (left) → bit 3 (value 8)
33
+ *
34
+ * - **`'mixed'` / unknown** — Returns `null`; mixed wangsets interleave corner
35
+ * and edge semantics in a way that cannot be faithfully represented by
36
+ * a single blob or edge mask without additional heuristics.
37
+ *
38
+ * @param wangSet The raw {@link TiledWangSetData} parsed from a `.tsj` file.
39
+ * @param tilesetIndex The index of the owning tileset within the layer's
40
+ * tileset list (forwarded to {@link WangSet} as-is).
41
+ * @returns A {@link WangSet}, or `null` when the wangset type is unsupported.
42
+ */
43
+ function tiledWangSetToWangSet(wangSet, tilesetIndex) {
44
+ if (wangSet.type === 'corner') {
45
+ return convertCornerWangSet(wangSet, tilesetIndex);
46
+ }
47
+ if (wangSet.type === 'edge') {
48
+ return convertEdgeWangSet(wangSet, tilesetIndex);
49
+ }
50
+ // 'mixed' or any unknown type cannot be faithfully mapped.
51
+ return null;
52
+ }
53
+ // ── Corner → blob ─────────────────────────────────────────────────────────────
54
+ //
55
+ // Tiled corner wangid positions (indices into the 8-element wangid array):
56
+ // Index order: [top(0), topright(1), right(2), bottomright(3), bottom(4), bottomleft(5), left(6), topleft(7)]
57
+ //
58
+ // WangSet blob bitmask values (bit layout: bit0=TL, bit1=T, bit2=TR, bit3=L, bit4=R, bit5=BL, bit6=B, bit7=BR):
59
+ // topleft → wangid[7] → blob bit 0 (value 1)
60
+ // topright → wangid[1] → blob bit 2 (value 4)
61
+ // bottomleft → wangid[5] → blob bit 5 (value 32)
62
+ // bottomright → wangid[3] → blob bit 7 (value 128)
63
+ const cornerIndexTopLeft = 7;
64
+ const cornerIndexTopRight = 1;
65
+ const cornerIndexBottomRight = 3;
66
+ const cornerIndexBottomLeft = 5;
67
+ const blobBitTopLeft = 1; // bit 0
68
+ const blobBitTopRight = 4; // bit 2
69
+ const blobBitBottomLeft = 32; // bit 5
70
+ const blobBitBottomRight = 128; // bit 7
71
+ function convertCornerWangSet(wangSet, tilesetIndex) {
72
+ const blobMap = new Map();
73
+ for (const wangTile of wangSet.wangtiles) {
74
+ const id = wangTile.wangid;
75
+ let mask = 0;
76
+ if ((id[cornerIndexTopLeft] ?? 0) > 0)
77
+ mask |= blobBitTopLeft;
78
+ if ((id[cornerIndexTopRight] ?? 0) > 0)
79
+ mask |= blobBitTopRight;
80
+ if ((id[cornerIndexBottomLeft] ?? 0) > 0)
81
+ mask |= blobBitBottomLeft;
82
+ if ((id[cornerIndexBottomRight] ?? 0) > 0)
83
+ mask |= blobBitBottomRight;
84
+ // Last writer wins when two wangtiles produce the same mask
85
+ // (shouldn't happen in well-formed data, but be lenient).
86
+ blobMap.set(mask, wangTile.tileid);
87
+ }
88
+ return new WangSet({ tilesetIndex, blobMap, type: 'blob' });
89
+ }
90
+ // ── Edge → edge ───────────────────────────────────────────────────────────────
91
+ //
92
+ // Tiled edge wangid positions:
93
+ // Index order: [top(0), topright(1), right(2), bottomright(3), bottom(4), bottomleft(5), left(6), topleft(7)]
94
+ //
95
+ // WangSet edge bitmask values (bit layout: bit0=T, bit1=R, bit2=B, bit3=L):
96
+ // top → wangid[0] → edge bit 0 (value 1)
97
+ // right → wangid[2] → edge bit 1 (value 2)
98
+ // bottom → wangid[4] → edge bit 2 (value 4)
99
+ // left → wangid[6] → edge bit 3 (value 8)
100
+ const edgeIndexTop = 0;
101
+ const edgeIndexRight = 2;
102
+ const edgeIndexBottom = 4;
103
+ const edgeIndexLeft = 6;
104
+ const edgeBitTop = 1; // bit 0
105
+ const edgeBitRight = 2; // bit 1
106
+ const edgeBitBottom = 4; // bit 2
107
+ const edgeBitLeft = 8; // bit 3
108
+ function convertEdgeWangSet(wangSet, tilesetIndex) {
109
+ const blobMap = new Map();
110
+ for (const wangTile of wangSet.wangtiles) {
111
+ const id = wangTile.wangid;
112
+ let mask = 0;
113
+ if ((id[edgeIndexTop] ?? 0) > 0)
114
+ mask |= edgeBitTop;
115
+ if ((id[edgeIndexRight] ?? 0) > 0)
116
+ mask |= edgeBitRight;
117
+ if ((id[edgeIndexBottom] ?? 0) > 0)
118
+ mask |= edgeBitBottom;
119
+ if ((id[edgeIndexLeft] ?? 0) > 0)
120
+ mask |= edgeBitLeft;
121
+ blobMap.set(mask, wangTile.tileid);
122
+ }
123
+ return new WangSet({ tilesetIndex, blobMap, type: 'edge' });
124
+ }
125
+
126
+ export { tiledWangSetToWangSet };
127
+ //# sourceMappingURL=wangSets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wangSets.js","sources":["../../../src/wangSets.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCG;AACG,SAAU,qBAAqB,CAAC,OAAyB,EAAE,YAAoB,EAAA;AACnF,IAAA,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC;IACpD;AAEA,IAAA,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AAC3B,QAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC;IAClD;;AAGA,IAAA,OAAO,IAAI;AACb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,kBAAkB,GAAG,CAAC;AAC5B,MAAM,mBAAmB,GAAG,CAAC;AAC7B,MAAM,sBAAsB,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,CAAC;AAE/B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,SAAS,oBAAoB,CAAC,OAAyB,EAAE,YAAoB,EAAA;AAC3E,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB;AAEzC,IAAA,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;AACxC,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM;QAC1B,IAAI,IAAI,GAAG,CAAC;QAEZ,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,cAAc;QAC7D,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,eAAe;QAC/D,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,iBAAiB;QACnE,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,kBAAkB;;;QAIrE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IACpC;AAEA,IAAA,OAAO,IAAI,OAAO,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7D;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,GAAG,CAAC;AACtB,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,eAAe,GAAG,CAAC;AACzB,MAAM,aAAa,GAAG,CAAC;AAEvB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,SAAS,kBAAkB,CAAC,OAAyB,EAAE,YAAoB,EAAA;AACzE,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB;AAEzC,IAAA,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;AACxC,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM;QAC1B,IAAI,IAAI,GAAG,CAAC;QAEZ,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,UAAU;QACnD,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,YAAY;QACvD,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,aAAa;QACzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,WAAW;QAErD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IACpC;AAEA,IAAA,OAAO,IAAI,OAAO,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7D;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codexo/exojs-tiled",
3
- "version": "0.14.0",
3
+ "version": "0.15.1",
4
4
  "description": "Tiled map format asset extension for ExoJS.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,14 +33,14 @@
33
33
  "LICENSE"
34
34
  ],
35
35
  "peerDependencies": {
36
- "@codexo/exojs": "0.14.x"
36
+ "@codexo/exojs": "0.15.x"
37
37
  },
38
38
  "dependencies": {
39
- "@codexo/exojs-tilemap": "0.14.0"
39
+ "@codexo/exojs-tilemap": "0.15.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@codexo/exojs": "0.14.0",
43
- "@codexo/exojs-config": "0.0.0"
42
+ "@codexo/exojs-config": "0.0.0",
43
+ "@codexo/exojs": "0.15.1"
44
44
  },
45
45
  "license": "MIT",
46
46
  "publishConfig": {