@galacean/engine-spine 0.0.0-experimental-6d3110b4d9-20240531 → 0.0.0-experimental-2024071102
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/browser.js +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +1 -0
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/package.json +6 -3
- package/types/SpineAnimation.d.ts +114 -19
- package/types/SpineGenerator.d.ts +40 -0
- package/types/core/SpineGenerator.d.ts +1 -2
- package/types/core/SpinePrimitive.d.ts +1 -9
- package/types/index.d.ts +2 -2
- package/types/loader/EditorSkeletonDataLoader.d.ts +3 -3
- package/types/loader/LoaderUtils.d.ts +4 -3
- package/types/loader/SkeletonDataResource.d.ts +12 -0
- package/types/loader/SpineLoader.d.ts +11 -4
- package/types/util/BlendMode.d.ts +4 -0
- package/types/util/BufferReader.d.ts +10 -0
- package/types/util/Cache.d.ts +19 -0
- package/types/util/ClearablePool.d.ts +8 -0
- package/types/util/ReturnablePool.d.ts +8 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js.map +0 -1
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js +0 -2
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js.map +0 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js +0 -2
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/esm/src/SpineAnimation.js +0 -2
- package/dist/esm/src/SpineAnimation.js.map +0 -1
- package/dist/esm/src/SpineMaterial.js +0 -2
- package/dist/esm/src/SpineMaterial.js.map +0 -1
- package/dist/esm/src/core/SpineGenerator.js +0 -2
- package/dist/esm/src/core/SpineGenerator.js.map +0 -1
- package/dist/esm/src/core/SpinePrimitive.js +0 -2
- package/dist/esm/src/core/SpinePrimitive.js.map +0 -1
- package/dist/esm/src/index.js +0 -2
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/loader/EditorSkeletonDataLoader.js +0 -2
- package/dist/esm/src/loader/EditorSkeletonDataLoader.js.map +0 -1
- package/dist/esm/src/loader/EditorSpineAtlasLoader.js +0 -2
- package/dist/esm/src/loader/EditorSpineAtlasLoader.js.map +0 -1
- package/dist/esm/src/loader/LoaderUtils.js +0 -2
- package/dist/esm/src/loader/LoaderUtils.js.map +0 -1
- package/dist/esm/src/loader/SpineLoader.js +0 -2
- package/dist/esm/src/loader/SpineLoader.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Bone.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/Bone.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { Inherit } from \"./BoneData.js\";\nimport { MathUtils } from \"./Utils.js\";\n/** Stores a bone's current pose.\n *\n * A bone has a local transform which is used to compute its world transform. A bone also has an applied transform, which is a\n * local transform that can be applied to compute the world transform. The local transform and applied transform may differ if a\n * constraint or application code modifies the world transform after it was computed from the local transform. */\nexport class Bone {\n /** The bone's setup pose data. */\n data;\n /** The skeleton this bone belongs to. */\n skeleton;\n /** The parent bone, or null if this is the root bone. */\n parent = null;\n /** The immediate children of this bone. */\n children = new Array();\n /** The local x translation. */\n x = 0;\n /** The local y translation. */\n y = 0;\n /** The local rotation in degrees, counter clockwise. */\n rotation = 0;\n /** The local scaleX. */\n scaleX = 0;\n /** The local scaleY. */\n scaleY = 0;\n /** The local shearX. */\n shearX = 0;\n /** The local shearY. */\n shearY = 0;\n /** The applied local x translation. */\n ax = 0;\n /** The applied local y translation. */\n ay = 0;\n /** The applied local rotation in degrees, counter clockwise. */\n arotation = 0;\n /** The applied local scaleX. */\n ascaleX = 0;\n /** The applied local scaleY. */\n ascaleY = 0;\n /** The applied local shearX. */\n ashearX = 0;\n /** The applied local shearY. */\n ashearY = 0;\n /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */\n a = 0;\n /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */\n b = 0;\n /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */\n c = 0;\n /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */\n d = 0;\n /** The world X position. If changed, {@link #updateAppliedTransform()} should be called. */\n worldY = 0;\n /** The world Y position. If changed, {@link #updateAppliedTransform()} should be called. */\n worldX = 0;\n inherit = Inherit.Normal;\n sorted = false;\n active = false;\n /** @param parent May be null. */\n constructor(data, skeleton, parent) {\n if (!data)\n throw new Error(\"data cannot be null.\");\n if (!skeleton)\n throw new Error(\"skeleton cannot be null.\");\n this.data = data;\n this.skeleton = skeleton;\n this.parent = parent;\n this.setToSetupPose();\n }\n /** Returns false when the bone has not been computed because {@link BoneData#skinRequired} is true and the\n * {@link Skeleton#skin active skin} does not {@link Skin#bones contain} this bone. */\n isActive() {\n return this.active;\n }\n /** Computes the world transform using the parent bone and this bone's local applied transform. */\n update(physics) {\n this.updateWorldTransformWith(this.ax, this.ay, this.arotation, this.ascaleX, this.ascaleY, this.ashearX, this.ashearY);\n }\n /** Computes the world transform using the parent bone and this bone's local transform.\n *\n * See {@link #updateWorldTransformWith()}. */\n updateWorldTransform() {\n this.updateWorldTransformWith(this.x, this.y, this.rotation, this.scaleX, this.scaleY, this.shearX, this.shearY);\n }\n /** Computes the world transform using the parent bone and the specified local transform. The applied transform is set to the\n * specified local transform. Child bones are not updated.\n *\n * See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine\n * Runtimes Guide. */\n updateWorldTransformWith(x, y, rotation, scaleX, scaleY, shearX, shearY) {\n this.ax = x;\n this.ay = y;\n this.arotation = rotation;\n this.ascaleX = scaleX;\n this.ascaleY = scaleY;\n this.ashearX = shearX;\n this.ashearY = shearY;\n let parent = this.parent;\n if (!parent) { // Root bone.\n let skeleton = this.skeleton;\n const sx = skeleton.scaleX, sy = skeleton.scaleY;\n const rx = (rotation + shearX) * MathUtils.degRad;\n const ry = (rotation + 90 + shearY) * MathUtils.degRad;\n this.a = Math.cos(rx) * scaleX * sx;\n this.b = Math.cos(ry) * scaleY * sx;\n this.c = Math.sin(rx) * scaleX * sy;\n this.d = Math.sin(ry) * scaleY * sy;\n this.worldX = x * sx + skeleton.x;\n this.worldY = y * sy + skeleton.y;\n return;\n }\n let pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d;\n this.worldX = pa * x + pb * y + parent.worldX;\n this.worldY = pc * x + pd * y + parent.worldY;\n switch (this.inherit) {\n case Inherit.Normal: {\n const rx = (rotation + shearX) * MathUtils.degRad;\n const ry = (rotation + 90 + shearY) * MathUtils.degRad;\n const la = Math.cos(rx) * scaleX;\n const lb = Math.cos(ry) * scaleY;\n const lc = Math.sin(rx) * scaleX;\n const ld = Math.sin(ry) * scaleY;\n this.a = pa * la + pb * lc;\n this.b = pa * lb + pb * ld;\n this.c = pc * la + pd * lc;\n this.d = pc * lb + pd * ld;\n return;\n }\n case Inherit.OnlyTranslation: {\n const rx = (rotation + shearX) * MathUtils.degRad;\n const ry = (rotation + 90 + shearY) * MathUtils.degRad;\n this.a = Math.cos(rx) * scaleX;\n this.b = Math.cos(ry) * scaleY;\n this.c = Math.sin(rx) * scaleX;\n this.d = Math.sin(ry) * scaleY;\n break;\n }\n case Inherit.NoRotationOrReflection: {\n let s = pa * pa + pc * pc;\n let prx = 0;\n if (s > 0.0001) {\n s = Math.abs(pa * pd - pb * pc) / s;\n pa /= this.skeleton.scaleX;\n pc /= this.skeleton.scaleY;\n pb = pc * s;\n pd = pa * s;\n prx = Math.atan2(pc, pa) * MathUtils.radDeg;\n }\n else {\n pa = 0;\n pc = 0;\n prx = 90 - Math.atan2(pd, pb) * MathUtils.radDeg;\n }\n const rx = (rotation + shearX - prx) * MathUtils.degRad;\n const ry = (rotation + shearY - prx + 90) * MathUtils.degRad;\n const la = Math.cos(rx) * scaleX;\n const lb = Math.cos(ry) * scaleY;\n const lc = Math.sin(rx) * scaleX;\n const ld = Math.sin(ry) * scaleY;\n this.a = pa * la - pb * lc;\n this.b = pa * lb - pb * ld;\n this.c = pc * la + pd * lc;\n this.d = pc * lb + pd * ld;\n break;\n }\n case Inherit.NoScale:\n case Inherit.NoScaleOrReflection: {\n rotation *= MathUtils.degRad;\n const cos = Math.cos(rotation), sin = Math.sin(rotation);\n let za = (pa * cos + pb * sin) / this.skeleton.scaleX;\n let zc = (pc * cos + pd * sin) / this.skeleton.scaleY;\n let s = Math.sqrt(za * za + zc * zc);\n if (s > 0.00001)\n s = 1 / s;\n za *= s;\n zc *= s;\n s = Math.sqrt(za * za + zc * zc);\n if (this.inherit == Inherit.NoScale\n && (pa * pd - pb * pc < 0) != (this.skeleton.scaleX < 0 != this.skeleton.scaleY < 0))\n s = -s;\n rotation = Math.PI / 2 + Math.atan2(zc, za);\n const zb = Math.cos(rotation) * s;\n const zd = Math.sin(rotation) * s;\n shearX *= MathUtils.degRad;\n shearY = (90 + shearY) * MathUtils.degRad;\n const la = Math.cos(shearX) * scaleX;\n const lb = Math.cos(shearY) * scaleY;\n const lc = Math.sin(shearX) * scaleX;\n const ld = Math.sin(shearY) * scaleY;\n this.a = za * la + zb * lc;\n this.b = za * lb + zb * ld;\n this.c = zc * la + zd * lc;\n this.d = zc * lb + zd * ld;\n break;\n }\n }\n this.a *= this.skeleton.scaleX;\n this.b *= this.skeleton.scaleX;\n this.c *= this.skeleton.scaleY;\n this.d *= this.skeleton.scaleY;\n }\n /** Sets this bone's local transform to the setup pose. */\n setToSetupPose() {\n let data = this.data;\n this.x = data.x;\n this.y = data.y;\n this.rotation = data.rotation;\n this.scaleX = data.scaleX;\n this.scaleY = data.scaleY;\n this.shearX = data.shearX;\n this.shearY = data.shearY;\n this.inherit = data.inherit;\n }\n /** Computes the applied transform values from the world transform.\n *\n * If the world transform is modified (by a constraint, {@link #rotateWorld(float)}, etc) then this method should be called so\n * the applied transform matches the world transform. The applied transform may be needed by other code (eg to apply other\n * constraints).\n *\n * Some information is ambiguous in the world transform, such as -1,-1 scale versus 180 rotation. The applied transform after\n * calling this method is equivalent to the local transform used to compute the world transform, but may not be identical. */\n updateAppliedTransform() {\n let parent = this.parent;\n if (!parent) {\n this.ax = this.worldX - this.skeleton.x;\n this.ay = this.worldY - this.skeleton.y;\n this.arotation = Math.atan2(this.c, this.a) * MathUtils.radDeg;\n this.ascaleX = Math.sqrt(this.a * this.a + this.c * this.c);\n this.ascaleY = Math.sqrt(this.b * this.b + this.d * this.d);\n this.ashearX = 0;\n this.ashearY = Math.atan2(this.a * this.b + this.c * this.d, this.a * this.d - this.b * this.c) * MathUtils.radDeg;\n return;\n }\n let pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d;\n let pid = 1 / (pa * pd - pb * pc);\n let ia = pd * pid, ib = pb * pid, ic = pc * pid, id = pa * pid;\n let dx = this.worldX - parent.worldX, dy = this.worldY - parent.worldY;\n this.ax = (dx * ia - dy * ib);\n this.ay = (dy * id - dx * ic);\n let ra, rb, rc, rd;\n if (this.inherit == Inherit.OnlyTranslation) {\n ra = this.a;\n rb = this.b;\n rc = this.c;\n rd = this.d;\n }\n else {\n switch (this.inherit) {\n case Inherit.NoRotationOrReflection: {\n let s = Math.abs(pa * pd - pb * pc) / (pa * pa + pc * pc);\n let sa = pa / this.skeleton.scaleX;\n let sc = pc / this.skeleton.scaleY;\n pb = -sc * s * this.skeleton.scaleX;\n pd = sa * s * this.skeleton.scaleY;\n pid = 1 / (pa * pd - pb * pc);\n ia = pd * pid;\n ib = pb * pid;\n break;\n }\n case Inherit.NoScale:\n case Inherit.NoScaleOrReflection:\n let cos = MathUtils.cosDeg(this.rotation), sin = MathUtils.sinDeg(this.rotation);\n pa = (pa * cos + pb * sin) / this.skeleton.scaleX;\n pc = (pc * cos + pd * sin) / this.skeleton.scaleY;\n let s = Math.sqrt(pa * pa + pc * pc);\n if (s > 0.00001)\n s = 1 / s;\n pa *= s;\n pc *= s;\n s = Math.sqrt(pa * pa + pc * pc);\n if (this.inherit == Inherit.NoScale && pid < 0 != (this.skeleton.scaleX < 0 != this.skeleton.scaleY < 0))\n s = -s;\n let r = MathUtils.PI / 2 + Math.atan2(pc, pa);\n pb = Math.cos(r) * s;\n pd = Math.sin(r) * s;\n pid = 1 / (pa * pd - pb * pc);\n ia = pd * pid;\n ib = pb * pid;\n ic = pc * pid;\n id = pa * pid;\n }\n ra = ia * this.a - ib * this.c;\n rb = ia * this.b - ib * this.d;\n rc = id * this.c - ic * this.a;\n rd = id * this.d - ic * this.b;\n }\n this.ashearX = 0;\n this.ascaleX = Math.sqrt(ra * ra + rc * rc);\n if (this.ascaleX > 0.0001) {\n let det = ra * rd - rb * rc;\n this.ascaleY = det / this.ascaleX;\n this.ashearY = -Math.atan2(ra * rb + rc * rd, det) * MathUtils.radDeg;\n this.arotation = Math.atan2(rc, ra) * MathUtils.radDeg;\n }\n else {\n this.ascaleX = 0;\n this.ascaleY = Math.sqrt(rb * rb + rd * rd);\n this.ashearY = 0;\n this.arotation = 90 - Math.atan2(rd, rb) * MathUtils.radDeg;\n }\n }\n /** The world rotation for the X axis, calculated using {@link #a} and {@link #c}. */\n getWorldRotationX() {\n return Math.atan2(this.c, this.a) * MathUtils.radDeg;\n }\n /** The world rotation for the Y axis, calculated using {@link #b} and {@link #d}. */\n getWorldRotationY() {\n return Math.atan2(this.d, this.b) * MathUtils.radDeg;\n }\n /** The magnitude (always positive) of the world scale X, calculated using {@link #a} and {@link #c}. */\n getWorldScaleX() {\n return Math.sqrt(this.a * this.a + this.c * this.c);\n }\n /** The magnitude (always positive) of the world scale Y, calculated using {@link #b} and {@link #d}. */\n getWorldScaleY() {\n return Math.sqrt(this.b * this.b + this.d * this.d);\n }\n /** Transforms a point from world coordinates to the bone's local coordinates. */\n worldToLocal(world) {\n let invDet = 1 / (this.a * this.d - this.b * this.c);\n let x = world.x - this.worldX, y = world.y - this.worldY;\n world.x = x * this.d * invDet - y * this.b * invDet;\n world.y = y * this.a * invDet - x * this.c * invDet;\n return world;\n }\n /** Transforms a point from the bone's local coordinates to world coordinates. */\n localToWorld(local) {\n let x = local.x, y = local.y;\n local.x = x * this.a + y * this.b + this.worldX;\n local.y = x * this.c + y * this.d + this.worldY;\n return local;\n }\n /** Transforms a point from world coordinates to the parent bone's local coordinates. */\n worldToParent(world) {\n if (world == null)\n throw new Error(\"world cannot be null.\");\n return this.parent == null ? world : this.parent.worldToLocal(world);\n }\n /** Transforms a point from the parent bone's coordinates to world coordinates. */\n parentToWorld(world) {\n if (world == null)\n throw new Error(\"world cannot be null.\");\n return this.parent == null ? world : this.parent.localToWorld(world);\n }\n /** Transforms a world rotation to a local rotation. */\n worldToLocalRotation(worldRotation) {\n let sin = MathUtils.sinDeg(worldRotation), cos = MathUtils.cosDeg(worldRotation);\n return Math.atan2(this.a * sin - this.c * cos, this.d * cos - this.b * sin) * MathUtils.radDeg + this.rotation - this.shearX;\n }\n /** Transforms a local rotation to a world rotation. */\n localToWorldRotation(localRotation) {\n localRotation -= this.rotation - this.shearX;\n let sin = MathUtils.sinDeg(localRotation), cos = MathUtils.cosDeg(localRotation);\n return Math.atan2(cos * this.c + sin * this.d, cos * this.a + sin * this.b) * MathUtils.radDeg;\n }\n /** Rotates the world transform the specified amount.\n * <p>\n * After changes are made to the world transform, {@link #updateAppliedTransform()} should be called and\n * {@link #update(Physics)} will need to be called on any child bones, recursively. */\n rotateWorld(degrees) {\n degrees *= MathUtils.degRad;\n const sin = Math.sin(degrees), cos = Math.cos(degrees);\n const ra = this.a, rb = this.b;\n this.a = cos * ra - sin * this.c;\n this.b = cos * rb - sin * this.d;\n this.c = sin * ra + cos * this.c;\n this.d = sin * rb + cos * this.d;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Cb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQVksT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxTQUFTLEVBQVcsTUFBTSxZQUFZLENBQUM7QUFFaEQ7Ozs7aUhBSWlIO0FBQ2pILE1BQU0sT0FBTyxJQUFJO0lBQ2hCLGtDQUFrQztJQUNsQyxJQUFJLENBQVc7SUFFZix5Q0FBeUM7SUFDekMsUUFBUSxDQUFXO0lBRW5CLHlEQUF5RDtJQUN6RCxNQUFNLEdBQWdCLElBQUksQ0FBQztJQUUzQiwyQ0FBMkM7SUFDM0MsUUFBUSxHQUFHLElBQUksS0FBSyxFQUFRLENBQUM7SUFFN0IsK0JBQStCO0lBQy9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFTiwrQkFBK0I7SUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVOLHdEQUF3RDtJQUN4RCxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWIsd0JBQXdCO0lBQ3hCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFWCx3QkFBd0I7SUFDeEIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLHdCQUF3QjtJQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsd0JBQXdCO0lBQ3hCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFWCx1Q0FBdUM7SUFDdkMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVQLHVDQUF1QztJQUN2QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRVAsZ0VBQWdFO0lBQ2hFLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFZCxnQ0FBZ0M7SUFDaEMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVaLGdDQUFnQztJQUNoQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBRVosZ0NBQWdDO0lBQ2hDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFF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QyxRQUFRLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDdkQsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEMsT0FBTztTQUNQO1FBRUQsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFOUMsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dC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LENBQUM7Z0JBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztnQkFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7Z0JBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztnQkFDckMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzNCLE1BQU07YUFDTjtTQUNEO1FBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQy9CLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsMERBQTBEO0lBQzFELGNBQWM7UUFDYixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7O2lJQU82SDtJQUM3SCxzQkFBc0I7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1osSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDbkgsT0FBTztTQUNQO1FBQ0QsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUs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QyxPQUFPLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0QifQ=="],"names":["Bone","data","skeleton","parent","children","Array","x","y","rotation","scaleX","scaleY","shearX","shearY","ax","ay","arotation","ascaleX","ascaleY","ashearX","ashearY","a","b","c","d","worldY","worldX","inherit","Inherit","Normal","sorted","active","constructor","Error","this","setToSetupPose","isActive","update","physics","updateWorldTransformWith","updateWorldTransform","sx","sy","rx","MathUtils","degRad","ry","Math","cos","sin","pa","pb","pc","pd","la","lb","lc","ld","OnlyTranslation","NoRotationOrReflection","s","prx","abs","atan2","radDeg","NoScale","NoScaleOrReflection","za","zc","sqrt","PI","zb","zd","updateAppliedTransform","ra","rb","rc","rd","pid","ia","ib","ic","id","dx","dy","sa","cosDeg","sinDeg","r","det","getWorldRotationX","getWorldRotationY","getWorldScaleX","getWorldScaleY","worldToLocal","world","invDet","localToWorld","local","worldToParent","parentToWorld","worldToLocalRotation","worldRotation","localToWorldRotation","localRotation","rotateWorld","degrees"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Color as e}from"./Utils.js";class n{index=0;name;parent=null;length=0;x=0;y=0;rotation=0;scaleX=1;scaleY=1;shearX=0;shearY=0;inherit=o.Normal;skinRequired=!1;color=new e;icon;visible=!1;constructor(e,n,o){if(e<0)throw new Error("index must be >= 0.");if(!n)throw new Error("name cannot be null.");this.index=e,this.name=n,this.parent=o}}var o;!function(e){e[e.Normal=0]="Normal",e[e.OnlyTranslation=1]="OnlyTranslation",e[e.NoRotationOrReflection=2]="NoRotationOrReflection",e[e.NoScale=3]="NoScale",e[e.NoScaleOrReflection=4]="NoScaleOrReflection"}(o||(o={}));export{n as BoneData,o as Inherit};
|
|
2
|
-
//# sourceMappingURL=BoneData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoneData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/BoneData.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { Color } from \"./Utils.js\";\n/** Stores the setup pose for a {@link Bone}. */\nexport class BoneData {\n /** The index of the bone in {@link Skeleton#getBones()}. */\n index = 0;\n /** The name of the bone, which is unique across all bones in the skeleton. */\n name;\n /** @returns May be null. */\n parent = null;\n /** The bone's length. */\n length = 0;\n /** The local x translation. */\n x = 0;\n /** The local y translation. */\n y = 0;\n /** The local rotation in degrees, counter clockwise. */\n rotation = 0;\n /** The local scaleX. */\n scaleX = 1;\n /** The local scaleY. */\n scaleY = 1;\n /** The local shearX. */\n shearX = 0;\n /** The local shearX. */\n shearY = 0;\n /** The transform mode for how parent world transforms affect this bone. */\n inherit = Inherit.Normal;\n /** When true, {@link Skeleton#updateWorldTransform()} only updates this bone if the {@link Skeleton#skin} contains this\n * bone.\n * @see Skin#bones */\n skinRequired = false;\n /** The color of the bone as it was in Spine. Available only when nonessential data was exported. Bones are not usually\n * rendered at runtime. */\n color = new Color();\n /** The bone icon as it was in Spine, or null if nonessential data was not exported. */\n icon;\n /** False if the bone was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */\n visible = false;\n constructor(index, name, parent) {\n if (index < 0)\n throw new Error(\"index must be >= 0.\");\n if (!name)\n throw new Error(\"name cannot be null.\");\n this.index = index;\n this.name = name;\n this.parent = parent;\n }\n}\n/** Determines how a bone inherits world transforms from parent bones. */\nexport var Inherit;\n(function (Inherit) {\n Inherit[Inherit[\"Normal\"] = 0] = \"Normal\";\n Inherit[Inherit[\"OnlyTranslation\"] = 1] = \"OnlyTranslation\";\n Inherit[Inherit[\"NoRotationOrReflection\"] = 2] = \"NoRotationOrReflection\";\n Inherit[Inherit[\"NoScale\"] = 3] = \"NoScale\";\n Inherit[Inherit[\"NoScaleOrReflection\"] = 4] = \"NoScaleOrReflection\";\n})(Inherit || (Inherit = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9uZURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQm9uZURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxRQUFRO0lBQ3BCLDREQUE0RDtJQUM1RCxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLDhFQUE4RTtJQUM5RSxJQUFJLENBQVM7SUFFYiw0QkFBNEI7SUFDNUIsTUFBTSxHQUFvQixJQUFJLENBQUM7SUFFL0IseUJBQXlCO0lBQ3pCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFFbkIsK0JBQStCO0lBQy9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFTiwrQkFBK0I7SUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVOLHdEQUF3RDtJQUN4RCxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWIsd0JBQXdCO0lBQ3hCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFWCx3QkFBd0I7SUFDeEIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLHdCQUF3QjtJQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsd0JBQXdCO0lBQ3hCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFWCwyRUFBMkU7SUFDM0UsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFekI7OzBCQUVzQjtJQUN0QixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCOzhCQUMwQjtJQUMxQixLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUVwQix1RkFBdUY7SUFDdkYsSUFBSSxDQUFVO0lBRWQsbUhBQW1IO0lBQ25ILE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsWUFBYSxLQUFhLEVBQUUsSUFBWSxFQUFFLE1BQXVCO1FBQ2hFLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdEIsQ0FBQztDQUNEO0FBRUQseUVBQXlFO0FBQ3pFLE1BQU0sQ0FBTixJQUFZLE9BQXlGO0FBQXJHLFdBQVksT0FBTztJQUFHLHlDQUFNLENBQUE7SUFBRSwyREFBZSxDQUFBO0lBQUUseUVBQXNCLENBQUE7SUFBRSwyQ0FBTyxDQUFBO0lBQUUsbUVBQW1CLENBQUE7QUFBQyxDQUFDLEVBQXpGLE9BQU8sS0FBUCxPQUFPLFFBQWtGIn0="],"names":["BoneData","index","name","parent","length","x","y","rotation","scaleX","scaleY","shearX","shearY","inherit","Inherit","Normal","skinRequired","color","Color","icon","visible","constructor","Error","this"],"mappings":"mCA8BO,MAAMA,EAETC,MAAQ,EAERC,KAEAC,OAAS,KAETC,OAAS,EAETC,EAAI,EAEJC,EAAI,EAEJC,SAAW,EAEXC,OAAS,EAETC,OAAS,EAETC,OAAS,EAETC,OAAS,EAETC,QAAUC,EAAQC,OAIlBC,cAAe,EAGfC,MAAQ,IAAIC,EAEZC,KAEAC,SAAU,EACV,WAAAC,CAAYnB,EAAOC,EAAMC,GACrB,GAAIF,EAAQ,EACR,MAAM,IAAIoB,MAAM,uBACpB,IAAKnB,EACD,MAAM,IAAImB,MAAM,wBACpBC,KAAKrB,MAAQA,EACbqB,KAAKpB,KAAOA,EACZoB,KAAKnB,OAASA,CACjB,EAGK,IAACU,GACX,SAAWA,GACPA,EAAQA,EAAgB,OAAI,GAAK,SACjCA,EAAQA,EAAyB,gBAAI,GAAK,kBAC1CA,EAAQA,EAAgC,uBAAI,GAAK,yBACjDA,EAAQA,EAAiB,QAAI,GAAK,UAClCA,EAAQA,EAA6B,oBAAI,GAAK,qBACjD,CAND,CAMGA,IAAYA,EAAU,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConstraintData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\n/** The base class for all constraint datas. */\nexport class ConstraintData {\n name;\n order;\n skinRequired;\n constructor(name, order, skinRequired) {\n this.name = name;\n this.order = order;\n this.skinRequired = skinRequired;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RyYWludERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29uc3RyYWludERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLCtDQUErQztBQUMvQyxNQUFNLE9BQWdCLGNBQWM7SUFDZjtJQUFxQjtJQUFzQjtJQUEvRCxZQUFvQixJQUFZLEVBQVMsS0FBYSxFQUFTLFlBQXFCO1FBQWhFLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQVM7SUFBSSxDQUFDO0NBQ3pGIn0="],"names":["ConstraintData","name","order","skinRequired","constructor","this"],"mappings":"AA6BO,MAAMA,EACTC,KACAC,MACAC,aACA,WAAAC,CAAYH,EAAMC,EAAOC,GACrBE,KAAKJ,KAAOA,EACZI,KAAKH,MAAQA,EACbG,KAAKF,aAAeA,CACvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Event.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/Event.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\n/** Stores the current pose values for an {@link Event}.\n *\n * See Timeline {@link Timeline#apply()},\n * AnimationStateListener {@link AnimationStateListener#event()}, and\n * [Events](http://esotericsoftware.com/spine-events) in the Spine User Guide. */\nexport class Event {\n data;\n intValue = 0;\n floatValue = 0;\n stringValue = null;\n time = 0;\n volume = 0;\n balance = 0;\n constructor(time, data) {\n if (!data)\n throw new Error(\"data cannot be null.\");\n this.time = time;\n this.data = data;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FOzs7O2lGQUlpRjtBQUNqRixNQUFNLE9BQU8sS0FBSztJQUNqQixJQUFJLENBQVk7SUFDaEIsUUFBUSxHQUFXLENBQUMsQ0FBQztJQUNyQixVQUFVLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRXBCLFlBQWEsSUFBWSxFQUFFLElBQWU7UUFDekMsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbEIsQ0FBQztDQUNEIn0="],"names":["Event","data","intValue","floatValue","stringValue","time","volume","balance","constructor","Error","this"],"mappings":"AAiCO,MAAMA,EACTC,KACAC,SAAW,EACXC,WAAa,EACbC,YAAc,KACdC,KAAO,EACPC,OAAS,EACTC,QAAU,EACV,WAAAC,CAAYH,EAAMJ,GACd,IAAKA,EACD,MAAM,IAAIQ,MAAM,wBACpBC,KAAKL,KAAOA,EACZK,KAAKT,KAAOA,CACf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/EventData.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\n/** Stores the setup pose values for an {@link Event}.\n *\n * See [Events](http://esotericsoftware.com/spine-events) in the Spine User Guide. */\nexport class EventData {\n name;\n intValue = 0;\n floatValue = 0;\n stringValue = null;\n audioPath = null;\n volume = 0;\n balance = 0;\n constructor(name) {\n this.name = name;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0V2ZW50RGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0U7O3FGQUVxRjtBQUNyRixNQUFNLE9BQU8sU0FBUztJQUNyQixJQUFJLENBQVM7SUFDYixRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBQ3JCLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDaEMsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRXBCLFlBQWEsSUFBWTtRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixDQUFDO0NBQ0QifQ=="],"names":["EventData","name","intValue","floatValue","stringValue","audioPath","volume","balance","constructor","this"],"mappings":"AA+BO,MAAMA,EACTC,KACAC,SAAW,EACXC,WAAa,EACbC,YAAc,KACdC,UAAY,KACZC,OAAS,EACTC,QAAU,EACV,WAAAC,CAAYP,GACRQ,KAAKR,KAAOA,CACf"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Inherit as t}from"./BoneData.js";import{MathUtils as a}from"./Utils.js";class e{data;bones;target;bendDirection=0;compress=!1;stretch=!1;mix=1;softness=0;active=!1;constructor(t,a){if(!t)throw new Error("data cannot be null.");if(!a)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(let e=0;e<t.bones.length;e++){let s=a.findBone(t.bones[e].name);if(!s)throw new Error(`Couldn't find bone ${t.bones[e].name}`);this.bones.push(s)}let e=a.findBone(t.target.name);if(!e)throw new Error(`Couldn't find bone ${t.target.name}`);this.target=e,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}isActive(){return this.active}setToSetupPose(){const t=this.data;this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}update(t){if(0==this.mix)return;let a=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],a.worldX,a.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],a.worldX,a.worldY,this.bendDirection,this.stretch,this.data.uniform,this.softness,this.mix)}}apply1(e,s,r,o,n,i,h){let l=e.parent;if(!l)throw new Error("IK bone must have parent.");let c=l.a,d=l.b,f=l.c,m=l.d,w=-e.ashearX-e.arotation,p=0,b=0;switch(e.inherit){case t.OnlyTranslation:p=(s-e.worldX)*a.signum(e.skeleton.scaleX),b=(r-e.worldY)*a.signum(e.skeleton.scaleY);break;case t.NoRotationOrReflection:let o=Math.abs(c*m-d*f)/Math.max(1e-4,c*c+f*f),n=c/e.skeleton.scaleX,i=f/e.skeleton.scaleY;d=-i*o*e.skeleton.scaleX,m=n*o*e.skeleton.scaleY,w+=Math.atan2(i,n)*a.radDeg;default:let h=s-l.worldX,M=r-l.worldY,u=c*m-d*f;Math.abs(u)<=1e-4?(p=0,b=0):(p=(h*m-M*d)/u-e.ax,b=(M*c-h*f)/u-e.ay)}w+=Math.atan2(b,p)*a.radDeg,e.ascaleX<0&&(w+=180),w>180?w-=360:w<-180&&(w+=360);let M=e.ascaleX,u=e.ascaleY;if(o||n){switch(e.inherit){case t.NoScale:case t.NoScaleOrReflection:p=s-e.worldX,b=r-e.worldY}const a=e.data.length*M;if(a>1e-4){const t=p*p+b*b;if(o&&t<a*a||n&&t>a*a){const e=(Math.sqrt(t)/a-1)*h+1;M*=e,i&&(u*=e)}}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+w*h,M,u,e.ashearX,e.ashearY)}apply2(e,s,r,o,n,i,h,l,c){if(e.inherit!=t.Normal||s.inherit!=t.Normal)return;let d=e.ax,f=e.ay,m=e.ascaleX,w=e.ascaleY,p=m,b=w,M=s.ascaleX,u=0,X=0,Y=0;m<0?(m=-m,u=180,Y=-1):(u=0,Y=1),w<0&&(w=-w,Y=-Y),M<0?(M=-M,X=180):X=0;let g=s.ax,x=0,y=0,D=0,k=e.a,W=e.b,q=e.c,v=e.d,E=Math.abs(m-w)<=1e-4;!E||i?(x=0,y=k*g+e.worldX,D=q*g+e.worldY):(x=s.ay,y=k*g+W*x+e.worldX,D=q*g+v*x+e.worldY);let T=e.parent;if(!T)throw new Error("IK parent must itself have a parent.");k=T.a,W=T.b,q=T.c,v=T.d;let N=k*v-W*q,I=y-T.worldX,B=D-T.worldY;N=Math.abs(N)<=1e-4?0:1/N;let O,P,R=(I*v-B*W)*N-d,S=(B*k-I*q)*N-f,j=Math.sqrt(R*R+S*S),A=s.data.length*M;if(j<1e-4)return this.apply1(e,r,o,!1,i,!1,c),void s.updateWorldTransformWith(g,x,0,s.ascaleX,s.ascaleY,s.ashearX,s.ashearY);I=r-T.worldX,B=o-T.worldY;let C=(I*v-B*W)*N-d,K=(B*k-I*q)*N-f,$=C*C+K*K;if(0!=l){l*=m*(M+1)*.5;let t=Math.sqrt($),a=t-j-A*m+l;if(a>0){let e=Math.min(1,a/(2*l))-1;e=(a-l*(1-e*e))/t,C-=e*C,K-=e*K,$=C*C+K*K}}t:if(E){A*=m;let t=($-j*j-A*A)/(2*j*A);t<-1?(t=-1,P=Math.PI*n):t>1?(t=1,P=0,i&&(k=(Math.sqrt($)/(j+A)-1)*c+1,p*=k,h&&(b*=k))):P=Math.acos(t)*n,k=j+A*t,W=A*Math.sin(P),O=Math.atan2(K*k-C*W,C*k+K*W)}else{k=m*A,W=w*A;let t=k*k,e=W*W,s=Math.atan2(K,C);q=e*j*j+t*$-t*e;let r=-2*e*j,o=e-t;if(v=r*r-4*o*q,v>=0){let t=Math.sqrt(v);r<0&&(t=-t),t=.5*-(r+t);let a=t/o,e=q/t,i=Math.abs(a)<Math.abs(e)?a:e;if(i*i<=$){B=Math.sqrt($-i*i)*n,O=s-Math.atan2(B,i),P=Math.atan2(B/w,(i-j)/m);break t}}let i=a.PI,h=j-k,l=h*h,c=0,d=0,f=j+k,p=f*f,b=0;q=-k*j/(t-e),q>=-1&&q<=1&&(q=Math.acos(q),I=k*Math.cos(q)+j,B=W*Math.sin(q),v=I*I+B*B,v<l&&(i=q,l=v,h=I,c=B),v>p&&(d=q,p=v,f=I,b=B)),$<=.5*(l+p)?(O=s-Math.atan2(c*n,h),P=i*n):(O=s-Math.atan2(b*n,f),P=d*n)}let U=Math.atan2(x,g)*Y,z=e.arotation;O=(O-U)*a.radDeg+u-z,O>180?O-=360:O<-180&&(O+=360),e.updateWorldTransformWith(d,f,z+O*c,p,b,0,0),z=s.arotation,P=((P+U)*a.radDeg-s.ashearX)*Y+X-z,P>180?P-=360:P<-180&&(P+=360),s.updateWorldTransformWith(g,x,z+P*c,s.ascaleX,s.ascaleY,s.ashearX,s.ashearY)}}export{e as IkConstraint};
|
|
2
|
-
//# sourceMappingURL=IkConstraint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IkConstraint.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { Inherit } from \"./BoneData.js\";\nimport { MathUtils } from \"./Utils.js\";\n/** Stores the current pose for an IK constraint. An IK constraint adjusts the rotation of 1 or 2 constrained bones so the tip of\n * the last bone is as close to the target bone as possible.\n *\n * See [IK constraints](http://esotericsoftware.com/spine-ik-constraints) in the Spine User Guide. */\nexport class IkConstraint {\n /** The IK constraint's setup pose data. */\n data;\n /** The bones that will be modified by this IK constraint. */\n bones;\n /** The bone that is the IK target. */\n target;\n /** Controls the bend direction of the IK bones, either 1 or -1. */\n bendDirection = 0;\n /** When true and only a single bone is being constrained, if the target is too close, the bone is scaled to reach it. */\n compress = false;\n /** When true, if the target is out of range, the parent bone is scaled to reach it. If more than one bone is being constrained\n * and the parent bone has local nonuniform scale, stretch is not applied. */\n stretch = false;\n /** A percentage (0-1) that controls the mix between the constrained and unconstrained rotations. */\n mix = 1;\n /** For two bone IK, the distance from the maximum reach of the bones that rotation will slow. */\n softness = 0;\n active = false;\n constructor(data, skeleton) {\n if (!data)\n throw new Error(\"data cannot be null.\");\n if (!skeleton)\n throw new Error(\"skeleton cannot be null.\");\n this.data = data;\n this.bones = new Array();\n for (let i = 0; i < data.bones.length; i++) {\n let bone = skeleton.findBone(data.bones[i].name);\n if (!bone)\n throw new Error(`Couldn't find bone ${data.bones[i].name}`);\n this.bones.push(bone);\n }\n let target = skeleton.findBone(data.target.name);\n if (!target)\n throw new Error(`Couldn't find bone ${data.target.name}`);\n this.target = target;\n this.mix = data.mix;\n this.softness = data.softness;\n this.bendDirection = data.bendDirection;\n this.compress = data.compress;\n this.stretch = data.stretch;\n }\n isActive() {\n return this.active;\n }\n setToSetupPose() {\n const data = this.data;\n this.mix = data.mix;\n this.softness = data.softness;\n this.bendDirection = data.bendDirection;\n this.compress = data.compress;\n this.stretch = data.stretch;\n }\n update(physics) {\n if (this.mix == 0)\n return;\n let target = this.target;\n let bones = this.bones;\n switch (bones.length) {\n case 1:\n this.apply1(bones[0], target.worldX, target.worldY, this.compress, this.stretch, this.data.uniform, this.mix);\n break;\n case 2:\n this.apply2(bones[0], bones[1], target.worldX, target.worldY, this.bendDirection, this.stretch, this.data.uniform, this.softness, this.mix);\n break;\n }\n }\n /** Applies 1 bone IK. The target is specified in the world coordinate system. */\n apply1(bone, targetX, targetY, compress, stretch, uniform, alpha) {\n let p = bone.parent;\n if (!p)\n throw new Error(\"IK bone must have parent.\");\n let pa = p.a, pb = p.b, pc = p.c, pd = p.d;\n let rotationIK = -bone.ashearX - bone.arotation, tx = 0, ty = 0;\n switch (bone.inherit) {\n case Inherit.OnlyTranslation:\n tx = (targetX - bone.worldX) * MathUtils.signum(bone.skeleton.scaleX);\n ty = (targetY - bone.worldY) * MathUtils.signum(bone.skeleton.scaleY);\n break;\n case Inherit.NoRotationOrReflection:\n let s = Math.abs(pa * pd - pb * pc) / Math.max(0.0001, pa * pa + pc * pc);\n let sa = pa / bone.skeleton.scaleX;\n let sc = pc / bone.skeleton.scaleY;\n pb = -sc * s * bone.skeleton.scaleX;\n pd = sa * s * bone.skeleton.scaleY;\n rotationIK += Math.atan2(sc, sa) * MathUtils.radDeg;\n // Fall through\n default:\n let x = targetX - p.worldX, y = targetY - p.worldY;\n let d = pa * pd - pb * pc;\n if (Math.abs(d) <= 0.0001) {\n tx = 0;\n ty = 0;\n }\n else {\n tx = (x * pd - y * pb) / d - bone.ax;\n ty = (y * pa - x * pc) / d - bone.ay;\n }\n }\n rotationIK += Math.atan2(ty, tx) * MathUtils.radDeg;\n if (bone.ascaleX < 0)\n rotationIK += 180;\n if (rotationIK > 180)\n rotationIK -= 360;\n else if (rotationIK < -180)\n rotationIK += 360;\n let sx = bone.ascaleX, sy = bone.ascaleY;\n if (compress || stretch) {\n switch (bone.inherit) {\n case Inherit.NoScale:\n case Inherit.NoScaleOrReflection:\n tx = targetX - bone.worldX;\n ty = targetY - bone.worldY;\n }\n const b = bone.data.length * sx;\n if (b > 0.0001) {\n const dd = tx * tx + ty * ty;\n if ((compress && dd < b * b) || (stretch && dd > b * b)) {\n const s = (Math.sqrt(dd) / b - 1) * alpha + 1;\n sx *= s;\n if (uniform)\n sy *= s;\n }\n }\n }\n bone.updateWorldTransformWith(bone.ax, bone.ay, bone.arotation + rotationIK * alpha, sx, sy, bone.ashearX, bone.ashearY);\n }\n /** Applies 2 bone IK. The target is specified in the world coordinate system.\n * @param child A direct descendant of the parent bone. */\n apply2(parent, child, targetX, targetY, bendDir, stretch, uniform, softness, alpha) {\n if (parent.inherit != Inherit.Normal || child.inherit != Inherit.Normal)\n return;\n let px = parent.ax, py = parent.ay, psx = parent.ascaleX, psy = parent.ascaleY, sx = psx, sy = psy, csx = child.ascaleX;\n let os1 = 0, os2 = 0, s2 = 0;\n if (psx < 0) {\n psx = -psx;\n os1 = 180;\n s2 = -1;\n }\n else {\n os1 = 0;\n s2 = 1;\n }\n if (psy < 0) {\n psy = -psy;\n s2 = -s2;\n }\n if (csx < 0) {\n csx = -csx;\n os2 = 180;\n }\n else\n os2 = 0;\n let cx = child.ax, cy = 0, cwx = 0, cwy = 0, a = parent.a, b = parent.b, c = parent.c, d = parent.d;\n let u = Math.abs(psx - psy) <= 0.0001;\n if (!u || stretch) {\n cy = 0;\n cwx = a * cx + parent.worldX;\n cwy = c * cx + parent.worldY;\n }\n else {\n cy = child.ay;\n cwx = a * cx + b * cy + parent.worldX;\n cwy = c * cx + d * cy + parent.worldY;\n }\n let pp = parent.parent;\n if (!pp)\n throw new Error(\"IK parent must itself have a parent.\");\n a = pp.a;\n b = pp.b;\n c = pp.c;\n d = pp.d;\n let id = a * d - b * c, x = cwx - pp.worldX, y = cwy - pp.worldY;\n id = Math.abs(id) <= 0.0001 ? 0 : 1 / id;\n let dx = (x * d - y * b) * id - px, dy = (y * a - x * c) * id - py;\n let l1 = Math.sqrt(dx * dx + dy * dy), l2 = child.data.length * csx, a1, a2;\n if (l1 < 0.0001) {\n this.apply1(parent, targetX, targetY, false, stretch, false, alpha);\n child.updateWorldTransformWith(cx, cy, 0, child.ascaleX, child.ascaleY, child.ashearX, child.ashearY);\n return;\n }\n x = targetX - pp.worldX;\n y = targetY - pp.worldY;\n let tx = (x * d - y * b) * id - px, ty = (y * a - x * c) * id - py;\n let dd = tx * tx + ty * ty;\n if (softness != 0) {\n softness *= psx * (csx + 1) * 0.5;\n let td = Math.sqrt(dd), sd = td - l1 - l2 * psx + softness;\n if (sd > 0) {\n let p = Math.min(1, sd / (softness * 2)) - 1;\n p = (sd - softness * (1 - p * p)) / td;\n tx -= p * tx;\n ty -= p * ty;\n dd = tx * tx + ty * ty;\n }\n }\n outer: if (u) {\n l2 *= psx;\n let cos = (dd - l1 * l1 - l2 * l2) / (2 * l1 * l2);\n if (cos < -1) {\n cos = -1;\n a2 = Math.PI * bendDir;\n }\n else if (cos > 1) {\n cos = 1;\n a2 = 0;\n if (stretch) {\n a = (Math.sqrt(dd) / (l1 + l2) - 1) * alpha + 1;\n sx *= a;\n if (uniform)\n sy *= a;\n }\n }\n else\n a2 = Math.acos(cos) * bendDir;\n a = l1 + l2 * cos;\n b = l2 * Math.sin(a2);\n a1 = Math.atan2(ty * a - tx * b, tx * a + ty * b);\n }\n else {\n a = psx * l2;\n b = psy * l2;\n let aa = a * a, bb = b * b, ta = Math.atan2(ty, tx);\n c = bb * l1 * l1 + aa * dd - aa * bb;\n let c1 = -2 * bb * l1, c2 = bb - aa;\n d = c1 * c1 - 4 * c2 * c;\n if (d >= 0) {\n let q = Math.sqrt(d);\n if (c1 < 0)\n q = -q;\n q = -(c1 + q) * 0.5;\n let r0 = q / c2, r1 = c / q;\n let r = Math.abs(r0) < Math.abs(r1) ? r0 : r1;\n if (r * r <= dd) {\n y = Math.sqrt(dd - r * r) * bendDir;\n a1 = ta - Math.atan2(y, r);\n a2 = Math.atan2(y / psy, (r - l1) / psx);\n break outer;\n }\n }\n let minAngle = MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;\n let maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;\n c = -a * l1 / (aa - bb);\n if (c >= -1 && c <= 1) {\n c = Math.acos(c);\n x = a * Math.cos(c) + l1;\n y = b * Math.sin(c);\n d = x * x + y * y;\n if (d < minDist) {\n minAngle = c;\n minDist = d;\n minX = x;\n minY = y;\n }\n if (d > maxDist) {\n maxAngle = c;\n maxDist = d;\n maxX = x;\n maxY = y;\n }\n }\n if (dd <= (minDist + maxDist) * 0.5) {\n a1 = ta - Math.atan2(minY * bendDir, minX);\n a2 = minAngle * bendDir;\n }\n else {\n a1 = ta - Math.atan2(maxY * bendDir, maxX);\n a2 = maxAngle * bendDir;\n }\n }\n let os = Math.atan2(cy, cx) * s2;\n let rotation = parent.arotation;\n a1 = (a1 - os) * MathUtils.radDeg + os1 - rotation;\n if (a1 > 180)\n a1 -= 360;\n else if (a1 < -180) //\n a1 += 360;\n parent.updateWorldTransformWith(px, py, rotation + a1 * alpha, sx, sy, 0, 0);\n rotation = child.arotation;\n a2 = ((a2 + os) * MathUtils.radDeg - child.ashearX) * s2 + os2 - rotation;\n if (a2 > 180)\n a2 -= 360;\n else if (a2 < -180) //\n a2 += 360;\n child.updateWorldTransformWith(cx, cy, rotation + a2 * alpha, child.ascaleX, child.ascaleY, child.ashearX, child.ashearY);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWtDb25zdHJhaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0lrQ29uc3RyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZDOzs7cUdBR3FHO0FBQ3JHLE1BQU0sT0FBTyxZQUFZO0lBQ3hCLDJDQUEyQztJQUMzQyxJQUFJLENBQW1CO0lBRXZCLDZEQUE2RDtJQUM3RCxLQUFLLENBQWM7SUFFbkIsc0NBQXNDO0lBQ3RDLE1BQU0sQ0FBTztJQUViLG1FQUFtRTtJQUNuRSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLHlIQUF5SDtJQUN6SCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCO2lGQUM2RTtJQUM3RSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWhCLG9HQUFvRztJQUNwRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRVIsaUdBQWlHO0lBQ2pHLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDYixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWYsWUFBYSxJQUFzQixFQUFFLFFBQWtCO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVB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QUMsRUFBRSxDQUFDO1NBQ1Q7UUFDRCxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDWixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDWCxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ1Y7O1lBQ0EsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNULElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFO1lBQ2xCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDUCxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzdCLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDN0I7YUFBTTtZQUNOLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2QsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3RDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUN0QztRQUNELElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDakUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNULENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVCxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNuRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUM1RSxJQUFJLEVBQUUsR0FBRyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFBRSxFQUFFLEVB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"],"names":["IkConstraint","data","bones","target","bendDirection","compress","stretch","mix","softness","active","constructor","skeleton","Error","this","Array","i","length","bone","findBone","name","push","isActive","setToSetupPose","update","physics","apply1","worldX","worldY","uniform","apply2","targetX","targetY","alpha","p","parent","pa","a","pb","b","pc","c","pd","d","rotationIK","ashearX","arotation","tx","ty","inherit","Inherit","OnlyTranslation","MathUtils","signum","scaleX","scaleY","NoRotationOrReflection","s","Math","abs","max","sa","sc","atan2","radDeg","x","y","ax","ay","ascaleX","sx","sy","ascaleY","NoScale","NoScaleOrReflection","dd","sqrt","updateWorldTransformWith","ashearY","child","bendDir","Normal","px","py","psx","psy","csx","os1","os2","s2","cx","cy","cwx","cwy","u","pp","id","a1","a2","dx","dy","l1","l2","td","sd","min","outer","cos","PI","acos","sin","aa","bb","ta","c1","c2","q","r0","r1","r","minAngle","minX","minDist","minY","maxAngle","maxX","maxDist","maxY","os","rotation"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ConstraintData as t}from"./ConstraintData.js";class r extends t{bones=new Array;_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw new Error("BoneData not set.")}bendDirection=0;compress=!1;stretch=!1;uniform=!1;mix=0;softness=0;constructor(t){super(t,0,!1)}}export{r as IkConstraintData};
|
|
2
|
-
//# sourceMappingURL=IkConstraintData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IkConstraintData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { ConstraintData } from \"./ConstraintData.js\";\n/** Stores the setup pose for an {@link IkConstraint}.\n * <p>\n * See [IK constraints](http://esotericsoftware.com/spine-ik-constraints) in the Spine User Guide. */\nexport class IkConstraintData extends ConstraintData {\n /** The bones that are constrained by this IK constraint. */\n bones = new Array();\n /** The bone that is the IK target. */\n _target = null;\n set target(boneData) { this._target = boneData; }\n get target() {\n if (!this._target)\n throw new Error(\"BoneData not set.\");\n else\n return this._target;\n }\n /** Controls the bend direction of the IK bones, either 1 or -1. */\n bendDirection = 0;\n /** When true and only a single bone is being constrained, if the target is too close, the bone is scaled to reach it. */\n compress = false;\n /** When true, if the target is out of range, the parent bone is scaled to reach it. If more than one bone is being constrained\n * and the parent bone has local nonuniform scale, stretch is not applied. */\n stretch = false;\n /** When true, only a single bone is being constrained, and {@link #getCompress()} or {@link #getStretch()} is used, the bone\n * is scaled on both the X and Y axes. */\n uniform = false;\n /** A percentage (0-1) that controls the mix between the constrained and unconstrained rotations. */\n mix = 0;\n /** For two bone IK, the distance from the maximum reach of the bones that rotation will slow. */\n softness = 0;\n constructor(name) {\n super(name, 0, false);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWtDb25zdHJhaW50RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ja0NvbnN0cmFpbnREYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckQ7O3FHQUVxRztBQUNyRyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsY0FBYztJQUNuRCw0REFBNEQ7SUFDNUQsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFZLENBQUM7SUFFOUIsc0NBQXNDO0lBQzlCLE9BQU8sR0FBb0IsSUFBSSxDQUFDO0lBQ3hDLElBQVcsTUFBTSxDQUFFLFFBQWtCLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ25FLElBQVcsTUFBTTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7O1lBQ2xELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsbUVBQW1FO0lBQ25FLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFbEIseUhBQXlIO0lBQ3pILFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakI7aUZBQzZFO0lBQzdFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEI7NkNBQ3lDO0lBQ3pDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsb0dBQW9HO0lBQ3BHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFUixpR0FBaUc7SUFDakcsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUViLFlBQWEsSUFBWTtRQUN4QixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0QifQ=="],"names":["IkConstraintData","ConstraintData","bones","Array","_target","target","boneData","this","Error","bendDirection","compress","stretch","uniform","mix","softness","constructor","name","super"],"mappings":"qDAgCO,MAAMA,UAAyBC,EAElCC,MAAQ,IAAIC,MAEZC,QAAU,KACV,UAAIC,CAAOC,GAAYC,KAAKH,QAAUE,CAAW,CACjD,UAAID,GACA,GAAKE,KAAKH,QAGN,OAAOG,KAAKH,QAFZ,MAAM,IAAII,MAAM,oBAGvB,CAEDC,cAAgB,EAEhBC,UAAW,EAGXC,SAAU,EAGVC,SAAU,EAEVC,IAAM,EAENC,SAAW,EACX,WAAAC,CAAYC,GACRC,MAAMD,EAAM,GAAG,EAClB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{PathAttachment as t}from"./attachments/PathAttachment.js";import{RotateMode as e,SpacingMode as i,PositionMode as s}from"./PathConstraintData.js";import{Utils as a,MathUtils as o}from"./Utils.js";class r{static NONE=-1;static BEFORE=-2;static AFTER=-3;static epsilon=1e-5;data;bones;target;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;spaces=new Array;positions=new Array;world=new Array;curves=new Array;lengths=new Array;segments=new Array;active=!1;constructor(t,e){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(let i=0,s=t.bones.length;i<s;i++){let s=e.findBone(t.bones[i].name);if(!s)throw new Error(`Couldn't find bone ${t.bones[i].name}.`);this.bones.push(s)}let i=e.findSlot(t.target.name);if(!i)throw new Error(`Couldn't find target bone ${t.target.name}`);this.target=i,this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}isActive(){return this.active}setToSetupPose(){const t=this.data;this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}update(s){let n=this.target.getAttachment();if(!(n instanceof t))return;let l=this.mixRotate,h=this.mixX,c=this.mixY;if(0==l&&0==h&&0==c)return;let d=this.data,f=d.rotateMode==e.Tangent,p=d.rotateMode==e.ChainScale,m=this.bones,u=m.length,g=f?u:u+1,M=a.setArraySize(this.spaces,g),w=p?this.lengths=a.setArraySize(this.lengths,u):[],P=this.spacing;switch(d.spacingMode){case i.Percent:if(p)for(let t=0,e=g-1;t<e;t++){let e=m[t],i=e.data.length,s=i*e.a,a=i*e.c;w[t]=Math.sqrt(s*s+a*a)}a.arrayFill(M,1,g,P);break;case i.Proportional:let t=0;for(let e=0,i=g-1;e<i;){let i=m[e],s=i.data.length;if(s<r.epsilon)p&&(w[e]=0),M[++e]=P;else{let a=s*i.a,o=s*i.c,r=Math.sqrt(a*a+o*o);p&&(w[e]=r),M[++e]=r,t+=r}}if(t>0){t=g/t*P;for(let e=1;e<g;e++)M[e]*=t}break;default:let e=d.spacingMode==i.Length;for(let t=0,i=g-1;t<i;){let i=m[t],s=i.data.length;if(s<r.epsilon)p&&(w[t]=0),M[++t]=P;else{let a=s*i.a,o=s*i.c,r=Math.sqrt(a*a+o*o);p&&(w[t]=r),M[++t]=(e?s+P:P)*r/s}}}let b=this.computeWorldPositions(n,g,f),A=b[0],x=b[1],y=d.offsetRotation,E=!1;if(0==y)E=d.rotateMode==e.Chain;else{E=!1;let t=this.target.bone;y*=t.a*t.d-t.b*t.c>0?o.degRad:-o.degRad}for(let t=0,e=3;t<u;t++,e+=3){let i=m[t];i.worldX+=(A-i.worldX)*h,i.worldY+=(x-i.worldY)*c;let s=b[e],a=b[e+1],r=s-A,n=a-x;if(p){let e=w[t];if(0!=e){let t=(Math.sqrt(r*r+n*n)/e-1)*l+1;i.a*=t,i.c*=t}}if(A=s,x=a,l>0){let s=i.a,a=i.b,h=i.c,c=i.d,d=0,p=0,m=0;if(d=f?b[e-1]:0==M[t+1]?b[e+2]:Math.atan2(n,r),d-=Math.atan2(h,s),E){p=Math.cos(d),m=Math.sin(d);let t=i.data.length;A+=(t*(p*s-m*h)-r)*l,x+=(t*(m*s+p*h)-n)*l}else d+=y;d>o.PI?d-=o.PI2:d<-o.PI&&(d+=o.PI2),d*=l,p=Math.cos(d),m=Math.sin(d),i.a=p*s-m*h,i.b=p*a-m*c,i.c=m*s+p*h,i.d=m*a+p*c}i.updateAppliedTransform()}}computeWorldPositions(t,e,o){let n=this.target,l=this.position,h=this.spaces,c=a.setArraySize(this.positions,3*e+2),d=this.world,f=t.closed,p=t.worldVerticesLength,m=p/6,u=r.NONE;if(!t.constantSpeed){let g=t.lengths;m-=f?1:2;let M,w=g[m];switch(this.data.positionMode==s.Percent&&(l*=w),this.data.spacingMode){case i.Percent:M=w;break;case i.Proportional:M=w/e;break;default:M=1}d=a.setArraySize(this.world,8);for(let i=0,s=0,a=0;i<e;i++,s+=3){let e=h[i]*M;l+=e;let P=l;if(f)P%=w,P<0&&(P+=w),a=0;else{if(P<0){u!=r.BEFORE&&(u=r.BEFORE,t.computeWorldVertices(n,2,4,d,0,2)),this.addBeforePosition(P,d,0,c,s);continue}if(P>w){u!=r.AFTER&&(u=r.AFTER,t.computeWorldVertices(n,p-6,4,d,0,2)),this.addAfterPosition(P-w,d,0,c,s);continue}}for(;;a++){let t=g[a];if(!(P>t)){if(0==a)P/=t;else{let e=g[a-1];P=(P-e)/(t-e)}break}}a!=u&&(u=a,f&&a==m?(t.computeWorldVertices(n,p-4,4,d,0,2),t.computeWorldVertices(n,0,4,d,4,2)):t.computeWorldVertices(n,6*a+2,8,d,0,2)),this.addCurvePosition(P,d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],c,s,o||i>0&&0==e)}return c}f?(p+=2,d=a.setArraySize(this.world,p),t.computeWorldVertices(n,2,p-4,d,0,2),t.computeWorldVertices(n,0,2,d,p-4,2),d[p-2]=d[0],d[p-1]=d[1]):(m--,p-=4,d=a.setArraySize(this.world,p),t.computeWorldVertices(n,2,p,d,0,2));let g,M=a.setArraySize(this.curves,m),w=0,P=d[0],b=d[1],A=0,x=0,y=0,E=0,R=0,q=0,S=0,k=0,W=0,v=0,V=0,C=0,X=0,Y=0;for(let t=0,e=2;t<m;t++,e+=6)A=d[e],x=d[e+1],y=d[e+2],E=d[e+3],R=d[e+4],q=d[e+5],S=.1875*(P-2*A+y),k=.1875*(b-2*x+E),W=.09375*(3*(A-y)-P+R),v=.09375*(3*(x-E)-b+q),V=2*S+W,C=2*k+v,X=.75*(A-P)+S+.16666667*W,Y=.75*(x-b)+k+.16666667*v,w+=Math.sqrt(X*X+Y*Y),X+=V,Y+=C,V+=W,C+=v,w+=Math.sqrt(X*X+Y*Y),X+=V,Y+=C,w+=Math.sqrt(X*X+Y*Y),X+=V+W,Y+=C+v,w+=Math.sqrt(X*X+Y*Y),M[t]=w,P=R,b=q;switch(this.data.positionMode==s.Percent&&(l*=w),this.data.spacingMode){case i.Percent:g=w;break;case i.Proportional:g=w/e;break;default:g=1}let z=this.segments,B=0;for(let t=0,i=0,s=0,a=0;t<e;t++,i+=3){let e=h[t]*g;l+=e;let r=l;if(f)r%=w,r<0&&(r+=w),s=0;else{if(r<0){this.addBeforePosition(r,d,0,c,i);continue}if(r>w){this.addAfterPosition(r-w,d,p-4,c,i);continue}}for(;;s++){let t=M[s];if(!(r>t)){if(0==s)r/=t;else{let e=M[s-1];r=(r-e)/(t-e)}break}}if(s!=u){u=s;let t=6*s;for(P=d[t],b=d[t+1],A=d[t+2],x=d[t+3],y=d[t+4],E=d[t+5],R=d[t+6],q=d[t+7],S=.03*(P-2*A+y),k=.03*(b-2*x+E),W=.006*(3*(A-y)-P+R),v=.006*(3*(x-E)-b+q),V=2*S+W,C=2*k+v,X=.3*(A-P)+S+.16666667*W,Y=.3*(x-b)+k+.16666667*v,B=Math.sqrt(X*X+Y*Y),z[0]=B,t=1;t<8;t++)X+=V,Y+=C,V+=W,C+=v,B+=Math.sqrt(X*X+Y*Y),z[t]=B;X+=V,Y+=C,B+=Math.sqrt(X*X+Y*Y),z[8]=B,X+=V+W,Y+=C+v,B+=Math.sqrt(X*X+Y*Y),z[9]=B,a=0}for(r*=B;;a++){let t=z[a];if(!(r>t)){if(0==a)r/=t;else{let e=z[a-1];r=a+(r-e)/(t-e)}break}}this.addCurvePosition(.1*r,P,b,A,x,y,E,R,q,c,i,o||t>0&&0==e)}return c}addBeforePosition(t,e,i,s,a){let o=e[i],r=e[i+1],n=e[i+2]-o,l=e[i+3]-r,h=Math.atan2(l,n);s[a]=o+t*Math.cos(h),s[a+1]=r+t*Math.sin(h),s[a+2]=h}addAfterPosition(t,e,i,s,a){let o=e[i+2],r=e[i+3],n=o-e[i],l=r-e[i+1],h=Math.atan2(l,n);s[a]=o+t*Math.cos(h),s[a+1]=r+t*Math.sin(h),s[a+2]=h}addCurvePosition(t,e,i,s,a,o,r,n,l,h,c,d){if(0==t||isNaN(t))return h[c]=e,h[c+1]=i,void(h[c+2]=Math.atan2(a-i,s-e));let f=t*t,p=f*t,m=1-t,u=m*m,g=u*m,M=m*t,w=3*M,P=m*w,b=w*t,A=e*g+s*P+o*b+n*p,x=i*g+a*P+r*b+l*p;h[c]=A,h[c+1]=x,d&&(h[c+2]=t<.001?Math.atan2(a-i,s-e):Math.atan2(x-(i*u+a*M*2+r*f),A-(e*u+s*M*2+o*f)))}}export{r as PathConstraint};
|
|
2
|
-
//# sourceMappingURL=PathConstraint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathConstraint.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { PathAttachment } from \"./attachments/PathAttachment.js\";\nimport { RotateMode, SpacingMode, PositionMode } from \"./PathConstraintData.js\";\nimport { Utils, MathUtils } from \"./Utils.js\";\n/** Stores the current pose for a path constraint. A path constraint adjusts the rotation, translation, and scale of the\n * constrained bones so they follow a {@link PathAttachment}.\n *\n * See [Path constraints](http://esotericsoftware.com/spine-path-constraints) in the Spine User Guide. */\nexport class PathConstraint {\n static NONE = -1;\n static BEFORE = -2;\n static AFTER = -3;\n static epsilon = 0.00001;\n /** The path constraint's setup pose data. */\n data;\n /** The bones that will be modified by this path constraint. */\n bones;\n /** The slot whose path attachment will be used to constrained the bones. */\n target;\n /** The position along the path. */\n position = 0;\n /** The spacing between bones. */\n spacing = 0;\n mixRotate = 0;\n mixX = 0;\n mixY = 0;\n spaces = new Array();\n positions = new Array();\n world = new Array();\n curves = new Array();\n lengths = new Array();\n segments = new Array();\n active = false;\n constructor(data, skeleton) {\n if (!data)\n throw new Error(\"data cannot be null.\");\n if (!skeleton)\n throw new Error(\"skeleton cannot be null.\");\n this.data = data;\n this.bones = new Array();\n for (let i = 0, n = data.bones.length; i < n; i++) {\n let bone = skeleton.findBone(data.bones[i].name);\n if (!bone)\n throw new Error(`Couldn't find bone ${data.bones[i].name}.`);\n this.bones.push(bone);\n }\n let target = skeleton.findSlot(data.target.name);\n if (!target)\n throw new Error(`Couldn't find target bone ${data.target.name}`);\n this.target = target;\n this.position = data.position;\n this.spacing = data.spacing;\n this.mixRotate = data.mixRotate;\n this.mixX = data.mixX;\n this.mixY = data.mixY;\n }\n isActive() {\n return this.active;\n }\n setToSetupPose() {\n const data = this.data;\n this.position = data.position;\n this.spacing = data.spacing;\n this.mixRotate = data.mixRotate;\n this.mixX = data.mixX;\n this.mixY = data.mixY;\n }\n update(physics) {\n let attachment = this.target.getAttachment();\n if (!(attachment instanceof PathAttachment))\n return;\n let mixRotate = this.mixRotate, mixX = this.mixX, mixY = this.mixY;\n if (mixRotate == 0 && mixX == 0 && mixY == 0)\n return;\n let data = this.data;\n let tangents = data.rotateMode == RotateMode.Tangent, scale = data.rotateMode == RotateMode.ChainScale;\n let bones = this.bones;\n let boneCount = bones.length, spacesCount = tangents ? boneCount : boneCount + 1;\n let spaces = Utils.setArraySize(this.spaces, spacesCount), lengths = scale ? this.lengths = Utils.setArraySize(this.lengths, boneCount) : [];\n let spacing = this.spacing;\n switch (data.spacingMode) {\n case SpacingMode.Percent:\n if (scale) {\n for (let i = 0, n = spacesCount - 1; i < n; i++) {\n let bone = bones[i];\n let setupLength = bone.data.length;\n let x = setupLength * bone.a, y = setupLength * bone.c;\n lengths[i] = Math.sqrt(x * x + y * y);\n }\n }\n Utils.arrayFill(spaces, 1, spacesCount, spacing);\n break;\n case SpacingMode.Proportional:\n let sum = 0;\n for (let i = 0, n = spacesCount - 1; i < n;) {\n let bone = bones[i];\n let setupLength = bone.data.length;\n if (setupLength < PathConstraint.epsilon) {\n if (scale)\n lengths[i] = 0;\n spaces[++i] = spacing;\n }\n else {\n let x = setupLength * bone.a, y = setupLength * bone.c;\n let length = Math.sqrt(x * x + y * y);\n if (scale)\n lengths[i] = length;\n spaces[++i] = length;\n sum += length;\n }\n }\n if (sum > 0) {\n sum = spacesCount / sum * spacing;\n for (let i = 1; i < spacesCount; i++)\n spaces[i] *= sum;\n }\n break;\n default:\n let lengthSpacing = data.spacingMode == SpacingMode.Length;\n for (let i = 0, n = spacesCount - 1; i < n;) {\n let bone = bones[i];\n let setupLength = bone.data.length;\n if (setupLength < PathConstraint.epsilon) {\n if (scale)\n lengths[i] = 0;\n spaces[++i] = spacing;\n }\n else {\n let x = setupLength * bone.a, y = setupLength * bone.c;\n let length = Math.sqrt(x * x + y * y);\n if (scale)\n lengths[i] = length;\n spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;\n }\n }\n }\n let positions = this.computeWorldPositions(attachment, spacesCount, tangents);\n let boneX = positions[0], boneY = positions[1], offsetRotation = data.offsetRotation;\n let tip = false;\n if (offsetRotation == 0)\n tip = data.rotateMode == RotateMode.Chain;\n else {\n tip = false;\n let p = this.target.bone;\n offsetRotation *= p.a * p.d - p.b * p.c > 0 ? MathUtils.degRad : -MathUtils.degRad;\n }\n for (let i = 0, p = 3; i < boneCount; i++, p += 3) {\n let bone = bones[i];\n bone.worldX += (boneX - bone.worldX) * mixX;\n bone.worldY += (boneY - bone.worldY) * mixY;\n let x = positions[p], y = positions[p + 1], dx = x - boneX, dy = y - boneY;\n if (scale) {\n let length = lengths[i];\n if (length != 0) {\n let s = (Math.sqrt(dx * dx + dy * dy) / length - 1) * mixRotate + 1;\n bone.a *= s;\n bone.c *= s;\n }\n }\n boneX = x;\n boneY = y;\n if (mixRotate > 0) {\n let a = bone.a, b = bone.b, c = bone.c, d = bone.d, r = 0, cos = 0, sin = 0;\n if (tangents)\n r = positions[p - 1];\n else if (spaces[i + 1] == 0)\n r = positions[p + 2];\n else\n r = Math.atan2(dy, dx);\n r -= Math.atan2(c, a);\n if (tip) {\n cos = Math.cos(r);\n sin = Math.sin(r);\n let length = bone.data.length;\n boneX += (length * (cos * a - sin * c) - dx) * mixRotate;\n boneY += (length * (sin * a + cos * c) - dy) * mixRotate;\n }\n else {\n r += offsetRotation;\n }\n if (r > MathUtils.PI)\n r -= MathUtils.PI2;\n else if (r < -MathUtils.PI) //\n r += MathUtils.PI2;\n r *= mixRotate;\n cos = Math.cos(r);\n sin = Math.sin(r);\n bone.a = cos * a - sin * c;\n bone.b = cos * b - sin * d;\n bone.c = sin * a + cos * c;\n bone.d = sin * b + cos * d;\n }\n bone.updateAppliedTransform();\n }\n }\n computeWorldPositions(path, spacesCount, tangents) {\n let target = this.target;\n let position = this.position;\n let spaces = this.spaces, out = Utils.setArraySize(this.positions, spacesCount * 3 + 2), world = this.world;\n let closed = path.closed;\n let verticesLength = path.worldVerticesLength, curveCount = verticesLength / 6, prevCurve = PathConstraint.NONE;\n if (!path.constantSpeed) {\n let lengths = path.lengths;\n curveCount -= closed ? 1 : 2;\n let pathLength = lengths[curveCount];\n if (this.data.positionMode == PositionMode.Percent)\n position *= pathLength;\n let multiplier;\n switch (this.data.spacingMode) {\n case SpacingMode.Percent:\n multiplier = pathLength;\n break;\n case SpacingMode.Proportional:\n multiplier = pathLength / spacesCount;\n break;\n default:\n multiplier = 1;\n }\n world = Utils.setArraySize(this.world, 8);\n for (let i = 0, o = 0, curve = 0; i < spacesCount; i++, o += 3) {\n let space = spaces[i] * multiplier;\n position += space;\n let p = position;\n if (closed) {\n p %= pathLength;\n if (p < 0)\n p += pathLength;\n curve = 0;\n }\n else if (p < 0) {\n if (prevCurve != PathConstraint.BEFORE) {\n prevCurve = PathConstraint.BEFORE;\n path.computeWorldVertices(target, 2, 4, world, 0, 2);\n }\n this.addBeforePosition(p, world, 0, out, o);\n continue;\n }\n else if (p > pathLength) {\n if (prevCurve != PathConstraint.AFTER) {\n prevCurve = PathConstraint.AFTER;\n path.computeWorldVertices(target, verticesLength - 6, 4, world, 0, 2);\n }\n this.addAfterPosition(p - pathLength, world, 0, out, o);\n continue;\n }\n // Determine curve containing position.\n for (;; curve++) {\n let length = lengths[curve];\n if (p > length)\n continue;\n if (curve == 0)\n p /= length;\n else {\n let prev = lengths[curve - 1];\n p = (p - prev) / (length - prev);\n }\n break;\n }\n if (curve != prevCurve) {\n prevCurve = curve;\n if (closed && curve == curveCount) {\n path.computeWorldVertices(target, verticesLength - 4, 4, world, 0, 2);\n path.computeWorldVertices(target, 0, 4, world, 4, 2);\n }\n else\n path.computeWorldVertices(target, curve * 6 + 2, 8, world, 0, 2);\n }\n this.addCurvePosition(p, world[0], world[1], world[2], world[3], world[4], world[5], world[6], world[7], out, o, tangents || (i > 0 && space == 0));\n }\n return out;\n }\n // World vertices.\n if (closed) {\n verticesLength += 2;\n world = Utils.setArraySize(this.world, verticesLength);\n path.computeWorldVertices(target, 2, verticesLength - 4, world, 0, 2);\n path.computeWorldVertices(target, 0, 2, world, verticesLength - 4, 2);\n world[verticesLength - 2] = world[0];\n world[verticesLength - 1] = world[1];\n }\n else {\n curveCount--;\n verticesLength -= 4;\n world = Utils.setArraySize(this.world, verticesLength);\n path.computeWorldVertices(target, 2, verticesLength, world, 0, 2);\n }\n // Curve lengths.\n let curves = Utils.setArraySize(this.curves, curveCount);\n let pathLength = 0;\n let x1 = world[0], y1 = world[1], cx1 = 0, cy1 = 0, cx2 = 0, cy2 = 0, x2 = 0, y2 = 0;\n let tmpx = 0, tmpy = 0, dddfx = 0, dddfy = 0, ddfx = 0, ddfy = 0, dfx = 0, dfy = 0;\n for (let i = 0, w = 2; i < curveCount; i++, w += 6) {\n cx1 = world[w];\n cy1 = world[w + 1];\n cx2 = world[w + 2];\n cy2 = world[w + 3];\n x2 = world[w + 4];\n y2 = world[w + 5];\n tmpx = (x1 - cx1 * 2 + cx2) * 0.1875;\n tmpy = (y1 - cy1 * 2 + cy2) * 0.1875;\n dddfx = ((cx1 - cx2) * 3 - x1 + x2) * 0.09375;\n dddfy = ((cy1 - cy2) * 3 - y1 + y2) * 0.09375;\n ddfx = tmpx * 2 + dddfx;\n ddfy = tmpy * 2 + dddfy;\n dfx = (cx1 - x1) * 0.75 + tmpx + dddfx * 0.16666667;\n dfy = (cy1 - y1) * 0.75 + tmpy + dddfy * 0.16666667;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx;\n dfy += ddfy;\n ddfx += dddfx;\n ddfy += dddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx;\n dfy += ddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx + dddfx;\n dfy += ddfy + dddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n curves[i] = pathLength;\n x1 = x2;\n y1 = y2;\n }\n if (this.data.positionMode == PositionMode.Percent)\n position *= pathLength;\n let multiplier;\n switch (this.data.spacingMode) {\n case SpacingMode.Percent:\n multiplier = pathLength;\n break;\n case SpacingMode.Proportional:\n multiplier = pathLength / spacesCount;\n break;\n default:\n multiplier = 1;\n }\n let segments = this.segments;\n let curveLength = 0;\n for (let i = 0, o = 0, curve = 0, segment = 0; i < spacesCount; i++, o += 3) {\n let space = spaces[i] * multiplier;\n position += space;\n let p = position;\n if (closed) {\n p %= pathLength;\n if (p < 0)\n p += pathLength;\n curve = 0;\n }\n else if (p < 0) {\n this.addBeforePosition(p, world, 0, out, o);\n continue;\n }\n else if (p > pathLength) {\n this.addAfterPosition(p - pathLength, world, verticesLength - 4, out, o);\n continue;\n }\n // Determine curve containing position.\n for (;; curve++) {\n let length = curves[curve];\n if (p > length)\n continue;\n if (curve == 0)\n p /= length;\n else {\n let prev = curves[curve - 1];\n p = (p - prev) / (length - prev);\n }\n break;\n }\n // Curve segment lengths.\n if (curve != prevCurve) {\n prevCurve = curve;\n let ii = curve * 6;\n x1 = world[ii];\n y1 = world[ii + 1];\n cx1 = world[ii + 2];\n cy1 = world[ii + 3];\n cx2 = world[ii + 4];\n cy2 = world[ii + 5];\n x2 = world[ii + 6];\n y2 = world[ii + 7];\n tmpx = (x1 - cx1 * 2 + cx2) * 0.03;\n tmpy = (y1 - cy1 * 2 + cy2) * 0.03;\n dddfx = ((cx1 - cx2) * 3 - x1 + x2) * 0.006;\n dddfy = ((cy1 - cy2) * 3 - y1 + y2) * 0.006;\n ddfx = tmpx * 2 + dddfx;\n ddfy = tmpy * 2 + dddfy;\n dfx = (cx1 - x1) * 0.3 + tmpx + dddfx * 0.16666667;\n dfy = (cy1 - y1) * 0.3 + tmpy + dddfy * 0.16666667;\n curveLength = Math.sqrt(dfx * dfx + dfy * dfy);\n segments[0] = curveLength;\n for (ii = 1; ii < 8; ii++) {\n dfx += ddfx;\n dfy += ddfy;\n ddfx += dddfx;\n ddfy += dddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[ii] = curveLength;\n }\n dfx += ddfx;\n dfy += ddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[8] = curveLength;\n dfx += ddfx + dddfx;\n dfy += ddfy + dddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[9] = curveLength;\n segment = 0;\n }\n // Weight by segment length.\n p *= curveLength;\n for (;; segment++) {\n let length = segments[segment];\n if (p > length)\n continue;\n if (segment == 0)\n p /= length;\n else {\n let prev = segments[segment - 1];\n p = segment + (p - prev) / (length - prev);\n }\n break;\n }\n this.addCurvePosition(p * 0.1, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents || (i > 0 && space == 0));\n }\n return out;\n }\n addBeforePosition(p, temp, i, out, o) {\n let x1 = temp[i], y1 = temp[i + 1], dx = temp[i + 2] - x1, dy = temp[i + 3] - y1, r = Math.atan2(dy, dx);\n out[o] = x1 + p * Math.cos(r);\n out[o + 1] = y1 + p * Math.sin(r);\n out[o + 2] = r;\n }\n addAfterPosition(p, temp, i, out, o) {\n let x1 = temp[i + 2], y1 = temp[i + 3], dx = x1 - temp[i], dy = y1 - temp[i + 1], r = Math.atan2(dy, dx);\n out[o] = x1 + p * Math.cos(r);\n out[o + 1] = y1 + p * Math.sin(r);\n out[o + 2] = r;\n }\n addCurvePosition(p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {\n if (p == 0 || isNaN(p)) {\n out[o] = x1;\n out[o + 1] = y1;\n out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);\n return;\n }\n let tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;\n let ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;\n let x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;\n out[o] = x;\n out[o + 1] = y;\n if (tangents) {\n if (p < 0.001)\n out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);\n else\n out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0aENvbnN0cmFpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUGF0aENvbnN0cmFpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQXNCLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJcEcsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUM7Ozt5R0FHeUc7QUFDekcsTUFBTSxPQUFPLGNBQWM7SUFDMUIsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLDZDQUE2QztJQUM3QyxJQUFJLENBQXFCO0lBRXpCLCtEQUErRDtJQUMvRCxLQUFLLENBQWM7SUFFbkIsNEVBQTRFO0lBQzVFLE1BQU0sQ0FBTztJQUViLG1DQUFtQztJQUNuQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWIsaUNBQWlDO0lBQ2pDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFFWixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWQsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUVULElBQUksR0FBRyxDQUFDLENBQUM7SUFFVCxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztJQUFDLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQzlELEtBQUssR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7SUFBQyxPQUFPLEdB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QUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckYsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbkYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkQsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNmLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25CLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25CLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25CLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUNyQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDckMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7WUFDOUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcs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QUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1osR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEIsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE9BQU87U0FDUDtRQUNELElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3pHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksUUFBUSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEdBQUcsS0FBSztnQkFDWixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7O2dCQUU1QyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzRztJQUNGLENBQUMifQ=="],"names":["PathConstraint","static","data","bones","target","position","spacing","mixRotate","mixX","mixY","spaces","Array","positions","world","curves","lengths","segments","active","constructor","skeleton","Error","this","i","n","length","bone","findBone","name","push","findSlot","isActive","setToSetupPose","update","physics","attachment","getAttachment","PathAttachment","tangents","rotateMode","RotateMode","Tangent","scale","ChainScale","boneCount","spacesCount","Utils","setArraySize","spacingMode","SpacingMode","Percent","setupLength","x","a","y","c","Math","sqrt","arrayFill","Proportional","sum","epsilon","lengthSpacing","Length","computeWorldPositions","boneX","boneY","offsetRotation","tip","Chain","p","d","b","MathUtils","degRad","worldX","worldY","dx","dy","s","r","cos","sin","atan2","PI","PI2","updateAppliedTransform","path","out","closed","verticesLength","worldVerticesLength","curveCount","prevCurve","NONE","constantSpeed","multiplier","pathLength","positionMode","PositionMode","o","curve","space","BEFORE","computeWorldVertices","addBeforePosition","AFTER","addAfterPosition","prev","addCurvePosition","x1","y1","cx1","cy1","cx2","cy2","x2","y2","tmpx","tmpy","dddfx","dddfy","ddfx","ddfy","dfx","dfy","w","curveLength","segment","ii","temp","isNaN","tt","ttt","u","uu","uuu","ut","ut3","uut3","utt3"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ConstraintData as t}from"./ConstraintData.js";class e extends t{bones=new Array;_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw new Error("SlotData not set.")}positionMode=n.Fixed;spacingMode=i.Fixed;rotateMode=o.Chain;offsetRotation=0;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;constructor(t){super(t,0,!1)}}var n,i,o;!function(t){t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent"}(n||(n={})),function(t){t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent",t[t.Proportional=3]="Proportional"}(i||(i={})),function(t){t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale"}(o||(o={}));export{e as PathConstraintData,n as PositionMode,o as RotateMode,i as SpacingMode};
|
|
2
|
-
//# sourceMappingURL=PathConstraintData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathConstraintData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js"],"sourcesContent":["/******************************************************************************\n * Spine Runtimes License Agreement\n * Last updated July 28, 2023. Replaces all prior versions.\n *\n * Copyright (c) 2013-2023, Esoteric Software LLC\n *\n * Integration of the Spine Runtimes into software or otherwise creating\n * derivative works of the Spine Runtimes is permitted under the terms and\n * conditions of Section 2 of the Spine Editor License Agreement:\n * http://esotericsoftware.com/spine-editor-license\n *\n * Otherwise, it is permitted to integrate the Spine Runtimes into software or\n * otherwise create derivative works of the Spine Runtimes (collectively,\n * \"Products\"), provided that each user of the Products must obtain their own\n * Spine Editor license and redistribution of the Products in any form must\n * include this license and copyright notice.\n *\n * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC \"AS IS\" AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,\n * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\n * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *****************************************************************************/\nimport { ConstraintData } from \"./ConstraintData.js\";\n/** Stores the setup pose for a {@link PathConstraint}.\n *\n * See [path constraints](http://esotericsoftware.com/spine-path-constraints) in the Spine User Guide. */\nexport class PathConstraintData extends ConstraintData {\n /** The bones that will be modified by this path constraint. */\n bones = new Array();\n /** The slot whose path attachment will be used to constrained the bones. */\n _target = null;\n set target(slotData) { this._target = slotData; }\n get target() {\n if (!this._target)\n throw new Error(\"SlotData not set.\");\n else\n return this._target;\n }\n /** The mode for positioning the first bone on the path. */\n positionMode = PositionMode.Fixed;\n /** The mode for positioning the bones after the first bone on the path. */\n spacingMode = SpacingMode.Fixed;\n /** The mode for adjusting the rotation of the bones. */\n rotateMode = RotateMode.Chain;\n /** An offset added to the constrained bone rotation. */\n offsetRotation = 0;\n /** The position along the path. */\n position = 0;\n /** The spacing between bones. */\n spacing = 0;\n mixRotate = 0;\n mixX = 0;\n mixY = 0;\n constructor(name) {\n super(name, 0, false);\n }\n}\n/** Controls how the first bone is positioned along the path.\n *\n * See [position](http://esotericsoftware.com/spine-path-constraints#Position) in the Spine User Guide. */\nexport var PositionMode;\n(function (PositionMode) {\n PositionMode[PositionMode[\"Fixed\"] = 0] = \"Fixed\";\n PositionMode[PositionMode[\"Percent\"] = 1] = \"Percent\";\n})(PositionMode || (PositionMode = {}));\n/** Controls how bones after the first bone are positioned along the path.\n *\n * See [spacing](http://esotericsoftware.com/spine-path-constraints#Spacing) in the Spine User Guide. */\nexport var SpacingMode;\n(function (SpacingMode) {\n SpacingMode[SpacingMode[\"Length\"] = 0] = \"Length\";\n SpacingMode[SpacingMode[\"Fixed\"] = 1] = \"Fixed\";\n SpacingMode[SpacingMode[\"Percent\"] = 2] = \"Percent\";\n SpacingMode[SpacingMode[\"Proportional\"] = 3] = \"Proportional\";\n})(SpacingMode || (SpacingMode = {}));\n/** Controls how bones are rotated, translated, and scaled to match the path.\n *\n * See [rotate mix](http://esotericsoftware.com/spine-path-constraints#Rotate-mix) in the Spine User Guide. */\nexport var RotateMode;\n(function (RotateMode) {\n RotateMode[RotateMode[\"Tangent\"] = 0] = \"Tangent\";\n RotateMode[RotateMode[\"Chain\"] = 1] = \"Chain\";\n RotateMode[RotateMode[\"ChainScale\"] = 2] = \"ChainScale\";\n})(RotateMode || (RotateMode = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0aENvbnN0cmFpbnREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1BhdGhDb25zdHJhaW50RGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXJEOzt5R0FFeUc7QUFDekcsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFFckQsK0RBQStEO0lBQy9ELEtBQUssR0FBRyxJQUFJLEtBQUssRUFBWSxDQUFDO0lBRTlCLDRFQUE0RTtJQUNwRSxPQUFPLEdBQW9CLElBQUksQ0FBQztJQUN4QyxJQUFXLE1BQU0sQ0FBRSxRQUFrQixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNuRSxJQUFXLE1BQU07UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBOztZQUNsRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxZQUFZLEdBQWlCLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFFaEQsMkVBQTJFO0lBQzNFLFdBQVcsR0FBZ0IsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUU3Qyx3REFBd0Q7SUFDeEQsVUFBVSxHQUFlLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFFMUMsd0RBQXdEO0lBQ3hELGNBQWMsR0FBVyxDQUFDLENBQUM7SUFFM0IsbUNBQW1DO0lBQ25DLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFckIsaUNBQWlDO0lBQ2pDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFFcEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRVQsWUFBYSxJQUFZO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRDtBQUVEOzswR0FFMEc7QUFDMUcsTUFBTSxDQUFOLElBQVksWUFBK0I7QUFBM0MsV0FBWSxZQUFZO0lBQUcsaURBQUssQ0FBQTtJQUFFLHFEQUFPLENBQUE7QUFBQyxDQUFDLEVBQS9CLFlBQVksS0FBWixZQUFZLFFBQW1CO0FBRTNDOzt3R0FFd0c7QUFDeEcsTUFBTSxDQUFOLElBQVksV0FBb0Q7QUFBaEUsV0FBWSxXQUFXO0lBQUcsaURBQU0sQ0FBQTtJQUFFLCtDQUFLLENBQUE7SUFBRSxtREFBTyxDQUFBO0lBQUUsNkRBQVksQ0FBQTtBQUFDLENBQUMsRUFBcEQsV0FBVyxLQUFYLFdBQVcsUUFBeUM7QUFFaEU7OzhHQUU4RztBQUM5RyxNQUFNLENBQU4sSUFBWSxVQUF5QztBQUFyRCxXQUFZLFVBQVU7SUFBRyxpREFBTyxDQUFBO0lBQUUsNkNBQUssQ0FBQTtJQUFFLHVEQUFVLENBQUE7QUFBQyxDQUFDLEVBQXpDLFVBQVUsS0FBVixVQUFVLFFBQStCIn0="],"names":["PathConstraintData","ConstraintData","bones","Array","_target","target","slotData","this","Error","positionMode","PositionMode","Fixed","spacingMode","SpacingMode","rotateMode","RotateMode","Chain","offsetRotation","position","spacing","mixRotate","mixX","mixY","constructor","name","super"],"mappings":"qDAgCO,MAAMA,UAA2BC,EAEpCC,MAAQ,IAAIC,MAEZC,QAAU,KACV,UAAIC,CAAOC,GAAYC,KAAKH,QAAUE,CAAW,CACjD,UAAID,GACA,GAAKE,KAAKH,QAGN,OAAOG,KAAKH,QAFZ,MAAM,IAAII,MAAM,oBAGvB,CAEDC,aAAeC,EAAaC,MAE5BC,YAAcC,EAAYF,MAE1BG,WAAaC,EAAWC,MAExBC,eAAiB,EAEjBC,SAAW,EAEXC,QAAU,EACVC,UAAY,EACZC,KAAO,EACPC,KAAO,EACP,WAAAC,CAAYC,GACRC,MAAMD,EAAM,GAAG,EAClB,EAKK,IAACd,EAQAG,EAUAE,GAjBX,SAAWL,GACPA,EAAaA,EAAoB,MAAI,GAAK,QAC1CA,EAAaA,EAAsB,QAAI,GAAK,SAC/C,CAHD,CAGGA,IAAiBA,EAAe,CAAE,IAKrC,SAAWG,GACPA,EAAYA,EAAoB,OAAI,GAAK,SACzCA,EAAYA,EAAmB,MAAI,GAAK,QACxCA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAA0B,aAAI,GAAK,cAClD,CALD,CAKGA,IAAgBA,EAAc,CAAE,IAKnC,SAAWE,GACPA,EAAWA,EAAoB,QAAI,GAAK,UACxCA,EAAWA,EAAkB,MAAI,GAAK,QACtCA,EAAWA,EAAuB,WAAI,GAAK,YAC9C,CAJD,CAIGA,IAAeA,EAAa,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Physics as t,Skeleton as s}from"./Skeleton.js";import{MathUtils as i}from"./Utils.js";class e{data;_bone=null;set bone(t){this._bone=t}get bone(){if(this._bone)return this._bone;throw new Error("Bone not set.")}inertia=0;strength=0;damping=0;massInverse=0;wind=0;gravity=0;mix=0;_reset=!0;ux=0;uy=0;cx=0;cy=0;tx=0;ty=0;xOffset=0;xVelocity=0;yOffset=0;yVelocity=0;rotateOffset=0;rotateVelocity=0;scaleOffset=0;scaleVelocity=0;active=!1;skeleton;remaining=0;lastTime=0;constructor(t,s){this.data=t,this.skeleton=s,this.bone=s.bones[t.bone.index],this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}reset(){this.remaining=0,this.lastTime=this.skeleton.time,this._reset=!0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0}setToSetupPose(){const t=this.data;this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}isActive(){return this.active}update(e){const a=this.mix;if(0==a)return;const h=this.data.x>0,o=this.data.y>0,r=this.data.rotate>0||this.data.shearX>0,n=this.data.scaleX>0,c=this.bone,f=c.data.length;switch(e){case t.none:return;case t.reset:this.reset();case t.update:const e=Math.max(this.skeleton.time-this.lastTime,0);this.remaining+=e,this.lastTime=this.skeleton.time;const l=c.worldX,d=c.worldY;if(this._reset)this._reset=!1,this.ux=l,this.uy=d;else{let t=this.remaining,y=this.inertia,m=this.data.limit*e,x=this.data.step,g=this.skeleton.data.referenceScale,O=-1;if(h||o){if(h){const t=(this.ux-l)*y;this.xOffset+=t>m?m:t<-m?-m:t,this.ux=l}if(o){const t=(this.uy-d)*y;this.yOffset+=t>m?m:t<-m?-m:t,this.uy=d}if(t>=x){O=Math.pow(this.damping,60*x);const i=this.massInverse*x,e=this.strength,a=this.wind*g,r=(s.yDown?-this.gravity:this.gravity)*g;do{h&&(this.xVelocity+=(a-this.xOffset*e)*i,this.xOffset+=this.xVelocity*x,this.xVelocity*=O),o&&(this.yVelocity-=(r+this.yOffset*e)*i,this.yOffset+=this.yVelocity*x,this.yVelocity*=O),t-=x}while(t>=x)}h&&(c.worldX+=this.xOffset*a*this.data.x),o&&(c.worldY+=this.yOffset*a*this.data.y)}if(r||n){let e=Math.atan2(c.c,c.a),h=0,o=0,l=0,d=this.cx-c.worldX,w=this.cy-c.worldY;if(d>m?d=m:d<-m&&(d=-m),w>m?w=m:w<-m&&(w=-m),r){l=(this.data.rotate+this.data.shearX)*a;let t=Math.atan2(w+this.ty,d+this.tx)-e-this.rotateOffset*l;this.rotateOffset+=(t-Math.ceil(t*i.invPI2-.5)*i.PI2)*y,t=this.rotateOffset*l+e,h=Math.cos(t),o=Math.sin(t),n&&(t=f*c.getWorldScaleX(),t>0&&(this.scaleOffset+=(d*h+w*o)*y/t))}else{h=Math.cos(e),o=Math.sin(e);const t=f*c.getWorldScaleX();t>0&&(this.scaleOffset+=(d*h+w*o)*y/t)}if(t=this.remaining,t>=x){-1==O&&(O=Math.pow(this.damping,60*x));const i=this.massInverse*x,a=this.strength,c=this.wind,d=s.yDown?-this.gravity:this.gravity,y=f/g;for(;;)if(t-=x,n&&(this.scaleVelocity+=(c*h-d*o-this.scaleOffset*a)*i,this.scaleOffset+=this.scaleVelocity*x,this.scaleVelocity*=O),r){if(this.rotateVelocity-=((c*o+d*h)*y+this.rotateOffset*a)*i,this.rotateOffset+=this.rotateVelocity*x,this.rotateVelocity*=O,t<x)break;const s=this.rotateOffset*l+e;h=Math.cos(s),o=Math.sin(s)}else if(t<x)break}}this.remaining=t}this.cx=c.worldX,this.cy=c.worldY;break;case t.pose:h&&(c.worldX+=this.xOffset*a*this.data.x),o&&(c.worldY+=this.yOffset*a*this.data.y)}if(r){let t=this.rotateOffset*a,s=0,i=0,e=0;if(this.data.shearX>0){let a=0;this.data.rotate>0&&(a=t*this.data.rotate,s=Math.sin(a),i=Math.cos(a),e=c.b,c.b=i*e-s*c.d,c.d=s*e+i*c.d),a+=t*this.data.shearX,s=Math.sin(a),i=Math.cos(a),e=c.a,c.a=i*e-s*c.c,c.c=s*e+i*c.c}else t*=this.data.rotate,s=Math.sin(t),i=Math.cos(t),e=c.a,c.a=i*e-s*c.c,c.c=s*e+i*c.c,e=c.b,c.b=i*e-s*c.d,c.d=s*e+i*c.d}if(n){const t=1+this.scaleOffset*a*this.data.scaleX;c.a*=t,c.c*=t}e!=t.pose&&(this.tx=f*c.a,this.ty=f*c.c),c.updateAppliedTransform()}translate(t,s){this.ux-=t,this.uy-=s,this.cx-=t,this.cy-=s}rotate(t,s,e){const a=e*i.degRad,h=Math.cos(a),o=Math.sin(a),r=this.cx-t,n=this.cy-s;this.translate(r*h-n*o-r,r*o+n*h-n)}}export{e as PhysicsConstraint};
|
|
2
|
-
//# sourceMappingURL=PhysicsConstraint.js.map
|