@flighthq/tilemap 0.5.1-edge.799.62ef0c7 → 0.5.1-edge.911.32a089f
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.
- package/README.md +2 -2
- package/dist/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/contract.js.map +1 -1
- package/dist/tilemap.d.ts +3 -1
- package/dist/tilemap.d.ts.map +1 -1
- package/dist/tilemap.js +28 -18
- package/dist/tilemap.js.map +1 -1
- package/package.json +8 -8
- package/src/tilemap.test.ts +16 -2
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/tilemap`. The `@flig
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/tilemap@0.5.1-edge.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/tilemap@0.5.1-edge.911.32a089f](https://github.com/flighthq/flight/tree/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/packages/tilemap)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/contract.js
CHANGED
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/tilemap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node, PartialNode, Rectangle, Tilemap, TilemapData, TilemapRuntime, TilemapSignals, Vector2Like } from '@flighthq/types/contract';
|
|
1
|
+
import type { EntityConstruction, Node, PartialNode, Rectangle, Tilemap, TilemapData, TilemapRuntime, TilemapSignals, Vector2Like } from '@flighthq/types/contract';
|
|
2
2
|
/** Fills all cells with -1 (empty). Equivalent to `fillTilemapTiles(tilemap, -1)`. Fires `onCleared` when signals are enabled. */
|
|
3
3
|
export declare function clearTilemap(tilemap: Tilemap): void;
|
|
4
4
|
/**
|
|
@@ -54,6 +54,8 @@ export declare function getTilemapTileAtPointXY(source: Readonly<Tilemap>, x: nu
|
|
|
54
54
|
* Returns false and does not modify `out` when the atlas is null or the column/row is out of bounds.
|
|
55
55
|
*/
|
|
56
56
|
export declare function getTilemapTileRect(out: Rectangle, source: Readonly<Tilemap>, column: number, row: number): boolean;
|
|
57
|
+
export declare function initializeTilemapData(out: EntityConstruction<TilemapData>, data?: Readonly<Partial<TilemapData>>): void;
|
|
58
|
+
export declare function initializeTilemapSignals(out: EntityConstruction<TilemapSignals>): void;
|
|
57
59
|
export declare function resizeTilemap(tilemap: Tilemap, columns: number, rows: number): void;
|
|
58
60
|
/** Sets the tile at `(column, row)`. Fires `onTileChanged` when signals are enabled. */
|
|
59
61
|
export declare function setTilemapTile(tilemap: Tilemap, column: number, row: number, id: number): void;
|
package/dist/tilemap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilemap.d.ts","sourceRoot":"","sources":["../src/tilemap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tilemap.d.ts","sourceRoot":"","sources":["../src/tilemap.ts"],"names":[],"mappings":"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"}
|
package/dist/tilemap.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { createNode2D, createNode2DRuntime, getNode2DRuntime } from '@flighthq/scene2d/contract';
|
|
3
3
|
import { createSignal } from '@flighthq/signals/contract';
|
|
4
4
|
import { TilemapKind } from '@flighthq/types/contract';
|
|
@@ -40,27 +40,17 @@ export function createTilemap(obj) {
|
|
|
40
40
|
return createNode2D(TilemapKind, obj, createTilemapData, createTilemapRuntime);
|
|
41
41
|
}
|
|
42
42
|
export function createTilemapData(data) {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
return
|
|
46
|
-
atlas: data?.atlas ?? null,
|
|
47
|
-
columns,
|
|
48
|
-
materialData: data?.materialData ?? null,
|
|
49
|
-
rows,
|
|
50
|
-
tileHeight: data?.tileHeight ?? 0,
|
|
51
|
-
tileWidth: data?.tileWidth ?? 0,
|
|
52
|
-
tiles: data?.tiles ?? new Int16Array(columns * rows).fill(-1),
|
|
53
|
-
});
|
|
43
|
+
const out = allocateEntity();
|
|
44
|
+
initializeTilemapData(out, data);
|
|
45
|
+
return finishEntity(out);
|
|
54
46
|
}
|
|
55
47
|
export function createTilemapRuntime() {
|
|
56
48
|
return createNode2DRuntime(defaultMethods);
|
|
57
49
|
}
|
|
58
50
|
export function createTilemapSignals() {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
onTilesChanged: createSignal(),
|
|
63
|
-
});
|
|
51
|
+
const out = allocateEntity();
|
|
52
|
+
initializeTilemapSignals(out);
|
|
53
|
+
return finishEntity(out);
|
|
64
54
|
}
|
|
65
55
|
/**
|
|
66
56
|
* Opt-in signals for a `Tilemap` node. Returns the {@link TilemapSignals} group attached to
|
|
@@ -159,6 +149,22 @@ export function getTilemapTileRect(out, source, column, row) {
|
|
|
159
149
|
out.height = tileHeight;
|
|
160
150
|
return true;
|
|
161
151
|
}
|
|
152
|
+
export function initializeTilemapData(out, data) {
|
|
153
|
+
const columns = data?.columns ?? 0;
|
|
154
|
+
const rows = data?.rows ?? 0;
|
|
155
|
+
out.atlas = data?.atlas ?? null;
|
|
156
|
+
out.columns = columns;
|
|
157
|
+
out.materialData = data?.materialData ?? null;
|
|
158
|
+
out.rows = rows;
|
|
159
|
+
out.tileHeight = data?.tileHeight ?? 0;
|
|
160
|
+
out.tileWidth = data?.tileWidth ?? 0;
|
|
161
|
+
out.tiles = data?.tiles ?? new Int16Array(columns * rows).fill(-1);
|
|
162
|
+
}
|
|
163
|
+
export function initializeTilemapSignals(out) {
|
|
164
|
+
out.onCleared = createSignal();
|
|
165
|
+
out.onTileChanged = createSignal();
|
|
166
|
+
out.onTilesChanged = createSignal();
|
|
167
|
+
}
|
|
162
168
|
export function resizeTilemap(tilemap, columns, rows) {
|
|
163
169
|
const data = tilemap.data;
|
|
164
170
|
const newTiles = new Int16Array(columns * rows).fill(-1);
|
|
@@ -214,7 +220,11 @@ export function setTilemapTileTint(tilemap, column, row, rgba) {
|
|
|
214
220
|
return;
|
|
215
221
|
if (data.materialData === null)
|
|
216
222
|
data.materialData = new Array(data.columns * data.rows).fill(null);
|
|
217
|
-
data.materialData[row * data.columns + column] =
|
|
223
|
+
data.materialData[row * data.columns + column] = (() => {
|
|
224
|
+
const out = allocateEntity();
|
|
225
|
+
out.tint = rgba >>> 0;
|
|
226
|
+
return finishEntity(out);
|
|
227
|
+
})();
|
|
218
228
|
}
|
|
219
229
|
const defaultMethods = {
|
|
220
230
|
computeLocalBoundsRectangle: computeTilemapLocalBoundsRectangle,
|
package/dist/tilemap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tilemap.js","sourceRoot":"","sources":["../src/tilemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"tilemap.js","sourceRoot":"","sources":["../src/tilemap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/tilemap",
|
|
3
|
-
"version": "0.5.1-edge.
|
|
3
|
+
"version": "0.5.1-edge.911.32a089f",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/entity": "0.5.1-edge.
|
|
42
|
-
"@flighthq/geometry": "0.5.1-edge.
|
|
43
|
-
"@flighthq/node": "0.5.1-edge.
|
|
44
|
-
"@flighthq/quadbatch": "0.5.1-edge.
|
|
45
|
-
"@flighthq/scene2d": "0.5.1-edge.
|
|
46
|
-
"@flighthq/signals": "0.5.1-edge.
|
|
47
|
-
"@flighthq/types": "0.5.1-edge.
|
|
41
|
+
"@flighthq/entity": "0.5.1-edge.911.32a089f",
|
|
42
|
+
"@flighthq/geometry": "0.5.1-edge.911.32a089f",
|
|
43
|
+
"@flighthq/node": "0.5.1-edge.911.32a089f",
|
|
44
|
+
"@flighthq/quadbatch": "0.5.1-edge.911.32a089f",
|
|
45
|
+
"@flighthq/scene2d": "0.5.1-edge.911.32a089f",
|
|
46
|
+
"@flighthq/signals": "0.5.1-edge.911.32a089f",
|
|
47
|
+
"@flighthq/types": "0.5.1-edge.911.32a089f"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"typescript": "^5.3.0"
|
package/src/tilemap.test.ts
CHANGED
|
@@ -22,6 +22,8 @@ import {
|
|
|
22
22
|
getTilemapTileAtPoint,
|
|
23
23
|
getTilemapTileAtPointXY,
|
|
24
24
|
getTilemapTileRect,
|
|
25
|
+
initializeTilemapData,
|
|
26
|
+
initializeTilemapSignals,
|
|
25
27
|
resizeTilemap,
|
|
26
28
|
setTilemapTile,
|
|
27
29
|
setTilemapTileTint,
|
|
@@ -371,6 +373,18 @@ describe('getTilemapTileRect', () => {
|
|
|
371
373
|
});
|
|
372
374
|
});
|
|
373
375
|
|
|
376
|
+
describe('initializeTilemapData', () => {
|
|
377
|
+
it('is the construction initializer of createTilemapData', () => {
|
|
378
|
+
expect(typeof initializeTilemapData).toBe('function');
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
describe('initializeTilemapSignals', () => {
|
|
383
|
+
it('is the construction initializer of createTilemapSignals', () => {
|
|
384
|
+
expect(typeof initializeTilemapSignals).toBe('function');
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
|
|
374
388
|
describe('resizeTilemap', () => {
|
|
375
389
|
it('updates columns and rows', () => {
|
|
376
390
|
const tilemap = createTilemap({ data: { columns: 3, rows: 3 } });
|
|
@@ -429,7 +443,6 @@ describe('setTilemapTile', () => {
|
|
|
429
443
|
expect(getTilemapTile(tilemap, 0, 0)).toBe(-1);
|
|
430
444
|
});
|
|
431
445
|
});
|
|
432
|
-
|
|
433
446
|
describe('setTilemapTiles', () => {
|
|
434
447
|
it('blits a sub-grid at offset (0, 0)', () => {
|
|
435
448
|
const tilemap = createTilemap({ data: { columns: 4, rows: 3 } });
|
|
@@ -486,7 +499,8 @@ describe('setTilemapTileTint', () => {
|
|
|
486
499
|
const tilemap = createTilemap({ data: { columns: 3, rows: 2 } });
|
|
487
500
|
expect(tilemap.data.materialData).toBeNull();
|
|
488
501
|
setTilemapTileTint(tilemap, 1, 1, 0x12345678);
|
|
489
|
-
expect(tilemap.data.materialData).
|
|
502
|
+
expect(tilemap.data.materialData).toHaveLength(6);
|
|
503
|
+
expect(tilemap.data.materialData![4]).toMatchObject({ tint: 0x12345678 });
|
|
490
504
|
});
|
|
491
505
|
|
|
492
506
|
it('ignores out-of-range coordinates without allocating', () => {
|