From a7bb103ec939c6b28a8060ea0a105c51801c261f Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 24 Oct 2023 18:52:55 +0200 Subject: [PATCH 1/3] [haxe] Fix Scene touch handling, fix PathConstraint --- spine-haxe/example/src/BasicExample.hx | 6 +- spine-haxe/example/src/Main.hx | 2 +- spine-haxe/example/src/MixAndMatchExample.hx | 83 +++++++++++++++++++ spine-haxe/example/src/Scene.hx | 18 ++++ spine-haxe/example/src/SequenceExample.hx | 5 +- spine-haxe/example/src/TankExample.hx | 70 ++++++++++++++++ spine-haxe/example/src/VineExample.hx | 70 ++++++++++++++++ spine-haxe/spine-haxe/spine/ArrayUtils.hx | 13 +++ spine-haxe/spine-haxe/spine/PathConstraint.hx | 26 +++--- spine-sfml/cpp/example/testbed.cpp | 5 +- 10 files changed, 278 insertions(+), 20 deletions(-) create mode 100644 spine-haxe/example/src/MixAndMatchExample.hx create mode 100644 spine-haxe/example/src/TankExample.hx create mode 100644 spine-haxe/example/src/VineExample.hx create mode 100644 spine-haxe/spine-haxe/spine/ArrayUtils.hx diff --git a/spine-haxe/example/src/BasicExample.hx b/spine-haxe/example/src/BasicExample.hx index b59a7034d..ad65061b3 100644 --- a/spine-haxe/example/src/BasicExample.hx +++ b/spine-haxe/example/src/BasicExample.hx @@ -27,6 +27,7 @@ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +import Scene.SceneManager; import openfl.utils.Assets; import spine.SkeletonData; import spine.animation.AnimationStateData; @@ -57,13 +58,16 @@ class BasicExample extends Scene { addChild(skeletonSprite); juggler.add(skeletonSprite); + addText("Click anywhere for next scene"); + addEventListener(TouchEvent.TOUCH, onTouch); } public function onTouch(e:TouchEvent) { var touch = e.getTouch(this); + trace(touch); if (touch != null && touch.phase == TouchPhase.ENDED) { - trace("Mouse clicked"); + SceneManager.getInstance().switchScene(new SequenceExample()); } } } diff --git a/spine-haxe/example/src/Main.hx b/spine-haxe/example/src/Main.hx index 63712f6ab..3f0f5aafc 100644 --- a/spine-haxe/example/src/Main.hx +++ b/spine-haxe/example/src/Main.hx @@ -49,6 +49,6 @@ class Main extends Sprite { starlingSingleton.start(); Starling.current.stage.color = 0x000000; - SceneManager.getInstance().switchScene(new BasicExample()); + SceneManager.getInstance().switchScene(new VineExample()); } } diff --git a/spine-haxe/example/src/MixAndMatchExample.hx b/spine-haxe/example/src/MixAndMatchExample.hx new file mode 100644 index 000000000..198bead50 --- /dev/null +++ b/spine-haxe/example/src/MixAndMatchExample.hx @@ -0,0 +1,83 @@ +/****************************************************************************** + * Spine Runtimes License Agreement + * Last updated July 28, 2023. Replaces all prior versions. + * + * Copyright (c) 2013-2023, Esoteric Software LLC + * + * Integration of the Spine Runtimes into software or otherwise creating + * derivative works of the Spine Runtimes is permitted under the terms and + * conditions of Section 2 of the Spine Editor License Agreement: + * http://esotericsoftware.com/spine-editor-license + * + * Otherwise, it is permitted to integrate the Spine Runtimes into software or + * otherwise create derivative works of the Spine Runtimes (collectively, + * "Products"), provided that each user of the Products must obtain their own + * Spine Editor license and redistribution of the Products in any form must + * include this license and copyright notice. + * + * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, + * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE + * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*****************************************************************************/ + +import spine.Skin; +import Scene.SceneManager; +import openfl.utils.Assets; +import spine.SkeletonData; +import spine.animation.AnimationStateData; +import spine.atlas.TextureAtlas; +import spine.starling.SkeletonSprite; +import spine.starling.StarlingTextureLoader; +import starling.core.Starling; +import starling.events.TouchEvent; +import starling.events.TouchPhase; + +class MixAndMatchExample extends Scene { + var loadBinary = false; + + public function load():Void { + var atlas = new TextureAtlas(Assets.getText("assets/mix-and-match.atlas"), new StarlingTextureLoader("assets/mix-and-match.atlas")); + var data = SkeletonData.from(loadBinary ? Assets.getBytes("assets/mix-and-match-pro.skel") : Assets.getText("assets/mix-and-match-pro.json"), atlas); + var animationStateData = new AnimationStateData(data); + animationStateData.defaultMix = 0.25; + + var skeletonSprite = new SkeletonSprite(data, animationStateData); + var customSkin = new Skin("custom"); + var skinBase = data.findSkin("skin-base"); + customSkin.addSkin(skinBase); + customSkin.addSkin(data.findSkin("nose/short")); + customSkin.addSkin(data.findSkin("eyelids/girly")); + customSkin.addSkin(data.findSkin("eyes/violet")); + customSkin.addSkin(data.findSkin("hair/brown")); + customSkin.addSkin(data.findSkin("clothes/hoodie-orange")); + customSkin.addSkin(data.findSkin("legs/pants-jeans")); + customSkin.addSkin(data.findSkin("accessories/bag")); + customSkin.addSkin(data.findSkin("accessories/hat-red-yellow")); + skeletonSprite.skeleton.skin = customSkin; + + var bounds = skeletonSprite.skeleton.getBounds(); + skeletonSprite.scale = Starling.current.stage.stageHeight / bounds.height * 0.5; + skeletonSprite.x = Starling.current.stage.stageWidth / 2; + skeletonSprite.y = Starling.current.stage.stageHeight * 0.9; + skeletonSprite.state.setAnimationByName(0, "dance", true); + + addChild(skeletonSprite); + juggler.add(skeletonSprite); + + addEventListener(TouchEvent.TOUCH, onTouch); + } + + public function onTouch(e:TouchEvent) { + var touch = e.getTouch(this); + if (touch != null && touch.phase == TouchPhase.ENDED) { + SceneManager.getInstance().switchScene(new TankExample()); + } + } +} diff --git a/spine-haxe/example/src/Scene.hx b/spine-haxe/example/src/Scene.hx index bd6d7148b..a654b2723 100644 --- a/spine-haxe/example/src/Scene.hx +++ b/spine-haxe/example/src/Scene.hx @@ -27,6 +27,9 @@ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +import starling.display.Quad; +import starling.geom.Rectangle; +import starling.text.TextField; import starling.core.Starling; import starling.display.Sprite; @@ -60,8 +63,14 @@ class SceneManager { abstract class Scene extends Sprite { var juggler = new starling.animation.Juggler(); + public var background:Quad; + public function new() { super(); + var stageWidth = Starling.current.stage.stageWidth; + var stageHeight = Starling.current.stage.stageHeight; + background = new Quad(stageWidth, stageHeight, 0x0); + this.addChild(background); Starling.current.juggler.add(juggler); } @@ -72,4 +81,13 @@ abstract class Scene extends Sprite { Starling.current.juggler.remove(juggler); super.dispose(); } + + public function addText(text:String) { + var textField = new TextField(200, 30, text); + textField.x = 10; + textField.y = 10; + textField.format.color = 0xffffffff; + addChild(textField); + return textField; + } } diff --git a/spine-haxe/example/src/SequenceExample.hx b/spine-haxe/example/src/SequenceExample.hx index 721d044fc..3eb20360b 100644 --- a/spine-haxe/example/src/SequenceExample.hx +++ b/spine-haxe/example/src/SequenceExample.hx @@ -27,6 +27,7 @@ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +import Scene.SceneManager; import openfl.utils.Assets; import spine.SkeletonData; import spine.animation.AnimationStateData; @@ -50,7 +51,7 @@ class SequenceExample extends Scene { var bounds = skeletonSprite.skeleton.getBounds(); skeletonSprite.scale = Starling.current.stage.stageWidth / bounds.width * 0.5; skeletonSprite.x = Starling.current.stage.stageWidth / 2; - skeletonSprite.y = Starling.current.stage.stageHeight * 0.9; + skeletonSprite.y = Starling.current.stage.stageHeight * 0.5; skeletonSprite.state.setAnimationByName(0, "flying", true); addChild(skeletonSprite); @@ -62,7 +63,7 @@ class SequenceExample extends Scene { public function onTouch(e:TouchEvent) { var touch = e.getTouch(this); if (touch != null && touch.phase == TouchPhase.ENDED) { - trace("Mouse clicked"); + SceneManager.getInstance().switchScene(new MixAndMatchExample()); } } } diff --git a/spine-haxe/example/src/TankExample.hx b/spine-haxe/example/src/TankExample.hx new file mode 100644 index 000000000..52e6f39ff --- /dev/null +++ b/spine-haxe/example/src/TankExample.hx @@ -0,0 +1,70 @@ +/****************************************************************************** + * Spine Runtimes License Agreement + * Last updated July 28, 2023. Replaces all prior versions. + * + * Copyright (c) 2013-2023, Esoteric Software LLC + * + * Integration of the Spine Runtimes into software or otherwise creating + * derivative works of the Spine Runtimes is permitted under the terms and + * conditions of Section 2 of the Spine Editor License Agreement: + * http://esotericsoftware.com/spine-editor-license + * + * Otherwise, it is permitted to integrate the Spine Runtimes into software or + * otherwise create derivative works of the Spine Runtimes (collectively, + * "Products"), provided that each user of the Products must obtain their own + * Spine Editor license and redistribution of the Products in any form must + * include this license and copyright notice. + * + * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, + * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE + * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*****************************************************************************/ + +import Scene.SceneManager; +import openfl.utils.Assets; +import spine.SkeletonData; +import spine.animation.AnimationStateData; +import spine.atlas.TextureAtlas; +import spine.starling.SkeletonSprite; +import spine.starling.StarlingTextureLoader; +import starling.core.Starling; +import starling.events.TouchEvent; +import starling.events.TouchPhase; + +class TankExample extends Scene { + var loadBinary = false; + + public function load():Void { + background.color = 0xffffffff; + var atlas = new TextureAtlas(Assets.getText("assets/tank.atlas"), new StarlingTextureLoader("assets/tank.atlas")); + var skeletondata = SkeletonData.from(loadBinary ? Assets.getBytes("assets/tank-pro.skel") : Assets.getText("assets/tank-pro.json"), atlas); + var animationStateData = new AnimationStateData(skeletondata); + animationStateData.defaultMix = 0.25; + + var skeletonSprite = new SkeletonSprite(skeletondata, animationStateData); + var bounds = skeletonSprite.skeleton.getBounds(); + skeletonSprite.scale = Starling.current.stage.stageWidth / bounds.width; + skeletonSprite.x = Starling.current.stage.stageWidth / 2; + skeletonSprite.y = Starling.current.stage.stageHeight * 0.5; + skeletonSprite.state.setAnimationByName(0, "drive", true); + + addChild(skeletonSprite); + juggler.add(skeletonSprite); + + addEventListener(TouchEvent.TOUCH, onTouch); + } + + public function onTouch(e:TouchEvent) { + var touch = e.getTouch(this); + if (touch != null && touch.phase == TouchPhase.ENDED) { + SceneManager.getInstance().switchScene(new VineExample()); + } + } +} diff --git a/spine-haxe/example/src/VineExample.hx b/spine-haxe/example/src/VineExample.hx new file mode 100644 index 000000000..67346cb89 --- /dev/null +++ b/spine-haxe/example/src/VineExample.hx @@ -0,0 +1,70 @@ +/****************************************************************************** + * Spine Runtimes License Agreement + * Last updated July 28, 2023. Replaces all prior versions. + * + * Copyright (c) 2013-2023, Esoteric Software LLC + * + * Integration of the Spine Runtimes into software or otherwise creating + * derivative works of the Spine Runtimes is permitted under the terms and + * conditions of Section 2 of the Spine Editor License Agreement: + * http://esotericsoftware.com/spine-editor-license + * + * Otherwise, it is permitted to integrate the Spine Runtimes into software or + * otherwise create derivative works of the Spine Runtimes (collectively, + * "Products"), provided that each user of the Products must obtain their own + * Spine Editor license and redistribution of the Products in any form must + * include this license and copyright notice. + * + * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, + * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE + * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*****************************************************************************/ + +import Scene.SceneManager; +import openfl.utils.Assets; +import spine.SkeletonData; +import spine.animation.AnimationStateData; +import spine.atlas.TextureAtlas; +import spine.starling.SkeletonSprite; +import spine.starling.StarlingTextureLoader; +import starling.core.Starling; +import starling.events.TouchEvent; +import starling.events.TouchPhase; + +class VineExample extends Scene { + var loadBinary = false; + + public function load():Void { + background.color = 0xffffffff; + var atlas = new TextureAtlas(Assets.getText("assets/vine.atlas"), new StarlingTextureLoader("assets/vine.atlas")); + var skeletondata = SkeletonData.from(loadBinary ? Assets.getBytes("assets/vine-pro.skel") : Assets.getText("assets/vine-pro.json"), atlas); + var animationStateData = new AnimationStateData(skeletondata); + animationStateData.defaultMix = 0.25; + + var skeletonSprite = new SkeletonSprite(skeletondata, animationStateData); + skeletonSprite.skeleton.updateWorldTransform(); + var bounds = skeletonSprite.skeleton.getBounds(); + skeletonSprite.scale = Starling.current.stage.stageWidth / bounds.width; + skeletonSprite.x = Starling.current.stage.stageWidth / 2; + skeletonSprite.y = Starling.current.stage.stageHeight * 0.5; + + addChild(skeletonSprite); + juggler.add(skeletonSprite); + + addEventListener(TouchEvent.TOUCH, onTouch); + } + + public function onTouch(e:TouchEvent) { + var touch = e.getTouch(this); + if (touch != null && touch.phase == TouchPhase.ENDED) { + SceneManager.getInstance().switchScene(new BasicExample()); + } + } +} diff --git a/spine-haxe/spine-haxe/spine/ArrayUtils.hx b/spine-haxe/spine-haxe/spine/ArrayUtils.hx new file mode 100644 index 000000000..8575852b9 --- /dev/null +++ b/spine-haxe/spine-haxe/spine/ArrayUtils.hx @@ -0,0 +1,13 @@ +package spine; + +class ArrayUtils { + public static function resize(array:Array, count:Int, value:T) { + if (count < 0) + count = 0; + array.resize(count); + for (i in 0...count) { + array[i] = value; + } + return array; + } +} diff --git a/spine-haxe/spine-haxe/spine/PathConstraint.hx b/spine-haxe/spine-haxe/spine/PathConstraint.hx index 163fbefd5..00a0b1acf 100644 --- a/spine-haxe/spine-haxe/spine/PathConstraint.hx +++ b/spine-haxe/spine-haxe/spine/PathConstraint.hx @@ -86,18 +86,16 @@ class PathConstraint implements Updatable { return; var data:PathConstraintData = _data; - var percentSpacing:Bool = data.spacingMode == SpacingMode.percent; - var rotateMode:RotateMode = data.rotateMode; - var fTangents:Bool = rotateMode == RotateMode.tangent, - fScale:Bool = rotateMode == RotateMode.chainScale; - + var fTangents:Bool = data.rotateMode == RotateMode.tangent, + fScale:Bool = data.rotateMode == RotateMode.chainScale; var boneCount:Int = _bones.length; var spacesCount:Int = fTangents ? boneCount : boneCount + 1; - var bones:Array = _bones; - _spaces.resize(spacesCount); + ArrayUtils.resize(_spaces, spacesCount, 0); + if (fScale) { + ArrayUtils.resize(_lengths, boneCount, 0); + } - if (fScale) - _lengths.resize(boneCount); + var bones:Array = _bones; var i:Int, n:Int, @@ -254,7 +252,7 @@ class PathConstraint implements Updatable { private function computeWorldPositions(path:PathAttachment, spacesCount:Int, tangents:Bool):Array { var position:Float = this.position; - _positions.resize(spacesCount * 3 + 2); + ArrayUtils.resize(_positions, spacesCount * 3 + 2, 0); var out:Array = _positions, world:Array; var closed:Bool = path.closed; var verticesLength:Int = path.worldVerticesLength; @@ -277,7 +275,7 @@ class PathConstraint implements Updatable { multiplier = 1; } - _world.resize(8); + ArrayUtils.resize(_world, 8, 0); world = _world; var i:Int = 0; var o:Int = 0; @@ -343,7 +341,7 @@ class PathConstraint implements Updatable { // World vertices. if (closed) { verticesLength += 2; - _world.resize(verticesLength); + ArrayUtils.resize(_world, verticesLength, 0); world = _world; path.computeWorldVertices(target, 2, verticesLength - 4, world, 0, 2); path.computeWorldVertices(target, 0, 2, world, verticesLength - 4, 2); @@ -352,13 +350,13 @@ class PathConstraint implements Updatable { } else { curveCount--; verticesLength -= 4; - _world.resize(verticesLength); + ArrayUtils.resize(_world, verticesLength, 0); world = _world; path.computeWorldVertices(target, 2, verticesLength, world, 0, 2); } // Curve lengths. - _curves.resize(curveCount); + ArrayUtils.resize(_curves, curveCount, 0); var curves:Array = _curves; var pathLength:Float = 0; var x1:Float = world[0], diff --git a/spine-sfml/cpp/example/testbed.cpp b/spine-sfml/cpp/example/testbed.cpp index a883ba146..aa5767864 100644 --- a/spine-sfml/cpp/example/testbed.cpp +++ b/spine-sfml/cpp/example/testbed.cpp @@ -71,10 +71,10 @@ class NullAttachmentLoader : public AttachmentLoader { int main(void) { String atlasFile(""); - String skeletonFile("/Users/badlogic/Downloads/catsanddogs2.json"); + String skeletonFile("/Users/badlogic/workspaces/spine-runtimes/spine-haxe/example/assets/vine-pro.json"); String animation = ""; - float scale = 0.6f; + float scale = 1.0f; SFMLTextureLoader textureLoader; NullAttachmentLoader nullLoader; Atlas *atlas = atlasFile.length() == 0 ? nullptr : new Atlas(atlasFile, &textureLoader); @@ -103,6 +103,7 @@ int main(void) { AnimationStateData stateData(skeletonData); SkeletonDrawable drawable(skeletonData, &stateData); + drawable.skeleton->updateWorldTransform(); drawable.skeleton->setPosition(320, 590); if (animation.length() > 0) drawable.state->setAnimation(0, animation, true); From 8d4ed3056aaf13c0af3b19c59e0b64b10a685fa6 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 24 Oct 2023 19:13:43 +0200 Subject: [PATCH 2/3] [phaser] Closes #2390, reset static gameWebGLRenderer to remounts in React/Vue work. --- spine-ts/spine-phaser/src/SpinePlugin.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/spine-ts/spine-phaser/src/SpinePlugin.ts b/spine-ts/spine-phaser/src/SpinePlugin.ts index 951bc2021..446fac955 100644 --- a/spine-ts/spine-phaser/src/SpinePlugin.ts +++ b/spine-ts/spine-phaser/src/SpinePlugin.ts @@ -193,6 +193,7 @@ export class SpinePlugin extends Phaser.Plugins.ScenePlugin { gameDestroy () { this.pluginManager.removeGameObject((window as any).SPINE_GAME_OBJECT_TYPE ? (window as any).SPINE_GAME_OBJECT_TYPE : SPINE_GAME_OBJECT_TYPE, true, true); if (this.webGLRenderer) this.webGLRenderer.dispose(); + SpinePlugin.gameWebGLRenderer = null; } /** Returns the TextureAtlas instance for the given key */ From 8d3af4d6e3742b6e48222b87f88a7b81d1e61e28 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Tue, 24 Oct 2023 19:42:34 +0200 Subject: [PATCH 3/3] [ts] Release 4.1.43 --- spine-ts/package-lock.json | 333 ++++++++++++++++------------ spine-ts/package.json | 2 +- spine-ts/spine-canvas/package.json | 4 +- spine-ts/spine-core/package.json | 2 +- spine-ts/spine-phaser/package.json | 8 +- spine-ts/spine-pixi/package.json | 4 +- spine-ts/spine-player/package.json | 4 +- spine-ts/spine-threejs/package.json | 4 +- spine-ts/spine-webgl/package.json | 4 +- 9 files changed, 211 insertions(+), 154 deletions(-) diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index 5543ddad8..4818473bf 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.42", + "version": "4.1.43", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@esotericsoftware/spine-ts", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "workspaces": [ "spine-core", @@ -31,9 +31,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", - "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -423,47 +423,53 @@ "link": true }, "node_modules/@pixi/assets": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/assets/-/assets-7.3.0.tgz", - "integrity": "sha512-eIbvOMFwWKRUuOrFwTy9UDVrAY95o5OlwOHnxAmeYhn6VTchua/oAeeaAYJyJqjyw+ONFsLWE1cFX6uEKHM2Sw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/assets/-/assets-7.3.2.tgz", + "integrity": "sha512-yteq6ptAxA09EcwU9D9hl7qr5yWIqy+c2PsXkTDkc76vTAwIamLY3KxLq2aR5y1U4L4O6aHFJd26uNhHcuTPmw==", "peer": true, "dependencies": { "@types/css-font-loading-module": "^0.0.7" }, "peerDependencies": { - "@pixi/core": "7.3.0", - "@pixi/utils": "7.3.0" + "@pixi/core": "7.3.2", + "@pixi/utils": "7.3.2" } }, "node_modules/@pixi/color": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/color/-/color-7.3.0.tgz", - "integrity": "sha512-qwgsP+cQhw0QjvouvAslpJ3g7DUMwKLUrXF6Nv+G4GhgVC2Z03CsCfWgUxLxKPD3WadB6FacdRIGx6o2TywB+A==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/color/-/color-7.3.2.tgz", + "integrity": "sha512-jur5PvdOtUBEUTjmPudW5qdQq6yYGlVGsi3HyhasJw14bN+GKJwiCKgIsyrsiNL5HBUXmje4ICwQohf6BqKqxA==", "peer": true, "dependencies": { - "colord": "^2.9.3" + "@pixi/colord": "^2.9.6" } }, + "node_modules/@pixi/colord": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/@pixi/colord/-/colord-2.9.6.tgz", + "integrity": "sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==", + "peer": true + }, "node_modules/@pixi/constants": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-7.3.0.tgz", - "integrity": "sha512-zRBX5RAxm14zs7/sse/eXSrFzbv2XPEJwj2fQga+4hI7tAsXazYgGFl3CMlDET5mW9rXUSxROE0dvnLe9DcYRQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-7.3.2.tgz", + "integrity": "sha512-Q8W3ncsFxmfgC5EtokpG92qJZabd+Dl+pbQAdHwiPY3v+8UNq77u4VN2qtl1Z04864hCcg7AStIYEDrzqTLF6Q==", "peer": true }, "node_modules/@pixi/core": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/core/-/core-7.3.0.tgz", - "integrity": "sha512-ZgFdlqOZfijfgvWMi6ZuQey2m3U+ik8GUD7MsLn96Gtg7UQGwmcEsEB2MZ7f7TUoLkMAOlxb0aXEHzdV/+v1zg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-7.3.2.tgz", + "integrity": "sha512-Pta3ee8MtJ3yKxGXzglBWgwbEOKMB6Eth+FpLTjL0rgxiqTB550YX6jsNEQQAzcGjCBlO3rC/IF57UZ2go/X6w==", "peer": true, "dependencies": { - "@pixi/color": "7.3.0", - "@pixi/constants": "7.3.0", - "@pixi/extensions": "7.3.0", - "@pixi/math": "7.3.0", - "@pixi/runner": "7.3.0", - "@pixi/settings": "7.3.0", - "@pixi/ticker": "7.3.0", - "@pixi/utils": "7.3.0", + "@pixi/color": "7.3.2", + "@pixi/constants": "7.3.2", + "@pixi/extensions": "7.3.2", + "@pixi/math": "7.3.2", + "@pixi/runner": "7.3.2", + "@pixi/settings": "7.3.2", + "@pixi/ticker": "7.3.2", + "@pixi/utils": "7.3.2", "@types/offscreencanvas": "^2019.6.4" }, "funding": { @@ -472,104 +478,104 @@ } }, "node_modules/@pixi/display": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/display/-/display-7.3.0.tgz", - "integrity": "sha512-YQJZEcQo/0BIhvAaKrG68w01HYhPMwyPLj0Rvw30J4sW4uer/vf50IEAkM80rdQIUowqjUvatUYRW/r+owomXg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-7.3.2.tgz", + "integrity": "sha512-cY5AnZ3TWt5GYGx4e5AQ2/2U9kP+RorBg/O30amJ+8e9bFk9rS8cjh/DDq/hc4lql96BkXAInTl40eHnAML5lQ==", "peer": true, "peerDependencies": { - "@pixi/core": "7.3.0" + "@pixi/core": "7.3.2" } }, "node_modules/@pixi/extensions": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-7.3.0.tgz", - "integrity": "sha512-kr0nia7yvPLIXqBeOKLUXcOoxRG5yCxIPUtXvsFSrrmJvqsXsyg4l9cH0CS/I9yTb67/ks5wjzieUdwNf8pfTg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-7.3.2.tgz", + "integrity": "sha512-Qw84ADfvmVu4Mwj+zTik/IEEK9lWS5n4trbrpQCcEZ+Mb8oRAXWvKz199mi1s7+LaZXDqeCY1yr2PHQaFf1KBA==", "peer": true }, "node_modules/@pixi/graphics": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-7.3.0.tgz", - "integrity": "sha512-+5yyv8z4sZDxvdyYbGn/DeR1EdSD+ieXf9N3BS2puoxmrM5blMUzZCoY4vFCeF+r59VpB0ildYl3APzwMdRCLw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-7.3.2.tgz", + "integrity": "sha512-PhU6j1yub4tH/s+/gqByzgZ3mLv1mfb6iGXbquycg3+WypcxHZn0opFtI/axsazaQ9SEaWxw1m3i40WG5ANH5g==", "peer": true, "peerDependencies": { - "@pixi/core": "7.3.0", - "@pixi/display": "7.3.0", - "@pixi/sprite": "7.3.0" + "@pixi/core": "7.3.2", + "@pixi/display": "7.3.2", + "@pixi/sprite": "7.3.2" } }, "node_modules/@pixi/math": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/math/-/math-7.3.0.tgz", - "integrity": "sha512-3gM1MffXlDM8bFNl+D1ndq4W1Gn7quRvxbAZ9RUp7Zvoqcud/0c/VcxngM2st+IXeFf8htlKxytkotMKk5gQxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-7.3.2.tgz", + "integrity": "sha512-dutoZ0IVJ5ME7UtYNo2szu4D7qsgtJB7e3ylujBVu7BOP2e710BVtFwFSFV768N14h9H5roGnuzVoDiJac2u+w==", "peer": true }, "node_modules/@pixi/mesh": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-7.3.0.tgz", - "integrity": "sha512-TZqYmWiONuIIFzt+XL1+lnUFMHhiyJUyT5pNcW/mB1Kfg9vGIebgNbml+Ut6Rghe6B1ntereRyCyEpr+hLbbWg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-7.3.2.tgz", + "integrity": "sha512-LFkt7ELYXQLgbgHpjl68j6JD5ejUwma8zoPn2gqSBbY+6pK/phjvV1Wkh76muF46VvNulgXF0+qLIDdCsfrDaA==", "peer": true, "peerDependencies": { - "@pixi/core": "7.3.0", - "@pixi/display": "7.3.0" + "@pixi/core": "7.3.2", + "@pixi/display": "7.3.2" } }, "node_modules/@pixi/runner": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-7.3.0.tgz", - "integrity": "sha512-U0qQk5yhZcCYQVm444IO604aoe1TivQjKeaAYaEpxNyEbSJ2/rEIQEttrnw6JXnm6a0ycI8iBtweDthnpyatqA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-7.3.2.tgz", + "integrity": "sha512-maKotoKJCQiQGBJwfM+iYdQKjrPN/Tn9+72F4WIf706zp/5vKoxW688Rsktg5BX4Mcn7ZkZvcJYTxj2Mv87lFA==", "peer": true }, "node_modules/@pixi/settings": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-7.3.0.tgz", - "integrity": "sha512-x8Tms/DBnedbJBjkP4VHqyBckqXqJnoAfoayqEcFrqNDQa+1qkr1UnyPj3l4eiEPhY8cEUBz1wSZnhM7R4XcDw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-7.3.2.tgz", + "integrity": "sha512-vtxzuARDTbFe0fRYSqB53B+mPpX7v+QjjnCUmVMVvZiWr3QcngMWVml6c6dQDln7IakWoKZRrNG4FpggvDgLVg==", "peer": true, "dependencies": { - "@pixi/constants": "7.3.0", + "@pixi/constants": "7.3.2", "@types/css-font-loading-module": "^0.0.7", "ismobilejs": "^1.1.0" } }, "node_modules/@pixi/sprite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-7.3.0.tgz", - "integrity": "sha512-3hJveyaxJ9jmZiyOo/Wfmh0Lje7eElF0FoqPl9mfNCXz1TKHSmWqHste+1LimqnThTiUhruJqwUq8h5o1DKLuw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-7.3.2.tgz", + "integrity": "sha512-IpWTKXExJNXVcY7ITopJ+JW48DahdbCo/81D2IYzBImq3jyiJM2Km5EoJgvAM5ZQ3Ev3KPPIBzYLD+HoPWcxdw==", "peer": true, "peerDependencies": { - "@pixi/core": "7.3.0", - "@pixi/display": "7.3.0" + "@pixi/core": "7.3.2", + "@pixi/display": "7.3.2" } }, "node_modules/@pixi/text": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/text/-/text-7.3.0.tgz", - "integrity": "sha512-oShmP5CvATLJecK54i2YqwzKAkx8VRgpPqXk3m/gWvF+cs9i9AqCMV3sO5J6xdcCnc+Zb61hjX07J39+QxDqWg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-7.3.2.tgz", + "integrity": "sha512-LdtNj+K5tPB/0UcDcO52M/C7xhwFTGFhtdF42fPhRuJawM23M3zm1Y8PapXv+mury+IxCHT1w30YlAi0qTVpKQ==", "peer": true, "peerDependencies": { - "@pixi/core": "7.3.0", - "@pixi/sprite": "7.3.0" + "@pixi/core": "7.3.2", + "@pixi/sprite": "7.3.2" } }, "node_modules/@pixi/ticker": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-7.3.0.tgz", - "integrity": "sha512-F77FpONHOn5JkZRMHUM8bXLLIG+Czve7zxOqb1Mk57QHLADhcHP88Kj2eYu9E7zJu4Flx51nyTdmVWQgQXW96g==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-7.3.2.tgz", + "integrity": "sha512-5kIPhBeXwDJohCzKzJJ6T7f1oAGbHAgeiwOjlTO+9lNXUX8ZPj0407V3syuF+64kFqJzIBCznBRpI+fmT4c9SA==", "peer": true, "dependencies": { - "@pixi/extensions": "7.3.0", - "@pixi/settings": "7.3.0", - "@pixi/utils": "7.3.0" + "@pixi/extensions": "7.3.2", + "@pixi/settings": "7.3.2", + "@pixi/utils": "7.3.2" } }, "node_modules/@pixi/utils": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-7.3.0.tgz", - "integrity": "sha512-syUi0UuJslUAs3PkZKycliND1Fs0cX3c+s2YyVTiRRRvuM81LvjrG/1AqKFhNaav7oYapBOQBWjgzBGv3wmM/A==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-7.3.2.tgz", + "integrity": "sha512-KhNvj9YcY7Zi2dTKZgDpx8C6OxKKR541vwtG6JgdBZZYDeMBOIghN2Vi5zn4diW5BhDfHBmdSJ1wZXEtE2MDwg==", "peer": true, "dependencies": { - "@pixi/color": "7.3.0", - "@pixi/constants": "7.3.0", - "@pixi/settings": "7.3.0", + "@pixi/color": "7.3.2", + "@pixi/constants": "7.3.2", + "@pixi/settings": "7.3.2", "@types/earcut": "^2.1.0", "earcut": "^2.2.4", "eventemitter3": "^4.0.0", @@ -589,15 +595,15 @@ "peer": true }, "node_modules/@types/earcut": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.1.tgz", - "integrity": "sha512-w8oigUCDjElRHRRrMvn/spybSMyX8MTkKA5Dv+tS1IE/TgmNZPqUYtvYBXGY8cieSE66gm+szeK+bnbxC2xHTQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.3.tgz", + "integrity": "sha512-pskpibEbm73+7nA9RqxGEnAiALRO92DdoSVxasyjGrqzEndaSDjFG73GCtstMzhdOowZMItVw2fhTdxVrY221w==", "peer": true }, "node_modules/@types/offscreencanvas": { - "version": "2019.7.1", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.1.tgz", - "integrity": "sha512-+HSrJgjBW77ALieQdMJvXhRZUIRN1597L+BKvsyeiIlHHERnqjcuOLyodK3auJ3Y3zRezNKtKAhuQWYJfEgFHQ==" + "version": "2019.7.2", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.2.tgz", + "integrity": "sha512-ujCjOxeA07IbEBQYAkoOI+XFw5sT3nhWJ/xZfPR6reJppDG7iPQPZacQiLTtWH1b3a2NYXWlxvYqa40y/LAixQ==" }, "node_modules/@types/three": { "version": "0.146.0", @@ -609,9 +615,9 @@ } }, "node_modules/@types/webxr": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.4.tgz", - "integrity": "sha512-41gfGLTtqXZhcmoDlLDHqMJDuwAMwhHwXf9Q2job3TUBsvkNfPNI/3IWVEtLH4tyY1ElWtfwIaoNeqeEX238/Q==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.7.tgz", + "integrity": "sha512-Rcgs5c2eNFnHp53YOjgtKfl/zWX1Y+uFGUwlSXrWcZWu3yhANRezmph4MninmqybUYT6g9ZE0aQ9QIdPkLR3Kg==", "dev": true }, "node_modules/accepts": { @@ -894,13 +900,14 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "peer": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1076,12 +1083,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "peer": true - }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -1264,6 +1265,20 @@ "node": ">=0.10" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -1645,10 +1660,13 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "peer": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-caller-file": { "version": "2.0.5", @@ -1660,15 +1678,15 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "peer": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1725,24 +1743,24 @@ "node": ">=0.10.0" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "peer": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1752,6 +1770,18 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", @@ -1815,6 +1845,18 @@ "node": ">=0.10.0" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/http-auth": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", @@ -2470,9 +2512,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2943,6 +2985,21 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -3735,33 +3792,33 @@ }, "spine-canvas": { "name": "@esotericsoftware/spine-canvas", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } }, "spine-core": { "name": "@esotericsoftware/spine-core", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE" }, "spine-phaser": { "name": "@esotericsoftware/spine-phaser", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-canvas": "4.1.42", - "@esotericsoftware/spine-core": "4.1.42", - "@esotericsoftware/spine-webgl": "4.1.42" + "@esotericsoftware/spine-canvas": "4.1.43", + "@esotericsoftware/spine-core": "4.1.43", + "@esotericsoftware/spine-webgl": "4.1.43" } }, "spine-pixi": { "name": "@esotericsoftware/spine-pixi", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" }, "peerDependencies": { "@pixi/assets": "^7.2.4", @@ -3774,26 +3831,26 @@ }, "spine-player": { "name": "@esotericsoftware/spine-player", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-webgl": "4.1.42" + "@esotericsoftware/spine-webgl": "4.1.43" } }, "spine-threejs": { "name": "@esotericsoftware/spine-threejs", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } }, "spine-webgl": { "name": "@esotericsoftware/spine-webgl", - "version": "4.1.42", + "version": "4.1.43", "license": "LicenseRef-LICENSE", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } } } diff --git a/spine-ts/package.json b/spine-ts/package.json index 43e18eb1d..687e9b414 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-ts", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "files": [ "README.md" diff --git a/spine-ts/spine-canvas/package.json b/spine-ts/spine-canvas/package.json index 3b41ec41a..7c2e4077d 100644 --- a/spine-ts/spine-canvas/package.json +++ b/spine-ts/spine-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-canvas", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } } \ No newline at end of file diff --git a/spine-ts/spine-core/package.json b/spine-ts/spine-core/package.json index 6956245a8..15709f35c 100644 --- a/spine-ts/spine-core/package.json +++ b/spine-ts/spine-core/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-core", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/spine-ts/spine-phaser/package.json b/spine-ts/spine-phaser/package.json index 1ca0252b2..1546785c5 100644 --- a/spine-ts/spine-phaser/package.json +++ b/spine-ts/spine-phaser/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-phaser", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the Phaser.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,8 +30,8 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42", - "@esotericsoftware/spine-webgl": "4.1.42", - "@esotericsoftware/spine-canvas": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43", + "@esotericsoftware/spine-webgl": "4.1.43", + "@esotericsoftware/spine-canvas": "4.1.43" } } \ No newline at end of file diff --git a/spine-ts/spine-pixi/package.json b/spine-ts/spine-pixi/package.json index fe2e7f278..6020ec61b 100644 --- a/spine-ts/spine-pixi/package.json +++ b/spine-ts/spine-pixi/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-pixi", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,7 +30,7 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" }, "peerDependencies": { "@pixi/core": "^7.2.4", diff --git a/spine-ts/spine-player/package.json b/spine-ts/spine-player/package.json index f8f3f342c..8fea4f2d5 100644 --- a/spine-ts/spine-player/package.json +++ b/spine-ts/spine-player/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-player", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-webgl": "4.1.42" + "@esotericsoftware/spine-webgl": "4.1.43" } } \ No newline at end of file diff --git a/spine-ts/spine-threejs/package.json b/spine-ts/spine-threejs/package.json index adb89d923..e5d573e6a 100644 --- a/spine-ts/spine-threejs/package.json +++ b/spine-ts/spine-threejs/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-threejs", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } } \ No newline at end of file diff --git a/spine-ts/spine-webgl/package.json b/spine-ts/spine-webgl/package.json index 3e0e97e9c..907958a13 100644 --- a/spine-ts/spine-webgl/package.json +++ b/spine-ts/spine-webgl/package.json @@ -1,6 +1,6 @@ { "name": "@esotericsoftware/spine-webgl", - "version": "4.1.42", + "version": "4.1.43", "description": "The official Spine Runtimes for the web.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", "dependencies": { - "@esotericsoftware/spine-core": "4.1.42" + "@esotericsoftware/spine-core": "4.1.43" } } \ No newline at end of file