melonjs 19.7.1 → 19.9.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 +21 -6
- 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 +34 -0
- package/build/application/settings.d.ts.map +1 -1
- package/build/audio/audio.d.ts +1 -1
- package/build/audio/audio.d.ts.map +1 -1
- package/build/audio/backend.d.ts +21 -2
- package/build/audio/backend.d.ts.map +1 -1
- package/build/audio/playback.d.ts +8 -28
- package/build/audio/playback.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +49 -0
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/geometries/path2d.d.ts +188 -75
- package/build/geometries/path2d.d.ts.map +1 -1
- package/build/geometries/rectangle.d.ts.map +1 -1
- package/build/index.d.ts +11 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +19170 -13625
- package/build/index.js.map +4 -4
- package/build/level/gltf/GLTFModel.d.ts +173 -0
- package/build/level/gltf/GLTFModel.d.ts.map +1 -0
- package/build/level/gltf/GLTFScene.d.ts +84 -0
- package/build/level/gltf/GLTFScene.d.ts.map +1 -0
- package/build/level/gltf/gltf_sampler.d.ts +49 -0
- package/build/level/gltf/gltf_sampler.d.ts.map +1 -0
- package/build/level/level.d.ts +7 -3
- package/build/level/level.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts +5 -0
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/{renderable → lighting}/light2d.d.ts +79 -78
- package/build/lighting/light2d.d.ts.map +1 -0
- package/build/lighting/light3d.d.ts +86 -0
- package/build/lighting/light3d.d.ts.map +1 -0
- package/build/loader/cache.d.ts +2 -0
- package/build/loader/cache.d.ts.map +1 -1
- package/build/loader/loader.d.ts +156 -8
- package/build/loader/loader.d.ts.map +1 -1
- package/build/loader/parsers/fetchdata.d.ts +14 -0
- package/build/loader/parsers/fetchdata.d.ts.map +1 -1
- package/build/loader/parsers/gltf.d.ts +71 -0
- package/build/loader/parsers/gltf.d.ts.map +1 -0
- package/build/loader/parsers/mtl.d.ts.map +1 -1
- package/build/loader/parsers/shader.d.ts +47 -0
- package/build/loader/parsers/shader.d.ts.map +1 -0
- package/build/loader/parsers/video.d.ts.map +1 -1
- package/build/math/color.d.ts.map +1 -1
- package/build/math/math.d.ts +2 -2
- package/build/math/matrix2d.d.ts.map +1 -1
- package/build/math/noise.d.ts +141 -0
- package/build/math/noise.d.ts.map +1 -0
- package/build/math/observableVector2d.d.ts +1 -1
- package/build/math/observableVector2d.d.ts.map +1 -1
- package/build/math/observableVector3d.d.ts +1 -1
- package/build/math/observableVector3d.d.ts.map +1 -1
- package/build/math/vector2d.d.ts +1 -1
- package/build/math/vector2d.d.ts.map +1 -1
- package/build/math/vector3d.d.ts +1 -1
- package/build/math/vector3d.d.ts.map +1 -1
- package/build/math/vertex.d.ts +25 -0
- package/build/math/vertex.d.ts.map +1 -1
- package/build/physics/adapter.d.ts +4 -3
- package/build/physics/adapter.d.ts.map +1 -1
- package/build/physics/broadphase/aabb3d.d.ts +23 -2
- package/build/physics/broadphase/aabb3d.d.ts.map +1 -1
- package/build/renderable/anchorPoint.d.ts +80 -0
- package/build/renderable/anchorPoint.d.ts.map +1 -0
- package/build/renderable/animation.d.ts +41 -0
- package/build/renderable/animation.d.ts.map +1 -0
- package/build/renderable/collectable.d.ts +7 -1
- package/build/renderable/collectable.d.ts.map +1 -1
- package/build/renderable/container.d.ts +0 -1
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/entity/entity.d.ts +5 -2
- package/build/renderable/entity/entity.d.ts.map +1 -1
- package/build/renderable/frameAnimation.d.ts +154 -0
- package/build/renderable/frameAnimation.d.ts.map +1 -0
- package/build/renderable/imagelayer.d.ts +5 -2
- package/build/renderable/imagelayer.d.ts.map +1 -1
- package/build/renderable/mesh.d.ts +175 -6
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/nineslicesprite.d.ts +5 -7
- package/build/renderable/nineslicesprite.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +28 -1
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite.d.ts +84 -34
- package/build/renderable/sprite.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +350 -0
- package/build/renderable/sprite3d.d.ts.map +1 -0
- package/build/renderable/text/bitmaptext.d.ts +24 -12
- package/build/renderable/text/bitmaptext.d.ts.map +1 -1
- package/build/renderable/text/bitmaptextdata.d.ts +24 -1
- package/build/renderable/text/bitmaptextdata.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts +50 -12
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/state/stage.d.ts +20 -1
- package/build/state/stage.d.ts.map +1 -1
- package/build/system/event.d.ts +18 -2
- package/build/system/event.d.ts.map +1 -1
- package/build/video/buffer/vertex.d.ts +7 -0
- package/build/video/buffer/vertex.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +4 -0
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
- package/build/video/renderer.d.ts +62 -1
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/rendertarget/render_target_pool.d.ts +17 -6
- package/build/video/rendertarget/render_target_pool.d.ts.map +1 -1
- package/build/video/texture/atlas.d.ts +3 -2
- package/build/video/texture/atlas.d.ts.map +1 -1
- package/build/video/texture/cache.d.ts +55 -6
- package/build/video/texture/cache.d.ts.map +1 -1
- package/build/video/texture/frametexture.d.ts +73 -0
- package/build/video/texture/frametexture.d.ts.map +1 -0
- package/build/video/texture/noise_texture2d.d.ts +176 -0
- package/build/video/texture/noise_texture2d.d.ts.map +1 -0
- package/build/video/texture/parser/aseprite.d.ts.map +1 -1
- package/build/video/texture/texture2d.d.ts +83 -0
- package/build/video/texture/texture2d.d.ts.map +1 -0
- package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +18 -0
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -0
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts +30 -4
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/material_batcher.d.ts +39 -3
- package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts +52 -11
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/buffer/index.d.ts +13 -0
- package/build/video/webgl/buffer/index.d.ts.map +1 -1
- package/build/video/webgl/effects/hologram.d.ts +0 -5
- package/build/video/webgl/effects/hologram.d.ts.map +1 -1
- package/build/video/webgl/effects/shine.d.ts +1 -6
- package/build/video/webgl/effects/shine.d.ts.map +1 -1
- package/build/video/webgl/glshader.d.ts +29 -0
- package/build/video/webgl/glshader.d.ts.map +1 -1
- package/build/video/webgl/lighting/pack3d.d.ts +32 -0
- package/build/video/webgl/lighting/pack3d.d.ts.map +1 -0
- package/build/video/webgl/shadereffect.d.ts +183 -0
- package/build/video/webgl/shadereffect.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts +59 -1
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/package.json +5 -5
- package/build/renderable/light2d.d.ts.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Glyph from "./glyph.ts";
|
|
2
2
|
/**
|
|
3
|
-
* a bitmap font data object
|
|
3
|
+
* a bitmap font data object — parses the AngelCode BMFont format in both its
|
|
4
|
+
* text (`.fnt`) and XML serialisations (the flavour is auto-detected).
|
|
4
5
|
* @category Text
|
|
5
6
|
*/
|
|
6
7
|
export default class BitmapTextData {
|
|
@@ -18,6 +19,28 @@ export default class BitmapTextData {
|
|
|
18
19
|
};
|
|
19
20
|
constructor(data: string);
|
|
20
21
|
parse(fontData: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Record a parsed glyph and fold it into the font's vertical metrics.
|
|
24
|
+
* @ignore
|
|
25
|
+
*/
|
|
26
|
+
recordGlyph(glyph: Glyph, baseLine: number): void;
|
|
27
|
+
/**
|
|
28
|
+
* Look up a glyph by char code, honestly typed as possibly missing (the
|
|
29
|
+
* glyph map's index signature otherwise hides that a lookup can be absent).
|
|
30
|
+
* @ignore
|
|
31
|
+
*/
|
|
32
|
+
glyphFor(id: number): Glyph | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Parse the AngelCode BMFont text (.fnt) format.
|
|
35
|
+
* @ignore
|
|
36
|
+
*/
|
|
37
|
+
parseText(fontData: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Parse the AngelCode BMFont XML format (same data as the .fnt text form).
|
|
40
|
+
* Padding is optional in XML exports (e.g. frostyfreeze) and defaults to 0.
|
|
41
|
+
* @ignore
|
|
42
|
+
*/
|
|
43
|
+
parseXML(fontData: string): void;
|
|
21
44
|
}
|
|
22
45
|
export declare const bitmapTextDataPool: import("../../system/pool.ts").Pool<BitmapTextData, [fontData: string]>;
|
|
23
46
|
//# sourceMappingURL=bitmaptextdata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmaptextdata.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/bitmaptextdata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AA8E/B
|
|
1
|
+
{"version":3,"file":"bitmaptextdata.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/bitmaptextdata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AA8E/B;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC,MAAM,EAAE,MAAM,CAAK;IACnB,QAAQ,EAAE,MAAM,CAAK;IACrB,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,MAAM,CAAK;IACpB,UAAU,EAAE,MAAM,CAAK;IACvB,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,MAAM,CAAK;IACpB,WAAW,EAAE,MAAM,CAAK;IACxB,cAAc,EAAE,MAAM,CAAK;IAC3B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAM;gBAE1B,IAAI,EAAE,MAAM;IAIxB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAqDtB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;IAY1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIvC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IA6C1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAwDzB;AAED,eAAO,MAAM,kBAAkB,yEAY7B,CAAC"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* a
|
|
2
|
+
* a Text object: draws a string using a system or web font.
|
|
3
|
+
*
|
|
4
|
+
* The text is rasterised to a cached texture, so it draws as fast as a sprite
|
|
5
|
+
* while staying fully styleable — `fillStyle`, `strokeStyle` + `lineWidth`, and
|
|
6
|
+
* per-object opacity — with multi-line text (embedded `\n`), optional
|
|
7
|
+
* `wordWrapWidth` word-wrapping, and chainable {@link Text#bold} /
|
|
8
|
+
* {@link Text#italic}. `font` accepts any CSS family, including the generic
|
|
9
|
+
* keywords (`sans-serif`, `monospace`, …); a web font loaded through the
|
|
10
|
+
* `fontface` loader is referenced by its family name.
|
|
11
|
+
*
|
|
12
|
+
* For a crisp, tintable, retro look — or large amounts of mostly-static text —
|
|
13
|
+
* consider {@link BitmapText} instead.
|
|
3
14
|
* @category Text
|
|
4
15
|
*/
|
|
5
16
|
export default class Text extends Renderable {
|
|
@@ -7,19 +18,43 @@ export default class Text extends Renderable {
|
|
|
7
18
|
* @param {number} x - position of the text object
|
|
8
19
|
* @param {number} y - position of the text object
|
|
9
20
|
* @param {object} settings - the text configuration
|
|
10
|
-
* @param {string} settings.font - a CSS family font name
|
|
11
|
-
* @param {number|string} settings.size - size, or size
|
|
12
|
-
* @param {Color|string} [settings.fillStyle="#000000"] - a CSS color value
|
|
13
|
-
* @param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value
|
|
14
|
-
* @param {number} [settings.lineWidth=0] -
|
|
15
|
-
* @param {string} [settings.textAlign="left"] - horizontal text alignment
|
|
16
|
-
* @param {string} [settings.textBaseline="top"] - the text baseline
|
|
21
|
+
* @param {string} settings.font - a CSS font family: a specific name (`"Arial"`), a generic keyword (`"sans-serif"`, `"monospace"`, …), or a web font loaded via the `fontface` loader (referenced by its family name)
|
|
22
|
+
* @param {number|string} settings.size - the font size: a number in pixels, or a CSS size string with a unit (`"24px"` / `"1.5em"` / `"18pt"`)
|
|
23
|
+
* @param {Color|string} [settings.fillStyle="#000000"] - a CSS color value used to fill the glyphs
|
|
24
|
+
* @param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value used for the glyph outline (drawn when `lineWidth` > 0)
|
|
25
|
+
* @param {number} [settings.lineWidth=0] - outline width in pixels (0 = no stroke)
|
|
26
|
+
* @param {string} [settings.textAlign="left"] - horizontal text alignment ("left", "center", "right")
|
|
27
|
+
* @param {string} [settings.textBaseline="top"] - the text baseline ("top", "hanging", "middle", "alphabetic", "ideographic", "bottom")
|
|
17
28
|
* @param {number} [settings.lineHeight=1.0] - line spacing height
|
|
18
|
-
* @param {Vector2d} [settings.anchorPoint={x:0.0, y:0.0}] - anchor point to draw the text at
|
|
19
|
-
* @param {number} [settings.wordWrapWidth] - the maximum length in CSS
|
|
29
|
+
* @param {string|Vector2d|{x:number,y:number}} [settings.anchorPoint={x:0.0, y:0.0}] - anchor point to draw the text at. Also accepts the named presets `"center"`, `"top"`, `"bottom"`, `"left"`, `"right"`, `"top-left"`, `"top-right"`, `"bottom-left"`, `"bottom-right"`.
|
|
30
|
+
* @param {number} [settings.wordWrapWidth] - the maximum length in CSS pixels of a line before it wraps
|
|
20
31
|
* @param {(string|string[])} [settings.text=""] - a string, or an array of strings
|
|
21
32
|
* @example
|
|
22
|
-
*
|
|
33
|
+
* // a styled, word-wrapped, multi-line label using a generic system font
|
|
34
|
+
* const label = new Text(8, 8, {
|
|
35
|
+
* font: "sans-serif", // any CSS family (generic keywords work too)
|
|
36
|
+
* size: 24, // number (px) or a "1.5em" / "18pt" string
|
|
37
|
+
* fillStyle: "#ffffff",
|
|
38
|
+
* strokeStyle: "#202020",
|
|
39
|
+
* lineWidth: 2, // outline the glyphs
|
|
40
|
+
* textAlign: "left",
|
|
41
|
+
* textBaseline: "top",
|
|
42
|
+
* wordWrapWidth: 200, // wrap lines longer than 200px
|
|
43
|
+
* text: "Hello melonJS!\nStyled, wrapped, multi-line text.",
|
|
44
|
+
* });
|
|
45
|
+
* label.bold(); // bold() / italic() are chainable
|
|
46
|
+
* label.setOpacity(0.8); // per-object transparency
|
|
47
|
+
* app.world.addChild(label);
|
|
48
|
+
* @example
|
|
49
|
+
* // a web font (loaded via the fontface loader) is used by its family name
|
|
50
|
+
* loader.preload(
|
|
51
|
+
* [{ name: "kenpixel", type: "fontface", src: "data/font/kenvector.woff2" }],
|
|
52
|
+
* () => {
|
|
53
|
+
* app.world.addChild(
|
|
54
|
+
* new Text(0, 0, { font: "kenpixel", size: 32, text: "Web font" }),
|
|
55
|
+
* );
|
|
56
|
+
* },
|
|
57
|
+
* );
|
|
23
58
|
*/
|
|
24
59
|
constructor(x: number, y: number, settings: {
|
|
25
60
|
font: string;
|
|
@@ -30,7 +65,10 @@ export default class Text extends Renderable {
|
|
|
30
65
|
textAlign?: string | undefined;
|
|
31
66
|
textBaseline?: string | undefined;
|
|
32
67
|
lineHeight?: number | undefined;
|
|
33
|
-
anchorPoint?:
|
|
68
|
+
anchorPoint?: string | Vector2d | {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
};
|
|
34
72
|
wordWrapWidth?: number | undefined;
|
|
35
73
|
text?: string | string[] | undefined;
|
|
36
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,eAzCW,MAAM,KACN,MAAM,YAEd;QAAyB,IAAI,EAArB,MAAM;QACkB,IAAI,EAA5B,MAAM,GAAC,MAAM;QACW,SAAS;QACT,WAAW;QACjB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW,GAA1D,MAAM,GAAC,QAAQ,GAAC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACjB,aAAa;QACF,IAAI;KACzC,EAmGF;IApEA;;;;OAIG;IACH,WAHU,KAAK,CAGwB;IAEvC;;;;OAIG;IACH,aAHU,KAAK,CAG0B;IAEzC;;;;OAIG;IACH,WAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,WAHU,MAAM,CAGO;IAEvB;;;;;OAKG;IACH,cAHU,MAAM,CAGS;IAEzB;;;;;OAKG;IACH,YAHU,MAAM,CAGK;IAErB;;;;;OAKG;IACH,eAHU,MAAM,CAGO;IAEvB;;;;OAIG;IACH,UAHU,MAAM,CAGE;IAElB;;;OAGG;IACH,cAAe;IAMhB,cAAc;IACd,kDA8EC;IAdA,8CAEE;IAEF;;OAEG;IACH,wBAA4B;IAG5B,iCAAoC;IAMrC;;;OAGG;IACH,QAFa,IAAI,CAWhB;IAJC,UAA+B;IAMjC;;;OAGG;IACH,UAFa,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,cAPW,MAAM,SACN,MAAM,GAAC,MAAM,GACX,IAAI,CAwChB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,IAAI,CAyDhB;IAkBD,oCAZU,MAAM,EAiBf;IArBD;;;;;;;;;;;OAWG;IACH,gCARU,MAAM,CAUf;IAyBD,+BAZU,MAAM,EAsBf;IA1BD;;;;;OAKG;IACH,2BAFU,MAAM,CAUf;IAiED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,WAAW,CAIvB;IAED;;;OAGG;IACH,eAFW,cAAc,GAAC,aAAa,QA2BtC;IAED;;OAEG;IACH,4EA6BC;IAED;;;OAGG;IACH,gBAUC;CACD;uBAhkBsB,kBAAkB;sBAJR,qBAAqB;+BAEvB,gDAAgD;wBAGvD,kBAAkB"}
|
package/build/state/stage.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type Application from "./../application/application.ts";
|
|
2
2
|
import Camera2d from "./../camera/camera2d.ts";
|
|
3
|
+
import type Light2d from "./../lighting/light2d.ts";
|
|
4
|
+
import type { Light3d } from "./../lighting/light3d.ts";
|
|
3
5
|
import { Color } from "./../math/color.ts";
|
|
4
6
|
import type World from "./../physics/world.js";
|
|
5
|
-
import type Light2d from "./../renderable/light2d.js";
|
|
6
7
|
import type Renderer from "./../video/renderer.js";
|
|
7
8
|
interface StageSettings {
|
|
8
9
|
cameras: Camera2d[];
|
|
@@ -61,6 +62,13 @@ export default class Stage {
|
|
|
61
62
|
* @ignore
|
|
62
63
|
*/
|
|
63
64
|
_activeLights: Set<Light2d>;
|
|
65
|
+
/**
|
|
66
|
+
* Internal set of active 3D lights, auto-populated by `Light3d`'s
|
|
67
|
+
* `onActivateEvent` / `onDeactivateEvent` hooks. Read by the lit mesh
|
|
68
|
+
* batcher each frame to shade `lit` meshes under a `Camera3d`.
|
|
69
|
+
* @ignore
|
|
70
|
+
*/
|
|
71
|
+
_activeLights3d: Set<Light3d>;
|
|
64
72
|
/**
|
|
65
73
|
* an ambient light that will be added to the stage rendering
|
|
66
74
|
* @default "#000000"
|
|
@@ -99,6 +107,17 @@ export default class Stage {
|
|
|
99
107
|
* @ignore
|
|
100
108
|
*/
|
|
101
109
|
_unregisterLight(light: Light2d): void;
|
|
110
|
+
/**
|
|
111
|
+
* Called by `Light3d.onActivateEvent` to register a 3D light with the stage.
|
|
112
|
+
* Read by the lit mesh batcher. Users normally don't call this.
|
|
113
|
+
* @ignore
|
|
114
|
+
*/
|
|
115
|
+
_registerLight3d(light: Light3d): void;
|
|
116
|
+
/**
|
|
117
|
+
* Called by `Light3d.onDeactivateEvent` to deregister a 3D light.
|
|
118
|
+
* @ignore
|
|
119
|
+
*/
|
|
120
|
+
_unregisterLight3d(light: Light3d): void;
|
|
102
121
|
/**
|
|
103
122
|
* Object reset function
|
|
104
123
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,UAAU,aAAa;IACtB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAE9B;;;;OAIG;IACH,YAAY,EAAE,KAAK,CAAC;IAEpB;;;;;;;;OAQG;IACH,oBAAoB,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAU7C;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIpC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIxC;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI;IAsHtD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgB3B;;;;;;;;;OASG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAM5C;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACX,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,MAAuC,EACnD,UAAU,GAAE,MAAuC,GACjD,IAAI;IAiCP;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAmB/B;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAOxD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAMtC"}
|
package/build/system/event.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { Vector2d } from "../math/vector2d.ts";
|
|
|
7
7
|
import { Draggable } from "../renderable/draggable.js";
|
|
8
8
|
import type Stage from "../state/stage.ts";
|
|
9
9
|
import Renderer from "../video/renderer.js";
|
|
10
|
+
import type { Texture2dSource } from "../video/texture/texture2d.ts";
|
|
10
11
|
/**
|
|
11
12
|
* event when the DOM is Ready is booting
|
|
12
13
|
* @see event.on
|
|
@@ -334,10 +335,24 @@ export declare const GPU_TEXTURE_CACHE_RESET = "renderer.gpu.texturecachereset";
|
|
|
334
335
|
* `RenderPassEncoder` (clear loadOps replace `clear()` calls in WebGPU's
|
|
335
336
|
* declarative pass descriptors).
|
|
336
337
|
*
|
|
337
|
-
* Data passed:
|
|
338
|
+
* Data passed: the emitting renderer. Subscribers holding per-renderer
|
|
339
|
+
* state should ignore broadcasts from other renderer instances (several
|
|
340
|
+
* Applications can coexist on one page); a missing argument (legacy
|
|
341
|
+
* emitters) should be treated as "mine".
|
|
338
342
|
* @see event.on
|
|
339
343
|
*/
|
|
340
344
|
export declare const RENDER_TARGET_CHANGED = "renderer.target.changed";
|
|
345
|
+
/**
|
|
346
|
+
* Fired when a {@link Texture2d} asset is destroyed, with its backing
|
|
347
|
+
* drawable source. GPU-side caches keyed by source image — e.g. the lit
|
|
348
|
+
* batcher's per-image normal-map textures — subscribe to release the GL
|
|
349
|
+
* texture and drop their entry, so destroying a texture (a per-level
|
|
350
|
+
* {@link NoiseTexture2d}, for instance) doesn't leak GPU memory.
|
|
351
|
+
*
|
|
352
|
+
* Data passed: the destroyed texture's backing canvas/image
|
|
353
|
+
* @see event.on
|
|
354
|
+
*/
|
|
355
|
+
export declare const TEXTURE2D_DESTROYED = "texture2d.destroyed";
|
|
341
356
|
interface Events {
|
|
342
357
|
[DOM_READY]: () => void;
|
|
343
358
|
[BOOT]: () => void;
|
|
@@ -384,7 +399,8 @@ interface Events {
|
|
|
384
399
|
[ONCONTEXT_LOST]: (renderer: Renderer) => void;
|
|
385
400
|
[ONCONTEXT_RESTORED]: (renderer: Renderer) => void;
|
|
386
401
|
[GPU_TEXTURE_CACHE_RESET]: () => void;
|
|
387
|
-
[RENDER_TARGET_CHANGED]: () => void;
|
|
402
|
+
[RENDER_TARGET_CHANGED]: (renderer?: object) => void;
|
|
403
|
+
[TEXTURE2D_DESTROYED]: (source: Texture2dSource) => void;
|
|
388
404
|
}
|
|
389
405
|
/**
|
|
390
406
|
* Add a listener for a given event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/system/event.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/system/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,13 @@ export default class VertexArrayBuffer {
|
|
|
54
54
|
* @ignore
|
|
55
55
|
*/
|
|
56
56
|
pushMesh(x: any, y: any, z: any, u: any, v: any, tint: any): this;
|
|
57
|
+
/**
|
|
58
|
+
* push a new lit-mesh vertex (mesh format + a world-space normal):
|
|
59
|
+
* x, y, z, u, v, tint, nx, ny, nz. Used by the lit mesh batcher, whose
|
|
60
|
+
* vertex layout is 12 floats (the 9 of {@link pushMesh} plus `aNormal`).
|
|
61
|
+
* @ignore
|
|
62
|
+
*/
|
|
63
|
+
pushMeshLit(x: any, y: any, z: any, u: any, v: any, tint: any, nx: any, ny: any, nz: any): this;
|
|
57
64
|
/**
|
|
58
65
|
* return a reference to the data in Float32 format
|
|
59
66
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../../src/video/buffer/vertex.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;IACC,6CAyBC;IAvBA,gBAA4B;IAE5B,eAA0B;IAE1B,oBAAoB;IAGpB,oBAEC;IAED,qCAA8C;IAC9C,oCAA6C;IAU7C,kCAA2C;IAG5C;;;OAGG;IACH,cAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;;;OAWG;IACH,QAVW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QACN,MAAM,cACN,MAAM,oBACN,MAAM,QA6BhB;IAED;;;;;;OAMG;IACH,iBALW,SAAS,CAAC,MAAM,CAAC,aACjB,MAAM,SACN,MAAM,QAahB;IAED;;;;;;;;OAQG;IACH,kEAgBC;IAED;;;OAGG;IACH,2DAMC;IAED;;;OAGG;IACH,yDAMC;IAED;;;;;;OAMG;IACH,+DAMC;CACD"}
|
|
1
|
+
{"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../../src/video/buffer/vertex.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;IACC,6CAyBC;IAvBA,gBAA4B;IAE5B,eAA0B;IAE1B,oBAAoB;IAGpB,oBAEC;IAED,qCAA8C;IAC9C,oCAA6C;IAU7C,kCAA2C;IAG5C;;;OAGG;IACH,cAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;;;OAWG;IACH,QAVW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QACN,MAAM,cACN,MAAM,oBACN,MAAM,QA6BhB;IAED;;;;;;OAMG;IACH,iBALW,SAAS,CAAC,MAAM,CAAC,aACjB,MAAM,SACN,MAAM,QAahB;IAED;;;;;;;;OAQG;IACH,kEAgBC;IAED;;;;;OAKG;IACH,gGAoBC;IAED;;;OAGG;IACH,2DAMC;IAED;;;OAGG;IACH,yDAMC;IAED;;;;;;OAMG;IACH,+DAMC;CACD"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* @import {Line} from "./../../geometries/line.ts";
|
|
7
7
|
* @import {Ellipse} from "./../../geometries/ellipse.ts";
|
|
8
8
|
* @import {Matrix2d} from "../../math/matrix2d.ts";
|
|
9
|
+
* @import {Bounds} from "../../physics/bounds.ts";
|
|
10
|
+
* @import {default as Texture2d} from "../texture/texture2d.ts";
|
|
9
11
|
*/
|
|
10
12
|
/**
|
|
11
13
|
* a canvas renderer object
|
|
@@ -14,6 +16,7 @@
|
|
|
14
16
|
export default class CanvasRenderer extends Renderer {
|
|
15
17
|
cache: TextureCache;
|
|
16
18
|
_lightCache: WeakMap<object, any> | undefined;
|
|
19
|
+
_frameTexture: any;
|
|
17
20
|
/**
|
|
18
21
|
* Reset the canvas transform to identity
|
|
19
22
|
*/
|
|
@@ -329,5 +332,6 @@ import type { RoundRect } from "./../../geometries/roundrect.ts";
|
|
|
329
332
|
import type { Polygon } from "../../geometries/polygon.ts";
|
|
330
333
|
import type { Line } from "./../../geometries/line.ts";
|
|
331
334
|
import type { Ellipse } from "./../../geometries/ellipse.ts";
|
|
335
|
+
import type { Bounds } from "../../physics/bounds.ts";
|
|
332
336
|
import type { Matrix2d } from "../../math/matrix2d.ts";
|
|
333
337
|
//# sourceMappingURL=canvas_renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @import {Line} from "./../geometries/line.ts";
|
|
9
9
|
* @import {Ellipse} from "./../geometries/ellipse.ts";
|
|
10
10
|
* @import {Bounds} from "./../physics/bounds.ts";
|
|
11
|
+
* @import {default as Texture2d} from "./texture/texture2d.ts";
|
|
11
12
|
*/
|
|
12
13
|
/**
|
|
13
14
|
* a base renderer object
|
|
@@ -449,6 +450,27 @@ declare class Renderer {
|
|
|
449
450
|
* @param {boolean} [enable=false]
|
|
450
451
|
*/
|
|
451
452
|
setAntiAlias(enable?: boolean): void;
|
|
453
|
+
/**
|
|
454
|
+
* Resolve the default texture filter **mode** for this renderer, decoupled
|
|
455
|
+
* from {@link Renderer#setAntiAlias} (which controls polygon-edge MSAA on GPU
|
|
456
|
+
* backends). Honors the `textureFilter` setting (`"nearest"` / `"linear"`),
|
|
457
|
+
* falling back to the `antiAlias` setting when it's `"auto"` (the default).
|
|
458
|
+
*
|
|
459
|
+
* Backend-neutral on purpose: it returns the mode as a string so each GPU
|
|
460
|
+
* backend maps it to its own enum (WebGL `gl.LINEAR` / `gl.NEAREST`, a future
|
|
461
|
+
* WebGPU renderer `GPUFilterMode`). The Canvas renderer has no per-texture
|
|
462
|
+
* filtering, so this is informational there.
|
|
463
|
+
* @returns {"linear"|"nearest"} the resolved default filter mode
|
|
464
|
+
*/
|
|
465
|
+
getDefaultTextureFilter(): "linear" | "nearest";
|
|
466
|
+
/**
|
|
467
|
+
* Set the default texture magnification/minification filter at runtime,
|
|
468
|
+
* decoupled from {@link Renderer#setAntiAlias}. The base implementation just
|
|
469
|
+
* records the setting (the Canvas renderer has no per-texture filtering);
|
|
470
|
+
* GPU backends override this to re-apply the filter to live textures.
|
|
471
|
+
* @param {"auto"|"nearest"|"linear"} [mode="auto"] - `"auto"` follows `antiAlias`
|
|
472
|
+
*/
|
|
473
|
+
setTextureFilter(mode?: "auto" | "nearest" | "linear"): void;
|
|
452
474
|
/**
|
|
453
475
|
* set/change the current projection matrix (GPU renderers only —
|
|
454
476
|
* the Canvas renderer applies projection via the 2D context's transform stack).
|
|
@@ -644,6 +666,44 @@ declare class Renderer {
|
|
|
644
666
|
* renderer.toDataURL().then((dataURL) => console.log(dataURL));
|
|
645
667
|
*/
|
|
646
668
|
toDataURL(type?: string, quality?: number): Promise<any>;
|
|
669
|
+
/**
|
|
670
|
+
* Capture the current frame — everything drawn to the active framebuffer /
|
|
671
|
+
* canvas so far — into a {@link Texture2d}, on the GPU where possible (no
|
|
672
|
+
* `readPixels` round-trip). The fourth member of the {@link Renderer#toDataURL}
|
|
673
|
+
* / {@link Renderer#toBlob} / {@link Renderer#toImageBitmap} family — "the
|
|
674
|
+
* current frame as X" — and the only one whose result can stay GPU-resident,
|
|
675
|
+
* ready to feed a shader as a screen texture (water refraction, heat haze,
|
|
676
|
+
* frosted glass).
|
|
677
|
+
*
|
|
678
|
+
* Abstract on the base renderer: the concrete backends implement it —
|
|
679
|
+
* {@link WebGLRenderer#toFrameTexture} (a `copyTexImage2D` into a live GPU
|
|
680
|
+
* texture, bound as an extra sampler via {@link ShaderEffect#setTexture}) and
|
|
681
|
+
* {@link CanvasRenderer#toFrameTexture} (an offscreen-canvas copy, for family
|
|
682
|
+
* parity — custom shaders don't run under Canvas).
|
|
683
|
+
* @param {object} [options]
|
|
684
|
+
* @param {Texture2d|null} [options.target] - controls the destination: omit
|
|
685
|
+
* for the shared renderer slot (default); pass a capture previously
|
|
686
|
+
* returned by this method to refresh it in place; pass `null` to mint a
|
|
687
|
+
* fresh, caller-owned capture
|
|
688
|
+
* @param {Bounds|{x: number, y: number, width: number, height: number}} [options.region] - capture
|
|
689
|
+
* only this sub-region of the frame — a {@link Bounds} (or any
|
|
690
|
+
* `{x, y, width, height}`); from a {@link Rect} pass `rect.getBounds()`.
|
|
691
|
+
* NOTE the origin differs by backend: WebGL uses framebuffer coords
|
|
692
|
+
* (**bottom-left** origin), Canvas uses **top-left** — relevant under
|
|
693
|
+
* `video.AUTO`.
|
|
694
|
+
* @returns {Texture2d} a texture holding the captured frame
|
|
695
|
+
* @example
|
|
696
|
+
* effect.setTexture("uScene", renderer.toFrameTexture());
|
|
697
|
+
*/
|
|
698
|
+
toFrameTexture(options?: {
|
|
699
|
+
target?: Texture2d | null | undefined;
|
|
700
|
+
region?: Bounds | {
|
|
701
|
+
x: number;
|
|
702
|
+
y: number;
|
|
703
|
+
width: number;
|
|
704
|
+
height: number;
|
|
705
|
+
} | undefined;
|
|
706
|
+
}): Texture2d;
|
|
647
707
|
}
|
|
648
708
|
declare namespace Renderer {
|
|
649
709
|
let _whitePixel: any;
|
|
@@ -652,7 +712,7 @@ export default Renderer;
|
|
|
652
712
|
import CanvasRenderTarget from "./rendertarget/canvasrendertarget.js";
|
|
653
713
|
import { Vector2d } from "../math/vector2d.ts";
|
|
654
714
|
import type RenderTargetPool from "./rendertarget/render_target_pool.js";
|
|
655
|
-
import Path2D from "./../geometries/path2d.
|
|
715
|
+
import Path2D from "./../geometries/path2d.ts";
|
|
656
716
|
import { Color } from "./../math/color.ts";
|
|
657
717
|
import RenderState from "./renderstate.js";
|
|
658
718
|
import { Matrix3d } from "../math/matrix3d.ts";
|
|
@@ -663,4 +723,5 @@ import type { RoundRect } from "./../geometries/roundrect.ts";
|
|
|
663
723
|
import type { Polygon } from "../geometries/polygon.ts";
|
|
664
724
|
import type { Line } from "./../geometries/line.ts";
|
|
665
725
|
import type { Ellipse } from "./../geometries/ellipse.ts";
|
|
726
|
+
import type { default as Texture2d } from "./texture/texture2d.ts";
|
|
666
727
|
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"AAUA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* Renderer-agnostic — the actual RenderTarget creation is delegated to a
|
|
7
7
|
* factory function provided by the renderer (WebGL, WebGPU, etc.).
|
|
8
8
|
*
|
|
9
|
-
* Camera effects use pool indices 0 and 1 (capture + ping-pong)
|
|
10
|
-
*
|
|
9
|
+
* Camera effects use pool indices 0 and 1 (capture + ping-pong); sprite
|
|
10
|
+
* effects use indices 2 and 3, and each NESTED sprite pass (a multi-effect
|
|
11
|
+
* renderable drawn inside another multi-effect renderable) gets its own pair
|
|
12
|
+
* above that (4/5, 6/7, …), tracked by a stack of active bases so begin/end
|
|
13
|
+
* pairs compose like save/restore.
|
|
11
14
|
* Render targets are lazily created and resized to match the required dimensions.
|
|
12
15
|
* @ignore
|
|
13
16
|
*/
|
|
@@ -20,10 +23,18 @@ export default class RenderTargetPool {
|
|
|
20
23
|
_factory: (arg0: number, arg1: number) => RenderTarget;
|
|
21
24
|
/** @type {RenderTarget[]} */
|
|
22
25
|
_pool: RenderTarget[];
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* active pass bases, innermost last — a STACK, so nested begin/end
|
|
28
|
+
* pairs unwind correctly (two scalars silently corrupted the pool on
|
|
29
|
+
* nested passes: the inner end() popped the outer pass's slot)
|
|
30
|
+
* @type {number[]}
|
|
31
|
+
*/
|
|
32
|
+
_baseStack: number[];
|
|
33
|
+
/**
|
|
34
|
+
* The base index of the innermost active pass, or -1 when none.
|
|
35
|
+
* @returns {number}
|
|
36
|
+
*/
|
|
37
|
+
get activeBase(): number;
|
|
27
38
|
/**
|
|
28
39
|
* Get or create a render target at the given pool index, resized to the given dimensions.
|
|
29
40
|
* @param {number} index - pool index
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render_target_pool.d.ts","sourceRoot":"","sources":["../../../src/video/rendertarget/render_target_pool.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"render_target_pool.d.ts","sourceRoot":"","sources":["../../../src/video/rendertarget/render_target_pool.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH;IACC;;OAEG;IACH,qBAFW,CAAS,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAG,YAAY,EAchD;IAXA,qDAAqD;IACrD,UADW,CAAS,IAAM,EAAN,MAAM,EAAE,IAAM,EAAN,MAAM,KAAG,YAAY,CAC1B;IACvB,6BAA6B;IAC7B,OADW,YAAY,EAAE,CACV;IACf;;;;;OAKG;IACH,YAFU,MAAM,EAAE,CAEE;IAGrB;;;OAGG;IACH,kBAFa,MAAM,CAMlB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,MAAM,UACN,MAAM,GACJ,YAAY,CASxB;IAED;;;;;;;;OAQG;IACH,gBANW,OAAO,eACP,MAAM,SACN,MAAM,UACN,MAAM,GACJ,YAAY,CAuBxB;IAED;;;OAGG;IACH,oBAFa,YAAY,GAAC,SAAS,CAQlC;IAED;;;OAGG;IACH,qBAFa,YAAY,GAAC,SAAS,CAQlC;IAED;;;;OAIG;IACH,OAFa,YAAY,GAAC,IAAI,CAS7B;IAED;;;;OAIG;IACH,iBAHW,MAAM,UACN,MAAM,QAQhB;IAED;;OAEG;IACH,gBAQC;CACD;8BA3J4B,mBAAmB"}
|
|
@@ -30,7 +30,7 @@ export function createAtlas(width: any, height: any, name?: string, repeat?: str
|
|
|
30
30
|
* return a string that identifies the texture atlas type
|
|
31
31
|
* @ignore
|
|
32
32
|
*/
|
|
33
|
-
export function identifyFormat(app: any): "
|
|
33
|
+
export function identifyFormat(app: any): "melonJS" | "texturepacker" | "shoebox" | "aseprite";
|
|
34
34
|
/**
|
|
35
35
|
* A Texture atlas class, currently supports : <br>
|
|
36
36
|
* - [TexturePacker]{@link http://www.codeandweb.com/texturepacker/} : through JSON export (standard and multipack texture atlas) <br>
|
|
@@ -42,7 +42,7 @@ export function identifyFormat(app: any): "texturepacker" | "shoebox" | "aseprit
|
|
|
42
42
|
* );
|
|
43
43
|
* @category Game Objects
|
|
44
44
|
*/
|
|
45
|
-
export class TextureAtlas {
|
|
45
|
+
export class TextureAtlas extends Texture2d {
|
|
46
46
|
/**
|
|
47
47
|
* @param {object|object[]} atlases - atlas information. See {@link loader.getJSON}
|
|
48
48
|
* @param {HTMLImageElement|HTMLCanvasElement|OffscreenCanvas|CompressedImage|string|OffscreenCanvas[]|HTMLImageElement[]|HTMLCanvasElement[]|string[]} [src=atlas.meta.image] - Image source
|
|
@@ -266,6 +266,7 @@ export class TextureAtlas {
|
|
|
266
266
|
getAnimationSettings(names?: string[] | number[]): object;
|
|
267
267
|
createAnimationFromName(names: any, settings: any): Sprite;
|
|
268
268
|
}
|
|
269
|
+
import Texture2d from "./texture2d.ts";
|
|
269
270
|
import Sprite from "./../../renderable/sprite.js";
|
|
270
271
|
import type NineSliceSprite from "./../../renderable/nineslicesprite.js";
|
|
271
272
|
//# sourceMappingURL=atlas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/video/texture/atlas.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/video/texture/atlas.js"],"names":[],"mappings":"AAUA;;;GAGG;AAEH;;;GAGG;AACH;;;;;;;;;;;;;;;;;;;EAoBC;AAED;;;GAGG;AACH,+FAYC;AAED;;;;;;;;;;GAUG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,qBAjCW,MAAM,GAAC,MAAM,EAAE,QACf,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,eAAe,GAAC,MAAM,GAAC,eAAe,EAAE,GAAC,gBAAgB,EAAE,GAAC,iBAAiB,EAAE,GAAC,MAAM,EAAE,YAC3I,OAAO,GAAC,MAAM,EAuOxB;IAjMA;;;OAGG;IACH,sBAAkB;IAElB;;;;OAIG;IACH,uBAAwB;IAExB;;;;;;OAMG;IACH,6BAA8B;IAE9B;;;;OAIG;IACH,uBAAwB;IAExB;;;;OAIG;IACH,2BAA4B;IAE5B;;;OAGG;IACH;;;;;;MAA6D;IAW1D,YAA8C;IAgJlD;;;;OAIG;IACH,gBAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,gBAAgB,GAAC,iBAAiB,CAQ9C;IAED;;;;;;OAMG;IACH,0BAHW,MAAM,GACJ,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,GAAC,IAAI,CAU/E;IAED;;;;;;;;OAQG;IACH,gBAPW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAiBlB;IAED;;;;;;;OAOG;IACH,aANW,MAAM,GAAC,MAAM,OACb,MAAM,OACN,MAAM,OACN,MAAM,GACJ,YAAY,CAsCxB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,QACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,YAAY,CA2BxB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,2BA1BW,MAAM,aACN,MAAM,cACN,OAAO,GACL,MAAM,GAAC,eAAe,CAqClC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,6BAnBW,MAAM,EAAE,GAAC,MAAM,EAAE,GAGf,MAAM,CAkFlB;IAED,2DAiDC;CACD;sBA5rBqB,gBAAgB;mBALnB,8BAA8B;iCASjB,uCAAuC"}
|
|
@@ -13,6 +13,7 @@ declare class TextureCache {
|
|
|
13
13
|
tinted: Map<any, any>;
|
|
14
14
|
units: Map<any, any>;
|
|
15
15
|
usedUnits: Set<any>;
|
|
16
|
+
reservedUnits: Map<any, any>;
|
|
16
17
|
max_size: number;
|
|
17
18
|
/**
|
|
18
19
|
* @ignore
|
|
@@ -22,6 +23,22 @@ declare class TextureCache {
|
|
|
22
23
|
* @ignore
|
|
23
24
|
*/
|
|
24
25
|
allocateTextureUnit(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Reserve a texture unit so {@link allocateTextureUnit} never hands it to a
|
|
28
|
+
* color texture — used by `ShaderEffect.setTexture` to hold high units for
|
|
29
|
+
* its extra samplers. Reference-counted, so a unit shared by several effects
|
|
30
|
+
* stays reserved until the last one releases it.
|
|
31
|
+
* @param {number} unit - the texture unit to reserve
|
|
32
|
+
* @ignore
|
|
33
|
+
*/
|
|
34
|
+
reserveUnit(unit: number): void;
|
|
35
|
+
/**
|
|
36
|
+
* Release a unit previously held by {@link reserveUnit}. The unit becomes
|
|
37
|
+
* allocatable again once its last holder releases it.
|
|
38
|
+
* @param {number} unit - the texture unit to release
|
|
39
|
+
* @ignore
|
|
40
|
+
*/
|
|
41
|
+
releaseUnit(unit: number): void;
|
|
25
42
|
/**
|
|
26
43
|
* Reset all texture unit assignments without clearing the texture cache.
|
|
27
44
|
* Used by multi-texture batching when the shader's sampler range is exceeded.
|
|
@@ -31,21 +48,53 @@ declare class TextureCache {
|
|
|
31
48
|
/**
|
|
32
49
|
* @ignore
|
|
33
50
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
51
|
+
* Frees the single `(source, repeat)` unit matching the texture's
|
|
52
|
+
* current `repeat` field — deliberately granular, so freeing one live
|
|
53
|
+
* consumer (e.g. one of two patterns with different repeats over the
|
|
54
|
+
* same image) never evicts the other's unit. When a SOURCE goes away
|
|
55
|
+
* entirely, use {@link freeAllUnits} instead — a source can hold units
|
|
56
|
+
* under several repeat modes (per-mesh `textureRepeat` overrides,
|
|
57
|
+
* #1503) that this granular free would leave pinned.
|
|
38
58
|
*/
|
|
39
59
|
freeTextureUnit(texture: any): void;
|
|
40
60
|
/**
|
|
41
61
|
* @ignore
|
|
62
|
+
*
|
|
63
|
+
* Free every texture unit allocated for the texture's source, across
|
|
64
|
+
* ALL repeat modes. A single source can hold several `(source, repeat)`
|
|
65
|
+
* units — patterns with different repeats over one image, or meshes
|
|
66
|
+
* sampling one image with per-mesh `textureRepeat` overrides (#1503) —
|
|
67
|
+
* and the source going away invalidates all of them at once.
|
|
68
|
+
*/
|
|
69
|
+
freeAllUnits(texture: any): void;
|
|
70
|
+
/**
|
|
71
|
+
* @ignore
|
|
72
|
+
* @param {string} [repeat] - overrides the texture's own `repeat` for the
|
|
73
|
+
* unit lookup — sampler state per use (a mesh's `textureRepeat`), so one
|
|
74
|
+
* source can be sampled with several wrap modes without mutating the
|
|
75
|
+
* shared atlas (#1503). Omit to use `texture.repeat`.
|
|
76
|
+
*
|
|
77
|
+
* Hot-path note: `getUnit` / `peekUnit` are called per-texture per-draw,
|
|
78
|
+
* so the `(source, repeat)` lookup is inlined here rather than going
|
|
79
|
+
* through a helper that allocates a `{source, repeat}` object per call.
|
|
80
|
+
*/
|
|
81
|
+
getUnit(texture: any, repeat?: string): any;
|
|
82
|
+
/**
|
|
83
|
+
* @ignore
|
|
84
|
+
* return every texture unit allocated for the given texture's source,
|
|
85
|
+
* across ALL repeat modes — the unload-time counterpart of the per-use
|
|
86
|
+
* `getUnit(texture, repeat)` override (#1503): a single source can hold
|
|
87
|
+
* one unit per wrap mode it was sampled with, and per-repeat `peekUnit`
|
|
88
|
+
* lookups would only ever find the one matching the texture's current
|
|
89
|
+
* `repeat` field. Not a hot path (allocates the result array).
|
|
42
90
|
*/
|
|
43
|
-
|
|
91
|
+
peekAllUnits(texture: any): any[];
|
|
44
92
|
/**
|
|
45
93
|
* @ignore
|
|
46
94
|
* return the texture unit for the given texture, or -1 if not allocated
|
|
95
|
+
* @param {string} [repeat] - same per-use wrap override as {@link getUnit}
|
|
47
96
|
*/
|
|
48
|
-
peekUnit(texture: any): any;
|
|
97
|
+
peekUnit(texture: any, repeat?: string): any;
|
|
49
98
|
/**
|
|
50
99
|
* @ignore
|
|
51
100
|
* cache the textureAltas for the given image
|