@esotericsoftware/spine-webgl 4.2.117 → 4.3.1
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/AssetManager.d.ts +1 -1
- package/dist/AssetManager.js +2 -4
- package/dist/Camera.js +7 -7
- package/dist/CameraController.d.ts +1 -1
- package/dist/CameraController.js +14 -14
- package/dist/GLTexture.d.ts +3 -3
- package/dist/GLTexture.js +14 -12
- package/dist/Input.d.ts +1 -1
- package/dist/Input.js +40 -39
- package/dist/LoadingScreen.d.ts +2 -2
- package/dist/LoadingScreen.js +16 -16
- package/dist/Matrix4.js +31 -31
- package/dist/Mesh.d.ts +1 -1
- package/dist/Mesh.js +15 -15
- package/dist/PolygonBatcher.d.ts +4 -4
- package/dist/PolygonBatcher.js +20 -22
- package/dist/SceneRenderer.d.ts +8 -7
- package/dist/SceneRenderer.js +44 -37
- package/dist/Shader.d.ts +1 -1
- package/dist/Shader.js +23 -23
- package/dist/ShapeRenderer.d.ts +2 -2
- package/dist/ShapeRenderer.js +38 -47
- package/dist/SkeletonDebugRenderer.d.ts +2 -3
- package/dist/SkeletonDebugRenderer.js +56 -58
- package/dist/SkeletonRenderer.d.ts +3 -4
- package/dist/SkeletonRenderer.js +59 -69
- package/dist/SpineCanvas.d.ts +2 -2
- package/dist/SpineCanvas.js +4 -4
- package/dist/Vector3.d.ts +1 -1
- package/dist/Vector3.js +8 -8
- package/dist/esm/spine-webgl.min.mjs +26 -26
- package/dist/esm/spine-webgl.mjs +8097 -6477
- package/dist/esm/spine-webgl.mjs.map +4 -4
- package/dist/iife/spine-webgl.js +8097 -6477
- package/dist/iife/spine-webgl.js.map +4 -4
- package/dist/iife/spine-webgl.min.js +26 -26
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +2 -2
package/dist/PolygonBatcher.d.ts
CHANGED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { BlendMode, Disposable } from "@esotericsoftware/spine-core";
|
|
30
|
-
import { GLTexture } from "./GLTexture.js";
|
|
31
|
-
import { Shader } from "./Shader.js";
|
|
29
|
+
import type { BlendMode, Disposable } from "@esotericsoftware/spine-core";
|
|
30
|
+
import type { GLTexture } from "./GLTexture.js";
|
|
31
|
+
import type { Shader } from "./Shader.js";
|
|
32
32
|
import { ManagedWebGLRenderingContext } from "./WebGL.js";
|
|
33
33
|
export declare class PolygonBatcher implements Disposable {
|
|
34
34
|
static disableCulling: boolean;
|
|
@@ -48,7 +48,7 @@ export declare class PolygonBatcher implements Disposable {
|
|
|
48
48
|
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, twoColorTint?: boolean, maxVertices?: number);
|
|
49
49
|
begin(shader: Shader): void;
|
|
50
50
|
private static blendModesGL;
|
|
51
|
-
setBlendMode(blendMode: BlendMode
|
|
51
|
+
setBlendMode(blendMode: BlendMode): void;
|
|
52
52
|
draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
|
|
53
53
|
flush(): void;
|
|
54
54
|
end(): void;
|
package/dist/PolygonBatcher.js
CHANGED
|
@@ -26,13 +26,11 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import {
|
|
29
|
+
import { Color2Attribute, ColorAttribute, Mesh, Position2Attribute, TexCoordAttribute } from "./Mesh.js";
|
|
30
30
|
import { ManagedWebGLRenderingContext } from "./WebGL.js";
|
|
31
31
|
const GL_ONE = 1;
|
|
32
32
|
const GL_ONE_MINUS_SRC_COLOR = 0x0301;
|
|
33
|
-
const GL_SRC_ALPHA = 0x0302;
|
|
34
33
|
const GL_ONE_MINUS_SRC_ALPHA = 0x0303;
|
|
35
|
-
const GL_ONE_MINUS_DST_ALPHA = 0x0305;
|
|
36
34
|
const GL_DST_COLOR = 0x0306;
|
|
37
35
|
export class PolygonBatcher {
|
|
38
36
|
static disableCulling = false;
|
|
@@ -51,13 +49,13 @@ export class PolygonBatcher {
|
|
|
51
49
|
cullWasEnabled = false;
|
|
52
50
|
constructor(context, twoColorTint = true, maxVertices = 10920) {
|
|
53
51
|
if (maxVertices > 10920)
|
|
54
|
-
throw new Error(
|
|
52
|
+
throw new Error(`Can't have more than 10920 triangles per batch: ${maxVertices}`);
|
|
55
53
|
this.context = context instanceof ManagedWebGLRenderingContext ? context : new ManagedWebGLRenderingContext(context);
|
|
56
|
-
|
|
54
|
+
const attributes = twoColorTint ?
|
|
57
55
|
[new Position2Attribute(), new ColorAttribute(), new TexCoordAttribute(), new Color2Attribute()] :
|
|
58
56
|
[new Position2Attribute(), new ColorAttribute(), new TexCoordAttribute()];
|
|
59
57
|
this.mesh = new Mesh(context, attributes, maxVertices, maxVertices * 3);
|
|
60
|
-
|
|
58
|
+
const gl = this.context.gl;
|
|
61
59
|
this.srcColorBlend = gl.SRC_ALPHA;
|
|
62
60
|
this.srcAlphaBlend = gl.ONE;
|
|
63
61
|
this.dstBlend = gl.ONE_MINUS_SRC_ALPHA;
|
|
@@ -69,7 +67,7 @@ export class PolygonBatcher {
|
|
|
69
67
|
this.shader = shader;
|
|
70
68
|
this.lastTexture = null;
|
|
71
69
|
this.isDrawing = true;
|
|
72
|
-
|
|
70
|
+
const gl = this.context.gl;
|
|
73
71
|
gl.enable(gl.BLEND);
|
|
74
72
|
gl.blendFuncSeparate(this.srcColorBlend, this.dstBlend, this.srcAlphaBlend, this.dstBlend);
|
|
75
73
|
if (PolygonBatcher.disableCulling) {
|
|
@@ -79,17 +77,17 @@ export class PolygonBatcher {
|
|
|
79
77
|
}
|
|
80
78
|
}
|
|
81
79
|
static blendModesGL = [
|
|
82
|
-
{
|
|
83
|
-
{
|
|
84
|
-
{
|
|
85
|
-
{
|
|
80
|
+
{ srcRgbPma: GL_ONE, dstRgb: GL_ONE_MINUS_SRC_ALPHA, srcAlpha: GL_ONE },
|
|
81
|
+
{ srcRgbPma: GL_ONE, dstRgb: GL_ONE, srcAlpha: GL_ONE },
|
|
82
|
+
{ srcRgbPma: GL_DST_COLOR, dstRgb: GL_ONE_MINUS_SRC_ALPHA, srcAlpha: GL_ONE },
|
|
83
|
+
{ srcRgbPma: GL_ONE, dstRgb: GL_ONE_MINUS_SRC_COLOR, srcAlpha: GL_ONE }
|
|
86
84
|
];
|
|
87
|
-
setBlendMode(blendMode
|
|
85
|
+
setBlendMode(blendMode) {
|
|
88
86
|
const blendModeGL = PolygonBatcher.blendModesGL[blendMode];
|
|
89
|
-
const srcColorBlend =
|
|
87
|
+
const srcColorBlend = blendModeGL.srcRgbPma;
|
|
90
88
|
const srcAlphaBlend = blendModeGL.srcAlpha;
|
|
91
89
|
const dstBlend = blendModeGL.dstRgb;
|
|
92
|
-
if (this.srcColorBlend
|
|
90
|
+
if (this.srcColorBlend === srcColorBlend && this.srcAlphaBlend === srcAlphaBlend && this.dstBlend === dstBlend)
|
|
93
91
|
return;
|
|
94
92
|
this.srcColorBlend = srcColorBlend;
|
|
95
93
|
this.srcAlphaBlend = srcAlphaBlend;
|
|
@@ -97,11 +95,11 @@ export class PolygonBatcher {
|
|
|
97
95
|
if (this.isDrawing) {
|
|
98
96
|
this.flush();
|
|
99
97
|
}
|
|
100
|
-
|
|
98
|
+
const gl = this.context.gl;
|
|
101
99
|
gl.blendFuncSeparate(srcColorBlend, dstBlend, srcAlphaBlend, dstBlend);
|
|
102
100
|
}
|
|
103
101
|
draw(texture, vertices, indices) {
|
|
104
|
-
if (texture
|
|
102
|
+
if (texture !== this.lastTexture) {
|
|
105
103
|
this.flush();
|
|
106
104
|
this.lastTexture = texture;
|
|
107
105
|
}
|
|
@@ -109,18 +107,18 @@ export class PolygonBatcher {
|
|
|
109
107
|
this.indicesLength + indices.length > this.mesh.getIndices().length) {
|
|
110
108
|
this.flush();
|
|
111
109
|
}
|
|
112
|
-
|
|
110
|
+
const indexStart = this.mesh.numVertices();
|
|
113
111
|
this.mesh.getVertices().set(vertices, this.verticesLength);
|
|
114
112
|
this.verticesLength += vertices.length;
|
|
115
113
|
this.mesh.setVerticesLength(this.verticesLength);
|
|
116
|
-
|
|
114
|
+
const indicesArray = this.mesh.getIndices();
|
|
117
115
|
for (let i = this.indicesLength, j = 0; j < indices.length; i++, j++)
|
|
118
116
|
indicesArray[i] = indices[j] + indexStart;
|
|
119
117
|
this.indicesLength += indices.length;
|
|
120
118
|
this.mesh.setIndicesLength(this.indicesLength);
|
|
121
119
|
}
|
|
122
120
|
flush() {
|
|
123
|
-
if (this.verticesLength
|
|
121
|
+
if (this.verticesLength === 0)
|
|
124
122
|
return;
|
|
125
123
|
if (!this.lastTexture)
|
|
126
124
|
throw new Error("No texture set.");
|
|
@@ -143,7 +141,7 @@ export class PolygonBatcher {
|
|
|
143
141
|
this.shader = null;
|
|
144
142
|
this.lastTexture = null;
|
|
145
143
|
this.isDrawing = false;
|
|
146
|
-
|
|
144
|
+
const gl = this.context.gl;
|
|
147
145
|
gl.disable(gl.BLEND);
|
|
148
146
|
if (PolygonBatcher.disableCulling) {
|
|
149
147
|
if (this.cullWasEnabled)
|
|
@@ -154,7 +152,7 @@ export class PolygonBatcher {
|
|
|
154
152
|
return this.drawCalls;
|
|
155
153
|
}
|
|
156
154
|
static getAndResetGlobalDrawCalls() {
|
|
157
|
-
|
|
155
|
+
const result = PolygonBatcher.globalDrawCalls;
|
|
158
156
|
PolygonBatcher.globalDrawCalls = 0;
|
|
159
157
|
return result;
|
|
160
158
|
}
|
|
@@ -162,4 +160,4 @@ export class PolygonBatcher {
|
|
|
162
160
|
this.mesh.dispose();
|
|
163
161
|
}
|
|
164
162
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9seWdvbkJhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUG9seWdvbkJhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUM1QixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQztBQUN0QyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQztBQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUM7QUFFNUIsTUFBTSxPQUFPLGNBQWM7SUFDbkIsTUFBTSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFN0IsT0FBTyxDQUErQjtJQUN0QyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDbkMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNWLElBQUksQ0FBTztJQUNYLE1BQU0sR0FBa0IsSUFBSSxDQUFDO0lBQzdCLFdBQVcsR0FBcUIsSUFBSSxDQUFDO0lBQ3JDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNsQixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBQ3RCLFFBQVEsQ0FBUztJQUNqQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRS9CLFlBQWEsT0FBNkQsRUFBRSxlQUF3QixJQUFJLEVBQUUsY0FBc0IsS0FBSztRQUNwSSxJQUFJLFdBQVcsR0FB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QyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDRixDQUFDO0lBRUQsWUFBWTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLDBCQUEwQjtRQUNoQyxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBQzVDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IEJsZW5kTW9kZSwgRGlzcG9zYWJsZSB9IGZyb20gXCJAZXNvdGVyaWNzb2Z0d2FyZS9zcGluZS1jb3JlXCI7XG5pbXBvcnQgeyBHTFRleHR1cmUgfSBmcm9tIFwiLi9HTFRleHR1cmUuanNcIjtcbmltcG9ydCB7IE1lc2gsIFBvc2l0aW9uMkF0dHJpYnV0ZSwgQ29sb3JBdHRyaWJ1dGUsIFRleENvb3JkQXR0cmlidXRlLCBDb2xvcjJBdHRyaWJ1dGUgfSBmcm9tIFwiLi9NZXNoLmpzXCI7XG5pbXBvcnQgeyBTaGFkZXIgfSBmcm9tIFwiLi9TaGFkZXIuanNcIjtcbmltcG9ydCB7IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgfSBmcm9tIFwiLi9XZWJHTC5qc1wiO1xuXG5jb25zdCBHTF9PTkUgPSAxO1xuY29uc3QgR0xfT05FX01JTlVTX1NSQ19DT0xPUiA9IDB4MDMwMTtcbmNvbnN0IEdMX1NSQ19BTFBIQSA9IDB4MDMwMjtcbmNvbnN0IEdMX09ORV9NSU5VU19TUkNfQUxQSEEgPSAweDAzMDM7XG5jb25zdCBHTF9PTkVfTUlOVVNfRFNUX0FMUEhBID0gMHgwMzA1O1xuY29uc3QgR0xfRFNUX0NPTE9SID0gMHgwMzA2O1xuXG5leHBvcnQgY2xhc3MgUG9seWdvbkJhdGNoZXIgaW1wbGVtZW50cyBEaXNwb3NhYmxlIHtcblx0cHVibGljIHN0YXRpYyBkaXNhYmxlQ3VsbGluZyA9IGZhbHNlO1xuXG5cdHByaXZhdGUgY29udGV4dDogTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dDtcblx0cHJpdmF0ZSBkcmF3Q2FsbHMgPSAwO1xuXHRwcml2YXRlIHN0YXRpYyBnbG9iYWxEcmF3Q2FsbHMgPSAwO1xuXHRpc0RyYXdpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBtZXNoOiBNZXNoO1xuXHRwcml2YXRlIHNoYWRlcjogU2hhZGVyIHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgbGFzdFRleHR1cmU6IEdMVGV4dHVyZSB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHZlcnRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBpbmRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBzcmNDb2xvckJsZW5kOiBudW1iZXI7XG5cdHByaXZhdGUgc3JjQWxwaGFCbGVuZDogbnVtYmVyO1xuXHRwcml2YXRlIGRzdEJsZW5kOiBudW1iZXI7XG5cdHByaXZhdGUgY3VsbFdhc0VuYWJsZWQgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3RvciAoY29udGV4dDogTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dCB8IFdlYkdMUmVuZGVyaW5nQ29udGV4dCwgdHdvQ29sb3JUaW50OiBib29sZWFuID0gdHJ1ZSwgbWF4VmVydGljZXM6IG51bWJlciA9IDEwOTIwKSB7XG5cdFx0aWYgKG1heFZlcnRpY2VzID4gMTA5MjApIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGhhdmUgbW9yZSB0aGFuIDEwOTIwIHRyaWFuZ2xlcyBwZXIgYmF0Y2g6IFwiICsgbWF4VmVydGljZXMpO1xuXHRcdHRoaXMuY29udGV4dCA9IGNvbnRleHQgaW5zdGFuY2VvZiBNYW5hZ2VkV2ViR0xSZW5kZXJpbmdDb250ZXh0ID8gY29udGV4dCA6IG5ldyBNYW5hZ2VkV2ViR0xSZW5kZXJpbmdDb250ZXh0KGNvbnRleHQpO1xuXHRcdGxldCBhdHRyaWJ1dGVzID0gdHdvQ29sb3JUaW50ID9cblx0XHRcdFtuZXcgUG9zaXRpb24yQXR0cmlidXRlKCksIG5ldyBDb2xvckF0dHJpYnV0ZSgpLCBuZXcgVGV4Q29vcmRBdHRyaWJ1dGUoKSwgbmV3IENvbG9yMkF0dHJpYnV0ZSgpXSA6XG5cdFx0XHRbbmV3IFBvc2l0aW9uMkF0dHJpYnV0ZSgpLCBuZXcgQ29sb3JBdHRyaWJ1dGUoKSwgbmV3IFRleENvb3JkQXR0cmlidXRlKCldO1xuXHRcdHRoaXMubWVzaCA9IG5ldyBNZXNoKGNvbnRleHQsIGF0dHJpYnV0ZXMsIG1heFZlcnRpY2VzLCBtYXhWZXJ0aWNlcyAqIDMpO1xuXHRcdGxldCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHR0aGlzLnNyY0NvbG9yQmxlbmQgPSBnbC5TUkNfQUxQSEE7XG5cdFx0dGhpcy5zcmNBbHBoYUJsZW5kID0gZ2wuT05FO1xuXHRcdHRoaXMuZHN0QmxlbmQgPSBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBO1xuXHR9XG5cblx0YmVnaW4gKHNoYWRlcjogU2hhZGVyKSB7XG5cdFx0aWYgKHRoaXMuaXNEcmF3aW5nKSB0aHJvdyBuZXcgRXJyb3IoXCJQb2x5Z29uQmF0Y2ggaXMgYWxyZWFkeSBkcmF3aW5nLiBDYWxsIFBvbHlnb25CYXRjaC5lbmQoKSBiZWZvcmUgY2FsbGluZyBQb2x5Z29uQmF0Y2guYmVnaW4oKVwiKTtcblx0XHR0aGlzLmRyYXdDYWxscyA9IDA7XG5cdFx0dGhpcy5zaGFkZXIgPSBzaGFkZXI7XG5cdFx0dGhpcy5sYXN0VGV4dHVyZSA9IG51bGw7XG5cdFx0dGhpcy5pc0RyYXdpbmcgPSB0cnVlO1xuXG5cdFx0bGV0IGdsID0gdGhpcy5jb250ZXh0LmdsO1xuXHRcdGdsLmVuYWJsZShnbC5CTEVORCk7XG5cdFx0Z2wuYmxlbmRGdW5jU2VwYXJhdGUodGhpcy5zcmNDb2xvckJsZW5kLCB0aGlzLmRzdEJsZW5kLCB0aGlzLnNyY0FscGhhQmxlbmQsIHRoaXMuZHN0QmxlbmQpO1xuXG5cdFx0aWYgKFBvbHlnb25CYXRjaGVyLmRpc2FibGVDdWxsaW5nKSB7XG5cdFx0XHR0aGlzLmN1bGxXYXNFbmFibGVkID0gZ2wuaXNFbmFibGVkKGdsLkNVTExfRkFDRSk7XG5cdFx0XHRpZiAodGhpcy5jdWxsV2FzRW5hYmxlZCkgZ2wuZGlzYWJsZShnbC5DVUxMX0ZBQ0UpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc3RhdGljIGJsZW5kTW9kZXNHTDogeyBzcmNSZ2I6IG51bWJlciwgc3JjUmdiUG1hOiBudW1iZXIsIGRzdFJnYjogbnVtYmVyLCBzcmNBbHBoYTogbnVtYmVyIH1bXSA9IFtcblx0XHR7IHNyY1JnYjogR0xfU1JDX0FMUEhBLCBzcmNSZ2JQbWE6IEdMX09ORSwgZHN0UmdiOiBHTF9PTkVfTUlOVVNfU1JDX0FMUEhBLCBzcmNBbHBoYTogR0xfT05FIH0sXG5cdFx0eyBzcmNSZ2I6IEdMX1NSQ19BTFBIQSwgc3JjUmdiUG1hOiBHTF9PTkUsIGRzdFJnYjogR0xfT05FLCBzcmNBbHBoYTogR0xfT05FIH0sXG5cdFx0eyBzcmNSZ2I6IEdMX0RTVF9DT0xPUiwgc3JjUmdiUG1hOiBHTF9EU1RfQ09MT1IsIGRzdFJnYjogR0xfT05FX01JTlVTX1NSQ19BTFBIQSwgc3JjQWxwaGE6IEdMX09ORSB9LFxuXHRcdHsgc3JjUmdiOiBHTF9PTkUsIHNyY1JnYlBtYTogR0xfT05FLCBkc3RSZ2I6IEdMX09ORV9NSU5VU19TUkNfQ09MT1IsIHNyY0FscGhhOiBHTF9PTkUgfVxuXHRdXG5cblx0c2V0QmxlbmRNb2RlIChibGVuZE1vZGU6IEJsZW5kTW9kZSwgcHJlbXVsdGlwbGllZEFscGhhOiBib29sZWFuKSB7XG5cdFx0Y29uc3QgYmxlbmRNb2RlR0wgPSBQb2x5Z29uQmF0Y2hlci5ibGVuZE1vZGVzR0xbYmxlbmRNb2RlXTtcblx0XHRjb25zdCBzcmNDb2xvckJsZW5kID0gcHJlbXVsdGlwbGllZEFscGhhID8gYmxlbmRNb2RlR0wuc3JjUmdiUG1hIDogYmxlbmRNb2RlR0wuc3JjUmdiO1xuXHRcdGNvbnN0IHNyY0FscGhhQmxlbmQgPSBibGVuZE1vZGVHTC5zcmNBbHBoYTtcblx0XHRjb25zdCBkc3RCbGVuZCA9IGJsZW5kTW9kZUdMLmRzdFJnYjtcblxuXHRcdGlmICh0aGlzLnNyY0NvbG9yQmxlbmQgPT0gc3JjQ29sb3JCbGVuZCAmJiB0aGlzLnNyY0FscGhhQmxlbmQgPT0gc3JjQWxwaGFCbGVuZCAmJiB0aGlzLmRzdEJsZW5kID09IGRzdEJsZW5kKSByZXR1cm47XG5cdFx0dGhpcy5zcmNDb2xvckJsZW5kID0gc3JjQ29sb3JCbGVuZDtcblx0XHR0aGlzLnNyY0FscGhhQmxlbmQgPSBzcmNBbHBoYUJsZW5kO1xuXHRcdHRoaXMuZHN0QmxlbmQgPSBkc3RCbGVuZDtcblx0XHRpZiAodGhpcy5pc0RyYXdpbmcpIHtcblx0XHRcdHRoaXMuZmx1c2goKTtcblx0XHR9XG5cdFx0bGV0IGdsID0gdGhpcy5jb250ZXh0LmdsO1xuXHRcdGdsLmJsZW5kRnVuY1NlcGFyYXRlKHNyY0NvbG9yQmxlbmQsIGRzdEJsZW5kLCBzcmNBbHBoYUJsZW5kLCBkc3RCbGVuZCk7XG5cdH1cblxuXHRkcmF3ICh0ZXh0dXJlOiBHTFRleHR1cmUsIHZlcnRpY2VzOiBBcnJheUxpa2U8bnVtYmVyPiwgaW5kaWNlczogQXJyYXk8bnVtYmVyPikge1xuXHRcdGlmICh0ZXh0dXJlICE9IHRoaXMubGFzdFRleHR1cmUpIHtcblx0XHRcdHRoaXMuZmx1c2goKTtcblx0XHRcdHRoaXMubGFzdFRleHR1cmUgPSB0ZXh0dXJlO1xuXHRcdH0gZWxzZSBpZiAodGhpcy52ZXJ0aWNlc0xlbmd0aCArIHZlcnRpY2VzLmxlbmd0aCA+IHRoaXMubWVzaC5nZXRWZXJ0aWNlcygpLmxlbmd0aCB8fFxuXHRcdFx0dGhpcy5pbmRpY2VzTGVuZ3RoICsgaW5kaWNlcy5sZW5ndGggPiB0aGlzLm1lc2guZ2V0SW5kaWNlcygpLmxlbmd0aCkge1xuXHRcdFx0dGhpcy5mbHVzaCgpO1xuXHRcdH1cblxuXHRcdGxldCBpbmRleFN0YXJ0ID0gdGhpcy5tZXNoLm51bVZlcnRpY2VzKCk7XG5cdFx0dGhpcy5tZXNoLmdldFZlcnRpY2VzKCkuc2V0KHZlcnRpY2VzLCB0aGlzLnZlcnRpY2VzTGVuZ3RoKTtcblx0XHR0aGlzLnZlcnRpY2VzTGVuZ3RoICs9IHZlcnRpY2VzLmxlbmd0aDtcblx0XHR0aGlzLm1lc2guc2V0VmVydGljZXNMZW5ndGgodGhpcy52ZXJ0aWNlc0xlbmd0aClcblxuXHRcdGxldCBpbmRpY2VzQXJyYXkgPSB0aGlzLm1lc2guZ2V0SW5kaWNlcygpO1xuXHRcdGZvciAobGV0IGkgPSB0aGlzLmluZGljZXNMZW5ndGgsIGogPSAwOyBqIDwgaW5kaWNlcy5sZW5ndGg7IGkrKywgaisrKVxuXHRcdFx0aW5kaWNlc0FycmF5W2ldID0gaW5kaWNlc1tqXSArIGluZGV4U3RhcnQ7XG5cdFx0dGhpcy5pbmRpY2VzTGVuZ3RoICs9IGluZGljZXMubGVuZ3RoO1xuXHRcdHRoaXMubWVzaC5zZXRJbmRpY2VzTGVuZ3RoKHRoaXMuaW5kaWNlc0xlbmd0aCk7XG5cdH1cblxuXHRmbHVzaCAoKSB7XG5cdFx0aWYgKHRoaXMudmVydGljZXNMZW5ndGggPT0gMCkgcmV0dXJuO1xuXHRcdGlmICghdGhpcy5sYXN0VGV4dHVyZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gdGV4dHVyZSBzZXQuXCIpO1xuXHRcdGlmICghdGhpcy5zaGFkZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHNoYWRlciBzZXQuXCIpO1xuXHRcdHRoaXMubGFzdFRleHR1cmUuYmluZCgpO1xuXHRcdHRoaXMubWVzaC5kcmF3KHRoaXMuc2hhZGVyLCB0aGlzLmNvbnRleHQuZ2wuVFJJQU5HTEVTKTtcblxuXHRcdHRoaXMudmVydGljZXNMZW5ndGggPSAwO1xuXHRcdHRoaXMuaW5kaWNlc0xlbmd0aCA9IDA7XG5cdFx0dGhpcy5tZXNoLnNldFZlcnRpY2VzTGVuZ3RoKDApO1xuXHRcdHRoaXMubWVzaC5zZXRJbmRpY2VzTGVuZ3RoKDApO1xuXHRcdHRoaXMuZHJhd0NhbGxzKys7XG5cdFx0UG9seWdvbkJhdGNoZXIuZ2xvYmFsRHJhd0NhbGxzKys7XG5cdH1cblxuXHRlbmQgKCkge1xuXHRcdGlmICghdGhpcy5pc0RyYXdpbmcpIHRocm93IG5ldyBFcnJvcihcIlBvbHlnb25CYXRjaCBpcyBub3QgZHJhd2luZy4gQ2FsbCBQb2x5Z29uQmF0Y2guYmVnaW4oKSBiZWZvcmUgY2FsbGluZyBQb2x5Z29uQmF0Y2guZW5kKClcIik7XG5cdFx0aWYgKHRoaXMudmVydGljZXNMZW5ndGggPiAwIHx8IHRoaXMuaW5kaWNlc0xlbmd0aCA+IDApIHRoaXMuZmx1c2goKTtcblx0XHR0aGlzLnNoYWRlciA9IG51bGw7XG5cdFx0dGhpcy5sYXN0VGV4dHVyZSA9IG51bGw7XG5cdFx0dGhpcy5pc0RyYXdpbmcgPSBmYWxzZTtcblxuXHRcdGxldCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRnbC5kaXNhYmxlKGdsLkJMRU5EKTtcblx0XHRpZiAoUG9seWdvbkJhdGNoZXIuZGlzYWJsZUN1bGxpbmcpIHtcblx0XHRcdGlmICh0aGlzLmN1bGxXYXNFbmFibGVkKSBnbC5lbmFibGUoZ2wuQ1VMTF9GQUNFKTtcblx0XHR9XG5cdH1cblxuXHRnZXREcmF3Q2FsbHMgKCkge1xuXHRcdHJldHVybiB0aGlzLmRyYXdDYWxscztcblx0fVxuXG5cdHN0YXRpYyBnZXRBbmRSZXNldEdsb2JhbERyYXdDYWxscyAoKSB7XG5cdFx0bGV0IHJlc3VsdCA9IFBvbHlnb25CYXRjaGVyLmdsb2JhbERyYXdDYWxscztcblx0XHRQb2x5Z29uQmF0Y2hlci5nbG9iYWxEcmF3Q2FsbHMgPSAwO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRkaXNwb3NlICgpIHtcblx0XHR0aGlzLm1lc2guZGlzcG9zZSgpO1xuXHR9XG59XG4iXX0=
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9seWdvbkJhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUG9seWdvbkJhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUU1QixNQUFNLE9BQU8sY0FBYztJQUNuQixNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUU3QixPQUFPLENBQStCO0lBQ3RDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxNQUFNLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNuQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ1YsSUFBSSxDQUFPO0lBQ1gsTUFBTSxHQUFrQixJQUFJLENBQUM7SUFDN0IsV0FBVyxHQUFxQixJQUFJLENBQUM7SUFDckMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQVM7SUFDdEIsUUFBUSxDQUFTO0lBQ2pCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFL0IsWUFBYSxPQUE2RCxFQUFFLGVBQXdCLElBQUksRUFBRSxjQUFzQixLQUFLO1FBQ3BJLElBQUksV0FBVyxHQUFHLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNH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UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBCbGVuZE1vZGUsIERpc3Bvc2FibGUgfSBmcm9tIFwiQGVzb3Rlcmljc29mdHdhcmUvc3BpbmUtY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBHTFRleHR1cmUgfSBmcm9tIFwiLi9HTFRleHR1cmUuanNcIjtcbmltcG9ydCB7IENvbG9yMkF0dHJpYnV0ZSwgQ29sb3JBdHRyaWJ1dGUsIE1lc2gsIFBvc2l0aW9uMkF0dHJpYnV0ZSwgVGV4Q29vcmRBdHRyaWJ1dGUgfSBmcm9tIFwiLi9NZXNoLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNoYWRlciB9IGZyb20gXCIuL1NoYWRlci5qc1wiO1xuaW1wb3J0IHsgTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dCB9IGZyb20gXCIuL1dlYkdMLmpzXCI7XG5cbmNvbnN0IEdMX09ORSA9IDE7XG5jb25zdCBHTF9PTkVfTUlOVVNfU1JDX0NPTE9SID0gMHgwMzAxO1xuY29uc3QgR0xfT05FX01JTlVTX1NSQ19BTFBIQSA9IDB4MDMwMztcbmNvbnN0IEdMX0RTVF9DT0xPUiA9IDB4MDMwNjtcblxuZXhwb3J0IGNsYXNzIFBvbHlnb25CYXRjaGVyIGltcGxlbWVudHMgRGlzcG9zYWJsZSB7XG5cdHB1YmxpYyBzdGF0aWMgZGlzYWJsZUN1bGxpbmcgPSBmYWxzZTtcblxuXHRwcml2YXRlIGNvbnRleHQ6IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQ7XG5cdHByaXZhdGUgZHJhd0NhbGxzID0gMDtcblx0cHJpdmF0ZSBzdGF0aWMgZ2xvYmFsRHJhd0NhbGxzID0gMDtcblx0aXNEcmF3aW5nID0gZmFsc2U7XG5cdHByaXZhdGUgbWVzaDogTWVzaDtcblx0cHJpdmF0ZSBzaGFkZXI6IFNoYWRlciB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGxhc3RUZXh0dXJlOiBHTFRleHR1cmUgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSB2ZXJ0aWNlc0xlbmd0aCA9IDA7XG5cdHByaXZhdGUgaW5kaWNlc0xlbmd0aCA9IDA7XG5cdHByaXZhdGUgc3JjQ29sb3JCbGVuZDogbnVtYmVyO1xuXHRwcml2YXRlIHNyY0FscGhhQmxlbmQ6IG51bWJlcjtcblx0cHJpdmF0ZSBkc3RCbGVuZDogbnVtYmVyO1xuXHRwcml2YXRlIGN1bGxXYXNFbmFibGVkID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IgKGNvbnRleHQ6IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgfCBXZWJHTFJlbmRlcmluZ0NvbnRleHQsIHR3b0NvbG9yVGludDogYm9vbGVhbiA9IHRydWUsIG1heFZlcnRpY2VzOiBudW1iZXIgPSAxMDkyMCkge1xuXHRcdGlmIChtYXhWZXJ0aWNlcyA+IDEwOTIwKSB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGhhdmUgbW9yZSB0aGFuIDEwOTIwIHRyaWFuZ2xlcyBwZXIgYmF0Y2g6ICR7bWF4VmVydGljZXN9YCk7XG5cdFx0dGhpcy5jb250ZXh0ID0gY29udGV4dCBpbnN0YW5jZW9mIE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgPyBjb250ZXh0IDogbmV3IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQoY29udGV4dCk7XG5cdFx0Y29uc3QgYXR0cmlidXRlcyA9IHR3b0NvbG9yVGludCA/XG5cdFx0XHRbbmV3IFBvc2l0aW9uMkF0dHJpYnV0ZSgpLCBuZXcgQ29sb3JBdHRyaWJ1dGUoKSwgbmV3IFRleENvb3JkQXR0cmlidXRlKCksIG5ldyBDb2xvcjJBdHRyaWJ1dGUoKV0gOlxuXHRcdFx0W25ldyBQb3NpdGlvbjJBdHRyaWJ1dGUoKSwgbmV3IENvbG9yQXR0cmlidXRlKCksIG5ldyBUZXhDb29yZEF0dHJpYnV0ZSgpXTtcblx0XHR0aGlzLm1lc2ggPSBuZXcgTWVzaChjb250ZXh0LCBhdHRyaWJ1dGVzLCBtYXhWZXJ0aWNlcywgbWF4VmVydGljZXMgKiAzKTtcblx0XHRjb25zdCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHR0aGlzLnNyY0NvbG9yQmxlbmQgPSBnbC5TUkNfQUxQSEE7XG5cdFx0dGhpcy5zcmNBbHBoYUJsZW5kID0gZ2wuT05FO1xuXHRcdHRoaXMuZHN0QmxlbmQgPSBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBO1xuXHR9XG5cblx0YmVnaW4gKHNoYWRlcjogU2hhZGVyKSB7XG5cdFx0aWYgKHRoaXMuaXNEcmF3aW5nKSB0aHJvdyBuZXcgRXJyb3IoXCJQb2x5Z29uQmF0Y2ggaXMgYWxyZWFkeSBkcmF3aW5nLiBDYWxsIFBvbHlnb25CYXRjaC5lbmQoKSBiZWZvcmUgY2FsbGluZyBQb2x5Z29uQmF0Y2guYmVnaW4oKVwiKTtcblx0XHR0aGlzLmRyYXdDYWxscyA9IDA7XG5cdFx0dGhpcy5zaGFkZXIgPSBzaGFkZXI7XG5cdFx0dGhpcy5sYXN0VGV4dHVyZSA9IG51bGw7XG5cdFx0dGhpcy5pc0RyYXdpbmcgPSB0cnVlO1xuXG5cdFx0Y29uc3QgZ2wgPSB0aGlzLmNvbnRleHQuZ2w7XG5cdFx0Z2wuZW5hYmxlKGdsLkJMRU5EKTtcblx0XHRnbC5ibGVuZEZ1bmNTZXBhcmF0ZSh0aGlzLnNyY0NvbG9yQmxlbmQsIHRoaXMuZHN0QmxlbmQsIHRoaXMuc3JjQWxwaGFCbGVuZCwgdGhpcy5kc3RCbGVuZCk7XG5cblx0XHRpZiAoUG9seWdvbkJhdGNoZXIuZGlzYWJsZUN1bGxpbmcpIHtcblx0XHRcdHRoaXMuY3VsbFdhc0VuYWJsZWQgPSBnbC5pc0VuYWJsZWQoZ2wuQ1VMTF9GQUNFKTtcblx0XHRcdGlmICh0aGlzLmN1bGxXYXNFbmFibGVkKSBnbC5kaXNhYmxlKGdsLkNVTExfRkFDRSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgYmxlbmRNb2Rlc0dMOiB7IHNyY1JnYlBtYTogbnVtYmVyLCBkc3RSZ2I6IG51bWJlciwgc3JjQWxwaGE6IG51bWJlciB9W10gPSBbXG5cdFx0eyBzcmNSZ2JQbWE6IEdMX09ORSwgZHN0UmdiOiBHTF9PTkVfTUlOVVNfU1JDX0FMUEhBLCBzcmNBbHBoYTogR0xfT05FIH0sXG5cdFx0eyBzcmNSZ2JQbWE6IEdMX09ORSwgZHN0UmdiOiBHTF9PTkUsIHNyY0FscGhhOiBHTF9PTkUgfSxcblx0XHR7IHNyY1JnYlBtYTogR0xfRFNUX0NPTE9SLCBkc3RSZ2I6IEdMX09ORV9NSU5VU19TUkNfQUxQSEEsIHNyY0FscGhhOiBHTF9PTkUgfSxcblx0XHR7IHNyY1JnYlBtYTogR0xfT05FLCBkc3RSZ2I6IEdMX09ORV9NSU5VU19TUkNfQ09MT1IsIHNyY0FscGhhOiBHTF9PTkUgfVxuXHRdXG5cblx0c2V0QmxlbmRNb2RlIChibGVuZE1vZGU6IEJsZW5kTW9kZSkge1xuXHRcdGNvbnN0IGJsZW5kTW9kZUdMID0gUG9seWdvbkJhdGNoZXIuYmxlbmRNb2Rlc0dMW2JsZW5kTW9kZV07XG5cdFx0Y29uc3Qgc3JjQ29sb3JCbGVuZCA9IGJsZW5kTW9kZUdMLnNyY1JnYlBtYTtcblx0XHRjb25zdCBzcmNBbHBoYUJsZW5kID0gYmxlbmRNb2RlR0wuc3JjQWxwaGE7XG5cdFx0Y29uc3QgZHN0QmxlbmQgPSBibGVuZE1vZGVHTC5kc3RSZ2I7XG5cblx0XHRpZiAodGhpcy5zcmNDb2xvckJsZW5kID09PSBzcmNDb2xvckJsZW5kICYmIHRoaXMuc3JjQWxwaGFCbGVuZCA9PT0gc3JjQWxwaGFCbGVuZCAmJiB0aGlzLmRzdEJsZW5kID09PSBkc3RCbGVuZCkgcmV0dXJuO1xuXHRcdHRoaXMuc3JjQ29sb3JCbGVuZCA9IHNyY0NvbG9yQmxlbmQ7XG5cdFx0dGhpcy5zcmNBbHBoYUJsZW5kID0gc3JjQWxwaGFCbGVuZDtcblx0XHR0aGlzLmRzdEJsZW5kID0gZHN0QmxlbmQ7XG5cdFx0aWYgKHRoaXMuaXNEcmF3aW5nKSB7XG5cdFx0XHR0aGlzLmZsdXNoKCk7XG5cdFx0fVxuXHRcdGNvbnN0IGdsID0gdGhpcy5jb250ZXh0LmdsO1xuXHRcdGdsLmJsZW5kRnVuY1NlcGFyYXRlKHNyY0NvbG9yQmxlbmQsIGRzdEJsZW5kLCBzcmNBbHBoYUJsZW5kLCBkc3RCbGVuZCk7XG5cdH1cblxuXHRkcmF3ICh0ZXh0dXJlOiBHTFRleHR1cmUsIHZlcnRpY2VzOiBBcnJheUxpa2U8bnVtYmVyPiwgaW5kaWNlczogQXJyYXk8bnVtYmVyPikge1xuXHRcdGlmICh0ZXh0dXJlICE9PSB0aGlzLmxhc3RUZXh0dXJlKSB7XG5cdFx0XHR0aGlzLmZsdXNoKCk7XG5cdFx0XHR0aGlzLmxhc3RUZXh0dXJlID0gdGV4dHVyZTtcblx0XHR9IGVsc2UgaWYgKHRoaXMudmVydGljZXNMZW5ndGggKyB2ZXJ0aWNlcy5sZW5ndGggPiB0aGlzLm1lc2guZ2V0VmVydGljZXMoKS5sZW5ndGggfHxcblx0XHRcdHRoaXMuaW5kaWNlc0xlbmd0aCArIGluZGljZXMubGVuZ3RoID4gdGhpcy5tZXNoLmdldEluZGljZXMoKS5sZW5ndGgpIHtcblx0XHRcdHRoaXMuZmx1c2goKTtcblx0XHR9XG5cblx0XHRjb25zdCBpbmRleFN0YXJ0ID0gdGhpcy5tZXNoLm51bVZlcnRpY2VzKCk7XG5cdFx0dGhpcy5tZXNoLmdldFZlcnRpY2VzKCkuc2V0KHZlcnRpY2VzLCB0aGlzLnZlcnRpY2VzTGVuZ3RoKTtcblx0XHR0aGlzLnZlcnRpY2VzTGVuZ3RoICs9IHZlcnRpY2VzLmxlbmd0aDtcblx0XHR0aGlzLm1lc2guc2V0VmVydGljZXNMZW5ndGgodGhpcy52ZXJ0aWNlc0xlbmd0aClcblxuXHRcdGNvbnN0IGluZGljZXNBcnJheSA9IHRoaXMubWVzaC5nZXRJbmRpY2VzKCk7XG5cdFx0Zm9yIChsZXQgaSA9IHRoaXMuaW5kaWNlc0xlbmd0aCwgaiA9IDA7IGogPCBpbmRpY2VzLmxlbmd0aDsgaSsrLCBqKyspXG5cdFx0XHRpbmRpY2VzQXJyYXlbaV0gPSBpbmRpY2VzW2pdICsgaW5kZXhTdGFydDtcblx0XHR0aGlzLmluZGljZXNMZW5ndGggKz0gaW5kaWNlcy5sZW5ndGg7XG5cdFx0dGhpcy5tZXNoLnNldEluZGljZXNMZW5ndGgodGhpcy5pbmRpY2VzTGVuZ3RoKTtcblx0fVxuXG5cdGZsdXNoICgpIHtcblx0XHRpZiAodGhpcy52ZXJ0aWNlc0xlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXHRcdGlmICghdGhpcy5sYXN0VGV4dHVyZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gdGV4dHVyZSBzZXQuXCIpO1xuXHRcdGlmICghdGhpcy5zaGFkZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHNoYWRlciBzZXQuXCIpO1xuXHRcdHRoaXMubGFzdFRleHR1cmUuYmluZCgpO1xuXHRcdHRoaXMubWVzaC5kcmF3KHRoaXMuc2hhZGVyLCB0aGlzLmNvbnRleHQuZ2wuVFJJQU5HTEVTKTtcblxuXHRcdHRoaXMudmVydGljZXNMZW5ndGggPSAwO1xuXHRcdHRoaXMuaW5kaWNlc0xlbmd0aCA9IDA7XG5cdFx0dGhpcy5tZXNoLnNldFZlcnRpY2VzTGVuZ3RoKDApO1xuXHRcdHRoaXMubWVzaC5zZXRJbmRpY2VzTGVuZ3RoKDApO1xuXHRcdHRoaXMuZHJhd0NhbGxzKys7XG5cdFx0UG9seWdvbkJhdGNoZXIuZ2xvYmFsRHJhd0NhbGxzKys7XG5cdH1cblxuXHRlbmQgKCkge1xuXHRcdGlmICghdGhpcy5pc0RyYXdpbmcpIHRocm93IG5ldyBFcnJvcihcIlBvbHlnb25CYXRjaCBpcyBub3QgZHJhd2luZy4gQ2FsbCBQb2x5Z29uQmF0Y2guYmVnaW4oKSBiZWZvcmUgY2FsbGluZyBQb2x5Z29uQmF0Y2guZW5kKClcIik7XG5cdFx0aWYgKHRoaXMudmVydGljZXNMZW5ndGggPiAwIHx8IHRoaXMuaW5kaWNlc0xlbmd0aCA+IDApIHRoaXMuZmx1c2goKTtcblx0XHR0aGlzLnNoYWRlciA9IG51bGw7XG5cdFx0dGhpcy5sYXN0VGV4dHVyZSA9IG51bGw7XG5cdFx0dGhpcy5pc0RyYXdpbmcgPSBmYWxzZTtcblxuXHRcdGNvbnN0IGdsID0gdGhpcy5jb250ZXh0LmdsO1xuXHRcdGdsLmRpc2FibGUoZ2wuQkxFTkQpO1xuXHRcdGlmIChQb2x5Z29uQmF0Y2hlci5kaXNhYmxlQ3VsbGluZykge1xuXHRcdFx0aWYgKHRoaXMuY3VsbFdhc0VuYWJsZWQpIGdsLmVuYWJsZShnbC5DVUxMX0ZBQ0UpO1xuXHRcdH1cblx0fVxuXG5cdGdldERyYXdDYWxscyAoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZHJhd0NhbGxzO1xuXHR9XG5cblx0c3RhdGljIGdldEFuZFJlc2V0R2xvYmFsRHJhd0NhbGxzICgpIHtcblx0XHRjb25zdCByZXN1bHQgPSBQb2x5Z29uQmF0Y2hlci5nbG9iYWxEcmF3Q2FsbHM7XG5cdFx0UG9seWdvbkJhdGNoZXIuZ2xvYmFsRHJhd0NhbGxzID0gMDtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0ZGlzcG9zZSAoKSB7XG5cdFx0dGhpcy5tZXNoLmRpc3Bvc2UoKTtcblx0fVxufVxuIl19
|
package/dist/SceneRenderer.d.ts
CHANGED
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { Color, Disposable, Skeleton, TextureAtlasRegion } from "@esotericsoftware/spine-core";
|
|
29
|
+
import { Color, type Disposable, type Skeleton, type TextureAtlasRegion } from "@esotericsoftware/spine-core";
|
|
30
30
|
import { OrthoCamera } from "./Camera.js";
|
|
31
|
-
import { GLTexture } from "./GLTexture.js";
|
|
31
|
+
import type { GLTexture } from "./GLTexture.js";
|
|
32
32
|
import { PolygonBatcher } from "./PolygonBatcher.js";
|
|
33
33
|
import { SkeletonDebugRenderer } from "./SkeletonDebugRenderer.js";
|
|
34
|
-
import { SkeletonRenderer, VertexTransformer } from "./SkeletonRenderer.js";
|
|
34
|
+
import { SkeletonRenderer, type VertexTransformer } from "./SkeletonRenderer.js";
|
|
35
35
|
import { ManagedWebGLRenderingContext } from "./WebGL.js";
|
|
36
36
|
export declare class SceneRenderer implements Disposable {
|
|
37
37
|
context: ManagedWebGLRenderingContext;
|
|
@@ -50,8 +50,8 @@ export declare class SceneRenderer implements Disposable {
|
|
|
50
50
|
constructor(canvas: HTMLCanvasElement, context: ManagedWebGLRenderingContext | WebGLRenderingContext, twoColorTint?: boolean);
|
|
51
51
|
dispose(): void;
|
|
52
52
|
begin(): void;
|
|
53
|
-
drawSkeleton(skeleton: Skeleton,
|
|
54
|
-
drawSkeletonDebug(skeleton: Skeleton,
|
|
53
|
+
drawSkeleton(skeleton: Skeleton, slotRangeStart?: number, slotRangeEnd?: number, transform?: VertexTransformer | null): void;
|
|
54
|
+
drawSkeletonDebug(skeleton: Skeleton, ignoredBones?: Array<string>): void;
|
|
55
55
|
drawTexture(texture: GLTexture, x: number, y: number, width: number, height: number, color?: Color): void;
|
|
56
56
|
drawTextureUV(texture: GLTexture, x: number, y: number, width: number, height: number, u: number, v: number, u2: number, v2: number, color?: Color): void;
|
|
57
57
|
drawTextureRotated(texture: GLTexture, x: number, y: number, width: number, height: number, pivotX: number, pivotY: number, angle: number, color?: Color): void;
|
|
@@ -65,12 +65,13 @@ export declare class SceneRenderer implements Disposable {
|
|
|
65
65
|
circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
|
|
66
66
|
curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
|
|
67
67
|
end(): void;
|
|
68
|
-
resize(resizeMode: ResizeMode): void;
|
|
68
|
+
resize(resizeMode: ResizeMode, worldWidth?: number, worldHeight?: number): void;
|
|
69
69
|
private getSafeDevicePixelRatio;
|
|
70
70
|
private enableRenderer;
|
|
71
71
|
}
|
|
72
72
|
export declare enum ResizeMode {
|
|
73
73
|
Stretch = 0,
|
|
74
74
|
Expand = 1,
|
|
75
|
-
Fit = 2
|
|
75
|
+
Fit = 2,
|
|
76
|
+
FitClip = 3
|
|
76
77
|
}
|