@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":"TextureAtlas.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.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 { TextureFilter, TextureWrap, TextureRegion } from \"./Texture.js\";\nimport { Utils } from \"./Utils.js\";\nexport class TextureAtlas {\n pages = new Array();\n regions = new Array();\n constructor(atlasText) {\n let reader = new TextureAtlasReader(atlasText);\n let entry = new Array(4);\n let pageFields = {};\n pageFields[\"size\"] = (page) => {\n page.width = parseInt(entry[1]);\n page.height = parseInt(entry[2]);\n };\n pageFields[\"format\"] = () => {\n // page.format = Format[tuple[0]]; we don't need format in WebGL\n };\n pageFields[\"filter\"] = (page) => {\n page.minFilter = Utils.enumValue(TextureFilter, entry[1]);\n page.magFilter = Utils.enumValue(TextureFilter, entry[2]);\n };\n pageFields[\"repeat\"] = (page) => {\n if (entry[1].indexOf('x') != -1)\n page.uWrap = TextureWrap.Repeat;\n if (entry[1].indexOf('y') != -1)\n page.vWrap = TextureWrap.Repeat;\n };\n pageFields[\"pma\"] = (page) => {\n page.pma = entry[1] == \"true\";\n };\n var regionFields = {};\n regionFields[\"xy\"] = (region) => {\n region.x = parseInt(entry[1]);\n region.y = parseInt(entry[2]);\n };\n regionFields[\"size\"] = (region) => {\n region.width = parseInt(entry[1]);\n region.height = parseInt(entry[2]);\n };\n regionFields[\"bounds\"] = (region) => {\n region.x = parseInt(entry[1]);\n region.y = parseInt(entry[2]);\n region.width = parseInt(entry[3]);\n region.height = parseInt(entry[4]);\n };\n regionFields[\"offset\"] = (region) => {\n region.offsetX = parseInt(entry[1]);\n region.offsetY = parseInt(entry[2]);\n };\n regionFields[\"orig\"] = (region) => {\n region.originalWidth = parseInt(entry[1]);\n region.originalHeight = parseInt(entry[2]);\n };\n regionFields[\"offsets\"] = (region) => {\n region.offsetX = parseInt(entry[1]);\n region.offsetY = parseInt(entry[2]);\n region.originalWidth = parseInt(entry[3]);\n region.originalHeight = parseInt(entry[4]);\n };\n regionFields[\"rotate\"] = (region) => {\n let value = entry[1];\n if (value == \"true\")\n region.degrees = 90;\n else if (value != \"false\")\n region.degrees = parseInt(value);\n };\n regionFields[\"index\"] = (region) => {\n region.index = parseInt(entry[1]);\n };\n let line = reader.readLine();\n // Ignore empty lines before first entry.\n while (line && line.trim().length == 0)\n line = reader.readLine();\n // Header entries.\n while (true) {\n if (!line || line.trim().length == 0)\n break;\n if (reader.readEntry(entry, line) == 0)\n break; // Silently ignore all header fields.\n line = reader.readLine();\n }\n // Page and region entries.\n let page = null;\n let names = null;\n let values = null;\n while (true) {\n if (line === null)\n break;\n if (line.trim().length == 0) {\n page = null;\n line = reader.readLine();\n }\n else if (!page) {\n page = new TextureAtlasPage(line.trim());\n while (true) {\n if (reader.readEntry(entry, line = reader.readLine()) == 0)\n break;\n let field = pageFields[entry[0]];\n if (field)\n field(page);\n }\n this.pages.push(page);\n }\n else {\n let region = new TextureAtlasRegion(page, line);\n while (true) {\n let count = reader.readEntry(entry, line = reader.readLine());\n if (count == 0)\n break;\n let field = regionFields[entry[0]];\n if (field)\n field(region);\n else {\n if (!names)\n names = [];\n if (!values)\n values = [];\n names.push(entry[0]);\n let entryValues = [];\n for (let i = 0; i < count; i++)\n entryValues.push(parseInt(entry[i + 1]));\n values.push(entryValues);\n }\n }\n if (region.originalWidth == 0 && region.originalHeight == 0) {\n region.originalWidth = region.width;\n region.originalHeight = region.height;\n }\n if (names && names.length > 0 && values && values.length > 0) {\n region.names = names;\n region.values = values;\n names = null;\n values = null;\n }\n region.u = region.x / page.width;\n region.v = region.y / page.height;\n if (region.degrees == 90) {\n region.u2 = (region.x + region.height) / page.width;\n region.v2 = (region.y + region.width) / page.height;\n }\n else {\n region.u2 = (region.x + region.width) / page.width;\n region.v2 = (region.y + region.height) / page.height;\n }\n this.regions.push(region);\n }\n }\n }\n findRegion(name) {\n for (let i = 0; i < this.regions.length; i++) {\n if (this.regions[i].name == name) {\n return this.regions[i];\n }\n }\n return null;\n }\n setTextures(assetManager, pathPrefix = \"\") {\n for (let page of this.pages)\n page.setTexture(assetManager.get(pathPrefix + page.name));\n }\n dispose() {\n for (let i = 0; i < this.pages.length; i++) {\n this.pages[i].texture?.dispose();\n }\n }\n}\nclass TextureAtlasReader {\n lines;\n index = 0;\n constructor(text) {\n this.lines = text.split(/\\r\\n|\\r|\\n/);\n }\n readLine() {\n if (this.index >= this.lines.length)\n return null;\n return this.lines[this.index++];\n }\n readEntry(entry, line) {\n if (!line)\n return 0;\n line = line.trim();\n if (line.length == 0)\n return 0;\n let colon = line.indexOf(':');\n if (colon == -1)\n return 0;\n entry[0] = line.substr(0, colon).trim();\n for (let i = 1, lastMatch = colon + 1;; i++) {\n let comma = line.indexOf(',', lastMatch);\n if (comma == -1) {\n entry[i] = line.substr(lastMatch).trim();\n return i;\n }\n entry[i] = line.substr(lastMatch, comma - lastMatch).trim();\n lastMatch = comma + 1;\n if (i == 4)\n return 4;\n }\n }\n}\nexport class TextureAtlasPage {\n name;\n minFilter = TextureFilter.Nearest;\n magFilter = TextureFilter.Nearest;\n uWrap = TextureWrap.ClampToEdge;\n vWrap = TextureWrap.ClampToEdge;\n texture = null;\n width = 0;\n height = 0;\n pma = false;\n regions = new Array();\n constructor(name) {\n this.name = name;\n }\n setTexture(texture) {\n this.texture = texture;\n texture.setFilters(this.minFilter, this.magFilter);\n texture.setWraps(this.uWrap, this.vWrap);\n for (let region of this.regions)\n region.texture = texture;\n }\n}\nexport class TextureAtlasRegion extends TextureRegion {\n page;\n name;\n x = 0;\n y = 0;\n offsetX = 0;\n offsetY = 0;\n originalWidth = 0;\n originalHeight = 0;\n index = 0;\n degrees = 0;\n names = null;\n values = null;\n constructor(page, name) {\n super();\n this.page = page;\n this.name = name;\n page.regions.push(this);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dHVyZUF0bGFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1RleHR1cmVBdGxhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQVcsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxLQUFLLEVBQWEsTUFBTSxZQUFZLENBQUM7QUFFMUQsTUFBTSxPQUFPLFlBQVk7SUFDeEIsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFvQixDQUFDO0lBQ3RDLE9BQU8sR0FBRyxJQUFJLEtBQUssRUFBc0IsQ0FBQztJQUUxQyxZQUFhLFNBQWlCO1FBQzdCLElBQUksTUFBTSxHQUFHLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxVQUFVLEdBQWdELEVBQUUsQ0FBQztRQUNqRSxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEVBQUU7WUFDL0MsSUFBSyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDO1FBQ0YsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsRUFBRTtZQUMzQixnRUFBZ0U7UUFDakUsQ0FBQyxDQUFDO1FBQ0YsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO1lBQ2pELElBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7UUFDRixVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEVBQUU7WUFDakQsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFBRSxJQUFLLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDbEUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFBRSxJQUFLLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDbkUsQ0FBQyxDQUFDO1FBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO1lBQzlDLElBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNoQyxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksR0FBb0QsRUFBRSxDQUFDO1FBQ3ZFLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtZQUNuRCxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7UUFDRixZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUEwQixFQUFFLEVBQUU7WUFDckQsTUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBMEIsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQUNGLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtZQUN2RCxNQUFNLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7UUFDRixZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUEwQixFQUFFLEVBQUU7WUFDckQsTUFBTSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBMEIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFD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QUFDLFdBQVcsQ0FBQztJQUM3QyxLQUFLLEdBQWdCLFdBQVcsQ0FBQyxXQUFXLENBQUM7SUFDN0MsT0FBTyxHQUFtQixJQUFJLENBQUM7SUFDL0IsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixNQUFNLEdBQVcsQ0FBQyxDQUFDO0lBQ25CLEdBQUcsR0FBWSxLQUFLLENBQUM7SUFDckIsT0FBTyxHQUFHLElBQUksS0FBSyxFQUFzQixDQUFDO0lBRTFDLFlBQWEsSUFBWTtRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVSxDQUFFLE9BQWdCO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQzlCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDRDtBQUVELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBQ3BELElBQUksQ0FBbUI7SUFDdkIsSUFBSSxDQUFTO0lBQ2IsQ0FBQyxHQUFXLENBQUMsQ0FBQztJQUNkLENBQUMsR0FBVyxDQUFDLENBQUM7SUFDZCxPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsYUFBYSxHQUFXLENBQUMsQ0FBQztJQUMxQixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBQzNCLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixLQUFLLEdBQW9CLElBQUksQ0FBQztJQUM5QixNQUFNLEdBQXNCLElBQUksQ0FBQztJQUVqQyxZQUFhLElBQXNCLEVBQUUsSUFBWTtRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRCJ9"],"names":["TextureAtlas","pages","Array","regions","constructor","atlasText","reader","TextureAtlasReader","entry","pageFields","page","width","parseInt","height","minFilter","Utils","enumValue","TextureFilter","magFilter","indexOf","uWrap","TextureWrap","Repeat","vWrap","pma","regionFields","region","x","y","offsetX","offsetY","originalWidth","originalHeight","value","degrees","index","line","readLine","trim","length","readEntry","names","values","TextureAtlasRegion","count","field","push","entryValues","i","u","v","u2","v2","this","TextureAtlasPage","findRegion","name","setTextures","assetManager","pathPrefix","setTexture","get","dispose","texture","lines","text","split","colon","substr","lastMatch","comma","Nearest","ClampToEdge","setFilters","setWraps","TextureRegion","super"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Vector2 as t,MathUtils as a}from"./Utils.js";class e{data;bones;target;mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;temp=new t;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 i=a.findBone(t.bones[e].name);if(!i)throw new Error(`Couldn't find bone ${t.bones[e].name}.`);this.bones.push(i)}let e=a.findBone(t.target.name);if(!e)throw new Error(`Couldn't find target bone ${t.target.name}.`);this.target=e,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}isActive(){return this.active}setToSetupPose(){const t=this.data;this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}update(t){0==this.mixRotate&&0==this.mixX&&0==this.mixY&&0==this.mixScaleX&&0==this.mixScaleY&&0==this.mixShearY||(this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld())}applyAbsoluteWorld(){let t=this.mixRotate,e=this.mixX,i=this.mixY,s=this.mixScaleX,h=this.mixScaleY,l=this.mixShearY,o=0!=e||0!=i,r=this.target,d=r.a,f=r.b,m=r.c,n=r.d,c=d*n-f*m>0?a.degRad:-a.degRad,x=this.data.offsetRotation*c,Y=this.data.offsetShearY*c,S=this.bones;for(let c=0,X=S.length;c<X;c++){let X=S[c];if(0!=t){let e=X.a,i=X.b,s=X.c,h=X.d,l=Math.atan2(m,d)-Math.atan2(s,e)+x;l>a.PI?l-=a.PI2:l<-a.PI&&(l+=a.PI2),l*=t;let o=Math.cos(l),r=Math.sin(l);X.a=o*e-r*s,X.b=o*i-r*h,X.c=r*e+o*s,X.d=r*i+o*h}if(o){let t=this.temp;r.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),X.worldX+=(t.x-X.worldX)*e,X.worldY+=(t.y-X.worldY)*i}if(0!=s){let t=Math.sqrt(X.a*X.a+X.c*X.c);0!=t&&(t=(t+(Math.sqrt(d*d+m*m)-t+this.data.offsetScaleX)*s)/t),X.a*=t,X.c*=t}if(0!=h){let t=Math.sqrt(X.b*X.b+X.d*X.d);0!=t&&(t=(t+(Math.sqrt(f*f+n*n)-t+this.data.offsetScaleY)*h)/t),X.b*=t,X.d*=t}if(l>0){let t=X.b,e=X.d,i=Math.atan2(e,t),s=Math.atan2(n,f)-Math.atan2(m,d)-(i-Math.atan2(X.c,X.a));s>a.PI?s-=a.PI2:s<-a.PI&&(s+=a.PI2),s=i+(s+Y)*l;let h=Math.sqrt(t*t+e*e);X.b=Math.cos(s)*h,X.d=Math.sin(s)*h}X.updateAppliedTransform()}}applyRelativeWorld(){let t=this.mixRotate,e=this.mixX,i=this.mixY,s=this.mixScaleX,h=this.mixScaleY,l=this.mixShearY,o=0!=e||0!=i,r=this.target,d=r.a,f=r.b,m=r.c,n=r.d,c=d*n-f*m>0?a.degRad:-a.degRad,x=this.data.offsetRotation*c,Y=this.data.offsetShearY*c,S=this.bones;for(let c=0,X=S.length;c<X;c++){let X=S[c];if(0!=t){let e=X.a,i=X.b,s=X.c,h=X.d,l=Math.atan2(m,d)+x;l>a.PI?l-=a.PI2:l<-a.PI&&(l+=a.PI2),l*=t;let o=Math.cos(l),r=Math.sin(l);X.a=o*e-r*s,X.b=o*i-r*h,X.c=r*e+o*s,X.d=r*i+o*h}if(o){let t=this.temp;r.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),X.worldX+=t.x*e,X.worldY+=t.y*i}if(0!=s){let t=(Math.sqrt(d*d+m*m)-1+this.data.offsetScaleX)*s+1;X.a*=t,X.c*=t}if(0!=h){let t=(Math.sqrt(f*f+n*n)-1+this.data.offsetScaleY)*h+1;X.b*=t,X.d*=t}if(l>0){let t=Math.atan2(n,f)-Math.atan2(m,d);t>a.PI?t-=a.PI2:t<-a.PI&&(t+=a.PI2);let e=X.b,i=X.d;t=Math.atan2(i,e)+(t-a.PI/2+Y)*l;let s=Math.sqrt(e*e+i*i);X.b=Math.cos(t)*s,X.d=Math.sin(t)*s}X.updateAppliedTransform()}}applyAbsoluteLocal(){let t=this.mixRotate,a=this.mixX,e=this.mixY,i=this.mixScaleX,s=this.mixScaleY,h=this.mixShearY,l=this.target,o=this.bones;for(let r=0,d=o.length;r<d;r++){let d=o[r],f=d.arotation;0!=t&&(f+=(l.arotation-f+this.data.offsetRotation)*t);let m=d.ax,n=d.ay;m+=(l.ax-m+this.data.offsetX)*a,n+=(l.ay-n+this.data.offsetY)*e;let c=d.ascaleX,x=d.ascaleY;0!=i&&0!=c&&(c=(c+(l.ascaleX-c+this.data.offsetScaleX)*i)/c),0!=s&&0!=x&&(x=(x+(l.ascaleY-x+this.data.offsetScaleY)*s)/x);let Y=d.ashearY;0!=h&&(Y+=(l.ashearY-Y+this.data.offsetShearY)*h),d.updateWorldTransformWith(m,n,f,c,x,d.ashearX,Y)}}applyRelativeLocal(){let t=this.mixRotate,a=this.mixX,e=this.mixY,i=this.mixScaleX,s=this.mixScaleY,h=this.mixShearY,l=this.target,o=this.bones;for(let r=0,d=o.length;r<d;r++){let d=o[r],f=d.arotation+(l.arotation+this.data.offsetRotation)*t,m=d.ax+(l.ax+this.data.offsetX)*a,n=d.ay+(l.ay+this.data.offsetY)*e,c=d.ascaleX*((l.ascaleX-1+this.data.offsetScaleX)*i+1),x=d.ascaleY*((l.ascaleY-1+this.data.offsetScaleY)*s+1),Y=d.ashearY+(l.ashearY+this.data.offsetShearY)*h;d.updateWorldTransformWith(m,n,f,c,x,d.ashearX,Y)}}}export{e as TransformConstraint};
|
|
2
|
-
//# sourceMappingURL=TransformConstraint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransformConstraint.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.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 { Vector2, MathUtils } from \"./Utils.js\";\n/** Stores the current pose for a transform constraint. A transform constraint adjusts the world transform of the constrained\n * bones to match that of the target bone.\n *\n * See [Transform constraints](http://esotericsoftware.com/spine-transform-constraints) in the Spine User Guide. */\nexport class TransformConstraint {\n /** The transform constraint's setup pose data. */\n data;\n /** The bones that will be modified by this transform constraint. */\n bones;\n /** The target bone whose world transform will be copied to the constrained bones. */\n target;\n mixRotate = 0;\n mixX = 0;\n mixY = 0;\n mixScaleX = 0;\n mixScaleY = 0;\n mixShearY = 0;\n temp = new Vector2();\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 target bone ${data.target.name}.`);\n this.target = target;\n this.mixRotate = data.mixRotate;\n this.mixX = data.mixX;\n this.mixY = data.mixY;\n this.mixScaleX = data.mixScaleX;\n this.mixScaleY = data.mixScaleY;\n this.mixShearY = data.mixShearY;\n }\n isActive() {\n return this.active;\n }\n setToSetupPose() {\n const data = this.data;\n this.mixRotate = data.mixRotate;\n this.mixX = data.mixX;\n this.mixY = data.mixY;\n this.mixScaleX = data.mixScaleX;\n this.mixScaleY = data.mixScaleY;\n this.mixShearY = data.mixShearY;\n }\n update(physics) {\n if (this.mixRotate == 0 && this.mixX == 0 && this.mixY == 0 && this.mixScaleX == 0 && this.mixScaleY == 0 && this.mixShearY == 0)\n return;\n if (this.data.local) {\n if (this.data.relative)\n this.applyRelativeLocal();\n else\n this.applyAbsoluteLocal();\n }\n else {\n if (this.data.relative)\n this.applyRelativeWorld();\n else\n this.applyAbsoluteWorld();\n }\n }\n applyAbsoluteWorld() {\n let mixRotate = this.mixRotate, mixX = this.mixX, mixY = this.mixY, mixScaleX = this.mixScaleX, mixScaleY = this.mixScaleY, mixShearY = this.mixShearY;\n let translate = mixX != 0 || mixY != 0;\n let target = this.target;\n let ta = target.a, tb = target.b, tc = target.c, td = target.d;\n let degRadReflect = ta * td - tb * tc > 0 ? MathUtils.degRad : -MathUtils.degRad;\n let offsetRotation = this.data.offsetRotation * degRadReflect;\n let offsetShearY = this.data.offsetShearY * degRadReflect;\n let bones = this.bones;\n for (let i = 0, n = bones.length; i < n; i++) {\n let bone = bones[i];\n if (mixRotate != 0) {\n let a = bone.a, b = bone.b, c = bone.c, d = bone.d;\n let r = Math.atan2(tc, ta) - Math.atan2(c, a) + offsetRotation;\n if (r > MathUtils.PI)\n r -= MathUtils.PI2;\n else if (r < -MathUtils.PI) //\n r += MathUtils.PI2;\n r *= mixRotate;\n let cos = Math.cos(r), 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 if (translate) {\n let temp = this.temp;\n target.localToWorld(temp.set(this.data.offsetX, this.data.offsetY));\n bone.worldX += (temp.x - bone.worldX) * mixX;\n bone.worldY += (temp.y - bone.worldY) * mixY;\n }\n if (mixScaleX != 0) {\n let s = Math.sqrt(bone.a * bone.a + bone.c * bone.c);\n if (s != 0)\n s = (s + (Math.sqrt(ta * ta + tc * tc) - s + this.data.offsetScaleX) * mixScaleX) / s;\n bone.a *= s;\n bone.c *= s;\n }\n if (mixScaleY != 0) {\n let s = Math.sqrt(bone.b * bone.b + bone.d * bone.d);\n if (s != 0)\n s = (s + (Math.sqrt(tb * tb + td * td) - s + this.data.offsetScaleY) * mixScaleY) / s;\n bone.b *= s;\n bone.d *= s;\n }\n if (mixShearY > 0) {\n let b = bone.b, d = bone.d;\n let by = Math.atan2(d, b);\n let r = Math.atan2(td, tb) - Math.atan2(tc, ta) - (by - Math.atan2(bone.c, bone.a));\n if (r > MathUtils.PI)\n r -= MathUtils.PI2;\n else if (r < -MathUtils.PI) //\n r += MathUtils.PI2;\n r = by + (r + offsetShearY) * mixShearY;\n let s = Math.sqrt(b * b + d * d);\n bone.b = Math.cos(r) * s;\n bone.d = Math.sin(r) * s;\n }\n bone.updateAppliedTransform();\n }\n }\n applyRelativeWorld() {\n let mixRotate = this.mixRotate, mixX = this.mixX, mixY = this.mixY, mixScaleX = this.mixScaleX, mixScaleY = this.mixScaleY, mixShearY = this.mixShearY;\n let translate = mixX != 0 || mixY != 0;\n let target = this.target;\n let ta = target.a, tb = target.b, tc = target.c, td = target.d;\n let degRadReflect = ta * td - tb * tc > 0 ? MathUtils.degRad : -MathUtils.degRad;\n let offsetRotation = this.data.offsetRotation * degRadReflect, offsetShearY = this.data.offsetShearY * degRadReflect;\n let bones = this.bones;\n for (let i = 0, n = bones.length; i < n; i++) {\n let bone = bones[i];\n if (mixRotate != 0) {\n let a = bone.a, b = bone.b, c = bone.c, d = bone.d;\n let r = Math.atan2(tc, ta) + offsetRotation;\n if (r > MathUtils.PI)\n r -= MathUtils.PI2;\n else if (r < -MathUtils.PI) //\n r += MathUtils.PI2;\n r *= mixRotate;\n let cos = Math.cos(r), 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 if (translate) {\n let temp = this.temp;\n target.localToWorld(temp.set(this.data.offsetX, this.data.offsetY));\n bone.worldX += temp.x * mixX;\n bone.worldY += temp.y * mixY;\n }\n if (mixScaleX != 0) {\n let s = (Math.sqrt(ta * ta + tc * tc) - 1 + this.data.offsetScaleX) * mixScaleX + 1;\n bone.a *= s;\n bone.c *= s;\n }\n if (mixScaleY != 0) {\n let s = (Math.sqrt(tb * tb + td * td) - 1 + this.data.offsetScaleY) * mixScaleY + 1;\n bone.b *= s;\n bone.d *= s;\n }\n if (mixShearY > 0) {\n let r = Math.atan2(td, tb) - Math.atan2(tc, ta);\n if (r > MathUtils.PI)\n r -= MathUtils.PI2;\n else if (r < -MathUtils.PI) //\n r += MathUtils.PI2;\n let b = bone.b, d = bone.d;\n r = Math.atan2(d, b) + (r - MathUtils.PI / 2 + offsetShearY) * mixShearY;\n let s = Math.sqrt(b * b + d * d);\n bone.b = Math.cos(r) * s;\n bone.d = Math.sin(r) * s;\n }\n bone.updateAppliedTransform();\n }\n }\n applyAbsoluteLocal() {\n let mixRotate = this.mixRotate, mixX = this.mixX, mixY = this.mixY, mixScaleX = this.mixScaleX, mixScaleY = this.mixScaleY, mixShearY = this.mixShearY;\n let target = this.target;\n let bones = this.bones;\n for (let i = 0, n = bones.length; i < n; i++) {\n let bone = bones[i];\n let rotation = bone.arotation;\n if (mixRotate != 0)\n rotation += (target.arotation - rotation + this.data.offsetRotation) * mixRotate;\n let x = bone.ax, y = bone.ay;\n x += (target.ax - x + this.data.offsetX) * mixX;\n y += (target.ay - y + this.data.offsetY) * mixY;\n let scaleX = bone.ascaleX, scaleY = bone.ascaleY;\n if (mixScaleX != 0 && scaleX != 0)\n scaleX = (scaleX + (target.ascaleX - scaleX + this.data.offsetScaleX) * mixScaleX) / scaleX;\n if (mixScaleY != 0 && scaleY != 0)\n scaleY = (scaleY + (target.ascaleY - scaleY + this.data.offsetScaleY) * mixScaleY) / scaleY;\n let shearY = bone.ashearY;\n if (mixShearY != 0)\n shearY += (target.ashearY - shearY + this.data.offsetShearY) * mixShearY;\n bone.updateWorldTransformWith(x, y, rotation, scaleX, scaleY, bone.ashearX, shearY);\n }\n }\n applyRelativeLocal() {\n let mixRotate = this.mixRotate, mixX = this.mixX, mixY = this.mixY, mixScaleX = this.mixScaleX, mixScaleY = this.mixScaleY, mixShearY = this.mixShearY;\n let target = this.target;\n let bones = this.bones;\n for (let i = 0, n = bones.length; i < n; i++) {\n let bone = bones[i];\n let rotation = bone.arotation + (target.arotation + this.data.offsetRotation) * mixRotate;\n let x = bone.ax + (target.ax + this.data.offsetX) * mixX;\n let y = bone.ay + (target.ay + this.data.offsetY) * mixY;\n let scaleX = bone.ascaleX * (((target.ascaleX - 1 + this.data.offsetScaleX) * mixScaleX) + 1);\n let scaleY = bone.ascaleY * (((target.ascaleY - 1 + this.data.offsetScaleY) * mixScaleY) + 1);\n let shearY = bone.ashearY + (target.ashearY + this.data.offsetShearY) * mixShearY;\n bone.updateWorldTransformWith(x, y, rotation, scaleX, scaleY, bone.ashearX, shearY);\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNmb3JtQ29uc3RyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UcmFuc2Zvcm1Db25zdHJhaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQU0vRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUdoRDs7O21IQUdtSDtBQUNuSCxNQUFNLE9BQU8sbUJBQW1CO0lBRS9CLGtEQUFrRDtJQUNsRCxJQUFJLENBQTBCO0lBRTlCLG9FQUFvRTtJQUNwRSxLQUFLLENBQWM7SUFFbkIscUZBQXFGO0lBQ3JGLE1BQU0sQ0FBTztJQUViLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUUvRSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNyQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWYsWUFBYSxJQUE2QixFQUFFLFFBQWtCO1FBQzdELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLEdB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"],"names":["TransformConstraint","data","bones","target","mixRotate","mixX","mixY","mixScaleX","mixScaleY","mixShearY","temp","Vector2","active","constructor","skeleton","Error","this","Array","i","length","bone","findBone","name","push","isActive","setToSetupPose","update","physics","local","relative","applyRelativeLocal","applyAbsoluteLocal","applyRelativeWorld","applyAbsoluteWorld","translate","ta","a","tb","b","tc","c","td","d","degRadReflect","MathUtils","degRad","offsetRotation","offsetShearY","n","r","Math","atan2","PI","PI2","cos","sin","localToWorld","set","offsetX","offsetY","worldX","x","worldY","y","s","sqrt","offsetScaleX","offsetScaleY","by","updateAppliedTransform","rotation","arotation","ax","ay","scaleX","ascaleX","scaleY","ascaleY","shearY","ashearY","updateWorldTransformWith","ashearX"],"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("BoneData not set.")}mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;offsetRotation=0;offsetX=0;offsetY=0;offsetScaleX=0;offsetScaleY=0;offsetShearY=0;relative=!1;local=!1;constructor(t){super(t,0,!1)}}export{e as TransformConstraintData};
|
|
2
|
-
//# sourceMappingURL=TransformConstraintData.js.map
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransformConstraintData.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.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 TransformConstraint}.\n *\n * See [Transform constraints](http://esotericsoftware.com/spine-transform-constraints) in the Spine User Guide. */\nexport class TransformConstraintData extends ConstraintData {\n /** The bones that will be modified by this transform constraint. */\n bones = new Array();\n /** The target bone whose world transform will be copied to the constrained bones. */\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 mixRotate = 0;\n mixX = 0;\n mixY = 0;\n mixScaleX = 0;\n mixScaleY = 0;\n mixShearY = 0;\n /** An offset added to the constrained bone rotation. */\n offsetRotation = 0;\n /** An offset added to the constrained bone X translation. */\n offsetX = 0;\n /** An offset added to the constrained bone Y translation. */\n offsetY = 0;\n /** An offset added to the constrained bone scaleX. */\n offsetScaleX = 0;\n /** An offset added to the constrained bone scaleY. */\n offsetScaleY = 0;\n /** An offset added to the constrained bone shearY. */\n offsetShearY = 0;\n relative = false;\n local = false;\n constructor(name) {\n super(name, 0, false);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNmb3JtQ29uc3RyYWludERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVHJhbnNmb3JtQ29uc3RyYWludERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRDs7bUhBRW1IO0FBQ25ILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBRTFELG9FQUFvRTtJQUNwRSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVksQ0FBQztJQUU5QixxRkFBcUY7SUFDN0UsT0FBTyxHQUFvQixJQUFJLENBQUM7SUFDeEMsSUFBVyxNQUFNLENBQUUsUUFBa0IsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBVyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQTs7WUFDbEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFZCx3REFBd0Q7SUFDeEQsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUVuQiw2REFBNkQ7SUFDN0QsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVaLDZEQUE2RDtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBRVosc0RBQXNEO0lBQ3RELFlBQVksR0FBRyxDQUFDLENBQUM7SUFFakIsc0RBQXNEO0lBQ3RELFlBQVksR0FBRyxDQUFDLENBQUM7SUFFakIsc0RBQXNEO0lBQ3RELFlBQVksR0FBRyxDQUFDLENBQUM7SUFFakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBYSxJQUFZO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRCJ9"],"names":["TransformConstraintData","ConstraintData","bones","Array","_target","target","boneData","this","Error","mixRotate","mixX","mixY","mixScaleX","mixScaleY","mixShearY","offsetRotation","offsetX","offsetY","offsetScaleX","offsetScaleY","offsetShearY","relative","local","constructor","name","super"],"mappings":"qDAgCO,MAAMA,UAAgCC,EAEzCC,MAAQ,IAAIC,MAEZC,QAAU,KACV,UAAIC,CAAOC,GAAYC,KAAKH,QAAUE,CAAW,CACjD,UAAID,GACA,GAAKE,KAAKH,QAGN,OAAOG,KAAKH,QAFZ,MAAM,IAAII,MAAM,oBAGvB,CACDC,UAAY,EACZC,KAAO,EACPC,KAAO,EACPC,UAAY,EACZC,UAAY,EACZC,UAAY,EAEZC,eAAiB,EAEjBC,QAAU,EAEVC,QAAU,EAEVC,aAAe,EAEfC,aAAe,EAEfC,aAAe,EACfC,UAAW,EACXC,OAAQ,EACR,WAAAC,CAAYC,GACRC,MAAMD,EAAM,GAAG,EAClB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Pool as e}from"./Utils.js";class n{convexPolygons=new Array;convexPolygonsIndices=new Array;indicesArray=new Array;isConcaveArray=new Array;triangles=new Array;polygonPool=new e((()=>new Array));polygonIndicesPool=new e((()=>new Array));triangulate(e){let t=e,l=e.length>>1,o=this.indicesArray;o.length=0;for(let e=0;e<l;e++)o[e]=e;let i=this.isConcaveArray;i.length=0;for(let e=0,s=l;e<s;++e)i[e]=n.isConcave(e,l,t,o);let s=this.triangles;for(s.length=0;l>3;){let e=l-1,h=0,r=1;for(;;){e:if(!i[h]){let s=o[e]<<1,g=o[h]<<1,p=o[r]<<1,a=t[s],u=t[s+1],c=t[g],y=t[g+1],f=t[p],d=t[p+1];for(let s=(r+1)%l;s!=e;s=(s+1)%l){if(!i[s])continue;let e=o[s]<<1,l=t[e],h=t[e+1];if(n.positiveArea(f,d,a,u,l,h)&&n.positiveArea(a,u,c,y,l,h)&&n.positiveArea(c,y,f,d,l,h))break e}break}if(0==r){do{if(!i[h])break;h--}while(h>0);break}e=h,h=r,r=(r+1)%l}s.push(o[(l+h-1)%l]),s.push(o[h]),s.push(o[(h+1)%l]),o.splice(h,1),i.splice(h,1),l--;let g=(l+h-1)%l,p=h==l?0:h;i[g]=n.isConcave(g,l,t,o),i[p]=n.isConcave(p,l,t,o)}return 3==l&&(s.push(o[2]),s.push(o[0]),s.push(o[1])),s}decompose(e,t){let l=e,o=this.convexPolygons;this.polygonPool.freeAll(o),o.length=0;let i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;let s=this.polygonIndicesPool.obtain();s.length=0;let h=this.polygonPool.obtain();h.length=0;let r=-1,g=0;for(let e=0,p=t.length;e<p;e+=3){let p=t[e]<<1,a=t[e+1]<<1,u=t[e+2]<<1,c=l[p],y=l[p+1],f=l[a],d=l[a+1],A=l[u],w=l[u+1],P=!1;if(r==p){let e=h.length-4,t=n.winding(h[e],h[e+1],h[e+2],h[e+3],A,w),l=n.winding(A,w,h[0],h[1],h[2],h[3]);t==g&&l==g&&(h.push(A),h.push(w),s.push(u),P=!0)}P||(h.length>0?(o.push(h),i.push(s)):(this.polygonPool.free(h),this.polygonIndicesPool.free(s)),h=this.polygonPool.obtain(),h.length=0,h.push(c),h.push(y),h.push(f),h.push(d),h.push(A),h.push(w),s=this.polygonIndicesPool.obtain(),s.length=0,s.push(p),s.push(a),s.push(u),g=n.winding(c,y,f,d,A,w),r=p)}h.length>0&&(o.push(h),i.push(s));for(let e=0,t=o.length;e<t;e++){if(s=i[e],0==s.length)continue;let l=s[0],r=s[s.length-1];h=o[e];let g=h.length-4,p=h[g],a=h[g+1],u=h[g+2],c=h[g+3],y=h[0],f=h[1],d=h[2],A=h[3],w=n.winding(p,a,u,c,y,f);for(let g=0;g<t;g++){if(g==e)continue;let t=i[g];if(3!=t.length)continue;let P=t[0],v=t[1],b=t[2],I=o[g],C=I[I.length-2],x=I[I.length-1];if(P!=l||v!=r)continue;let k=n.winding(p,a,u,c,C,x),m=n.winding(C,x,y,f,d,A);k==w&&m==w&&(I.length=0,t.length=0,h.push(C),h.push(x),s.push(b),p=u,a=c,u=C,c=x,g=0)}}for(let e=o.length-1;e>=0;e--)h=o[e],0==h.length&&(o.splice(e,1),this.polygonPool.free(h),s=i[e],i.splice(e,1),this.polygonIndicesPool.free(s));return o}static isConcave(e,n,t,l){let o=l[(n+e-1)%n]<<1,i=l[e]<<1,s=l[(e+1)%n]<<1;return!this.positiveArea(t[o],t[o+1],t[i],t[i+1],t[s],t[s+1])}static positiveArea(e,n,t,l,o,i){return e*(i-l)+t*(n-i)+o*(l-n)>=0}static winding(e,n,t,l,o,i){let s=t-e,h=l-n;return o*h-i*s+s*n-e*h>=0?1:-1}}export{n as Triangulator};
|
|
2
|
-
//# sourceMappingURL=Triangulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Triangulator.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/Triangulator.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 { Pool } from \"./Utils.js\";\nexport class Triangulator {\n convexPolygons = new Array();\n convexPolygonsIndices = new Array();\n indicesArray = new Array();\n isConcaveArray = new Array();\n triangles = new Array();\n polygonPool = new Pool(() => {\n return new Array();\n });\n polygonIndicesPool = new Pool(() => {\n return new Array();\n });\n triangulate(verticesArray) {\n let vertices = verticesArray;\n let vertexCount = verticesArray.length >> 1;\n let indices = this.indicesArray;\n indices.length = 0;\n for (let i = 0; i < vertexCount; i++)\n indices[i] = i;\n let isConcave = this.isConcaveArray;\n isConcave.length = 0;\n for (let i = 0, n = vertexCount; i < n; ++i)\n isConcave[i] = Triangulator.isConcave(i, vertexCount, vertices, indices);\n let triangles = this.triangles;\n triangles.length = 0;\n while (vertexCount > 3) {\n // Find ear tip.\n let previous = vertexCount - 1, i = 0, next = 1;\n while (true) {\n outer: if (!isConcave[i]) {\n let p1 = indices[previous] << 1, p2 = indices[i] << 1, p3 = indices[next] << 1;\n let p1x = vertices[p1], p1y = vertices[p1 + 1];\n let p2x = vertices[p2], p2y = vertices[p2 + 1];\n let p3x = vertices[p3], p3y = vertices[p3 + 1];\n for (let ii = (next + 1) % vertexCount; ii != previous; ii = (ii + 1) % vertexCount) {\n if (!isConcave[ii])\n continue;\n let v = indices[ii] << 1;\n let vx = vertices[v], vy = vertices[v + 1];\n if (Triangulator.positiveArea(p3x, p3y, p1x, p1y, vx, vy)) {\n if (Triangulator.positiveArea(p1x, p1y, p2x, p2y, vx, vy)) {\n if (Triangulator.positiveArea(p2x, p2y, p3x, p3y, vx, vy))\n break outer;\n }\n }\n }\n break;\n }\n if (next == 0) {\n do {\n if (!isConcave[i])\n break;\n i--;\n } while (i > 0);\n break;\n }\n previous = i;\n i = next;\n next = (next + 1) % vertexCount;\n }\n // Cut ear tip.\n triangles.push(indices[(vertexCount + i - 1) % vertexCount]);\n triangles.push(indices[i]);\n triangles.push(indices[(i + 1) % vertexCount]);\n indices.splice(i, 1);\n isConcave.splice(i, 1);\n vertexCount--;\n let previousIndex = (vertexCount + i - 1) % vertexCount;\n let nextIndex = i == vertexCount ? 0 : i;\n isConcave[previousIndex] = Triangulator.isConcave(previousIndex, vertexCount, vertices, indices);\n isConcave[nextIndex] = Triangulator.isConcave(nextIndex, vertexCount, vertices, indices);\n }\n if (vertexCount == 3) {\n triangles.push(indices[2]);\n triangles.push(indices[0]);\n triangles.push(indices[1]);\n }\n return triangles;\n }\n decompose(verticesArray, triangles) {\n let vertices = verticesArray;\n let convexPolygons = this.convexPolygons;\n this.polygonPool.freeAll(convexPolygons);\n convexPolygons.length = 0;\n let convexPolygonsIndices = this.convexPolygonsIndices;\n this.polygonIndicesPool.freeAll(convexPolygonsIndices);\n convexPolygonsIndices.length = 0;\n let polygonIndices = this.polygonIndicesPool.obtain();\n polygonIndices.length = 0;\n let polygon = this.polygonPool.obtain();\n polygon.length = 0;\n // Merge subsequent triangles if they form a triangle fan.\n let fanBaseIndex = -1, lastWinding = 0;\n for (let i = 0, n = triangles.length; i < n; i += 3) {\n let t1 = triangles[i] << 1, t2 = triangles[i + 1] << 1, t3 = triangles[i + 2] << 1;\n let x1 = vertices[t1], y1 = vertices[t1 + 1];\n let x2 = vertices[t2], y2 = vertices[t2 + 1];\n let x3 = vertices[t3], y3 = vertices[t3 + 1];\n // If the base of the last triangle is the same as this triangle, check if they form a convex polygon (triangle fan).\n let merged = false;\n if (fanBaseIndex == t1) {\n let o = polygon.length - 4;\n let winding1 = Triangulator.winding(polygon[o], polygon[o + 1], polygon[o + 2], polygon[o + 3], x3, y3);\n let winding2 = Triangulator.winding(x3, y3, polygon[0], polygon[1], polygon[2], polygon[3]);\n if (winding1 == lastWinding && winding2 == lastWinding) {\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices.push(t3);\n merged = true;\n }\n }\n // Otherwise make this triangle the new base.\n if (!merged) {\n if (polygon.length > 0) {\n convexPolygons.push(polygon);\n convexPolygonsIndices.push(polygonIndices);\n }\n else {\n this.polygonPool.free(polygon);\n this.polygonIndicesPool.free(polygonIndices);\n }\n polygon = this.polygonPool.obtain();\n polygon.length = 0;\n polygon.push(x1);\n polygon.push(y1);\n polygon.push(x2);\n polygon.push(y2);\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices = this.polygonIndicesPool.obtain();\n polygonIndices.length = 0;\n polygonIndices.push(t1);\n polygonIndices.push(t2);\n polygonIndices.push(t3);\n lastWinding = Triangulator.winding(x1, y1, x2, y2, x3, y3);\n fanBaseIndex = t1;\n }\n }\n if (polygon.length > 0) {\n convexPolygons.push(polygon);\n convexPolygonsIndices.push(polygonIndices);\n }\n // Go through the list of polygons and try to merge the remaining triangles with the found triangle fans.\n for (let i = 0, n = convexPolygons.length; i < n; i++) {\n polygonIndices = convexPolygonsIndices[i];\n if (polygonIndices.length == 0)\n continue;\n let firstIndex = polygonIndices[0];\n let lastIndex = polygonIndices[polygonIndices.length - 1];\n polygon = convexPolygons[i];\n let o = polygon.length - 4;\n let prevPrevX = polygon[o], prevPrevY = polygon[o + 1];\n let prevX = polygon[o + 2], prevY = polygon[o + 3];\n let firstX = polygon[0], firstY = polygon[1];\n let secondX = polygon[2], secondY = polygon[3];\n let winding = Triangulator.winding(prevPrevX, prevPrevY, prevX, prevY, firstX, firstY);\n for (let ii = 0; ii < n; ii++) {\n if (ii == i)\n continue;\n let otherIndices = convexPolygonsIndices[ii];\n if (otherIndices.length != 3)\n continue;\n let otherFirstIndex = otherIndices[0];\n let otherSecondIndex = otherIndices[1];\n let otherLastIndex = otherIndices[2];\n let otherPoly = convexPolygons[ii];\n let x3 = otherPoly[otherPoly.length - 2], y3 = otherPoly[otherPoly.length - 1];\n if (otherFirstIndex != firstIndex || otherSecondIndex != lastIndex)\n continue;\n let winding1 = Triangulator.winding(prevPrevX, prevPrevY, prevX, prevY, x3, y3);\n let winding2 = Triangulator.winding(x3, y3, firstX, firstY, secondX, secondY);\n if (winding1 == winding && winding2 == winding) {\n otherPoly.length = 0;\n otherIndices.length = 0;\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices.push(otherLastIndex);\n prevPrevX = prevX;\n prevPrevY = prevY;\n prevX = x3;\n prevY = y3;\n ii = 0;\n }\n }\n }\n // Remove empty polygons that resulted from the merge step above.\n for (let i = convexPolygons.length - 1; i >= 0; i--) {\n polygon = convexPolygons[i];\n if (polygon.length == 0) {\n convexPolygons.splice(i, 1);\n this.polygonPool.free(polygon);\n polygonIndices = convexPolygonsIndices[i];\n convexPolygonsIndices.splice(i, 1);\n this.polygonIndicesPool.free(polygonIndices);\n }\n }\n return convexPolygons;\n }\n static isConcave(index, vertexCount, vertices, indices) {\n let previous = indices[(vertexCount + index - 1) % vertexCount] << 1;\n let current = indices[index] << 1;\n let next = indices[(index + 1) % vertexCount] << 1;\n return !this.positiveArea(vertices[previous], vertices[previous + 1], vertices[current], vertices[current + 1], vertices[next], vertices[next + 1]);\n }\n static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y) {\n return p1x * (p3y - p2y) + p2x * (p1y - p3y) + p3x * (p2y - p1y) >= 0;\n }\n static winding(p1x, p1y, p2x, p2y, p3x, p3y) {\n let px = p2x - p1x, py = p2y - p1y;\n return p3x * py - p3y * px + px * p1y - p1x * py >= 0 ? 1 : -1;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJpYW5ndWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1RyaWFuZ3VsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0UsT0FBTyxFQUFtQixJQUFJLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsTUFBTSxPQUFPLFlBQVk7SUFDaEIsY0FBYyxHQUFHLElBQUksS0FBSyxFQUFpQixDQUFDO0lBQzVDLHFCQUFxQixHQUFHLElBQUksS0FBSyxFQUFpQixDQUFDO0lBRW5ELFlBQVksR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQ25DLGNBQWMsR0FBRyxJQUFJLEtBQUssRUFBVyxDQUFDO0lBQ3RDLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBRWhDLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBZ0IsR0FBRyxFQUFFO1FBQ2xELE9BQU8sSUFBSSxLQUFLLEVBQVUsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztJQUVLLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFnQixHQUFHLEVBQUU7UUFDekQsT0FBTyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUksV0FBVyxDQUFFLGFBQThCO1FBQ2pELElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUM3QixJQUFJLFdBQVcsR0FBRyxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEIsSUFBSSxTQUFTLEdBQUcsSUFB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"],"names":["Triangulator","convexPolygons","Array","convexPolygonsIndices","indicesArray","isConcaveArray","triangles","polygonPool","Pool","polygonIndicesPool","triangulate","verticesArray","vertices","vertexCount","length","indices","this","i","isConcave","n","previous","next","outer","p1","p2","p3","p1x","p1y","p2x","p2y","p3x","p3y","ii","v","vx","vy","positiveArea","push","splice","previousIndex","nextIndex","decompose","freeAll","polygonIndices","obtain","polygon","fanBaseIndex","lastWinding","t1","t2","t3","x1","y1","x2","y2","x3","y3","merged","o","winding1","winding","winding2","free","firstIndex","lastIndex","prevPrevX","prevPrevY","prevX","prevY","firstX","firstY","secondX","secondY","otherIndices","otherFirstIndex","otherSecondIndex","otherLastIndex","otherPoly","index","current","px","py"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
class t{array=new Array;add(t){let s=this.contains(t);return this.array[0|t]=0|t,!s}contains(t){return null!=this.array[0|t]}remove(t){this.array[0|t]=void 0}clear(){this.array.length=0}}class s{entries={};size=0;add(t){let s=this.entries[t];return this.entries[t]=!0,!s&&(this.size++,!0)}addAll(t){let s=this.size;for(var e=0,r=t.length;e<r;e++)this.add(t[e]);return s!=this.size}contains(t){return this.entries[t]}clear(){this.entries={},this.size=0}}class e{r;g;b;a;static WHITE=new e(1,1,1,1);static RED=new e(1,0,0,1);static GREEN=new e(0,1,0,1);static BLUE=new e(0,0,1,1);static MAGENTA=new e(1,0,1,1);constructor(t=0,s=0,e=0,r=0){this.r=t,this.g=s,this.b=e,this.a=r}set(t,s,e,r){return this.r=t,this.g=s,this.b=e,this.a=r,this.clamp()}setFromColor(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}setFromString(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=8!=t.length?1:parseInt(t.substr(6,2),16)/255,this}add(t,s,e,r){return this.r+=t,this.g+=s,this.b+=e,this.a+=r,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(t,s){t.r=((4278190080&s)>>>24)/255,t.g=((16711680&s)>>>16)/255,t.b=((65280&s)>>>8)/255,t.a=(255&s)/255}static rgb888ToColor(t,s){t.r=((16711680&s)>>>16)/255,t.g=((65280&s)>>>8)/255,t.b=(255&s)/255}toRgb888(){const t=t=>("0"+(255*t).toString(16)).slice(-2);return Number("0x"+t(this.r)+t(this.g)+t(this.b))}static fromString(t){return(new e).setFromString(t)}}class r{static PI=3.1415927;static PI2=2*r.PI;static invPI2=1/r.PI2;static radiansToDegrees=180/r.PI;static radDeg=r.radiansToDegrees;static degreesToRadians=r.PI/180;static degRad=r.degreesToRadians;static clamp(t,s,e){return t<s?s:t>e?e:t}static cosDeg(t){return Math.cos(t*r.degRad)}static sinDeg(t){return Math.sin(t*r.degRad)}static atan2Deg(t,s){return Math.atan2(t,s)*r.degRad}static signum(t){return t>0?1:t<0?-1:0}static toInt(t){return t>0?Math.floor(t):Math.ceil(t)}static cbrt(t){let s=Math.pow(Math.abs(t),1/3);return t<0?-s:s}static randomTriangular(t,s){return r.randomTriangularWith(t,s,.5*(t+s))}static randomTriangularWith(t,s,e){let r=Math.random(),a=s-t;return r<=(e-t)/a?t+Math.sqrt(r*a*(e-t)):s-Math.sqrt((1-r)*a*(s-e))}static isPowerOfTwo(t){return t&&!(t&t-1)}}class a{apply(t,s,e){return t+(s-t)*this.applyInternal(e)}}class i extends a{power=2;constructor(t){super(),this.power=t}applyInternal(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1}}class n extends i{constructor(t){super(t)}applyInternal(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1}}class h{static SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;static arrayCopy(t,s,e,r,a){for(let i=s,n=r;i<s+a;i++,n++)e[n]=t[i]}static arrayFill(t,s,e,r){for(let a=s;a<e;a++)t[a]=r}static setArraySize(t,s,e=0){let r=t.length;if(r==s)return t;if(t.length=s,r<s)for(let a=r;a<s;a++)t[a]=e;return t}static ensureArrayCapacity(t,s,e=0){return t.length>=s?t:h.setArraySize(t,s,e)}static newArray(t,s){let e=new Array(t);for(let r=0;r<t;r++)e[r]=s;return e}static newFloatArray(t){if(h.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let s=new Array(t);for(let t=0;t<s.length;t++)s[t]=0;return s}}static newShortArray(t){if(h.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let s=new Array(t);for(let t=0;t<s.length;t++)s[t]=0;return s}}static toFloatArray(t){return h.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return h.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,s){}static contains(t,s,e=!0){for(var r=0;r<t.length;r++)if(t[r]==s)return!0;return!1}static enumValue(t,s){return t[s[0].toUpperCase()+s.slice(1)]}}class l{static logBones(t){for(let s=0;s<t.bones.length;s++){let e=t.bones[s];console.log(e.data.name+", "+e.a+", "+e.b+", "+e.c+", "+e.d+", "+e.worldX+", "+e.worldY)}}}class o{items=new Array;instantiator;constructor(t){this.instantiator=t}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(t){t.reset&&t.reset(),this.items.push(t)}freeAll(t){for(let s=0;s<t.length;s++)this.free(t[s])}clear(){this.items.length=0}}class u{x;y;constructor(t=0,s=0){this.x=t,this.y=s}set(t,s){return this.x=t,this.y=s,this}length(){let t=this.x,s=this.y;return Math.sqrt(t*t+s*s)}normalize(){let t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}}class c{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}}class d{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(t=32){this.values=new Array(t)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let t=0;for(let s=0;s<this.values.length;s++)t+=this.values[s];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0}}export{e as Color,l as DebugUtils,t as IntSet,a as Interpolation,r as MathUtils,o as Pool,i as Pow,n as PowOut,s as StringSet,c as TimeKeeper,h as Utils,u as Vector2,d as WindowedMean};
|
|
2
|
-
//# sourceMappingURL=Utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sources":["../../../../../../node_modules/@esotericsoftware/spine-core/dist/Utils.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 *****************************************************************************/\nexport class IntSet {\n array = new Array();\n add(value) {\n let contains = this.contains(value);\n this.array[value | 0] = value | 0;\n return !contains;\n }\n contains(value) {\n return this.array[value | 0] != undefined;\n }\n remove(value) {\n this.array[value | 0] = undefined;\n }\n clear() {\n this.array.length = 0;\n }\n}\nexport class StringSet {\n entries = {};\n size = 0;\n add(value) {\n let contains = this.entries[value];\n this.entries[value] = true;\n if (!contains) {\n this.size++;\n return true;\n }\n return false;\n }\n addAll(values) {\n let oldSize = this.size;\n for (var i = 0, n = values.length; i < n; i++)\n this.add(values[i]);\n return oldSize != this.size;\n }\n contains(value) {\n return this.entries[value];\n }\n clear() {\n this.entries = {};\n this.size = 0;\n }\n}\nexport class Color {\n r;\n g;\n b;\n a;\n static WHITE = new Color(1, 1, 1, 1);\n static RED = new Color(1, 0, 0, 1);\n static GREEN = new Color(0, 1, 0, 1);\n static BLUE = new Color(0, 0, 1, 1);\n static MAGENTA = new Color(1, 0, 1, 1);\n constructor(r = 0, g = 0, b = 0, a = 0) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n }\n set(r, g, b, a) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n return this.clamp();\n }\n setFromColor(c) {\n this.r = c.r;\n this.g = c.g;\n this.b = c.b;\n this.a = c.a;\n return this;\n }\n setFromString(hex) {\n hex = hex.charAt(0) == '#' ? hex.substr(1) : hex;\n this.r = parseInt(hex.substr(0, 2), 16) / 255;\n this.g = parseInt(hex.substr(2, 2), 16) / 255;\n this.b = parseInt(hex.substr(4, 2), 16) / 255;\n this.a = hex.length != 8 ? 1 : parseInt(hex.substr(6, 2), 16) / 255;\n return this;\n }\n add(r, g, b, a) {\n this.r += r;\n this.g += g;\n this.b += b;\n this.a += a;\n return this.clamp();\n }\n clamp() {\n if (this.r < 0)\n this.r = 0;\n else if (this.r > 1)\n this.r = 1;\n if (this.g < 0)\n this.g = 0;\n else if (this.g > 1)\n this.g = 1;\n if (this.b < 0)\n this.b = 0;\n else if (this.b > 1)\n this.b = 1;\n if (this.a < 0)\n this.a = 0;\n else if (this.a > 1)\n this.a = 1;\n return this;\n }\n static rgba8888ToColor(color, value) {\n color.r = ((value & 0xff000000) >>> 24) / 255;\n color.g = ((value & 0x00ff0000) >>> 16) / 255;\n color.b = ((value & 0x0000ff00) >>> 8) / 255;\n color.a = ((value & 0x000000ff)) / 255;\n }\n static rgb888ToColor(color, value) {\n color.r = ((value & 0x00ff0000) >>> 16) / 255;\n color.g = ((value & 0x0000ff00) >>> 8) / 255;\n color.b = ((value & 0x000000ff)) / 255;\n }\n toRgb888() {\n const hex = (x) => (\"0\" + (x * 255).toString(16)).slice(-2);\n return Number(\"0x\" + hex(this.r) + hex(this.g) + hex(this.b));\n }\n static fromString(hex) {\n return new Color().setFromString(hex);\n }\n}\nexport class MathUtils {\n static PI = 3.1415927;\n static PI2 = MathUtils.PI * 2;\n static invPI2 = 1 / MathUtils.PI2;\n static radiansToDegrees = 180 / MathUtils.PI;\n static radDeg = MathUtils.radiansToDegrees;\n static degreesToRadians = MathUtils.PI / 180;\n static degRad = MathUtils.degreesToRadians;\n static clamp(value, min, max) {\n if (value < min)\n return min;\n if (value > max)\n return max;\n return value;\n }\n static cosDeg(degrees) {\n return Math.cos(degrees * MathUtils.degRad);\n }\n static sinDeg(degrees) {\n return Math.sin(degrees * MathUtils.degRad);\n }\n static atan2Deg(y, x) {\n return Math.atan2(y, x) * MathUtils.degRad;\n }\n static signum(value) {\n return value > 0 ? 1 : value < 0 ? -1 : 0;\n }\n static toInt(x) {\n return x > 0 ? Math.floor(x) : Math.ceil(x);\n }\n static cbrt(x) {\n let y = Math.pow(Math.abs(x), 1 / 3);\n return x < 0 ? -y : y;\n }\n static randomTriangular(min, max) {\n return MathUtils.randomTriangularWith(min, max, (min + max) * 0.5);\n }\n static randomTriangularWith(min, max, mode) {\n let u = Math.random();\n let d = max - min;\n if (u <= (mode - min) / d)\n return min + Math.sqrt(u * d * (mode - min));\n return max - Math.sqrt((1 - u) * d * (max - mode));\n }\n static isPowerOfTwo(value) {\n return value && (value & (value - 1)) === 0;\n }\n}\nexport class Interpolation {\n apply(start, end, a) {\n return start + (end - start) * this.applyInternal(a);\n }\n}\nexport class Pow extends Interpolation {\n power = 2;\n constructor(power) {\n super();\n this.power = power;\n }\n applyInternal(a) {\n if (a <= 0.5)\n return Math.pow(a * 2, this.power) / 2;\n return Math.pow((a - 1) * 2, this.power) / (this.power % 2 == 0 ? -2 : 2) + 1;\n }\n}\nexport class PowOut extends Pow {\n constructor(power) {\n super(power);\n }\n applyInternal(a) {\n return Math.pow(a - 1, this.power) * (this.power % 2 == 0 ? -1 : 1) + 1;\n }\n}\nexport class Utils {\n static SUPPORTS_TYPED_ARRAYS = typeof (Float32Array) !== \"undefined\";\n static arrayCopy(source, sourceStart, dest, destStart, numElements) {\n for (let i = sourceStart, j = destStart; i < sourceStart + numElements; i++, j++) {\n dest[j] = source[i];\n }\n }\n static arrayFill(array, fromIndex, toIndex, value) {\n for (let i = fromIndex; i < toIndex; i++)\n array[i] = value;\n }\n static setArraySize(array, size, value = 0) {\n let oldSize = array.length;\n if (oldSize == size)\n return array;\n array.length = size;\n if (oldSize < size) {\n for (let i = oldSize; i < size; i++)\n array[i] = value;\n }\n return array;\n }\n static ensureArrayCapacity(array, size, value = 0) {\n if (array.length >= size)\n return array;\n return Utils.setArraySize(array, size, value);\n }\n static newArray(size, defaultValue) {\n let array = new Array(size);\n for (let i = 0; i < size; i++)\n array[i] = defaultValue;\n return array;\n }\n static newFloatArray(size) {\n if (Utils.SUPPORTS_TYPED_ARRAYS)\n return new Float32Array(size);\n else {\n let array = new Array(size);\n for (let i = 0; i < array.length; i++)\n array[i] = 0;\n return array;\n }\n }\n static newShortArray(size) {\n if (Utils.SUPPORTS_TYPED_ARRAYS)\n return new Int16Array(size);\n else {\n let array = new Array(size);\n for (let i = 0; i < array.length; i++)\n array[i] = 0;\n return array;\n }\n }\n static toFloatArray(array) {\n return Utils.SUPPORTS_TYPED_ARRAYS ? new Float32Array(array) : array;\n }\n static toSinglePrecision(value) {\n return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value;\n }\n // This function is used to fix WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109\n static webkit602BugfixHelper(alpha, blend) {\n }\n static contains(array, element, identity = true) {\n for (var i = 0; i < array.length; i++)\n if (array[i] == element)\n return true;\n return false;\n }\n static enumValue(type, name) {\n return type[name[0].toUpperCase() + name.slice(1)];\n }\n}\nexport class DebugUtils {\n static logBones(skeleton) {\n for (let i = 0; i < skeleton.bones.length; i++) {\n let bone = skeleton.bones[i];\n console.log(bone.data.name + \", \" + bone.a + \", \" + bone.b + \", \" + bone.c + \", \" + bone.d + \", \" + bone.worldX + \", \" + bone.worldY);\n }\n }\n}\nexport class Pool {\n items = new Array();\n instantiator;\n constructor(instantiator) {\n this.instantiator = instantiator;\n }\n obtain() {\n return this.items.length > 0 ? this.items.pop() : this.instantiator();\n }\n free(item) {\n if (item.reset)\n item.reset();\n this.items.push(item);\n }\n freeAll(items) {\n for (let i = 0; i < items.length; i++)\n this.free(items[i]);\n }\n clear() {\n this.items.length = 0;\n }\n}\nexport class Vector2 {\n x;\n y;\n constructor(x = 0, y = 0) {\n this.x = x;\n this.y = y;\n }\n set(x, y) {\n this.x = x;\n this.y = y;\n return this;\n }\n length() {\n let x = this.x;\n let y = this.y;\n return Math.sqrt(x * x + y * y);\n }\n normalize() {\n let len = this.length();\n if (len != 0) {\n this.x /= len;\n this.y /= len;\n }\n return this;\n }\n}\nexport class TimeKeeper {\n maxDelta = 0.064;\n framesPerSecond = 0;\n delta = 0;\n totalTime = 0;\n lastTime = Date.now() / 1000;\n frameCount = 0;\n frameTime = 0;\n update() {\n let now = Date.now() / 1000;\n this.delta = now - this.lastTime;\n this.frameTime += this.delta;\n this.totalTime += this.delta;\n if (this.delta > this.maxDelta)\n this.delta = this.maxDelta;\n this.lastTime = now;\n this.frameCount++;\n if (this.frameTime > 1) {\n this.framesPerSecond = this.frameCount / this.frameTime;\n this.frameTime = 0;\n this.frameCount = 0;\n }\n }\n}\nexport class WindowedMean {\n values;\n addedValues = 0;\n lastValue = 0;\n mean = 0;\n dirty = true;\n constructor(windowSize = 32) {\n this.values = new Array(windowSize);\n }\n hasEnoughData() {\n return this.addedValues >= this.values.length;\n }\n addValue(value) {\n if (this.addedValues < this.values.length)\n this.addedValues++;\n this.values[this.lastValue++] = value;\n if (this.lastValue > this.values.length - 1)\n this.lastValue = 0;\n this.dirty = true;\n }\n getMean() {\n if (this.hasEnoughData()) {\n if (this.dirty) {\n let mean = 0;\n for (let i = 0; i < this.values.length; i++)\n mean += this.values[i];\n this.mean = mean / this.values.length;\n this.dirty = false;\n }\n return this.mean;\n }\n return 0;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBUy9FLE1BQU0sT0FBTyxNQUFNO0lBQ2xCLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBc0IsQ0FBQztJQUV4QyxHQUFHLENBQUUsS0FBYTtRQUNqQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFFLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBRSxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0Q7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNyQixPQUFPLEdBQXVCLEVBQUUsQ0FBQztJQUNqQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRVQsR0FBRyxDQUFFLEtBQWE7UUFDakIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lB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"],"names":["IntSet","array","Array","add","value","contains","this","undefined","remove","clear","length","StringSet","entries","size","addAll","values","oldSize","i","n","Color","r","g","b","a","static","constructor","set","clamp","setFromColor","c","setFromString","hex","charAt","substr","parseInt","rgba8888ToColor","color","rgb888ToColor","toRgb888","x","toString","slice","Number","fromString","MathUtils","PI","PI2","radiansToDegrees","degreesToRadians","min","max","cosDeg","degrees","Math","cos","degRad","sinDeg","sin","atan2Deg","y","atan2","signum","toInt","floor","ceil","cbrt","pow","abs","randomTriangular","randomTriangularWith","mode","u","random","d","sqrt","isPowerOfTwo","Interpolation","apply","start","end","applyInternal","Pow","power","super","PowOut","Utils","arrayCopy","source","sourceStart","dest","destStart","numElements","j","arrayFill","fromIndex","toIndex","setArraySize","ensureArrayCapacity","newArray","defaultValue","newFloatArray","SUPPORTS_TYPED_ARRAYS","Float32Array","newShortArray","Int16Array","toFloatArray","toSinglePrecision","fround","webkit602BugfixHelper","alpha","blend","element","identity","enumValue","type","name","toUpperCase","DebugUtils","logBones","skeleton","bones","bone","console","log","data","worldX","worldY","Pool","items","instantiator","obtain","pop","free","item","reset","push","freeAll","Vector2","normalize","len","TimeKeeper","maxDelta","framesPerSecond","delta","totalTime","lastTime","Date","now","frameCount","frameTime","update","WindowedMean","addedValues","lastValue","mean","dirty","windowSize","hasEnoughData","addValue","getMean"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Utils as e}from"../Utils.js";class t{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}}class r extends t{static nextID=0;id=r.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(e){super(e)}computeWorldVertices(e,t,r,s,l,o){r=l+(r>>1)*o;let n=e.bone.skeleton,i=e.deform,c=this.vertices,h=this.bones;if(!h){i.length>0&&(c=i);let n=e.bone,h=n.worldX,a=n.worldY,b=n.a,d=n.b,m=n.c,w=n.d;for(let e=t,n=l;n<r;e+=2,n+=o){let t=c[e],r=c[e+1];s[n]=t*b+r*d+h,s[n+1]=t*m+r*w+a}return}let a=0,b=0;for(let e=0;e<t;e+=2){let e=h[a];a+=e+1,b+=e}let d=n.bones;if(0==i.length)for(let e=l,t=3*b;e<r;e+=o){let r=0,l=0,o=h[a++];for(o+=a;a<o;a++,t+=3){let e=d[h[a]],s=c[t],o=c[t+1],n=c[t+2];r+=(s*e.a+o*e.b+e.worldX)*n,l+=(s*e.c+o*e.d+e.worldY)*n}s[e]=r,s[e+1]=l}else{let e=i;for(let t=l,n=3*b,i=b<<1;t<r;t+=o){let r=0,l=0,o=h[a++];for(o+=a;a<o;a++,n+=3,i+=2){let t=d[h[a]],s=c[n]+e[i],o=c[n+1]+e[i+1],b=c[n+2];r+=(s*t.a+o*t.b+t.worldX)*b,l+=(s*t.c+o*t.d+t.worldY)*b}s[t]=r,s[t+1]=l}}}copyTo(t){this.bones?(t.bones=new Array(this.bones.length),e.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=e.newFloatArray(this.vertices.length),e.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment}}export{t as Attachment,r as VertexAttachment};
|
|
2
|
-
//# sourceMappingURL=Attachment.js.map
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.js","sources":["../../../../../../../node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.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 { Utils } from \"../Utils.js\";\n/** The base class for all attachments. */\nexport class Attachment {\n name;\n constructor(name) {\n if (!name)\n throw new Error(\"name cannot be null.\");\n this.name = name;\n }\n}\n/** Base class for an attachment with vertices that are transformed by one or more bones and can be deformed by a slot's\n * {@link Slot#deform}. */\nexport class VertexAttachment extends Attachment {\n static nextID = 0;\n /** The unique ID for this attachment. */\n id = VertexAttachment.nextID++;\n /** The bones which affect the {@link #getVertices()}. The array entries are, for each vertex, the number of bones affecting\n * the vertex followed by that many bone indices, which is the index of the bone in {@link Skeleton#bones}. Will be null\n * if this attachment has no weights. */\n bones = null;\n /** The vertex positions in the bone's coordinate system. For a non-weighted attachment, the values are `x,y`\n * entries for each vertex. For a weighted attachment, the values are `x,y,weight` entries for each bone affecting\n * each vertex. */\n vertices = [];\n /** The maximum number of world vertex values that can be output by\n * {@link #computeWorldVertices()} using the `count` parameter. */\n worldVerticesLength = 0;\n /** Timelines for the timeline attachment are also applied to this attachment.\n * May be null if no attachment-specific timelines should be applied. */\n timelineAttachment = this;\n constructor(name) {\n super(name);\n }\n /** Transforms the attachment's local {@link #vertices} to world coordinates. If the slot's {@link Slot#deform} is\n * not empty, it is used to deform the vertices.\n *\n * See [World transforms](http://esotericsoftware.com/spine-runtime-skeletons#World-transforms) in the Spine\n * Runtimes Guide.\n * @param start The index of the first {@link #vertices} value to transform. Each vertex has 2 values, x and y.\n * @param count The number of world vertex values to output. Must be <= {@link #worldVerticesLength} - `start`.\n * @param worldVertices The output world vertices. Must have a length >= `offset` + `count` *\n * `stride` / 2.\n * @param offset The `worldVertices` index to begin writing values.\n * @param stride The number of `worldVertices` entries between the value pairs written. */\n computeWorldVertices(slot, start, count, worldVertices, offset, stride) {\n count = offset + (count >> 1) * stride;\n let skeleton = slot.bone.skeleton;\n let deformArray = slot.deform;\n let vertices = this.vertices;\n let bones = this.bones;\n if (!bones) {\n if (deformArray.length > 0)\n vertices = deformArray;\n let bone = slot.bone;\n let x = bone.worldX;\n let y = bone.worldY;\n let a = bone.a, b = bone.b, c = bone.c, d = bone.d;\n for (let v = start, w = offset; w < count; v += 2, w += stride) {\n let vx = vertices[v], vy = vertices[v + 1];\n worldVertices[w] = vx * a + vy * b + x;\n worldVertices[w + 1] = vx * c + vy * d + y;\n }\n return;\n }\n let v = 0, skip = 0;\n for (let i = 0; i < start; i += 2) {\n let n = bones[v];\n v += n + 1;\n skip += n;\n }\n let skeletonBones = skeleton.bones;\n if (deformArray.length == 0) {\n for (let w = offset, b = skip * 3; w < count; w += stride) {\n let wx = 0, wy = 0;\n let n = bones[v++];\n n += v;\n for (; v < n; v++, b += 3) {\n let bone = skeletonBones[bones[v]];\n let vx = vertices[b], vy = vertices[b + 1], weight = vertices[b + 2];\n wx += (vx * bone.a + vy * bone.b + bone.worldX) * weight;\n wy += (vx * bone.c + vy * bone.d + bone.worldY) * weight;\n }\n worldVertices[w] = wx;\n worldVertices[w + 1] = wy;\n }\n }\n else {\n let deform = deformArray;\n for (let w = offset, b = skip * 3, f = skip << 1; w < count; w += stride) {\n let wx = 0, wy = 0;\n let n = bones[v++];\n n += v;\n for (; v < n; v++, b += 3, f += 2) {\n let bone = skeletonBones[bones[v]];\n let vx = vertices[b] + deform[f], vy = vertices[b + 1] + deform[f + 1], weight = vertices[b + 2];\n wx += (vx * bone.a + vy * bone.b + bone.worldX) * weight;\n wy += (vx * bone.c + vy * bone.d + bone.worldY) * weight;\n }\n worldVertices[w] = wx;\n worldVertices[w + 1] = wy;\n }\n }\n }\n /** Does not copy id (generated) or name (set on construction). **/\n copyTo(attachment) {\n if (this.bones) {\n attachment.bones = new Array(this.bones.length);\n Utils.arrayCopy(this.bones, 0, attachment.bones, 0, this.bones.length);\n }\n else\n attachment.bones = null;\n if (this.vertices) {\n attachment.vertices = Utils.newFloatArray(this.vertices.length);\n Utils.arrayCopy(this.vertices, 0, attachment.vertices, 0, this.vertices.length);\n }\n attachment.worldVerticesLength = this.worldVerticesLength;\n attachment.timelineAttachment = this.timelineAttachment;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdHRhY2htZW50cy9BdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQW1CLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCwwQ0FBMEM7QUFDMUMsTUFBTSxPQUFnQixVQUFVO0lBQy9CLElBQUksQ0FBUztJQUViLFlBQWEsSUFBWTtRQUN4QixJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixDQUFDO0NBR0Q7QUFFRDswQkFDMEI7QUFDMUIsTUFBTSxPQUFnQixnQkFBaUIsU0FBUSxVQUFVO0lBQ2hELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLHlDQUF5QztJQUN6QyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFL0I7OzRDQUV3QztJQUN4QyxLQUFLLEdBQXlCLElBQUksQ0FBQztJQUVuQzs7c0JBRWtCO0lBQ2xCLFFBQVEsR0FBb0IsRUFBRSxDQUFDO0lBRS9CO3NFQUNrRTtJQUNsRSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFFeEI7NEVBQ3dFO0lBQ3hFLGtCQUFrQixHQUFlLElBQUksQ0FBQztJQUV0QyxZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7Ozs7OzhGQVUwRjtJQUMxRixvQkFBb0IsQ0FBRSxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxhQUE4QixFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQzdILEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFB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"],"names":["Attachment","name","constructor","Error","this","VertexAttachment","static","id","nextID","bones","vertices","worldVerticesLength","timelineAttachment","super","computeWorldVertices","slot","start","count","worldVertices","offset","stride","skeleton","bone","deformArray","deform","length","x","worldX","y","worldY","a","b","c","d","v","w","vx","vy","skip","i","n","skeletonBones","wx","wy","weight","f","copyTo","attachment","Array","Utils","arrayCopy","newFloatArray"],"mappings":"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"}
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Color as o}from"../Utils.js";import{VertexAttachment as t}from"./Attachment.js";class r extends t{color=new o(1,1,1,1);constructor(o){super(o)}copy(){let o=new r(this.name);return this.copyTo(o),o.color.setFromColor(this.color),o}}export{r as BoundingBoxAttachment};
|
|
2
|
-
//# sourceMappingURL=BoundingBoxAttachment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoundingBoxAttachment.js","sources":["../../../../../../../node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.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\";\nimport { VertexAttachment } from \"./Attachment.js\";\n/** An attachment with vertices that make up a polygon. Can be used for hit detection, creating physics bodies, spawning particle\n * effects, and more.\n *\n * See {@link SkeletonBounds} and [Bounding Boxes](http://esotericsoftware.com/spine-bounding-boxes) in the Spine User\n * Guide. */\nexport class BoundingBoxAttachment extends VertexAttachment {\n color = new Color(1, 1, 1, 1);\n constructor(name) {\n super(name);\n }\n copy() {\n let copy = new BoundingBoxAttachment(this.name);\n this.copyTo(copy);\n copy.color.setFromColor(this.color);\n return copy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm91bmRpbmdCb3hBdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F0dGFjaG1lbnRzL0JvdW5kaW5nQm94QXR0YWNobWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRDs7OztZQUlZO0FBQ1osTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQUMxRCxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUIsWUFBYSxJQUFZO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJO1FBQ0gsSUFBSSxJQUFJLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0NBQ0QifQ=="],"names":["BoundingBoxAttachment","VertexAttachment","color","Color","constructor","name","super","copy","this","copyTo","setFromColor"],"mappings":"uFAmCO,MAAMA,UAA8BC,EACvCC,MAAQ,IAAIC,EAAM,EAAG,EAAG,EAAG,GAC3B,WAAAC,CAAYC,GACRC,MAAMD,EACT,CACD,IAAAE,GACI,IAAIA,EAAO,IAAIP,EAAsBQ,KAAKH,MAG1C,OAFAG,KAAKC,OAAOF,GACZA,EAAKL,MAAMQ,aAAaF,KAAKN,OACtBK,CACV"}
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Color as o}from"../Utils.js";import{VertexAttachment as t}from"./Attachment.js";class r extends t{endSlot=null;color=new o(.2275,.2275,.8078,1);constructor(o){super(o)}copy(){let o=new r(this.name);return this.copyTo(o),o.endSlot=this.endSlot,o.color.setFromColor(this.color),o}}export{r as ClippingAttachment};
|
|
2
|
-
//# sourceMappingURL=ClippingAttachment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClippingAttachment.js","sources":["../../../../../../../node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.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\";\nimport { VertexAttachment } from \"./Attachment.js\";\n/** An attachment with vertices that make up a polygon used for clipping the rendering of other attachments. */\nexport class ClippingAttachment extends VertexAttachment {\n /** Clipping is performed between the clipping polygon's slot and the end slot. Returns null if clipping is done until the end of\n * the skeleton's rendering. */\n endSlot = null;\n // Nonessential.\n /** The color of the clipping polygon as it was in Spine. Available only when nonessential data was exported. Clipping polygons\n * are not usually rendered at runtime. */\n color = new Color(0.2275, 0.2275, 0.8078, 1); // ce3a3aff\n constructor(name) {\n super(name);\n }\n copy() {\n let copy = new ClippingAttachment(this.name);\n this.copyTo(copy);\n copy.endSlot = this.endSlot;\n copy.color.setFromColor(this.color);\n return copy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpcHBpbmdBdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F0dGFjaG1lbnRzL0NsaXBwaW5nQXR0YWNobWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRCwrR0FBK0c7QUFDL0csTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN2RDttQ0FDK0I7SUFDL0IsT0FBTyxHQUFvQixJQUFJLENBQUM7SUFFaEMsZ0JBQWdCO0lBQ2hCOzhDQUMwQztJQUMxQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO0lBRXpELFlBQWEsSUFBWTtRQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSTtRQUNILElBQUksSUFBSSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FDRCJ9"],"names":["ClippingAttachment","VertexAttachment","endSlot","color","Color","constructor","name","super","copy","this","copyTo","setFromColor"],"mappings":"uFA+BO,MAAMA,UAA2BC,EAGpCC,QAAU,KAIVC,MAAQ,IAAIC,EAAM,MAAQ,MAAQ,MAAQ,GAC1C,WAAAC,CAAYC,GACRC,MAAMD,EACT,CACD,IAAAE,GACI,IAAIA,EAAO,IAAIR,EAAmBS,KAAKH,MAIvC,OAHAG,KAAKC,OAAOF,GACZA,EAAKN,QAAUO,KAAKP,QACpBM,EAAKL,MAAMQ,aAAaF,KAAKN,OACtBK,CACV"}
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{TextureAtlasRegion as e}from"../TextureAtlas.js";import{Color as t,Utils as i}from"../Utils.js";import{VertexAttachment as s}from"./Attachment.js";class h extends s{region=null;path;regionUVs=[];uvs=[];triangles=[];color=new t(1,1,1,1);width=0;height=0;hullLength=0;edges=[];parentMesh=null;sequence=null;tempColor=new t(0,0,0,0);constructor(e,t){super(e),this.path=t}updateRegion(){if(!this.region)throw new Error("Region not set.");let t=this.regionUVs;this.uvs&&this.uvs.length==t.length||(this.uvs=i.newFloatArray(t.length));let s=this.uvs,h=this.uvs.length,r=this.region.u,n=this.region.v,o=0,g=0;if(this.region instanceof e){let e=this.region,i=e.page,l=i.width,a=i.height;switch(e.degrees){case 90:r-=(e.originalHeight-e.offsetY-e.height)/l,n-=(e.originalWidth-e.offsetX-e.width)/a,o=e.originalHeight/l,g=e.originalWidth/a;for(let e=0;e<h;e+=2)s[e]=r+t[e+1]*o,s[e+1]=n+(1-t[e])*g;return;case 180:r-=(e.originalWidth-e.offsetX-e.width)/l,n-=e.offsetY/a,o=e.originalWidth/l,g=e.originalHeight/a;for(let e=0;e<h;e+=2)s[e]=r+(1-t[e])*o,s[e+1]=n+(1-t[e+1])*g;return;case 270:r-=e.offsetY/l,n-=e.offsetX/a,o=e.originalHeight/l,g=e.originalWidth/a;for(let e=0;e<h;e+=2)s[e]=r+(1-t[e+1])*o,s[e+1]=n+t[e]*g;return}r-=e.offsetX/l,n-=(e.originalHeight-e.offsetY-e.height)/a,o=e.originalWidth/l,g=e.originalHeight/a}else this.region?(o=this.region.u2-r,g=this.region.v2-n):(r=n=0,o=g=1);for(let e=0;e<h;e+=2)s[e]=r+t[e]*o,s[e+1]=n+t[e+1]*g}getParentMesh(){return this.parentMesh}setParentMesh(e){this.parentMesh=e,e&&(this.bones=e.bones,this.vertices=e.vertices,this.worldVerticesLength=e.worldVerticesLength,this.regionUVs=e.regionUVs,this.triangles=e.triangles,this.hullLength=e.hullLength,this.worldVerticesLength=e.worldVerticesLength)}copy(){if(this.parentMesh)return this.newLinkedMesh();let e=new h(this.name,this.path);return e.region=this.region,e.color.setFromColor(this.color),this.copyTo(e),e.regionUVs=new Array(this.regionUVs.length),i.arrayCopy(this.regionUVs,0,e.regionUVs,0,this.regionUVs.length),e.uvs=new Array(this.uvs.length),i.arrayCopy(this.uvs,0,e.uvs,0,this.uvs.length),e.triangles=new Array(this.triangles.length),i.arrayCopy(this.triangles,0,e.triangles,0,this.triangles.length),e.hullLength=this.hullLength,e.sequence=null!=this.sequence?this.sequence.copy():null,this.edges&&(e.edges=new Array(this.edges.length),i.arrayCopy(this.edges,0,e.edges,0,this.edges.length)),e.width=this.width,e.height=this.height,e}computeWorldVertices(e,t,i,s,h,r){null!=this.sequence&&this.sequence.apply(e,this),super.computeWorldVertices(e,t,i,s,h,r)}newLinkedMesh(){let e=new h(this.name,this.path);return e.region=this.region,e.color.setFromColor(this.color),e.timelineAttachment=this.timelineAttachment,e.setParentMesh(this.parentMesh?this.parentMesh:this),null!=e.region&&e.updateRegion(),e}}export{h as MeshAttachment};
|
|
2
|
-
//# sourceMappingURL=MeshAttachment.js.map
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MeshAttachment.js","sources":["../../../../../../../node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.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 { TextureAtlasRegion } from \"../TextureAtlas.js\";\nimport { Color, Utils } from \"../Utils.js\";\nimport { VertexAttachment } from \"./Attachment.js\";\n/** An attachment that displays a textured mesh. A mesh has hull vertices and internal vertices within the hull. Holes are not\n * supported. Each vertex has UVs (texture coordinates) and triangles are used to map an image on to the mesh.\n *\n * See [Mesh attachments](http://esotericsoftware.com/spine-meshes) in the Spine User Guide. */\nexport class MeshAttachment extends VertexAttachment {\n region = null;\n /** The name of the texture region for this attachment. */\n path;\n /** The UV pair for each vertex, normalized within the texture region. */\n regionUVs = [];\n /** The UV pair for each vertex, normalized within the entire texture.\n *\n * See {@link #updateUVs}. */\n uvs = [];\n /** Triplets of vertex indices which describe the mesh's triangulation. */\n triangles = [];\n /** The color to tint the mesh. */\n color = new Color(1, 1, 1, 1);\n /** The width of the mesh's image. Available only when nonessential data was exported. */\n width = 0;\n /** The height of the mesh's image. Available only when nonessential data was exported. */\n height = 0;\n /** The number of entries at the beginning of {@link #vertices} that make up the mesh hull. */\n hullLength = 0;\n /** Vertex index pairs describing edges for controling triangulation. Mesh triangles will never cross edges. Only available if\n * nonessential data was exported. Triangulation is not performed at runtime. */\n edges = [];\n parentMesh = null;\n sequence = null;\n tempColor = new Color(0, 0, 0, 0);\n constructor(name, path) {\n super(name);\n this.path = path;\n }\n /** Calculates {@link #uvs} using the {@link #regionUVs} and region. Must be called if the region, the region's properties, or\n * the {@link #regionUVs} are changed. */\n updateRegion() {\n if (!this.region)\n throw new Error(\"Region not set.\");\n let regionUVs = this.regionUVs;\n if (!this.uvs || this.uvs.length != regionUVs.length)\n this.uvs = Utils.newFloatArray(regionUVs.length);\n let uvs = this.uvs;\n let n = this.uvs.length;\n let u = this.region.u, v = this.region.v, width = 0, height = 0;\n if (this.region instanceof TextureAtlasRegion) {\n let region = this.region, page = region.page;\n let textureWidth = page.width, textureHeight = page.height;\n switch (region.degrees) {\n case 90:\n u -= (region.originalHeight - region.offsetY - region.height) / textureWidth;\n v -= (region.originalWidth - region.offsetX - region.width) / textureHeight;\n width = region.originalHeight / textureWidth;\n height = region.originalWidth / textureHeight;\n for (let i = 0; i < n; i += 2) {\n uvs[i] = u + regionUVs[i + 1] * width;\n uvs[i + 1] = v + (1 - regionUVs[i]) * height;\n }\n return;\n case 180:\n u -= (region.originalWidth - region.offsetX - region.width) / textureWidth;\n v -= region.offsetY / textureHeight;\n width = region.originalWidth / textureWidth;\n height = region.originalHeight / textureHeight;\n for (let i = 0; i < n; i += 2) {\n uvs[i] = u + (1 - regionUVs[i]) * width;\n uvs[i + 1] = v + (1 - regionUVs[i + 1]) * height;\n }\n return;\n case 270:\n u -= region.offsetY / textureWidth;\n v -= region.offsetX / textureHeight;\n width = region.originalHeight / textureWidth;\n height = region.originalWidth / textureHeight;\n for (let i = 0; i < n; i += 2) {\n uvs[i] = u + (1 - regionUVs[i + 1]) * width;\n uvs[i + 1] = v + regionUVs[i] * height;\n }\n return;\n }\n u -= region.offsetX / textureWidth;\n v -= (region.originalHeight - region.offsetY - region.height) / textureHeight;\n width = region.originalWidth / textureWidth;\n height = region.originalHeight / textureHeight;\n }\n else if (!this.region) {\n u = v = 0;\n width = height = 1;\n }\n else {\n width = this.region.u2 - u;\n height = this.region.v2 - v;\n }\n for (let i = 0; i < n; i += 2) {\n uvs[i] = u + regionUVs[i] * width;\n uvs[i + 1] = v + regionUVs[i + 1] * height;\n }\n }\n /** The parent mesh if this is a linked mesh, else null. A linked mesh shares the {@link #bones}, {@link #vertices},\n * {@link #regionUVs}, {@link #triangles}, {@link #hullLength}, {@link #edges}, {@link #width}, and {@link #height} with the\n * parent mesh, but may have a different {@link #name} or {@link #path} (and therefore a different texture). */\n getParentMesh() {\n return this.parentMesh;\n }\n /** @param parentMesh May be null. */\n setParentMesh(parentMesh) {\n this.parentMesh = parentMesh;\n if (parentMesh) {\n this.bones = parentMesh.bones;\n this.vertices = parentMesh.vertices;\n this.worldVerticesLength = parentMesh.worldVerticesLength;\n this.regionUVs = parentMesh.regionUVs;\n this.triangles = parentMesh.triangles;\n this.hullLength = parentMesh.hullLength;\n this.worldVerticesLength = parentMesh.worldVerticesLength;\n }\n }\n copy() {\n if (this.parentMesh)\n return this.newLinkedMesh();\n let copy = new MeshAttachment(this.name, this.path);\n copy.region = this.region;\n copy.color.setFromColor(this.color);\n this.copyTo(copy);\n copy.regionUVs = new Array(this.regionUVs.length);\n Utils.arrayCopy(this.regionUVs, 0, copy.regionUVs, 0, this.regionUVs.length);\n copy.uvs = new Array(this.uvs.length);\n Utils.arrayCopy(this.uvs, 0, copy.uvs, 0, this.uvs.length);\n copy.triangles = new Array(this.triangles.length);\n Utils.arrayCopy(this.triangles, 0, copy.triangles, 0, this.triangles.length);\n copy.hullLength = this.hullLength;\n copy.sequence = this.sequence != null ? this.sequence.copy() : null;\n // Nonessential.\n if (this.edges) {\n copy.edges = new Array(this.edges.length);\n Utils.arrayCopy(this.edges, 0, copy.edges, 0, this.edges.length);\n }\n copy.width = this.width;\n copy.height = this.height;\n return copy;\n }\n computeWorldVertices(slot, start, count, worldVertices, offset, stride) {\n if (this.sequence != null)\n this.sequence.apply(slot, this);\n super.computeWorldVertices(slot, start, count, worldVertices, offset, stride);\n }\n /** Returns a new mesh with the {@link #parentMesh} set to this mesh's parent mesh, if any, else to this mesh. **/\n newLinkedMesh() {\n let copy = new MeshAttachment(this.name, this.path);\n copy.region = this.region;\n copy.color.setFromColor(this.color);\n copy.timelineAttachment = this.timelineAttachment;\n copy.setParentMesh(this.parentMesh ? this.parentMesh : this);\n if (copy.region != null)\n copy.updateRegion();\n return copy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzaEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvTWVzaEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQW1CLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUsvRDs7OytGQUcrRjtBQUMvRixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQUNuRCxNQUFNLEdBQXlCLElBQUksQ0FBQztJQUVwQywwREFBMEQ7SUFDMUQsSUFBSSxDQUFTO0lBRWIseUVBQXlFO0lBQ3pFLFNBQVMsR0FBb0IsRUFBRSxDQUFDO0lBRWhDOztpQ0FFNkI7SUFDN0IsR0FBRyxHQUFvQixFQUFFLENBQUM7SUFFMUIsMEVBQTBFO0lBQzFFLFNBQVMsR0FBa0IsRUFBRSxDQUFDO0lBRTlCLGtDQUFrQztJQUNsQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUIseUZBQXlGO0lBQ3pGLEtBQUssR0FBVyxDQUFDLENBQUM7SUFFbEIsMEZBQTBGO0lBQzFGLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFFbkIsOEZBQThGO0lBQzlGLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFFdkI7b0ZBQ2dGO0lBQ2hGLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWxCLFVBQVUsR0FBMEIsSUFBSSxDQUFDO0lBRWpELFFBQVEsR0FBb0IsSUFBSSxDQUFDO0lBRWpDLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxD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"],"names":["MeshAttachment","VertexAttachment","region","path","regionUVs","uvs","triangles","color","Color","width","height","hullLength","edges","parentMesh","sequence","tempColor","constructor","name","super","this","updateRegion","Error","length","Utils","newFloatArray","n","u","v","TextureAtlasRegion","page","textureWidth","textureHeight","degrees","originalHeight","offsetY","originalWidth","offsetX","i","u2","v2","getParentMesh","setParentMesh","bones","vertices","worldVerticesLength","copy","newLinkedMesh","setFromColor","copyTo","Array","arrayCopy","computeWorldVertices","slot","start","count","worldVertices","offset","stride","apply","timelineAttachment"],"mappings":"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"}
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Color as t,Utils as e}from"../Utils.js";import{VertexAttachment as s}from"./Attachment.js";class o extends s{lengths=[];closed=!1;constantSpeed=!1;color=new t(1,1,1,1);constructor(t){super(t)}copy(){let t=new o(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),e.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}}export{o as PathAttachment};
|
|
2
|
-
//# sourceMappingURL=PathAttachment.js.map
|
package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathAttachment.js","sources":["../../../../../../../node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.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, Utils } from \"../Utils.js\";\nimport { VertexAttachment } from \"./Attachment.js\";\n/** An attachment whose vertices make up a composite Bezier curve.\n *\n * See {@link PathConstraint} and [Paths](http://esotericsoftware.com/spine-paths) in the Spine User Guide. */\nexport class PathAttachment extends VertexAttachment {\n /** The lengths along the path in the setup pose from the start of the path to the end of each Bezier curve. */\n lengths = [];\n /** If true, the start and end knots are connected. */\n closed = false;\n /** If true, additional calculations are performed to make calculating positions along the path more accurate. If false, fewer\n * calculations are performed but calculating positions along the path is less accurate. */\n constantSpeed = false;\n /** The color of the path as it was in Spine. Available only when nonessential data was exported. Paths are not usually\n * rendered at runtime. */\n color = new Color(1, 1, 1, 1);\n constructor(name) {\n super(name);\n }\n copy() {\n let copy = new PathAttachment(this.name);\n this.copyTo(copy);\n copy.lengths = new Array(this.lengths.length);\n Utils.arrayCopy(this.lengths, 0, copy.lengths, 0, this.lengths.length);\n copy.closed = closed;\n copy.constantSpeed = this.constantSpeed;\n copy.color.setFromColor(this.color);\n return copy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0aEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXR0YWNobWVudHMvUGF0aEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBRS9EOzs4R0FFOEc7QUFDOUcsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFFbkQsK0dBQStHO0lBQy9HLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRTVCLHNEQUFzRDtJQUN0RCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWY7K0ZBQzJGO0lBQzNGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEI7OEJBQzBCO0lBQzFCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5QixZQUFhLElBQVk7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0NBQ0QifQ=="],"names":["PathAttachment","VertexAttachment","lengths","closed","constantSpeed","color","Color","constructor","name","super","copy","this","copyTo","Array","length","Utils","arrayCopy","setFromColor"],"mappings":"kGAiCO,MAAMA,UAAuBC,EAEhCC,QAAU,GAEVC,QAAS,EAGTC,eAAgB,EAGhBC,MAAQ,IAAIC,EAAM,EAAG,EAAG,EAAG,GAC3B,WAAAC,CAAYC,GACRC,MAAMD,EACT,CACD,IAAAE,GACI,IAAIA,EAAO,IAAIV,EAAeW,KAAKH,MAOnC,OANAG,KAAKC,OAAOF,GACZA,EAAKR,QAAU,IAAIW,MAAMF,KAAKT,QAAQY,QACtCC,EAAMC,UAAUL,KAAKT,QAAS,EAAGQ,EAAKR,QAAS,EAAGS,KAAKT,QAAQY,QAC/DJ,EAAKP,OAASA,OACdO,EAAKN,cAAgBO,KAAKP,cAC1BM,EAAKL,MAAMY,aAAaN,KAAKN,OACtBK,CACV"}
|