@esotericsoftware/spine-webgl 4.1.41 → 4.1.43
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BpbmVDYW52YXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3BpbmVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxJQUFJLENBQUM7QUErQjdHO21HQUNtRztBQUNuRyxNQUFNLE9BQU8sV0FBVztJQWtCdkIsNEVBQTRFO0lBQzVFLFlBQWEsTUFBeUIsRUFBVSxNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWhCekUseUVBQXlFO1FBQ2hFLFNBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBWXpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQUUsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRztnQkFDN0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztnQkFDakIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUNoQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQzthQUNsQixDQUFBO1FBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVztZQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFD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
|
package/dist/iife/spine-webgl.js
CHANGED
|
@@ -13355,8 +13355,10 @@ void main () {
|
|
|
13355
13355
|
var SpineCanvas = class {
|
|
13356
13356
|
/** Constructs a new spine canvas, rendering to the provided HTML canvas. */
|
|
13357
13357
|
constructor(canvas, config) {
|
|
13358
|
+
this.config = config;
|
|
13358
13359
|
/** Tracks the current time, delta, and other time related statistics. */
|
|
13359
13360
|
this.time = new TimeKeeper();
|
|
13361
|
+
this.disposed = false;
|
|
13360
13362
|
if (!config.pathPrefix)
|
|
13361
13363
|
config.pathPrefix = "";
|
|
13362
13364
|
if (!config.app)
|
|
@@ -13370,6 +13372,8 @@ void main () {
|
|
|
13370
13372
|
render: () => {
|
|
13371
13373
|
},
|
|
13372
13374
|
error: () => {
|
|
13375
|
+
},
|
|
13376
|
+
dispose: () => {
|
|
13373
13377
|
}
|
|
13374
13378
|
};
|
|
13375
13379
|
if (config.webglConfig)
|
|
@@ -13383,6 +13387,8 @@ void main () {
|
|
|
13383
13387
|
if (config.app.loadAssets)
|
|
13384
13388
|
config.app.loadAssets(this);
|
|
13385
13389
|
let loop = () => {
|
|
13390
|
+
if (this.disposed)
|
|
13391
|
+
return;
|
|
13386
13392
|
requestAnimationFrame(loop);
|
|
13387
13393
|
this.time.update();
|
|
13388
13394
|
if (config.app.update)
|
|
@@ -13391,6 +13397,8 @@ void main () {
|
|
|
13391
13397
|
config.app.render(this);
|
|
13392
13398
|
};
|
|
13393
13399
|
let waitForAssets = () => {
|
|
13400
|
+
if (this.disposed)
|
|
13401
|
+
return;
|
|
13394
13402
|
if (this.assetManager.isLoadingComplete()) {
|
|
13395
13403
|
if (this.assetManager.hasErrors()) {
|
|
13396
13404
|
if (config.app.error)
|
|
@@ -13411,6 +13419,12 @@ void main () {
|
|
|
13411
13419
|
this.gl.clearColor(r, g, b, a);
|
|
13412
13420
|
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
13413
13421
|
}
|
|
13422
|
+
/** Disposes the app, so the update() and render() functions are no longer called. Calls the dispose() callback.*/
|
|
13423
|
+
dispose() {
|
|
13424
|
+
if (this.config.app.dispose)
|
|
13425
|
+
this.config.app.dispose(this);
|
|
13426
|
+
this.disposed = true;
|
|
13427
|
+
}
|
|
13414
13428
|
};
|
|
13415
13429
|
return __toCommonJS(src_exports);
|
|
13416
13430
|
})();
|