@esotericsoftware/spine-webgl 4.2.22 → 4.2.24
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/dist/PolygonBatcher.js
CHANGED
|
@@ -157,4 +157,4 @@ PolygonBatcher.blendModesGL = [
|
|
|
157
157
|
{ srcRgb: GL_DST_COLOR, srcRgbPma: GL_DST_COLOR, dstRgb: GL_ONE_MINUS_SRC_ALPHA, srcAlpha: GL_ONE },
|
|
158
158
|
{ srcRgb: GL_ONE, srcRgbPma: GL_ONE, dstRgb: GL_ONE_MINUS_SRC_COLOR, srcAlpha: GL_ONE }
|
|
159
159
|
];
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9seWdvbkJhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUG9seWdvbkJhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdkQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUM1QixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQztBQUN0QyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQztBQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUM7QUFFNUIsTUFBTSxPQUFPLGNBQWM7SUFpQjFCLFlBQWEsT0FBNkQsRUFBRSxlQUF3QixJQUFJLEVBQUUsY0FBc0IsS0FBSztRQWI3SCxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFVixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUFxQixJQUFJLENBQUM7UUFDckMsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFJbEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHOUIsSUFBSSxXQUFXLEdBQUcsS0FBSztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLFlBQVksNEJBQTRCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSw0QkFB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
|
package/dist/SpineCanvas.d.ts
CHANGED
|
@@ -30,12 +30,12 @@ import { TimeKeeper, AssetManager, ManagedWebGLRenderingContext, SceneRenderer,
|
|
|
30
30
|
/** An app running inside a {@link SpineCanvas}. The app life-cycle
|
|
31
31
|
* is as follows:
|
|
32
32
|
*
|
|
33
|
-
* 1. `loadAssets()` is called. The app can queue assets for loading via {@link SpineCanvas
|
|
33
|
+
* 1. `loadAssets()` is called. The app can queue assets for loading via {@link SpineCanvas.assetManager}.
|
|
34
34
|
* 2. `initialize()` is called when all assets are loaded. The app can setup anything it needs to enter the main application logic.
|
|
35
35
|
* 3. `update()` is called periodically at screen refresh rate. The app can update its state.
|
|
36
|
-
* 4. `render()` is called periodically at screen refresh rate. The app can render its state via {@link SpineCanvas
|
|
36
|
+
* 4. `render()` is called periodically at screen refresh rate. The app can render its state via {@link SpineCanvas.renderer} or directly via the WebGL context in {@link SpineCanvas.gl}.
|
|
37
37
|
*
|
|
38
|
-
* The `error()` method is called in case the assets could not be loaded.
|
|
38
|
+
* The `error()` method is called in case the assets could not be loaded. The `dispose()` method is called in case the canvas has been disposed via {@link SpineCanvas.dispose}.
|
|
39
39
|
*/
|
|
40
40
|
export interface SpineCanvasApp {
|
|
41
41
|
loadAssets?(canvas: SpineCanvas): void;
|
|
@@ -43,6 +43,7 @@ export interface SpineCanvasApp {
|
|
|
43
43
|
update?(canvas: SpineCanvas, delta: number): void;
|
|
44
44
|
render?(canvas: SpineCanvas): void;
|
|
45
45
|
error?(canvas: SpineCanvas, errors: StringMap<string>): void;
|
|
46
|
+
dispose?(canvas: SpineCanvas): void;
|
|
46
47
|
}
|
|
47
48
|
/** Configuration passed to the {@link SpineCanvas} constructor */
|
|
48
49
|
export interface SpineCanvasConfig {
|
|
@@ -53,6 +54,7 @@ export interface SpineCanvasConfig {
|
|
|
53
54
|
/** Manages the life-cycle and WebGL context of a {@link SpineCanvasApp}. The app loads
|
|
54
55
|
* assets and initializes itself, then updates and renders its state at the screen refresh rate. */
|
|
55
56
|
export declare class SpineCanvas {
|
|
57
|
+
private config;
|
|
56
58
|
readonly context: ManagedWebGLRenderingContext;
|
|
57
59
|
/** Tracks the current time, delta, and other time related statistics. */
|
|
58
60
|
readonly time: TimeKeeper;
|
|
@@ -66,8 +68,11 @@ export declare class SpineCanvas {
|
|
|
66
68
|
readonly assetManager: AssetManager;
|
|
67
69
|
/** The input processor used to listen to mouse, touch, and keyboard events. */
|
|
68
70
|
readonly input: Input;
|
|
71
|
+
private disposed;
|
|
69
72
|
/** Constructs a new spine canvas, rendering to the provided HTML canvas. */
|
|
70
73
|
constructor(canvas: HTMLCanvasElement, config: SpineCanvasConfig);
|
|
71
74
|
/** Clears the canvas with the given color. The color values are given in the range [0,1]. */
|
|
72
75
|
clear(r: number, g: number, b: number, a: number): void;
|
|
76
|
+
/** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/
|
|
77
|
+
dispose(): void;
|
|
73
78
|
}
|
package/dist/SpineCanvas.js
CHANGED
|
@@ -32,8 +32,10 @@ import { TimeKeeper, AssetManager, ManagedWebGLRenderingContext, SceneRenderer,
|
|
|
32
32
|
export class SpineCanvas {
|
|
33
33
|
/** Constructs a new spine canvas, rendering to the provided HTML canvas. */
|
|
34
34
|
constructor(canvas, config) {
|
|
35
|
+
this.config = config;
|
|
35
36
|
/** Tracks the current time, delta, and other time related statistics. */
|
|
36
37
|
this.time = new TimeKeeper();
|
|
38
|
+
this.disposed = false;
|
|
37
39
|
if (!config.pathPrefix)
|
|
38
40
|
config.pathPrefix = "";
|
|
39
41
|
if (!config.app)
|
|
@@ -43,6 +45,7 @@ export class SpineCanvas {
|
|
|
43
45
|
update: () => { },
|
|
44
46
|
render: () => { },
|
|
45
47
|
error: () => { },
|
|
48
|
+
dispose: () => { },
|
|
46
49
|
};
|
|
47
50
|
if (!config.webglConfig)
|
|
48
51
|
config.webglConfig = { alpha: true };
|
|
@@ -55,6 +58,8 @@ export class SpineCanvas {
|
|
|
55
58
|
if (config.app.loadAssets)
|
|
56
59
|
config.app.loadAssets(this);
|
|
57
60
|
let loop = () => {
|
|
61
|
+
if (this.disposed)
|
|
62
|
+
return;
|
|
58
63
|
requestAnimationFrame(loop);
|
|
59
64
|
this.time.update();
|
|
60
65
|
if (config.app.update)
|
|
@@ -63,6 +68,8 @@ export class SpineCanvas {
|
|
|
63
68
|
config.app.render(this);
|
|
64
69
|
};
|
|
65
70
|
let waitForAssets = () => {
|
|
71
|
+
if (this.disposed)
|
|
72
|
+
return;
|
|
66
73
|
if (this.assetManager.isLoadingComplete()) {
|
|
67
74
|
if (this.assetManager.hasErrors()) {
|
|
68
75
|
if (config.app.error)
|
|
@@ -84,5 +91,11 @@ export class SpineCanvas {
|
|
|
84
91
|
this.gl.clearColor(r, g, b, a);
|
|
85
92
|
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
86
93
|
}
|
|
94
|
+
/** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/
|
|
95
|
+
dispose() {
|
|
96
|
+
if (this.config.app.dispose)
|
|
97
|
+
this.config.app.dispose(this);
|
|
98
|
+
this.disposed = true;
|
|
99
|
+
}
|
|
87
100
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BpbmVDYW52YXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3BpbmVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxJQUFJLENBQUM7QUErQjdHO21HQUNtRztBQUNuRyxNQUFNLE9BQU8sV0FBVztJQWtCdkIsNEVBQTRFO0lBQzVFLFlBQWEsTUFBeUIsRUFBVSxNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWhCekUseUVBQXlFO1FBQ2hFLFNBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBWXpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQUUsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRztnQkFDN0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztnQkFDakIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUNoQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQzthQUNsQixDQUFBO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUN6QixJQUFJ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
|
package/dist/iife/spine-webgl.js
CHANGED
|
@@ -13397,8 +13397,10 @@ void main () {
|
|
|
13397
13397
|
var SpineCanvas = class {
|
|
13398
13398
|
/** Constructs a new spine canvas, rendering to the provided HTML canvas. */
|
|
13399
13399
|
constructor(canvas, config) {
|
|
13400
|
+
this.config = config;
|
|
13400
13401
|
/** Tracks the current time, delta, and other time related statistics. */
|
|
13401
13402
|
this.time = new TimeKeeper();
|
|
13403
|
+
this.disposed = false;
|
|
13402
13404
|
if (!config.pathPrefix)
|
|
13403
13405
|
config.pathPrefix = "";
|
|
13404
13406
|
if (!config.app)
|
|
@@ -13412,6 +13414,8 @@ void main () {
|
|
|
13412
13414
|
render: () => {
|
|
13413
13415
|
},
|
|
13414
13416
|
error: () => {
|
|
13417
|
+
},
|
|
13418
|
+
dispose: () => {
|
|
13415
13419
|
}
|
|
13416
13420
|
};
|
|
13417
13421
|
if (!config.webglConfig)
|
|
@@ -13425,6 +13429,8 @@ void main () {
|
|
|
13425
13429
|
if (config.app.loadAssets)
|
|
13426
13430
|
config.app.loadAssets(this);
|
|
13427
13431
|
let loop = () => {
|
|
13432
|
+
if (this.disposed)
|
|
13433
|
+
return;
|
|
13428
13434
|
requestAnimationFrame(loop);
|
|
13429
13435
|
this.time.update();
|
|
13430
13436
|
if (config.app.update)
|
|
@@ -13433,6 +13439,8 @@ void main () {
|
|
|
13433
13439
|
config.app.render(this);
|
|
13434
13440
|
};
|
|
13435
13441
|
let waitForAssets = () => {
|
|
13442
|
+
if (this.disposed)
|
|
13443
|
+
return;
|
|
13436
13444
|
if (this.assetManager.isLoadingComplete()) {
|
|
13437
13445
|
if (this.assetManager.hasErrors()) {
|
|
13438
13446
|
if (config.app.error)
|
|
@@ -13453,6 +13461,12 @@ void main () {
|
|
|
13453
13461
|
this.gl.clearColor(r, g, b, a);
|
|
13454
13462
|
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
13455
13463
|
}
|
|
13464
|
+
/** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/
|
|
13465
|
+
dispose() {
|
|
13466
|
+
if (this.config.app.dispose)
|
|
13467
|
+
this.config.app.dispose(this);
|
|
13468
|
+
this.disposed = true;
|
|
13469
|
+
}
|
|
13456
13470
|
};
|
|
13457
13471
|
return __toCommonJS(src_exports);
|
|
13458
13472
|
})();
|