melonjs 19.3.0 → 19.4.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.
- package/README.md +1 -0
- package/build/application/application.d.ts.map +1 -1
- package/build/application/defaultApplicationSettings.d.ts +1 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -1
- package/build/application/settings.d.ts +12 -0
- package/build/application/settings.d.ts.map +1 -1
- package/build/index.js +1063 -121
- package/build/index.js.map +4 -4
- package/build/input/pointerevent.d.ts.map +1 -1
- package/build/level/tiled/TMXLayer.d.ts +72 -5
- package/build/level/tiled/TMXLayer.d.ts.map +1 -1
- package/build/level/tiled/TMXTile.d.ts +19 -1
- package/build/level/tiled/TMXTile.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/level/tiled/TMXTileset.d.ts +15 -0
- package/build/level/tiled/TMXTileset.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts +7 -1
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts +7 -1
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +7 -1
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
- package/build/physics/sat.d.ts.map +1 -1
- package/build/physics/world.d.ts +16 -0
- package/build/physics/world.d.ts.map +1 -1
- package/build/renderable/imagelayer.d.ts.map +1 -1
- package/build/utils/function.d.ts +1 -1
- package/build/utils/function.d.ts.map +1 -1
- package/build/video/renderer.d.ts +15 -1
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/texture/cache.d.ts.map +1 -1
- package/build/video/texture/resource.d.ts +113 -0
- package/build/video/texture/resource.d.ts.map +1 -0
- package/build/video/webgl/batchers/material_batcher.d.ts +8 -1
- package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
- package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts +108 -0
- package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -0
- package/build/video/webgl/utils/attributes.d.ts +7 -0
- package/build/video/webgl/utils/attributes.d.ts.map +1 -1
- package/build/video/webgl/utils/precision.d.ts +1 -1
- package/build/video/webgl/utils/precision.d.ts.map +1 -1
- package/build/video/webgl/utils/uniforms.d.ts +13 -0
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts +19 -0
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointerevent.d.ts","sourceRoot":"","sources":["../../src/input/pointerevent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,OAAO,OAAO,MAAM,cAAc,CAAC;AAoBnC;;;GAGG;AACH,eAAO,IAAI,IAAI,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pointerevent.d.ts","sourceRoot":"","sources":["../../src/input/pointerevent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,OAAO,OAAO,MAAM,cAAc,CAAC;AAoBnC;;;GAGG;AACH,eAAO,IAAI,IAAI,EAAE,WAAW,CAAC;AAmgB7B;;GAEG;AACH,eAAO,IAAI,kBAAkB,EAAE,WAAW,GAAG,IAAW,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAiC,CAAC;AAExD;;GAEG;AACH,eAAO,IAAI,MAAM,EAAE,OAAe,CAAC;AAEnC;;;;GAIG;AACH,eAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;AAElD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAY1E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAanD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC5C,IAAI,CAsCN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC7C,IAAI,CAiCN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAMzC"}
|
|
@@ -64,10 +64,76 @@ export default class TMXLayer extends Renderable {
|
|
|
64
64
|
name: any;
|
|
65
65
|
cols: number;
|
|
66
66
|
rows: number;
|
|
67
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The raw tile data for this layer. Each cell occupies two consecutive
|
|
69
|
+
* `Uint16` slots: the GID (with flip bits stripped) and a 3-bit flip
|
|
70
|
+
* mask. Cell `(x, y)` is at `layerData[(y * cols + x) * 2]` (row-major).
|
|
71
|
+
*
|
|
72
|
+
* The 16-bit GID slot caps per-tileset GIDs at 65 535. This matches the
|
|
73
|
+
* planned WebGL2 shader path (`RG16UI` index texture) — switching to
|
|
74
|
+
* `Uint32Array` would force a truncating copy at GPU upload time.
|
|
75
|
+
* @type {Uint16Array}
|
|
76
|
+
*/
|
|
77
|
+
layerData: Uint16Array;
|
|
78
|
+
/**
|
|
79
|
+
* Lazy view cache of Tile objects, indexed by `y * cols + x` (row-major).
|
|
80
|
+
* Allocated lazily on the first `cellAt` / `getTile` call — the renderer
|
|
81
|
+
* hot path reads `layerData` directly and never touches this cache, so
|
|
82
|
+
* for games that never call `getTile`/`cellAt` from user code, this
|
|
83
|
+
* stays `null` for the layer's lifetime. Invalidated entry-by-entry by
|
|
84
|
+
* `setTile` and `clearTile`. The raw bytes in `layerData` are the source
|
|
85
|
+
* of truth; this exists only to preserve stable Tile identity across
|
|
86
|
+
* repeated user-facing reads.
|
|
87
|
+
* @type {Array<Tile|null>|null}
|
|
88
|
+
* @ignore
|
|
89
|
+
*/
|
|
90
|
+
cachedTile: Array<Tile | null> | null;
|
|
91
|
+
/**
|
|
92
|
+
* Monotonically-increasing counter bumped by `setTile` and `clearTile`.
|
|
93
|
+
* Renderers can compare against a stashed value to detect mutations and
|
|
94
|
+
* decide whether to re-upload the layer data to the GPU.
|
|
95
|
+
* @type {number}
|
|
96
|
+
*/
|
|
97
|
+
dataVersion: number;
|
|
98
|
+
/**
|
|
99
|
+
* How this layer is rendered. Resolved by `onActivateEvent` to one of:
|
|
100
|
+
* - `"shader"` — WebGL2 procedural shader path (single quad per tileset, fragment GID lookup)
|
|
101
|
+
* - `"prerender"`— offscreen-canvas bake at activation, blitted as one drawImage per frame
|
|
102
|
+
* - `"perTile"` — per-frame loop, one drawImage per visible tile
|
|
103
|
+
*
|
|
104
|
+
* User code may set this to one of the above values (or the special
|
|
105
|
+
* `"auto"`) before the layer is activated to override the engine's
|
|
106
|
+
* default choice; Tiled custom properties named `renderMode` are
|
|
107
|
+
* applied automatically via `applyTMXProperties`. If a forced mode
|
|
108
|
+
* is ineligible (e.g. `"shader"` on Canvas), a one-shot warning is
|
|
109
|
+
* emitted at activation and the layer falls back to the legacy path.
|
|
110
|
+
* @type {string}
|
|
111
|
+
* @default "auto"
|
|
112
|
+
*/
|
|
113
|
+
renderMode: string;
|
|
68
114
|
onActivateEvent(): void;
|
|
69
|
-
preRender: any;
|
|
70
115
|
canvasRenderer: CanvasRenderer | undefined;
|
|
116
|
+
preRender: boolean | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Resolve `this.renderMode` to one of "shader" / "prerender" / "perTile"
|
|
119
|
+
* based on eligibility checks and user/world hints. Emits a single
|
|
120
|
+
* `console.warn` at activation when a forced mode is ineligible, or
|
|
121
|
+
* when an auto-eligible mode falls back due to a layer feature the GPU
|
|
122
|
+
* path doesn't support (orientation, collection-of-image tileset, etc.).
|
|
123
|
+
* @ignore
|
|
124
|
+
*/
|
|
125
|
+
_resolveRenderMode(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Check whether this layer is eligible for the WebGL2 shader path.
|
|
128
|
+
* @param {object} renderer
|
|
129
|
+
* @param {boolean} gpuAllowed - whether `gpuTilemap` is enabled at the world level
|
|
130
|
+
* @returns {{ok: boolean, reason?: string}}
|
|
131
|
+
* @ignore
|
|
132
|
+
*/
|
|
133
|
+
_checkShaderEligibility(renderer: object, gpuAllowed: boolean): {
|
|
134
|
+
ok: boolean;
|
|
135
|
+
reason?: string;
|
|
136
|
+
};
|
|
71
137
|
onDeactivateEvent(): void;
|
|
72
138
|
/**
|
|
73
139
|
* Set the TMX renderer for this layer object
|
|
@@ -106,11 +172,12 @@ export default class TMXLayer extends Renderable {
|
|
|
106
172
|
/**
|
|
107
173
|
* assign the given Tile object to the specified position
|
|
108
174
|
* @param {Tile} tile - the tile object to be assigned
|
|
109
|
-
* @param {number} x - x coordinate (in
|
|
110
|
-
* @param {number} y - y coordinate (in
|
|
175
|
+
* @param {number} x - x coordinate (in tile/column coordinates)
|
|
176
|
+
* @param {number} y - y coordinate (in tile/row coordinates)
|
|
111
177
|
* @returns {Tile} the tile object
|
|
112
178
|
*/
|
|
113
179
|
setTile(tile: Tile, x: number, y: number): Tile;
|
|
180
|
+
_truncationWarned: boolean | undefined;
|
|
114
181
|
/**
|
|
115
182
|
* return a new the Tile object corresponding to the given tile id
|
|
116
183
|
* @param {number} tileId - tileId
|
|
@@ -153,6 +220,6 @@ export default class TMXLayer extends Renderable {
|
|
|
153
220
|
draw(renderer: any, rect: any): void;
|
|
154
221
|
}
|
|
155
222
|
import Renderable from "../../renderable/renderable.js";
|
|
156
|
-
import CanvasRenderer from "../../video/canvas/canvas_renderer";
|
|
157
223
|
import Tile from "./TMXTile.js";
|
|
224
|
+
import CanvasRenderer from "../../video/canvas/canvas_renderer";
|
|
158
225
|
//# sourceMappingURL=TMXLayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXLayer.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXLayer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TMXLayer.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXLayer.js"],"names":[],"mappings":"AA2GA;;;;GAIG;AACH;IACC;;;;;;;;OAQG;IACH,iBARW,MAAM,QACN,MAAM,aACN,MAAM,cACN,MAAM,eACN,MAAM,YACN,eAAe,KACf,MAAM,EA4LhB;IArLA,eAA4C;IAC5C,gBAA+C;IAG/C,oBAA8B;IAE9B;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,UAFU,eAAe,CAED;IAGxB,aAAwE;IAGxE;;;MAGC;IAaD;;;OAGG;IACH,kBAFU,UAAU,EAAE,CAEI;IAE1B;;;OAGG;IACH,YAFU,OAAO,CAEM;IAEvB;;;;;OAKG;IACH,aAHU,MAAM,CAGmC;IAEnD;;;OAGG;IACH,OAFU,MAAM,CAEO;IASvB,UAAqB;IACrB,aAAuB;IACvB,aAAwB;IA8BxB;;;;;;;;;OASG;IACH,WAFU,WAAW,CAEsC;IAE3D;;;;;;;;;;;OAWG;IACH,YAHU,KAAK,CAAC,IAAI,GAAC,IAAI,CAAC,GAAC,IAAI,CAGT;IAEtB;;;;;OAKG;IACH,aAFU,MAAM,CAEI;IAEpB;;;;;;;;;;;;;;OAcG;IACH,YAHU,MAAM,CAGQ;IAwBzB,wBAkCC;IAfC,2CAKE;IAOH,+BAAgD;IAKjD;;;;;;;OAOG;IACH,2BAqDC;IAED;;;;;;OAMG;IACH,kCALW,MAAM,cACN,OAAO,GACL;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CA+C1C;IAGD,0BAOC;IAED;;;;;;;OAOG;IACH,sBANW,WAAW,QASrB;IAFA,cAAwB;IAIzB;;;OAGG;IACH,eAFa,WAAW,CAIvB;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;;;;;OAUG;IACH,WATW,MAAM,KACN,MAAM,GACJ,IAAI,CAoBhB;IAED;;;;;;OAMG;IACH,cALW,IAAI,KACJ,MAAM,KACN,MAAM,GACJ,IAAI,CA4BhB;IAfC,uCAA6B;IAiB/B;;;;;;OAMG;IACH,oBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;;;;;OASG;IACH,UARW,MAAM,KACN,MAAM,gBACN,MAAM,GACJ,IAAI,CA6ChB;IAED;;;;;;;;;OASG;IACH,aARW,MAAM,KACN,MAAM,QA8BhB;IAED;;;OAGG;IACH,yBAQC;IAED;;;OAGG;IACH,qCAIC;CACD;uBAlrBsB,gCAAgC;iBAStC,cAAc;2BARJ,oCAAoC"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply a flip-mask transform to a Matrix2d in-place. Resets the matrix to
|
|
3
|
+
* identity first, then applies the H / V / AD operations to flip / rotate a
|
|
4
|
+
* tile of `width × height` pixels around its center.
|
|
5
|
+
*
|
|
6
|
+
* This is the typed-array equivalent of `Tile.setTileTransform()` — both share
|
|
7
|
+
* the same math, but this variant is driven by a packed 3-bit mask (H=1, V=2,
|
|
8
|
+
* AD=4) so callers that have raw layerData bytes can build a flip transform
|
|
9
|
+
* without constructing a Tile.
|
|
10
|
+
*
|
|
11
|
+
* @param {Matrix2d} transform - the matrix to fill (mutated in place)
|
|
12
|
+
* @param {number} flipMask - 3-bit packed flip mask
|
|
13
|
+
* @param {number} width - tile width in pixels
|
|
14
|
+
* @param {number} height - tile height in pixels
|
|
15
|
+
* @returns {Matrix2d} the same matrix, for chaining
|
|
16
|
+
* @ignore
|
|
17
|
+
*/
|
|
18
|
+
export function buildFlipTransform(transform: Matrix2d, flipMask: number, width: number, height: number): Matrix2d;
|
|
1
19
|
/**
|
|
2
20
|
* a basic tile object
|
|
3
21
|
* @category Tilemap
|
|
@@ -69,6 +87,6 @@ export default class Tile extends Bounds {
|
|
|
69
87
|
*/
|
|
70
88
|
getRenderable(settings?: object): Renderable;
|
|
71
89
|
}
|
|
72
|
-
import { Bounds } from "../../physics/bounds.ts";
|
|
73
90
|
import { Matrix2d } from "../../math/matrix2d.ts";
|
|
91
|
+
import { Bounds } from "../../physics/bounds.ts";
|
|
74
92
|
//# sourceMappingURL=TMXTile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXTile.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTile.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TMXTile.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTile.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;GAgBG;AACH,8CAPW,QAAQ,YACR,MAAM,SACN,MAAM,UACN,MAAM,GACJ,QAAQ,CAwBpB;AAED;;;GAGG;AACH;IACC;;;;;OAKG;IACH,eALW,MAAM,KACN,MAAM,OACN,MAAM,WACN,UAAU,EAkFpB;IA/DA;;;OAGG;IACH,SAFU,UAAU,CAEE;IAEtB;;;;OAIG;IACH,kBAHU,QAAQ,GAAC,IAAI,CAGK;IAE5B;;;OAGG;IACH,KAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,KAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,QAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,UAFU,OAAO,CAE+B;IAEhD;;;OAGG;IACH,UAFU,OAAO,CAE+B;IAEhD;;;OAGG;IACH,WAFU,OAAO,CAEiC;IAElD;;;OAGG;IACH,SAFU,OAAO,CAE8C;IAYhE;;;;OAIG;IACH,4BAHW,QAAQ,QAmBlB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,UAAU,CAmDtB;CACD;yBAlOwB,wBAAwB;uBAC1B,yBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXTileMap.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTileMap.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TMXTileMap.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTileMap.js"],"names":[],"mappings":"AAsIA;;;;GAIG;AACH;IACC;;;;;;;;OAQG;IACH,qBARW,MAAM,QACN,MAAM,EA0JhB;IAlJA;;;OAGG;IACH,aAAgB;IAEhB;;;OAGG;IACH,MAFU,MAAM,CAEG;IAEnB;;;OAGG;IACH,MAFU,MAAM,CAEO;IAEvB;;;OAGG;IACH,MAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,WAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,YAFU,MAAM,CAEkB;IAElC;;;;OAIG;IACH,UAHU,MAAM,CAGmB;IAEnC;;;;OAIG;IACH,aAHU,MAAM,CAGmB;IAEnC;;;;OAIG;IACH,OAHU,MAAM,CAGe;IAE/B;;;;OAIG;IACH,OAHU,MAAM,CAGe;IAE/B;;;;;OAKG;IACH,aAHU,MAAM,CAGmC;IAEnD;;;OAGG;IACH,SAFU,MAAM,CAEgB;IAEhC;;;OAGG;IACH,cAFU,MAAM,CAE0B;IAE1C;;;OAGG;IACH,OAFU,MAAM,CAEO;IAGvB,6CAAoB;IAInB,cAAgB;IAIhB,oBAAsB;IAIvB,kBAA8C;IAG9C,iCAAmD;IAGnD,sBAAwC;IACxC,iBAAmC;IACnC,kBAAqC;IAGrC,YAAoD;IAGpD,WAA8B;IAC9B,YAAgC;IAGhC,qBAA2C;IAwB3C,qBAAwB;IAGzB;;;OAGG;IACH,eAFa,WAAW,CAUvB;IAHC,+OAAuC;IAKzC;;;OAGG;IACH,aAFa,MAAM,CAKlB;IAED;;;OAGG;IACH,gCA2DC;IAED;;;;;;;;;;;OAWG;IACH,iBATW,SAAS,YACT,OAAO,sBACP,OAAO,QA+EjB;IAED;;;;;;;;;OASG;IACH,qBAJW,OAAO,GAEL,UAAU,EAAE,CAkGxB;IAED;;;OAGG;IACH,aAFa,QAAQ,EAAE,CAMtB;IAED;;OAEG;IACH,gBAKC;CACD;4BA1kB2B,sBAAsB;sBAV5B,+BAA+B;qBAOhC,eAAe"}
|
|
@@ -197,6 +197,21 @@ export default class TMXTileset {
|
|
|
197
197
|
* @ignore
|
|
198
198
|
*/
|
|
199
199
|
drawTile(renderer: CanvasRenderer | WebGLRenderer, dx: number, dy: number, tmxTile: Tile): void;
|
|
200
|
+
/**
|
|
201
|
+
* draw a tile at the specified position from raw (gid, flipMask) data
|
|
202
|
+
*
|
|
203
|
+
* Like {@link drawTile} but bypasses the {@link Tile} object entirely:
|
|
204
|
+
* the renderer hot loop can pass the GID and flip mask straight from
|
|
205
|
+
* `layer.layerData` without ever allocating a Tile instance.
|
|
206
|
+
*
|
|
207
|
+
* @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
|
|
208
|
+
* @param {number} dx - destination x position
|
|
209
|
+
* @param {number} dy - destination y position
|
|
210
|
+
* @param {number} gid - the tile's global id (with flip bits already stripped)
|
|
211
|
+
* @param {number} flipMask - 3-bit packed flip mask (H=1, V=2, AD=4)
|
|
212
|
+
* @ignore
|
|
213
|
+
*/
|
|
214
|
+
drawTileRaw(renderer: CanvasRenderer | WebGLRenderer, dx: number, dy: number, gid: number, flipMask: number): void;
|
|
200
215
|
}
|
|
201
216
|
import { Vector2d } from "../../math/vector2d.ts";
|
|
202
217
|
//# sourceMappingURL=TMXTileset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXTileset.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTileset.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TMXTileset.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXTileset.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACC;;;;OAIG;IACH,qBAJY,MAAM,iBACN,MAAM,kBACN,MAAM,EA8MjB;IA3MA;;;;OAIG;IACH,gBAHU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGE;IAE/B;;;;OAIG;IACH,iBAHU,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAC,iBAAiB,CAAC,CAGzB;IAEhC;;;OAGG;IACH,UAFU,MAAM,CAEiB;IAEjC;;;OAGG;IACH,SAFU,MAAM,CAEY;IAe5B;;;OAGG;IACH,MAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,WAFU,MAAM,CAEmB;IAEnC;;;OAGG;IACH,YAFU,MAAM,CAEqB;IAErC;;;;OAIG;IACH,SAHU,MAAM,CAGsB;IAEtC;;;;OAIG;IACH,QAHU,MAAM,CAGoB;IAEpC;;;OAGG;IACH,YAFU,QAAQ,CAEc;IAEhC;;;OAGG;IACH,YAFU,OAAO,CAEM;IAEvB;;;OAGG;IACH,cAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,OAFU,MAAM,CAE0B;IAE1C;;;;OAIG;IACH,gBAHU,MAAM,CAGsC;IAEtD;;;;OAIG;IACH,UAHU,MAAM,CAG6B;IAE7C;;;;OAIG;IACH,cAHU,MAAM,CAGkC;IAElD;;;;OAIG;IACH,eAHU,MAAM,CAGqC;IAErD;;;OAGG;IACH,sBAAsB;IACtB,sBAAsB;IACtB,kBAA+B;IAC/B,kBAAgC;IAChC,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IAsBxB;;;;OAIG;IACH,cAHU,GAAG,CAAC,MAAM,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAG/C;IAE7B;;;;OAIG;IACH,mBAA2B;IAE3B;;;OAGG;IACH,oBAAoB;IAgCrB;;;;OAIG;IACH,oBAHW,MAAM,EAAE,GAAC,MAAM,QA2GzB;IAED;;;;OAIG;IACH,oBAHW,MAAM,QA0ChB;IArCA,WAAoC;IASpC,aAKE;IACF,WAAoC;IAwBrC;;;;OAIG;IACH,kBAHW,MAAM,GACJ,gBAAgB,GAAC,iBAAiB,GAAC,SAAS,CAIxD;IAED;;;;;OAKG;IACH,qBAJW,MAAM,QACN,MAAM,QAKhB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,MAAM,CAYlB;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAI5B;IAED;;;;;OAKG;IACH,WAJW,MAAM,GACJ,OAAO,CAwBnB;IAED;;;;;;;OAOG;IACH,mBANW,cAAc,GAAC,aAAa,MAC5B,MAAM,MACN,MAAM,WACN,IAAI,QAqFd;IAED;;;;;;;;;;;;;OAaG;IACH,sBAPW,cAAc,GAAC,aAAa,MAC5B,MAAM,MACN,MAAM,OACN,MAAM,YACN,MAAM,QA+FhB;CACD;yBA1pBwB,wBAAwB"}
|
|
@@ -62,10 +62,16 @@ export default class TMXHexagonalRenderer extends TMXRenderer {
|
|
|
62
62
|
*/
|
|
63
63
|
tileToPixelCoords(x: any, y: any, v: any): any;
|
|
64
64
|
/**
|
|
65
|
-
* draw the tile map
|
|
65
|
+
* draw the tile map (legacy entry point — accepts a fully-constructed Tile)
|
|
66
66
|
* @ignore
|
|
67
67
|
*/
|
|
68
68
|
drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
|
|
69
|
+
/**
|
|
70
|
+
* draw a tile from raw (gid, flipMask, tileset) data — used by the hot
|
|
71
|
+
* rendering loop to bypass Tile construction
|
|
72
|
+
* @ignore
|
|
73
|
+
*/
|
|
74
|
+
drawTileRaw(renderer: any, x: any, y: any, gid: any, flipMask: any, tileset: any): void;
|
|
69
75
|
/**
|
|
70
76
|
* draw the tile map
|
|
71
77
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXHexagonalRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXHexagonalRenderer.js"],"names":[],"mappings":"AAmBA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAgCpB;IA3BA,mBAA2C;IAC3C,kBAAuC;IACvC,qBAA8C;IAE9C,iBAAoB;IACpB,iBAAoB;IAUpB,oBAA0D;IAC1D,oBAA2D;IAE3D,iBAAsD;IACtD,eAAoD;IAEpD,oBAKC;IAGF;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,0DA0BC;IAED;;OAEG;IACH,mCAEC;IAED;;OAEG;IACH,mCAEC;IAED;;OAEG;IACH,qCAiBC;IAED;;OAEG;IACH,sCAiBC;IAED;;OAEG;IACH,wCAiBC;IAED;;OAEG;IACH,yCAiBC;IAED;;;OAGG;IACH,+CAqFC;IAED;;;OAGG;IACH,+CAoBC;IAED;;;OAGG;IACH,4DAaC;IAED;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"TMXHexagonalRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXHexagonalRenderer.js"],"names":[],"mappings":"AAmBA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAgCpB;IA3BA,mBAA2C;IAC3C,kBAAuC;IACvC,qBAA8C;IAE9C,iBAAoB;IACpB,iBAAoB;IAUpB,oBAA0D;IAC1D,oBAA2D;IAE3D,iBAAsD;IACtD,eAAoD;IAEpD,oBAKC;IAGF;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,0DA0BC;IAED;;OAEG;IACH,mCAEC;IAED;;OAEG;IACH,mCAEC;IAED;;OAEG;IACH,qCAiBC;IAED;;OAEG;IACH,sCAiBC;IAED;;OAEG;IACH,wCAiBC;IAED;;OAEG;IACH,yCAiBC;IAED;;;OAGG;IACH,+CAqFC;IAED;;;OAGG;IACH,+CAoBC;IAED;;;OAGG;IACH,4DAaC;IAED;;;;OAIG;IACH,wFAYC;IAED;;;OAGG;IACH,0DAoKC;CACD;wBA1gBuB,kBAAkB;yBAHH,2BAA2B"}
|
|
@@ -37,10 +37,16 @@ export default class TMXIsometricRenderer extends TMXRenderer {
|
|
|
37
37
|
*/
|
|
38
38
|
adjustPosition(obj: any): void;
|
|
39
39
|
/**
|
|
40
|
-
* draw the tile map
|
|
40
|
+
* draw the tile map (legacy entry point — accepts a fully-constructed Tile)
|
|
41
41
|
* @ignore
|
|
42
42
|
*/
|
|
43
43
|
drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* draw a tile from raw (gid, flipMask, tileset) data — used by the hot
|
|
46
|
+
* rendering loop to bypass Tile construction
|
|
47
|
+
* @ignore
|
|
48
|
+
*/
|
|
49
|
+
drawTileRaw(renderer: any, x: any, y: any, gid: any, flipMask: any, tileset: any): void;
|
|
44
50
|
/**
|
|
45
51
|
* draw the tile map
|
|
46
52
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXIsometricRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXIsometricRenderer.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAQpB;IAHA,mBAAoC;IACpC,oBAAsC;IACtC,gBAA0C;IAG3C;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,0DASC;IAED;;;OAGG;IACH,+CAMC;IAED;;;OAGG;IACH,+CAMC;IAED;;;;OAIG;IACH,+BAWC;IAED;;;OAGG;IACH,4DASC;IAED;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"TMXIsometricRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXIsometricRenderer.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAQpB;IAHA,mBAAoC;IACpC,oBAAsC;IACtC,gBAA0C;IAG3C;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,0DASC;IAED;;;OAGG;IACH,+CAMC;IAED;;;OAGG;IACH,+CAMC;IAED;;;;OAIG;IACH,+BAWC;IAED;;;OAGG;IACH,4DASC;IAED;;;;OAIG;IACH,wFAQC;IAED;;;OAGG;IACH,0DA8HC;CACD;wBApPuB,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXObliqueRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXObliqueRenderer.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH;IAOE;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,QAFU,MAAM,CAEsD;IAEtE;;;OAGG;IACH,QAFU,MAAM,CAEoD;IAEpE;;;OAGG;IACH,MAFU,MAAM,CAEyB;IAe1C;;;;OAIG;IACH,kBAHW,QAAQ,GACN,MAAM,CAqBlB;
|
|
1
|
+
{"version":3,"file":"TMXObliqueRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXObliqueRenderer.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH;IAOE;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,QAFU,MAAM,CAEsD;IAEtE;;;OAGG;IACH,QAFU,MAAM,CAEoD;IAEpE;;;OAGG;IACH,MAFU,MAAM,CAEyB;IAe1C;;;;OAIG;IACH,kBAHW,QAAQ,GACN,MAAM,CAqBlB;CAgKD;kCAlPiC,4BAA4B;qBADzC,kBAAkB"}
|
|
@@ -23,10 +23,16 @@ export default class TMXOrthogonalRenderer extends TMXRenderer {
|
|
|
23
23
|
*/
|
|
24
24
|
tileToPixelCoords(x: any, y: any, v: any): any;
|
|
25
25
|
/**
|
|
26
|
-
* draw the tile map
|
|
26
|
+
* draw the tile map (legacy entry point — accepts a fully-constructed Tile)
|
|
27
27
|
* @ignore
|
|
28
28
|
*/
|
|
29
29
|
drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
|
|
30
|
+
/**
|
|
31
|
+
* draw a tile from raw (gid, flipMask, tileset) data — used by the hot
|
|
32
|
+
* rendering loop to bypass Tile construction
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
drawTileRaw(renderer: any, x: any, y: any, gid: any, flipMask: any, tileset: any): void;
|
|
30
36
|
/**
|
|
31
37
|
* draw the tile map
|
|
32
38
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TMXOrthogonalRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXOrthogonalRenderer.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAIpB;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,+CAGC;IAED;;;OAGG;IACH,+CAGC;IAED;;;OAGG;IACH,4DASC;IAED;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"TMXOrthogonalRenderer.d.ts","sourceRoot":"","sources":["../../../../src/level/tiled/renderer/TMXOrthogonalRenderer.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IACC;;OAEG;IACH,iBAFW,UAAU,EAIpB;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,+CAGC;IAED;;;OAGG;IACH,+CAGC;IAED;;;OAGG;IACH,4DASC;IAED;;;;OAIG;IACH,wFAQC;IAED;;;OAGG;IACH,0DA6EC;CACD;wBAxJuB,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sat.d.ts","sourceRoot":"","sources":["../../src/physics/sat.js"],"names":[],"mappings":"AAiNA;;;;;;;;;GASG;AACH,sCAPW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,aACP,QAAQ,YAAC,GACP,OAAO,CA8CnB;AAED;;;;;;;;;;GAUG;AACH,sCARW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,aACP,QAAQ,YAAC,GAEP,OAAO,
|
|
1
|
+
{"version":3,"file":"sat.d.ts","sourceRoot":"","sources":["../../src/physics/sat.js"],"names":[],"mappings":"AAiNA;;;;;;;;;GASG;AACH,sCAPW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,aACP,QAAQ,YAAC,GACP,OAAO,CA8CnB;AAED;;;;;;;;;;GAUG;AACH,sCARW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,aACP,QAAQ,YAAC,GAEP,OAAO,CAiEnB;AAED;;;;;;;;;GASG;AACH,sCAPW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,aACP,QAAQ,YAAC,GACP,OAAO,CAsKnB;AAED;;;;;;;;;;;;GAYG;AACH,sCARW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,YAClD,OAAO,KACP,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,SAClD,OAAO,aACP,QAAQ,YAAC,GAEP,OAAO,CAiBnB;4BAvhB0B,+BAA+B;2BADhC,8BAA8B;wBADjC,kCAAkC;wBAGlC,2BAA2B;iCAClB,oCAAoC;6BAC1C,0BAA0B;6BAC1B,4BAA4B"}
|
package/build/physics/world.d.ts
CHANGED
|
@@ -51,6 +51,22 @@ export default class World extends Container {
|
|
|
51
51
|
* @default false
|
|
52
52
|
*/
|
|
53
53
|
preRender: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Enable the WebGL2 procedural shader path for orthogonal tile
|
|
56
|
+
* layers. When `true` (default), eligible layers render via a
|
|
57
|
+
* single quad per tileset + a fragment shader doing per-pixel GID
|
|
58
|
+
* lookup — bypassing the per-tile drawImage loop entirely.
|
|
59
|
+
* Supported features on the shader path: animated tiles, all
|
|
60
|
+
* three flip bits (H/V/AD), per-layer opacity/tint/blend mode,
|
|
61
|
+
* and oversized bottom-aligned tiles up to 4 cells of overflow.
|
|
62
|
+
* Layers that don't qualify (Canvas/WebGL1, non-orthogonal,
|
|
63
|
+
* collection-of-image tilesets, non-zero `tileoffset`, or tile
|
|
64
|
+
* overflow beyond the shader's 4-cell limit) fall back to the
|
|
65
|
+
* legacy path automatically. Set to `false` to disable globally.
|
|
66
|
+
* @type {boolean}
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
gpuTilemap: boolean;
|
|
54
70
|
/**
|
|
55
71
|
* the active physic bodies in this simulation
|
|
56
72
|
* @type {Set<Body>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.js"],"names":[],"mappings":"AAeA;;;GAGG;AAEH;;;GAGG;AACH;IACC;;;;;OAKG;IACH,gBALW,MAAM,MACN,MAAM,UACN,MAAM,WACN,MAAM,
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.js"],"names":[],"mappings":"AAeA;;;GAGG;AAEH;;;GAGG;AACH;IACC;;;;;OAKG;IACH,gBALW,MAAM,MACN,MAAM,UACN,MAAM,WACN,MAAM,EAsGhB;IA1FA;;;OAGG;IACH,KAFU,WAAW,CAED;IAEpB;;;;;;;;OAQG;IACH,QANU,MAAM,CAMO;IAEvB;;;;;OAKG;IACH,YAAa;IAEb;;;;OAIG;IACH,SAHU,QAAQ,CAGkB;IAEpC;;;;;;;OAOG;IACH,WAHU,OAAO,CAGK;IAEtB;;;;;;;;;;;;;;OAcG;IACH,YAHU,OAAO,CAGK;IAEtB;;;OAGG;IACH,QAFU,GAAG,CAAC,IAAI,CAAC,CAEI;IAEvB;;;OAGG;IACH,YAFU,QAAQ,CAOjB;IAED;;;OAGG;IACH,UAFU,QAAQ,CAEgB;IA6CnC;;;;;OAKG;IACH,cAHW,IAAI,GACF,KAAK,CAQjB;IAED;;;;;OAKG;IACH,iBAHW,IAAI,GACF,KAAK,CAQjB;IAED;;;;OAIG;IACH,yBASC;IAuBD;;;OAGG;IACH,SAFW,MAAM,QAiChB;CACD;sBAzQqB,4BAA4B;6BActB,iCAAiC;yBAfpC,qBAAqB;sBAgBzB,WAAW;qBAJX,eAAe;qBADf,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imagelayer.d.ts","sourceRoot":"","sources":["../../src/renderable/imagelayer.js"],"names":[],"mappings":"AAYA;;;GAGG;AAEH;;;GAGG;AACH;IACC;;;;;;;;;;;;;;;;OAgBG;IACH,eAhBW,MAAM,KACN,MAAM,YAEd;QAA4E,KAAK,EAAzE,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,MAAM;QACvC,IAAI;QACJ,CAAC;QACQ,KAAK;QACsB,MAAM;QACjC,WAAW;KAC9C,EAoDF;IAhCA;;;;;;;;;OASG;IACH,OAHU,QAAQ,CAGqB;IAuCxC,kBAPU,MAAM,EA2Bf;IAnCD;;;;;;;;;;OAUG;IACH,cAHU,MAAM,CAKf;IAGA,4BAAoB;IAGlB,6BAAoB;IACpB,6BAAoB;IAkBvB,wBAsBC;IAED;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;OAGG;IACH,sBAKC;IAJA,cAGC;IAGF;;;OAGG;IACH,oBA+CC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAmBC;IAED;;;;;OAKG;IACH,yBAHW,cAAc,GAAC,aAAa,aAC5B,QAAQ,
|
|
1
|
+
{"version":3,"file":"imagelayer.d.ts","sourceRoot":"","sources":["../../src/renderable/imagelayer.js"],"names":[],"mappings":"AAYA;;;GAGG;AAEH;;;GAGG;AACH;IACC;;;;;;;;;;;;;;;;OAgBG;IACH,eAhBW,MAAM,KACN,MAAM,YAEd;QAA4E,KAAK,EAAzE,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,MAAM;QACvC,IAAI;QACJ,CAAC;QACQ,KAAK;QACsB,MAAM;QACjC,WAAW;KAC9C,EAoDF;IAhCA;;;;;;;;;OASG;IACH,OAHU,QAAQ,CAGqB;IAuCxC,kBAPU,MAAM,EA2Bf;IAnCD;;;;;;;;;;OAUG;IACH,cAHU,MAAM,CAKf;IAGA,4BAAoB;IAGlB,6BAAoB;IACpB,6BAAoB;IAkBvB,wBAsBC;IAED;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;OAGG;IACH,sBAKC;IAJA,cAGC;IAGF;;;OAGG;IACH,oBA+CC;IAED;;;;;;;;;;;;;;;OAeG;IACH,6BAmBC;IAED;;;;;OAKG;IACH,yBAHW,cAAc,GAAC,aAAa,aAC5B,QAAQ,QAyElB;IAGD,0BAMC;CAWD;mBA5VkB,aAAa;8BAIL,qBAAqB"}
|
|
@@ -20,5 +20,5 @@ export declare function defer(func: (...args: unknown[]) => unknown, thisArg: un
|
|
|
20
20
|
* @param [wait] - the delay in ms
|
|
21
21
|
* @returns the function that will be throttled
|
|
22
22
|
*/
|
|
23
|
-
export declare const throttle: (fn: () => void, wait?: number) => (...args:
|
|
23
|
+
export declare const throttle: <T extends unknown[]>(fn: (...args: T) => void, wait?: number) => (...args: T) => void;
|
|
24
24
|
//# sourceMappingURL=function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACrC,OAAO,EAAE,OAAO,EAChB,GAAG,IAAI,EAAE,OAAO,EAAE,UAGlB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACrC,OAAO,EAAE,OAAO,EAChB,GAAG,IAAI,EAAE,OAAO,EAAE,UAGlB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,EAC3C,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EACxB,OAAM,MAAY,MAKV,GAAG,MAAM,CAAC,SAkBlB,CAAC"}
|
|
@@ -304,6 +304,20 @@ export default class Renderer {
|
|
|
304
304
|
* @see Light2d
|
|
305
305
|
*/
|
|
306
306
|
drawLight(light: object): void;
|
|
307
|
+
/**
|
|
308
|
+
* Draw a TMX tile layer. Default behavior:
|
|
309
|
+
* - if `layer.canvasRenderer` is set (preRender bake), blit the cached
|
|
310
|
+
* offscreen canvas in a single `drawImage` call;
|
|
311
|
+
* - otherwise delegate to the layer's TMX orientation renderer for
|
|
312
|
+
* the per-tile loop.
|
|
313
|
+
*
|
|
314
|
+
* `WebGLRenderer` overrides this to add the procedural shader fast
|
|
315
|
+
* path on top (when `layer.renderMode === "shader"`) and fall through
|
|
316
|
+
* to this base behavior for all other layers.
|
|
317
|
+
* @param {object} layer - the TMXLayer to draw
|
|
318
|
+
* @param {Rect} rect - the visible region in world coords
|
|
319
|
+
*/
|
|
320
|
+
drawTileLayer(layer: object, rect: Rect): void;
|
|
307
321
|
/**
|
|
308
322
|
* Set the current fill & stroke style color.
|
|
309
323
|
* By default, or upon reset, the value is set to #000000.
|
|
@@ -457,8 +471,8 @@ import Path2D from "./../geometries/path2d.js";
|
|
|
457
471
|
import { Color } from "./../math/color.ts";
|
|
458
472
|
import RenderState from "./renderstate.js";
|
|
459
473
|
import { Matrix3d } from "../math/matrix3d.ts";
|
|
460
|
-
import { Gradient } from "./gradient.js";
|
|
461
474
|
import type { Rect } from "./../geometries/rectangle.ts";
|
|
475
|
+
import { Gradient } from "./gradient.js";
|
|
462
476
|
import type { Bounds } from "./../physics/bounds.ts";
|
|
463
477
|
import type { RoundRect } from "./../geometries/roundrect.ts";
|
|
464
478
|
import type { Polygon } from "../geometries/polygon.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/video/texture/cache.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/video/texture/cache.js"],"names":[],"mappings":";AAIA;;;GAGG;AACH;IACC;;OAEG;IACH,8CAUC;IARA,cAAwB;IAExB,qBAAgC;IAChC,sBAAuB;IACvB,qBAAsB;IACtB,oBAA0B;IAC1B,iBAAwB;IAIzB;;OAEG;IACH,cAKC;IAED;;OAEG;IACH,8BAuBC;IAED;;;;OAIG;IACH,6BAOC;IAED;;OAEG;IACH,oCAQC;IAED;;OAEG;IACH,2BAMC;IAED;;;OAGG;IACH,4BAGC;IAED;;;OAGG;IACH,yCAEC;IAED;;OAEG;IACH,yBAEC;IAED;;;OAGG;IACH,iCAwCC;IAED;;OAEG;IACH,yBAQC;IAED;;OAEG;IACH,gCAcC;CACD;8BAzM6B,+BAA+B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A texture data source that knows how to upload itself to a WebGL
|
|
3
|
+
* texture. Subclasses provide the actual upload logic for their kind
|
|
4
|
+
* of source (raw buffer, image, compressed data, etc.).
|
|
5
|
+
*
|
|
6
|
+
* Resources flow through the same `TextureCache` / batcher machinery
|
|
7
|
+
* as image-backed `TextureAtlas` instances: they expose the minimal
|
|
8
|
+
* shape (`sources`, `activeAtlas`, `getTexture()`, plus `width` /
|
|
9
|
+
* `height` / `premultipliedAlpha` / `repeat` / `filter`) the cache
|
|
10
|
+
* uses for unit allocation and the batcher uses for `boundTextures`
|
|
11
|
+
* bookkeeping. The cache therefore owns every `gl.bindTexture` call,
|
|
12
|
+
* which keeps the JS-side binding state in lockstep with the actual
|
|
13
|
+
* GL state across all texture kinds — image atlases included.
|
|
14
|
+
*
|
|
15
|
+
* Subclasses MUST implement `upload(gl, target)`. The framework calls
|
|
16
|
+
* it once per texture on first use (and again on forced re-upload via
|
|
17
|
+
* `batcher.uploadTexture(resource, w, h, true)`).
|
|
18
|
+
*
|
|
19
|
+
* @category Rendering
|
|
20
|
+
*/
|
|
21
|
+
export class TextureResource {
|
|
22
|
+
/**
|
|
23
|
+
* @param {object} options
|
|
24
|
+
* @param {number} options.width - pixel width of the texture
|
|
25
|
+
* @param {number} options.height - pixel height of the texture
|
|
26
|
+
* @param {boolean} [options.premultipliedAlpha=false]
|
|
27
|
+
* @param {string} [options.repeat="no-repeat"] - "no-repeat" | "repeat" | "repeat-x" | "repeat-y"
|
|
28
|
+
* @param {number} [options.filter] - `gl.NEAREST` or `gl.LINEAR`; when
|
|
29
|
+
* omitted the batcher falls back to the renderer's `antiAlias` setting
|
|
30
|
+
*/
|
|
31
|
+
constructor({ width, height, premultipliedAlpha, repeat, filter, }?: {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
premultipliedAlpha?: boolean | undefined;
|
|
35
|
+
repeat?: string | undefined;
|
|
36
|
+
filter?: number | undefined;
|
|
37
|
+
});
|
|
38
|
+
/** @type {number} */
|
|
39
|
+
width: number;
|
|
40
|
+
/** @type {number} */
|
|
41
|
+
height: number;
|
|
42
|
+
/** @type {boolean} */
|
|
43
|
+
premultipliedAlpha: boolean;
|
|
44
|
+
/** @type {string} */
|
|
45
|
+
repeat: string;
|
|
46
|
+
/** @type {number|undefined} */
|
|
47
|
+
filter: number | undefined;
|
|
48
|
+
sources: Map<string, this>;
|
|
49
|
+
activeAtlas: string;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the upload "source" the batcher hands to `createTexture2D`.
|
|
52
|
+
* For a resource this is the resource itself — `createTexture2D`
|
|
53
|
+
* dispatches to `resource.upload(gl, target)`.
|
|
54
|
+
* @ignore
|
|
55
|
+
*/
|
|
56
|
+
getTexture(): this;
|
|
57
|
+
/**
|
|
58
|
+
* Issue the `gl.texImage2D` (or equivalent) call that uploads this
|
|
59
|
+
* resource's data into the currently-bound `TEXTURE_2D` slot.
|
|
60
|
+
* Subclasses MUST override.
|
|
61
|
+
* @abstract
|
|
62
|
+
* @param {WebGLRenderingContext|WebGL2RenderingContext} gl
|
|
63
|
+
* @param {number} target - `gl.TEXTURE_2D` (or future cube-map targets)
|
|
64
|
+
*/
|
|
65
|
+
upload(gl: WebGLRenderingContext | WebGL2RenderingContext, target: number): void;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A texture sourced from a raw byte buffer. Used for synthesized
|
|
69
|
+
* textures (TMX layer GID index, font atlases, color LUTs, signed-
|
|
70
|
+
* distance fields, palette tables, etc.) — any case where the texture
|
|
71
|
+
* data isn't an image file.
|
|
72
|
+
*
|
|
73
|
+
* The buffer is uploaded as-is; the resource's `premultipliedAlpha`
|
|
74
|
+
* flag is applied at upload time so a raw-data texture (typical:
|
|
75
|
+
* `premultipliedAlpha = false`) doesn't get its RGB wiped by the
|
|
76
|
+
* driver when the alpha channel is zero.
|
|
77
|
+
*
|
|
78
|
+
* @category Rendering
|
|
79
|
+
*/
|
|
80
|
+
export class BufferTextureResource extends TextureResource {
|
|
81
|
+
/**
|
|
82
|
+
* @param {ArrayBufferView} data - the pixel data; size must be
|
|
83
|
+
* `width * height * 4` bytes for the default RGBA / UNSIGNED_BYTE
|
|
84
|
+
* format
|
|
85
|
+
* @param {object} options
|
|
86
|
+
* @param {number} options.width
|
|
87
|
+
* @param {number} options.height
|
|
88
|
+
* @param {boolean} [options.premultipliedAlpha=false]
|
|
89
|
+
* @param {string} [options.repeat="no-repeat"]
|
|
90
|
+
* @param {number} [options.filter]
|
|
91
|
+
* @param {"rgba8"|"rgba8ui"} [options.format="rgba8"] - storage format.
|
|
92
|
+
* `"rgba8"` (default): normalized RGBA, sampled via `sampler2D` /
|
|
93
|
+
* `texture()`. `"rgba8ui"`: unsigned-integer RGBA, sampled via
|
|
94
|
+
* `usampler2D` / `texelFetch()` — requires WebGL2. Use the integer
|
|
95
|
+
* form for raw-data lookups (GID tables, palette indices, etc.) to
|
|
96
|
+
* skip the float-decode round trip and gain exact integer reads.
|
|
97
|
+
*/
|
|
98
|
+
constructor(data: ArrayBufferView, options: {
|
|
99
|
+
width: number;
|
|
100
|
+
height: number;
|
|
101
|
+
premultipliedAlpha?: boolean | undefined;
|
|
102
|
+
repeat?: string | undefined;
|
|
103
|
+
filter?: number | undefined;
|
|
104
|
+
format?: "rgba8" | "rgba8ui" | undefined;
|
|
105
|
+
});
|
|
106
|
+
/** @type {ArrayBufferView} */
|
|
107
|
+
data: ArrayBufferView;
|
|
108
|
+
/** @type {string} */
|
|
109
|
+
format: string;
|
|
110
|
+
/** @ignore */
|
|
111
|
+
upload(gl: any, target: any): void;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/video/texture/resource.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACC;;;;;;;;OAQG;IACH,qEAPG;QAAwB,KAAK,EAArB,MAAM;QACU,MAAM,EAAtB,MAAM;QACY,kBAAkB;QAClB,MAAM;QACN,MAAM;KAElC,EAsBA;IAdA,qBAAqB;IACrB,OADW,MAAM,CACC;IAClB,qBAAqB;IACrB,QADW,MAAM,CACG;IACpB,sBAAsB;IACtB,oBADW,OAAO,CAC0B;IAC5C,qBAAqB;IACrB,QADW,MAAM,CACG;IACpB,+BAA+B;IAC/B,QADW,MAAM,GAAC,SAAS,CACP;IAGpB,2BAA2C;IAC3C,oBAA4B;IAG7B;;;;;OAKG;IACH,mBAEC;IAED;;;;;;;OAOG;IAEH,WAJW,qBAAqB,GAAC,sBAAsB,UAC5C,MAAM,QAKhB;CACD;AAED;;;;;;;;;;;;GAYG;AACH;IACC;;;;;;;;;;;;;;;;OAgBG;IACH,kBAhBW,eAAe,WAIvB;QAAyB,KAAK,EAAtB,MAAM;QACW,MAAM,EAAvB,MAAM;QACY,kBAAkB;QAClB,MAAM;QACN,MAAM;QACI,MAAM;KAM5C,EAOA;IAJA,8BAA8B;IAC9B,MADW,eAAe,CACV;IAChB,qBAAqB;IACrB,QADW,MAAM,CACsB;IAGxC,cAAc;IACd,mCAoCC;CACD"}
|
|
@@ -57,8 +57,15 @@ export class MaterialBatcher extends Batcher {
|
|
|
57
57
|
unbindTexture2D(texture?: WebGLTexture, unit?: number): number;
|
|
58
58
|
/**
|
|
59
59
|
* @ignore
|
|
60
|
+
* @param {TextureAtlas|TextureResource} texture
|
|
61
|
+
* @param {number} [w] - ignored when the source has its own `width` (the
|
|
62
|
+
* common case); kept for the legacy signature where callers passed a
|
|
63
|
+
* destination size. Forwarded only as a last-resort default.
|
|
64
|
+
* @param {number} [h] - same as `w`.
|
|
65
|
+
* @param {boolean} [force=false]
|
|
66
|
+
* @param {boolean} [flush=true]
|
|
60
67
|
*/
|
|
61
|
-
uploadTexture(texture:
|
|
68
|
+
uploadTexture(texture: TextureAtlas | TextureResource, w?: number, h?: number, force?: boolean, flush?: boolean): any;
|
|
62
69
|
}
|
|
63
70
|
import { Batcher } from "./batcher.js";
|
|
64
71
|
import type { TextureAtlas } from "./../../texture/atlas.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/material_batcher.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;GAIG;AACH;IAQE;;;OAGG;IACH,wBAA4B;IAE5B;;;OAGG;IACH,iCAAuB;IA0BxB;;;;;;;;;;;OAWG;IACH,sBAVW,MAAM,WACN,8DAAM,iBAAiB,GAAC,SAAS,GAAC,UAAU,EAAE,GAAC,YAAY,EAAE,UAC7D,MAAM,WACN,MAAM,MACN,MAAM,MACN,MAAM,uBACN,OAAO,WACP,OAAO,kCACL,YAAY,
|
|
1
|
+
{"version":3,"file":"material_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/material_batcher.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;GAIG;AACH;IAQE;;;OAGG;IACH,wBAA4B;IAE5B;;;OAGG;IACH,iCAAuB;IA0BxB;;;;;;;;;;;OAWG;IACH,sBAVW,MAAM,WACN,8DAAM,iBAAiB,GAAC,SAAS,GAAC,UAAU,EAAE,GAAC,YAAY,EAAE,UAC7D,MAAM,WACN,MAAM,MACN,MAAM,MACN,MAAM,uBACN,OAAO,WACP,OAAO,kCACL,YAAY,CA6IxB;IAED;;;OAGG;IACH,yBAFW,YAAY,GAAC,YAAY,QAiBnC;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,YAAY,CAIxB;IAED;;;;OAIG;IACH,uBAHW,YAAY,QACZ,MAAM,yBAsBhB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,SACZ,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;;;;OASG;IACH,uBARW,YAAY,GAAC,eAAe,MAC5B,MAAM,MAGN,MAAM,UACN,OAAO,UACP,OAAO,OAiDjB;CACD;wBAvVuB,cAAc;kCAIP,0BAA0B"}
|