@esotericsoftware/spine-core 4.2.115 → 4.3.0
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/Animation.d.ts +426 -274
- package/dist/Animation.js +1174 -1210
- package/dist/AnimationState.d.ts +246 -201
- package/dist/AnimationState.js +508 -471
- package/dist/AnimationStateData.d.ts +12 -10
- package/dist/AnimationStateData.js +19 -20
- package/dist/AssetManagerBase.d.ts +29 -23
- package/dist/AssetManagerBase.js +67 -43
- package/dist/AtlasAttachmentLoader.d.ts +18 -12
- package/dist/AtlasAttachmentLoader.js +28 -39
- package/dist/Bone.d.ts +15 -109
- package/dist/Bone.js +22 -362
- package/dist/BoneData.d.ts +13 -28
- package/dist/BoneData.js +20 -29
- package/dist/BonePose.d.ts +130 -0
- package/dist/BonePose.js +426 -0
- package/dist/Constraint.d.ts +41 -0
- package/dist/Constraint.js +38 -0
- package/dist/ConstraintData.d.ts +7 -5
- package/dist/ConstraintData.js +5 -9
- package/dist/DrawOrder.d.ts +48 -0
- package/dist/DrawOrder.js +64 -0
- package/dist/Event.d.ts +11 -6
- package/dist/Event.js +10 -5
- package/dist/EventData.d.ts +10 -6
- package/dist/EventData.js +18 -7
- package/dist/IkConstraint.d.ts +22 -28
- package/dist/IkConstraint.js +115 -117
- package/dist/IkConstraintData.d.ts +23 -18
- package/dist/IkConstraintData.js +32 -22
- package/dist/IkConstraintPose.d.ts +49 -0
- package/dist/IkConstraintPose.js +55 -0
- package/dist/PathConstraint.d.ts +18 -22
- package/dist/PathConstraint.js +160 -136
- package/dist/PathConstraintData.d.ts +11 -14
- package/dist/PathConstraintData.js +14 -16
- package/dist/PathConstraintPose.d.ts +43 -0
- package/dist/PathConstraintPose.js +49 -0
- package/dist/Physics.d.ts +39 -0
- package/dist/Physics.js +41 -0
- package/dist/PhysicsConstraint.d.ts +26 -30
- package/dist/PhysicsConstraint.js +102 -94
- package/dist/PhysicsConstraintData.d.ts +22 -12
- package/dist/PhysicsConstraintData.js +23 -12
- package/dist/PhysicsConstraintPose.d.ts +47 -0
- package/dist/PhysicsConstraintPose.js +55 -0
- package/dist/Pose.d.ts +33 -0
- package/dist/Pose.js +30 -0
- package/dist/Posed.d.ts +58 -0
- package/dist/Posed.js +78 -0
- package/dist/PosedActive.d.ts +41 -0
- package/dist/{attachments/HasTextureRegion.js → PosedActive.js} +17 -2
- package/dist/PosedData.d.ts +40 -0
- package/dist/PosedData.js +45 -0
- package/dist/Skeleton.d.ts +110 -99
- package/dist/Skeleton.js +271 -449
- package/dist/SkeletonBinary.d.ts +2 -2
- package/dist/SkeletonBinary.js +644 -466
- package/dist/SkeletonBounds.d.ts +4 -4
- package/dist/SkeletonBounds.js +45 -46
- package/dist/SkeletonClipping.d.ts +26 -22
- package/dist/SkeletonClipping.js +654 -340
- package/dist/SkeletonData.d.ts +18 -35
- package/dist/SkeletonData.js +57 -97
- package/dist/SkeletonJson.d.ts +8 -6
- package/dist/SkeletonJson.js +892 -641
- package/dist/SkeletonRendererCore.d.ts +58 -0
- package/dist/SkeletonRendererCore.js +310 -0
- package/dist/Skin.d.ts +20 -16
- package/dist/Skin.js +58 -53
- package/dist/Slider.d.ts +46 -0
- package/dist/Slider.js +115 -0
- package/dist/SliderData.d.ts +58 -0
- package/dist/SliderData.js +59 -0
- package/dist/SliderPose.d.ts +37 -0
- package/dist/SliderPose.js +40 -0
- package/dist/Slot.d.ts +16 -38
- package/dist/Slot.js +37 -60
- package/dist/SlotData.d.ts +5 -12
- package/dist/SlotData.js +7 -15
- package/dist/SlotPose.d.ts +59 -0
- package/dist/SlotPose.js +81 -0
- package/dist/Texture.d.ts +1 -0
- package/dist/Texture.js +2 -1
- package/dist/TextureAtlas.d.ts +3 -3
- package/dist/TextureAtlas.js +49 -49
- package/dist/TransformConstraint.d.ts +16 -28
- package/dist/TransformConstraint.js +72 -209
- package/dist/TransformConstraintData.d.ts +108 -20
- package/dist/TransformConstraintData.js +274 -24
- package/dist/TransformConstraintPose.d.ts +45 -0
- package/dist/TransformConstraintPose.js +52 -0
- package/dist/Triangulator.d.ts +1 -1
- package/dist/Triangulator.js +91 -107
- package/dist/{Updatable.d.ts → Update.d.ts} +5 -12
- package/dist/Update.js +30 -0
- package/dist/Utils.d.ts +13 -4
- package/dist/Utils.js +78 -37
- package/dist/attachments/Attachment.d.ts +27 -19
- package/dist/attachments/Attachment.js +59 -35
- package/dist/attachments/AttachmentLoader.d.ts +14 -14
- package/dist/attachments/AttachmentLoader.js +1 -1
- package/dist/attachments/BoundingBoxAttachment.d.ts +1 -1
- package/dist/attachments/BoundingBoxAttachment.js +2 -2
- package/dist/attachments/ClippingAttachment.d.ts +10 -3
- package/dist/attachments/ClippingAttachment.js +12 -3
- package/dist/attachments/{HasTextureRegion.d.ts → HasSequence.d.ts} +11 -14
- package/dist/attachments/HasSequence.js +30 -0
- package/dist/attachments/MeshAttachment.d.ts +28 -35
- package/dist/attachments/MeshAttachment.js +85 -97
- package/dist/attachments/PathAttachment.d.ts +3 -3
- package/dist/attachments/PathAttachment.js +6 -6
- package/dist/attachments/PointAttachment.d.ts +11 -6
- package/dist/attachments/PointAttachment.js +8 -3
- package/dist/attachments/RegionAttachment.d.ts +25 -27
- package/dist/attachments/RegionAttachment.js +101 -113
- package/dist/attachments/Sequence.d.ts +31 -6
- package/dist/attachments/Sequence.js +79 -13
- package/dist/esm/spine-core.min.mjs +2 -2
- package/dist/esm/spine-core.mjs +7651 -6090
- package/dist/esm/spine-core.mjs.map +4 -4
- package/dist/iife/spine-core.js +7651 -6090
- package/dist/iife/spine-core.js.map +4 -4
- package/dist/iife/spine-core.min.js +2 -2
- package/dist/index.d.ts +32 -11
- package/dist/index.js +33 -12
- package/dist/polyfills.js +4 -5
- package/package.json +1 -1
- package/dist/Updatable.js +0 -30
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import type { Pose } from "./Pose.js";
|
|
30
|
+
/** Stores a pose for a slider. */
|
|
31
|
+
export declare class SliderPose implements Pose<SliderPose> {
|
|
32
|
+
/** The time in the {@link SliderData.animation} to apply the animation. */
|
|
33
|
+
time: number;
|
|
34
|
+
/** A percentage (unbounded) that controls the mix between the constrained and unconstrained poses. */
|
|
35
|
+
mix: number;
|
|
36
|
+
set(pose: SliderPose): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
/** Stores a pose for a slider. */
|
|
30
|
+
export class SliderPose {
|
|
31
|
+
/** The time in the {@link SliderData.animation} to apply the animation. */
|
|
32
|
+
time = 0;
|
|
33
|
+
/** A percentage (unbounded) that controls the mix between the constrained and unconstrained poses. */
|
|
34
|
+
mix = 0;
|
|
35
|
+
set(pose) {
|
|
36
|
+
this.time = pose.time;
|
|
37
|
+
this.mix = pose.mix;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xpZGVyUG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbGlkZXJQb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUsvRSxrQ0FBa0M7QUFDbEMsTUFBTSxPQUFPLFVBQVU7SUFFdEIsMkVBQTJFO0lBQzNFLElBQUksR0FBRyxDQUFDLENBQUM7SUFFVCxzR0FBc0c7SUFDdEcsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVSLEdBQUcsQ0FBRSxJQUFnQjtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBQb3NlIH0gZnJvbSBcIi4vUG9zZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTbGlkZXJEYXRhIH0gZnJvbSBcIi4vU2xpZGVyRGF0YS5qc1wiO1xuXG4vKiogU3RvcmVzIGEgcG9zZSBmb3IgYSBzbGlkZXIuICovXG5leHBvcnQgY2xhc3MgU2xpZGVyUG9zZSBpbXBsZW1lbnRzIFBvc2U8U2xpZGVyUG9zZT4ge1xuXG5cdC8qKiBUaGUgdGltZSBpbiB0aGUge0BsaW5rIFNsaWRlckRhdGEuYW5pbWF0aW9ufSB0byBhcHBseSB0aGUgYW5pbWF0aW9uLiAqL1xuXHR0aW1lID0gMDtcblxuXHQvKiogQSBwZXJjZW50YWdlICh1bmJvdW5kZWQpIHRoYXQgY29udHJvbHMgdGhlIG1peCBiZXR3ZWVuIHRoZSBjb25zdHJhaW5lZCBhbmQgdW5jb25zdHJhaW5lZCBwb3Nlcy4gKi9cblx0bWl4ID0gMDtcblxuXHRzZXQgKHBvc2U6IFNsaWRlclBvc2UpIHtcblx0XHR0aGlzLnRpbWUgPSBwb3NlLnRpbWU7XG5cdFx0dGhpcy5taXggPSBwb3NlLm1peDtcblx0fVxufVxuIl19
|
package/dist/Slot.d.ts
CHANGED
|
@@ -26,44 +26,22 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { Skeleton } from "./Skeleton.js";
|
|
32
|
-
import { SlotData } from "./SlotData.js";
|
|
33
|
-
import {
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* across multiple
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
import type { Bone } from "./Bone.js";
|
|
30
|
+
import { Posed } from "./Posed.js";
|
|
31
|
+
import type { Skeleton } from "./Skeleton.js";
|
|
32
|
+
import type { SlotData } from "./SlotData.js";
|
|
33
|
+
import { SlotPose } from "./SlotPose.js";
|
|
34
|
+
/** Organizes attachments for {@link Skeleton.drawOrder} purposes and provide a place to store state for an attachment.
|
|
35
|
+
*
|
|
36
|
+
* State cannot be stored in an attachment itself because attachments are stateless and may be shared across multiple
|
|
37
|
+
* skeletons. */
|
|
38
|
+
export declare class Slot extends Posed<SlotData, SlotPose> {
|
|
39
|
+
readonly skeleton: Skeleton;
|
|
40
40
|
/** The bone this slot belongs to. */
|
|
41
|
-
bone: Bone;
|
|
42
|
-
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
43
|
-
* color tinting. */
|
|
44
|
-
color: Color;
|
|
45
|
-
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
46
|
-
* color's alpha is not used. */
|
|
47
|
-
darkColor: Color | null;
|
|
48
|
-
attachment: Attachment | null;
|
|
41
|
+
readonly bone: Bone;
|
|
49
42
|
attachmentState: number;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
|
|
55
|
-
*
|
|
56
|
-
* See {@link VertexAttachment#computeWorldVertices()} and {@link DeformTimeline}. */
|
|
57
|
-
deform: number[];
|
|
58
|
-
constructor(data: SlotData, bone: Bone);
|
|
59
|
-
/** The skeleton this slot belongs to. */
|
|
60
|
-
getSkeleton(): Skeleton;
|
|
61
|
-
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
62
|
-
getAttachment(): Attachment | null;
|
|
63
|
-
/** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}.
|
|
64
|
-
* The deform is not cleared if the old attachment has the same {@link VertexAttachment#getTimelineAttachment()} as the
|
|
65
|
-
* specified attachment. */
|
|
66
|
-
setAttachment(attachment: Attachment | null): void;
|
|
67
|
-
/** Sets this slot to the setup pose. */
|
|
68
|
-
setToSetupPose(): void;
|
|
43
|
+
constructor(data: SlotData, skeleton: Skeleton);
|
|
44
|
+
/** Copy constructor. */
|
|
45
|
+
copy(slot: Slot, bone: Bone, skeleton: Skeleton): Slot;
|
|
46
|
+
setupPose(): void;
|
|
69
47
|
}
|
package/dist/Slot.js
CHANGED
|
@@ -26,75 +26,52 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import {
|
|
29
|
+
import { Posed } from "./Posed.js";
|
|
30
|
+
import { SlotPose } from "./SlotPose.js";
|
|
30
31
|
import { Color } from "./Utils.js";
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
* across multiple
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
/** Organizes attachments for {@link Skeleton.drawOrder} purposes and provide a place to store state for an attachment.
|
|
33
|
+
*
|
|
34
|
+
* State cannot be stored in an attachment itself because attachments are stateless and may be shared across multiple
|
|
35
|
+
* skeletons. */
|
|
36
|
+
export class Slot extends Posed {
|
|
37
|
+
skeleton;
|
|
37
38
|
/** The bone this slot belongs to. */
|
|
38
39
|
bone;
|
|
39
|
-
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
40
|
-
* color tinting. */
|
|
41
|
-
color;
|
|
42
|
-
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
43
|
-
* color's alpha is not used. */
|
|
44
|
-
darkColor = null;
|
|
45
|
-
attachment = null;
|
|
46
40
|
attachmentState = 0;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (!bone)
|
|
59
|
-
throw new Error("bone cannot be null.");
|
|
60
|
-
this.data = data;
|
|
61
|
-
this.bone = bone;
|
|
62
|
-
this.color = new Color();
|
|
63
|
-
this.darkColor = !data.darkColor ? null : new Color();
|
|
64
|
-
this.setToSetupPose();
|
|
65
|
-
}
|
|
66
|
-
/** The skeleton this slot belongs to. */
|
|
67
|
-
getSkeleton() {
|
|
68
|
-
return this.bone.skeleton;
|
|
69
|
-
}
|
|
70
|
-
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
71
|
-
getAttachment() {
|
|
72
|
-
return this.attachment;
|
|
41
|
+
constructor(data, skeleton) {
|
|
42
|
+
super(data, new SlotPose(), new SlotPose());
|
|
43
|
+
if (!skeleton)
|
|
44
|
+
throw new Error("skeleton cannot be null.");
|
|
45
|
+
this.skeleton = skeleton;
|
|
46
|
+
this.bone = skeleton.bones[data.boneData.index];
|
|
47
|
+
if (data.setupPose.darkColor != null) {
|
|
48
|
+
this.pose.darkColor = new Color();
|
|
49
|
+
this.constrainedPose.darkColor = new Color();
|
|
50
|
+
}
|
|
51
|
+
this.setupPose();
|
|
73
52
|
}
|
|
74
|
-
/**
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (!(attachment instanceof VertexAttachment) || !(this.attachment instanceof VertexAttachment)
|
|
81
|
-
|| attachment.timelineAttachment != this.attachment.timelineAttachment) {
|
|
82
|
-
this.deform.length = 0;
|
|
53
|
+
/** Copy constructor. */
|
|
54
|
+
copy(slot, bone, skeleton) {
|
|
55
|
+
const copy = new Slot(slot.data, this.skeleton);
|
|
56
|
+
if (this.data.setupPose.darkColor != null) {
|
|
57
|
+
copy.pose.darkColor = new Color();
|
|
58
|
+
copy.constrainedPose.darkColor = new Color();
|
|
83
59
|
}
|
|
84
|
-
|
|
85
|
-
|
|
60
|
+
copy.pose.set(slot.pose);
|
|
61
|
+
return copy;
|
|
86
62
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (this.darkColor)
|
|
91
|
-
this.darkColor.setFromColor(this.data.darkColor);
|
|
63
|
+
setupPose() {
|
|
64
|
+
this.pose.color.setFromColor(this.data.setupPose.color);
|
|
65
|
+
// biome-ignore lint/style/noNonNullAssertion: reference runtime
|
|
66
|
+
if (this.pose.darkColor)
|
|
67
|
+
this.pose.darkColor.setFromColor(this.data.setupPose.darkColor);
|
|
68
|
+
this.pose.sequenceIndex = this.data.setupPose.sequenceIndex;
|
|
92
69
|
if (!this.data.attachmentName)
|
|
93
|
-
this.
|
|
70
|
+
this.pose.setAttachment(null);
|
|
94
71
|
else {
|
|
95
|
-
this.attachment = null;
|
|
96
|
-
this.setAttachment(this.
|
|
72
|
+
this.pose.attachment = null;
|
|
73
|
+
this.pose.setAttachment(this.skeleton.getAttachment(this.data.index, this.data.attachmentName));
|
|
97
74
|
}
|
|
98
75
|
}
|
|
99
76
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuQzs7O2dCQUdnQjtBQUNoQixNQUFNLE9BQU8sSUFBSyxTQUFRLEtBQXlCO0lBQ3pDLFFBQVEsQ0FBVztJQUU1QixxQ0FBcUM7SUFDNUIsSUFBSSxDQUFPO0lBRXBCLGVBQWUsR0FBVyxDQUFDLENBQUM7SUFFNUIsWUFBYSxJQUFjLEVBQUUsUUFBa0I7UUFDOUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx3QkFBd0I7SUFDakIsSUFBSSxDQUFFLElBQVUsRUFBRSxJQUFVLEVBQUUsUUFBa0I7UUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsU0FBUztRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxnRUFBZ0U7UUFDaEUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBVSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsQ0FBQztZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakcsQ0FBQztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBCb25lIH0gZnJvbSBcIi4vQm9uZS5qc1wiO1xuaW1wb3J0IHsgUG9zZWQgfSBmcm9tIFwiLi9Qb3NlZC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTa2VsZXRvbiB9IGZyb20gXCIuL1NrZWxldG9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNsb3REYXRhIH0gZnJvbSBcIi4vU2xvdERhdGEuanNcIjtcbmltcG9ydCB7IFNsb3RQb3NlIH0gZnJvbSBcIi4vU2xvdFBvc2UuanNcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuLyoqIE9yZ2FuaXplcyBhdHRhY2htZW50cyBmb3Ige0BsaW5rIFNrZWxldG9uLmRyYXdPcmRlcn0gcHVycG9zZXMgYW5kIHByb3ZpZGUgYSBwbGFjZSB0byBzdG9yZSBzdGF0ZSBmb3IgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBTdGF0ZSBjYW5ub3QgYmUgc3RvcmVkIGluIGFuIGF0dGFjaG1lbnQgaXRzZWxmIGJlY2F1c2UgYXR0YWNobWVudHMgYXJlIHN0YXRlbGVzcyBhbmQgbWF5IGJlIHNoYXJlZCBhY3Jvc3MgbXVsdGlwbGVcbiAqIHNrZWxldG9ucy4gKi9cbmV4cG9ydCBjbGFzcyBTbG90IGV4dGVuZHMgUG9zZWQ8U2xvdERhdGEsIFNsb3RQb3NlPiB7XG5cdHJlYWRvbmx5IHNrZWxldG9uOiBTa2VsZXRvbjtcblxuXHQvKiogVGhlIGJvbmUgdGhpcyBzbG90IGJlbG9uZ3MgdG8uICovXG5cdHJlYWRvbmx5IGJvbmU6IEJvbmU7XG5cblx0YXR0YWNobWVudFN0YXRlOiBudW1iZXIgPSAwO1xuXG5cdGNvbnN0cnVjdG9yIChkYXRhOiBTbG90RGF0YSwgc2tlbGV0b246IFNrZWxldG9uKSB7XG5cdFx0c3VwZXIoZGF0YSwgbmV3IFNsb3RQb3NlKCksIG5ldyBTbG90UG9zZSgpKTtcblx0XHRpZiAoIXNrZWxldG9uKSB0aHJvdyBuZXcgRXJyb3IoXCJza2VsZXRvbiBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0dGhpcy5za2VsZXRvbiA9IHNrZWxldG9uO1xuXHRcdHRoaXMuYm9uZSA9IHNrZWxldG9uLmJvbmVzW2RhdGEuYm9uZURhdGEuaW5kZXhdO1xuXHRcdGlmIChkYXRhLnNldHVwUG9zZS5kYXJrQ29sb3IgIT0gbnVsbCkge1xuXHRcdFx0dGhpcy5wb3NlLmRhcmtDb2xvciA9IG5ldyBDb2xvcigpO1xuXHRcdFx0dGhpcy5jb25zdHJhaW5lZFBvc2UuZGFya0NvbG9yID0gbmV3IENvbG9yKCk7XG5cdFx0fVxuXHRcdHRoaXMuc2V0dXBQb3NlKCk7XG5cdH1cblxuXHQvKiogQ29weSBjb25zdHJ1Y3Rvci4gKi9cblx0cHVibGljIGNvcHkgKHNsb3Q6IFNsb3QsIGJvbmU6IEJvbmUsIHNrZWxldG9uOiBTa2VsZXRvbikge1xuXHRcdGNvbnN0IGNvcHkgPSBuZXcgU2xvdChzbG90LmRhdGEsIHRoaXMuc2tlbGV0b24pO1xuXHRcdGlmICh0aGlzLmRhdGEuc2V0dXBQb3NlLmRhcmtDb2xvciAhPSBudWxsKSB7XG5cdFx0XHRjb3B5LnBvc2UuZGFya0NvbG9yID0gbmV3IENvbG9yKCk7XG5cdFx0XHRjb3B5LmNvbnN0cmFpbmVkUG9zZS5kYXJrQ29sb3IgPSBuZXcgQ29sb3IoKTtcblx0XHR9XG5cdFx0Y29weS5wb3NlLnNldChzbG90LnBvc2UpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG5cblx0c2V0dXBQb3NlICgpIHtcblx0XHR0aGlzLnBvc2UuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuZGF0YS5zZXR1cFBvc2UuY29sb3IpO1xuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL25vTm9uTnVsbEFzc2VydGlvbjogcmVmZXJlbmNlIHJ1bnRpbWVcblx0XHRpZiAodGhpcy5wb3NlLmRhcmtDb2xvcikgdGhpcy5wb3NlLmRhcmtDb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLnNldHVwUG9zZS5kYXJrQ29sb3IhKTtcblx0XHR0aGlzLnBvc2Uuc2VxdWVuY2VJbmRleCA9IHRoaXMuZGF0YS5zZXR1cFBvc2Uuc2VxdWVuY2VJbmRleDtcblx0XHRpZiAoIXRoaXMuZGF0YS5hdHRhY2htZW50TmFtZSlcblx0XHRcdHRoaXMucG9zZS5zZXRBdHRhY2htZW50KG51bGwpO1xuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5wb3NlLmF0dGFjaG1lbnQgPSBudWxsO1xuXHRcdFx0dGhpcy5wb3NlLnNldEF0dGFjaG1lbnQodGhpcy5za2VsZXRvbi5nZXRBdHRhY2htZW50KHRoaXMuZGF0YS5pbmRleCwgdGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lKSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
package/dist/SlotData.d.ts
CHANGED
|
@@ -26,22 +26,15 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { BoneData } from "./BoneData.js";
|
|
30
|
-
import {
|
|
29
|
+
import type { BoneData } from "./BoneData.js";
|
|
30
|
+
import { PosedData } from "./PosedData.js";
|
|
31
|
+
import { SlotPose } from "./SlotPose.js";
|
|
31
32
|
/** Stores the setup pose for a {@link Slot}. */
|
|
32
|
-
export declare class SlotData {
|
|
33
|
-
/** The index of the slot in {@link Skeleton
|
|
33
|
+
export declare class SlotData extends PosedData<SlotPose> {
|
|
34
|
+
/** The index of the slot in {@link Skeleton.slots}. */
|
|
34
35
|
index: number;
|
|
35
|
-
/** The name of the slot, which is unique across all slots in the skeleton. */
|
|
36
|
-
name: string;
|
|
37
36
|
/** The bone this slot belongs to. */
|
|
38
37
|
boneData: BoneData;
|
|
39
|
-
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
40
|
-
* color tinting. */
|
|
41
|
-
color: Color;
|
|
42
|
-
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
43
|
-
* color's alpha is not used. */
|
|
44
|
-
darkColor: Color | null;
|
|
45
38
|
/** The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. */
|
|
46
39
|
attachmentName: string | null;
|
|
47
40
|
/** The blend mode for drawing the slot's attachment. */
|
package/dist/SlotData.js
CHANGED
|
@@ -26,36 +26,28 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import {
|
|
29
|
+
import { PosedData } from "./PosedData.js";
|
|
30
|
+
import { SlotPose } from "./SlotPose.js";
|
|
30
31
|
/** Stores the setup pose for a {@link Slot}. */
|
|
31
|
-
export class SlotData {
|
|
32
|
-
/** The index of the slot in {@link Skeleton
|
|
32
|
+
export class SlotData extends PosedData {
|
|
33
|
+
/** The index of the slot in {@link Skeleton.slots}. */
|
|
33
34
|
index = 0;
|
|
34
|
-
/** The name of the slot, which is unique across all slots in the skeleton. */
|
|
35
|
-
name;
|
|
36
35
|
/** The bone this slot belongs to. */
|
|
37
36
|
boneData;
|
|
38
|
-
/** The color used to tint the slot's attachment. If {@link #getDarkColor()} is set, this is used as the light color for two
|
|
39
|
-
* color tinting. */
|
|
40
|
-
color = new Color(1, 1, 1, 1);
|
|
41
|
-
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
42
|
-
* color's alpha is not used. */
|
|
43
|
-
darkColor = null;
|
|
44
37
|
/** The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. */
|
|
45
38
|
attachmentName = null;
|
|
46
39
|
/** The blend mode for drawing the slot's attachment. */
|
|
47
40
|
blendMode = BlendMode.Normal;
|
|
41
|
+
// Nonessential.
|
|
48
42
|
/** False if the slot was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */
|
|
49
43
|
visible = true;
|
|
50
44
|
constructor(index, name, boneData) {
|
|
45
|
+
super(name, new SlotPose());
|
|
51
46
|
if (index < 0)
|
|
52
47
|
throw new Error("index must be >= 0.");
|
|
53
|
-
if (!name)
|
|
54
|
-
throw new Error("name cannot be null.");
|
|
55
48
|
if (!boneData)
|
|
56
49
|
throw new Error("boneData cannot be null.");
|
|
57
50
|
this.index = index;
|
|
58
|
-
this.name = name;
|
|
59
51
|
this.boneData = boneData;
|
|
60
52
|
}
|
|
61
53
|
}
|
|
@@ -67,4 +59,4 @@ export var BlendMode;
|
|
|
67
59
|
BlendMode[BlendMode["Multiply"] = 2] = "Multiply";
|
|
68
60
|
BlendMode[BlendMode["Screen"] = 3] = "Screen";
|
|
69
61
|
})(BlendMode || (BlendMode = {}));
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2xvdERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLGdEQUFnRDtBQUNoRCxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQW1CO0lBQ2hELHVEQUF1RDtJQUN2RCxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLHFDQUFxQztJQUNyQyxRQUFRLENBQVc7SUFFbkIsdUhBQXVIO0lBQ3ZILGNBQWMsR0FBa0IsSUFBSSxDQUFDO0lBRXJDLHdEQUF3RDtJQUN4RCxTQUFTLEdBQWMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUV4QyxnQkFBZ0I7SUFDaEIsbUhBQW1IO0lBQ25ILE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFZixZQUFhLEtBQWEsRUFBRSxJQUFZLEVBQUUsUUFBa0I7UUFDM0QsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0NBQ0Q7QUFFRCx5RUFBeUU7QUFDekUsTUFBTSxDQUFOLElBQVksU0FBZ0Q7QUFBNUQsV0FBWSxTQUFTO0lBQUcsNkNBQU0sQ0FBQTtJQUFFLGlEQUFRLENBQUE7SUFBRSxpREFBUSxDQUFBO0lBQUUsNkNBQU0sQ0FBQTtBQUFDLENBQUMsRUFBaEQsU0FBUyxLQUFULFNBQVMsUUFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB0eXBlIHsgQm9uZURhdGEgfSBmcm9tIFwiLi9Cb25lRGF0YS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTbG90IH0gZnJvbSBcIi4vU2xvdC5qc1wiO1xuaW1wb3J0IHsgUG9zZWREYXRhIH0gZnJvbSBcIi4vUG9zZWREYXRhLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNrZWxldG9uIH0gZnJvbSBcIi4vU2tlbGV0b24uanNcIjtcbmltcG9ydCB7IFNsb3RQb3NlIH0gZnJvbSBcIi4vU2xvdFBvc2UuanNcIjtcblxuLyoqIFN0b3JlcyB0aGUgc2V0dXAgcG9zZSBmb3IgYSB7QGxpbmsgU2xvdH0uICovXG5leHBvcnQgY2xhc3MgU2xvdERhdGEgZXh0ZW5kcyBQb3NlZERhdGE8U2xvdFBvc2U+IHtcblx0LyoqIFRoZSBpbmRleCBvZiB0aGUgc2xvdCBpbiB7QGxpbmsgU2tlbGV0b24uc2xvdHN9LiAqL1xuXHRpbmRleDogbnVtYmVyID0gMDtcblxuXHQvKiogVGhlIGJvbmUgdGhpcyBzbG90IGJlbG9uZ3MgdG8uICovXG5cdGJvbmVEYXRhOiBCb25lRGF0YTtcblxuXHQvKiogVGhlIG5hbWUgb2YgdGhlIGF0dGFjaG1lbnQgdGhhdCBpcyB2aXNpYmxlIGZvciB0aGlzIHNsb3QgaW4gdGhlIHNldHVwIHBvc2UsIG9yIG51bGwgaWYgbm8gYXR0YWNobWVudCBpcyB2aXNpYmxlLiAqL1xuXHRhdHRhY2htZW50TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqIFRoZSBibGVuZCBtb2RlIGZvciBkcmF3aW5nIHRoZSBzbG90J3MgYXR0YWNobWVudC4gKi9cblx0YmxlbmRNb2RlOiBCbGVuZE1vZGUgPSBCbGVuZE1vZGUuTm9ybWFsO1xuXG5cdC8vIE5vbmVzc2VudGlhbC5cblx0LyoqIEZhbHNlIGlmIHRoZSBzbG90IHdhcyBoaWRkZW4gaW4gU3BpbmUgYW5kIG5vbmVzc2VudGlhbCBkYXRhIHdhcyBleHBvcnRlZC4gRG9lcyBub3QgYWZmZWN0IHJ1bnRpbWUgcmVuZGVyaW5nLiAqL1xuXHR2aXNpYmxlID0gdHJ1ZTtcblxuXHRjb25zdHJ1Y3RvciAoaW5kZXg6IG51bWJlciwgbmFtZTogc3RyaW5nLCBib25lRGF0YTogQm9uZURhdGEpIHtcblx0XHRzdXBlcihuYW1lLCBuZXcgU2xvdFBvc2UoKSk7XG5cdFx0aWYgKGluZGV4IDwgMCkgdGhyb3cgbmV3IEVycm9yKFwiaW5kZXggbXVzdCBiZSA+PSAwLlwiKTtcblx0XHRpZiAoIWJvbmVEYXRhKSB0aHJvdyBuZXcgRXJyb3IoXCJib25lRGF0YSBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0dGhpcy5pbmRleCA9IGluZGV4O1xuXHRcdHRoaXMuYm9uZURhdGEgPSBib25lRGF0YTtcblx0fVxufVxuXG4vKiogRGV0ZXJtaW5lcyBob3cgaW1hZ2VzIGFyZSBibGVuZGVkIHdpdGggZXhpc3RpbmcgcGl4ZWxzIHdoZW4gZHJhd24uICovXG5leHBvcnQgZW51bSBCbGVuZE1vZGUgeyBOb3JtYWwsIEFkZGl0aXZlLCBNdWx0aXBseSwgU2NyZWVuIH1cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import type { Attachment } from "./attachments/Attachment.js";
|
|
30
|
+
import type { Pose } from "./Pose.js";
|
|
31
|
+
import { Color } from "./Utils.js";
|
|
32
|
+
/** Stores a slot's pose. */
|
|
33
|
+
export declare class SlotPose implements Pose<SlotPose> {
|
|
34
|
+
/** The color used to tint the slot's attachment. If {@link darkColor} is set, this is used as the light color for two color
|
|
35
|
+
* tinting. */
|
|
36
|
+
readonly color: Color;
|
|
37
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
38
|
+
* color's alpha is not used. */
|
|
39
|
+
darkColor: Color | null;
|
|
40
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
41
|
+
attachment: Attachment | null;
|
|
42
|
+
/** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
|
|
43
|
+
* {@link Sequence.getSetupIndex}. */
|
|
44
|
+
sequenceIndex: number;
|
|
45
|
+
/** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
|
|
46
|
+
* weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
|
|
47
|
+
*
|
|
48
|
+
* See {@link VertexAttachment.computeWorldVertices} and
|
|
49
|
+
* {@link DeformTimeline}. */
|
|
50
|
+
readonly deform: number[];
|
|
51
|
+
SlotPose(): void;
|
|
52
|
+
set(pose: SlotPose): void;
|
|
53
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
54
|
+
getAttachment(): Attachment | null;
|
|
55
|
+
/** Sets the slot's attachment and, if the attachment changed, resets {@link sequenceIndex} and clears the {@link deform}.
|
|
56
|
+
* The deform is not cleared if the old attachment has the same {@link VertexAttachment.getTimelineAttachment} as the
|
|
57
|
+
* specified attachment. */
|
|
58
|
+
setAttachment(attachment: Attachment | null): void;
|
|
59
|
+
}
|
package/dist/SlotPose.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* Spine Runtimes License Agreement
|
|
3
|
+
* Last updated April 5, 2025. Replaces all prior versions.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2013-2025, Esoteric Software LLC
|
|
6
|
+
*
|
|
7
|
+
* Integration of the Spine Runtimes into software or otherwise creating
|
|
8
|
+
* derivative works of the Spine Runtimes is permitted under the terms and
|
|
9
|
+
* conditions of Section 2 of the Spine Editor License Agreement:
|
|
10
|
+
* http://esotericsoftware.com/spine-editor-license
|
|
11
|
+
*
|
|
12
|
+
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
|
13
|
+
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
|
14
|
+
* "Products"), provided that each user of the Products must obtain their own
|
|
15
|
+
* Spine Editor license and redistribution of the Products in any form must
|
|
16
|
+
* include this license and copyright notice.
|
|
17
|
+
*
|
|
18
|
+
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
|
19
|
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
|
22
|
+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
24
|
+
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
|
25
|
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
|
+
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
import { VertexAttachment } from "./attachments/Attachment.js";
|
|
30
|
+
import { Color } from "./Utils.js";
|
|
31
|
+
/** Stores a slot's pose. */
|
|
32
|
+
export class SlotPose {
|
|
33
|
+
/** The color used to tint the slot's attachment. If {@link darkColor} is set, this is used as the light color for two color
|
|
34
|
+
* tinting. */
|
|
35
|
+
color = new Color(1, 1, 1, 1);
|
|
36
|
+
/** The dark color used to tint the slot's attachment for two color tinting, or null if two color tinting is not used. The dark
|
|
37
|
+
* color's alpha is not used. */
|
|
38
|
+
darkColor = null;
|
|
39
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
40
|
+
attachment = null; // Not used in setup pose.
|
|
41
|
+
/** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
|
|
42
|
+
* {@link Sequence.getSetupIndex}. */
|
|
43
|
+
sequenceIndex = 0;
|
|
44
|
+
/** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
|
|
45
|
+
* weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
|
|
46
|
+
*
|
|
47
|
+
* See {@link VertexAttachment.computeWorldVertices} and
|
|
48
|
+
* {@link DeformTimeline}. */
|
|
49
|
+
deform = [];
|
|
50
|
+
SlotPose() {
|
|
51
|
+
}
|
|
52
|
+
set(pose) {
|
|
53
|
+
if (pose == null)
|
|
54
|
+
throw new Error("pose cannot be null.");
|
|
55
|
+
this.color.setFromColor(pose.color);
|
|
56
|
+
if (this.darkColor != null && pose.darkColor != null)
|
|
57
|
+
this.darkColor.setFromColor(pose.darkColor);
|
|
58
|
+
this.attachment = pose.attachment;
|
|
59
|
+
this.sequenceIndex = pose.sequenceIndex;
|
|
60
|
+
this.deform.length = 0;
|
|
61
|
+
this.deform.push(...pose.deform);
|
|
62
|
+
}
|
|
63
|
+
/** The current attachment for the slot, or null if the slot has no attachment. */
|
|
64
|
+
getAttachment() {
|
|
65
|
+
return this.attachment;
|
|
66
|
+
}
|
|
67
|
+
/** Sets the slot's attachment and, if the attachment changed, resets {@link sequenceIndex} and clears the {@link deform}.
|
|
68
|
+
* The deform is not cleared if the old attachment has the same {@link VertexAttachment.getTimelineAttachment} as the
|
|
69
|
+
* specified attachment. */
|
|
70
|
+
setAttachment(attachment) {
|
|
71
|
+
if (this.attachment === attachment)
|
|
72
|
+
return;
|
|
73
|
+
if (!(attachment instanceof VertexAttachment) || !(this.attachment instanceof VertexAttachment)
|
|
74
|
+
|| attachment.timelineAttachment !== this.attachment.timelineAttachment) {
|
|
75
|
+
this.deform.length = 0;
|
|
76
|
+
}
|
|
77
|
+
this.attachment = attachment;
|
|
78
|
+
this.sequenceIndex = -1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdFBvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2xvdFBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBSS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkMsNEJBQTRCO0FBQzVCLE1BQU0sT0FBTyxRQUFRO0lBQ3BCO2tCQUNjO0lBQ0wsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXZDO29DQUNnQztJQUNoQyxTQUFTLEdBQWlCLElBQUksQ0FBQztJQUUvQixrRkFBa0Y7SUFDbEYsVUFBVSxHQUFzQixJQUFJLENBQUMsQ0FBQywwQkFBMEI7SUFFaEU7eUNBQ3FDO0lBQ3JDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFbEI7Ozs7aUNBSTZCO0lBQ3BCLE1BQU0sR0FBRyxFQUFjLENBQUM7SUFFakMsUUFBUTtJQUNSLENBQUM7SUFFTSxHQUFHLENBQUUsSUFBYztRQUN6QixJQUFJLElBQUksSUFBSSxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLGFBQWE7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztJQUVEOzsrQkFFMkI7SUFDM0IsYUFBYSxDQUFFLFVBQTZCO1FBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVO1lBQUUsT0FBTztRQUMzQyxJQUFJLENBQUMsQ0FBQyxVQUFVLFlBQVksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsWUFBWSxnQkFBZ0IsQ0FBQztlQUMzRixVQUFVLENBQUMsa0JBQWtCLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB0eXBlIHsgRGVmb3JtVGltZWxpbmUgfSBmcm9tIFwiLi9BbmltYXRpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gXCIuL2F0dGFjaG1lbnRzL0F0dGFjaG1lbnQuanNcIjtcbmltcG9ydCB7IFZlcnRleEF0dGFjaG1lbnQgfSBmcm9tIFwiLi9hdHRhY2htZW50cy9BdHRhY2htZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNlcXVlbmNlIH0gZnJvbSBcIi4vYXR0YWNobWVudHMvU2VxdWVuY2UuanNcIjtcbmltcG9ydCB0eXBlIHsgUG9zZSB9IGZyb20gXCIuL1Bvc2UuanNcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuLyoqIFN0b3JlcyBhIHNsb3QncyBwb3NlLiAqL1xuZXhwb3J0IGNsYXNzIFNsb3RQb3NlIGltcGxlbWVudHMgUG9zZTxTbG90UG9zZT4ge1xuXHQvKiogVGhlIGNvbG9yIHVzZWQgdG8gdGludCB0aGUgc2xvdCdzIGF0dGFjaG1lbnQuIElmIHtAbGluayBkYXJrQ29sb3J9IGlzIHNldCwgdGhpcyBpcyB1c2VkIGFzIHRoZSBsaWdodCBjb2xvciBmb3IgdHdvIGNvbG9yXG5cdCAqIHRpbnRpbmcuICovXG5cdHJlYWRvbmx5IGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgZGFyayBjb2xvciB1c2VkIHRvIHRpbnQgdGhlIHNsb3QncyBhdHRhY2htZW50IGZvciB0d28gY29sb3IgdGludGluZywgb3IgbnVsbCBpZiB0d28gY29sb3IgdGludGluZyBpcyBub3QgdXNlZC4gVGhlIGRhcmtcblx0ICogY29sb3IncyBhbHBoYSBpcyBub3QgdXNlZC4gKi9cblx0ZGFya0NvbG9yOiBDb2xvciB8IG51bGwgPSBudWxsO1xuXG5cdC8qKiBUaGUgY3VycmVudCBhdHRhY2htZW50IGZvciB0aGUgc2xvdCwgb3IgbnVsbCBpZiB0aGUgc2xvdCBoYXMgbm8gYXR0YWNobWVudC4gKi9cblx0YXR0YWNobWVudDogQXR0YWNobWVudCB8IG51bGwgPSBudWxsOyAvLyBOb3QgdXNlZCBpbiBzZXR1cCBwb3NlLlxuXG5cdC8qKiBUaGUgaW5kZXggb2YgdGhlIHRleHR1cmUgcmVnaW9uIHRvIGRpc3BsYXkgd2hlbiB0aGUgc2xvdCdzIGF0dGFjaG1lbnQgaGFzIGEge0BsaW5rIFNlcXVlbmNlfS4gLTEgcmVwcmVzZW50cyB0aGVcblx0ICoge0BsaW5rIFNlcXVlbmNlLmdldFNldHVwSW5kZXh9LiAqL1xuXHRzZXF1ZW5jZUluZGV4ID0gMDtcblxuXHQvKiogVmFsdWVzIHRvIGRlZm9ybSB0aGUgc2xvdCdzIGF0dGFjaG1lbnQuIEZvciBhbiB1bndlaWdodGVkIG1lc2gsIHRoZSBlbnRyaWVzIGFyZSBsb2NhbCBwb3NpdGlvbnMgZm9yIGVhY2ggdmVydGV4LiBGb3IgYVxuXHQgKiB3ZWlnaHRlZCBtZXNoLCB0aGUgZW50cmllcyBhcmUgYW4gb2Zmc2V0IGZvciBlYWNoIHZlcnRleCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBtZXNoJ3MgbG9jYWwgdmVydGV4IHBvc2l0aW9ucy5cblx0ICpcblx0ICogU2VlIHtAbGluayBWZXJ0ZXhBdHRhY2htZW50LmNvbXB1dGVXb3JsZFZlcnRpY2VzfSBhbmRcblx0ICoge0BsaW5rIERlZm9ybVRpbWVsaW5lfS4gKi9cblx0cmVhZG9ubHkgZGVmb3JtID0gW10gYXMgbnVtYmVyW107XG5cblx0U2xvdFBvc2UgKCkge1xuXHR9XG5cblx0cHVibGljIHNldCAocG9zZTogU2xvdFBvc2UpOiB2b2lkIHtcblx0XHRpZiAocG9zZSA9PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoXCJwb3NlIGNhbm5vdCBiZSBudWxsLlwiKTtcblx0XHR0aGlzLmNvbG9yLnNldEZyb21Db2xvcihwb3NlLmNvbG9yKTtcblx0XHRpZiAodGhpcy5kYXJrQ29sb3IgIT0gbnVsbCAmJiBwb3NlLmRhcmtDb2xvciAhPSBudWxsKSB0aGlzLmRhcmtDb2xvci5zZXRGcm9tQ29sb3IocG9zZS5kYXJrQ29sb3IpO1xuXHRcdHRoaXMuYXR0YWNobWVudCA9IHBvc2UuYXR0YWNobWVudDtcblx0XHR0aGlzLnNlcXVlbmNlSW5kZXggPSBwb3NlLnNlcXVlbmNlSW5kZXg7XG5cdFx0dGhpcy5kZWZvcm0ubGVuZ3RoID0gMDtcblx0XHR0aGlzLmRlZm9ybS5wdXNoKC4uLnBvc2UuZGVmb3JtKTtcblx0fVxuXG5cdC8qKiBUaGUgY3VycmVudCBhdHRhY2htZW50IGZvciB0aGUgc2xvdCwgb3IgbnVsbCBpZiB0aGUgc2xvdCBoYXMgbm8gYXR0YWNobWVudC4gKi9cblx0Z2V0QXR0YWNobWVudCAoKTogQXR0YWNobWVudCB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmF0dGFjaG1lbnQ7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgc2xvdCdzIGF0dGFjaG1lbnQgYW5kLCBpZiB0aGUgYXR0YWNobWVudCBjaGFuZ2VkLCByZXNldHMge0BsaW5rIHNlcXVlbmNlSW5kZXh9IGFuZCBjbGVhcnMgdGhlIHtAbGluayBkZWZvcm19LlxuXHQgKiBUaGUgZGVmb3JtIGlzIG5vdCBjbGVhcmVkIGlmIHRoZSBvbGQgYXR0YWNobWVudCBoYXMgdGhlIHNhbWUge0BsaW5rIFZlcnRleEF0dGFjaG1lbnQuZ2V0VGltZWxpbmVBdHRhY2htZW50fSBhcyB0aGVcblx0ICogc3BlY2lmaWVkIGF0dGFjaG1lbnQuICovXG5cdHNldEF0dGFjaG1lbnQgKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQgfCBudWxsKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuYXR0YWNobWVudCA9PT0gYXR0YWNobWVudCkgcmV0dXJuO1xuXHRcdGlmICghKGF0dGFjaG1lbnQgaW5zdGFuY2VvZiBWZXJ0ZXhBdHRhY2htZW50KSB8fCAhKHRoaXMuYXR0YWNobWVudCBpbnN0YW5jZW9mIFZlcnRleEF0dGFjaG1lbnQpXG5cdFx0XHR8fCBhdHRhY2htZW50LnRpbWVsaW5lQXR0YWNobWVudCAhPT0gdGhpcy5hdHRhY2htZW50LnRpbWVsaW5lQXR0YWNobWVudCkge1xuXHRcdFx0dGhpcy5kZWZvcm0ubGVuZ3RoID0gMDtcblx0XHR9XG5cdFx0dGhpcy5hdHRhY2htZW50ID0gYXR0YWNobWVudDtcblx0XHR0aGlzLnNlcXVlbmNlSW5kZXggPSAtMTtcblx0fVxufVxuIl19
|
package/dist/Texture.d.ts
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
+
/** biome-ignore-all lint/suspicious/noExplicitAny: textures can be various type */
|
|
29
30
|
export declare abstract class Texture {
|
|
30
31
|
protected _image: HTMLImageElement | ImageBitmap | any;
|
|
31
32
|
constructor(image: HTMLImageElement | ImageBitmap | any);
|
package/dist/Texture.js
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
+
/** biome-ignore-all lint/suspicious/noExplicitAny: textures can be various type */
|
|
29
30
|
export class Texture {
|
|
30
31
|
_image;
|
|
31
32
|
constructor(image) {
|
|
@@ -70,4 +71,4 @@ export class FakeTexture extends Texture {
|
|
|
70
71
|
setWraps(uWrap, vWrap) { }
|
|
71
72
|
dispose() { }
|
|
72
73
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxtRkFBbUY7QUFFbkYsTUFBTSxPQUFnQixPQUFPO0lBQ2xCLE1BQU0sQ0FBdUM7SUFFdkQsWUFBYSxLQUEyQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0NBS0Q7QUFFRCxNQUFNLENBQU4sSUFBWSxhQVFYO0FBUkQsV0FBWSxhQUFhO0lBQ3hCLDBEQUFjLENBQUE7SUFDZCx3REFBYSxDQUFBO0lBQ2Isd0RBQWEsQ0FBQTtJQUNiLG9GQUEyQixDQUFBO0lBQzNCLGtGQUEwQixDQUFBO0lBQzFCLGtGQUEwQixDQUFBO0lBQzFCLGdGQUF5QixDQUFBLENBQUMsNkNBQTZDO0FBQ3hFLENBQUMsRUFSVyxhQUFhLEtBQWIsYUFBYSxRQVF4QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDdEIscUVBQXNCLENBQUE7SUFDdEIsK0RBQW1CLENBQUE7SUFDbkIscURBQWMsQ0FBQSxDQUFDLCtCQUErQjtBQUMvQyxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUN6QixPQUFPLENBQU07SUFDYixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEIsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0NBQ3RDO0FBRUQsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPO0lBQ3ZDLFVBQVUsQ0FBRSxTQUF3QixFQUFFLFNBQXdCLElBQUksQ0FBQztJQUNuRSxRQUFRLENBQUUsS0FBa0IsRUFBRSxLQUFrQixJQUFJLENBQUM7SUFDckQsT0FBTyxLQUFNLENBQUM7Q0FDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IHRleHR1cmVzIGNhbiBiZSB2YXJpb3VzIHR5cGUgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRleHR1cmUge1xuXHRwcm90ZWN0ZWQgX2ltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXAgfCBhbnk7XG5cblx0Y29uc3RydWN0b3IgKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXAgfCBhbnkpIHtcblx0XHR0aGlzLl9pbWFnZSA9IGltYWdlO1xuXHR9XG5cblx0Z2V0SW1hZ2UgKCk6IEhUTUxJbWFnZUVsZW1lbnQgfCBJbWFnZUJpdG1hcCB8IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX2ltYWdlO1xuXHR9XG5cblx0YWJzdHJhY3Qgc2V0RmlsdGVycyAobWluRmlsdGVyOiBUZXh0dXJlRmlsdGVyLCBtYWdGaWx0ZXI6IFRleHR1cmVGaWx0ZXIpOiB2b2lkO1xuXHRhYnN0cmFjdCBzZXRXcmFwcyAodVdyYXA6IFRleHR1cmVXcmFwLCB2V3JhcDogVGV4dHVyZVdyYXApOiB2b2lkO1xuXHRhYnN0cmFjdCBkaXNwb3NlICgpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBUZXh0dXJlRmlsdGVyIHtcblx0TmVhcmVzdCA9IDk3MjgsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5ORUFSRVNUXG5cdExpbmVhciA9IDk3MjksIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJcblx0TWlwTWFwID0gOTk4NywgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkxJTkVBUl9NSVBNQVBfTElORUFSXG5cdE1pcE1hcE5lYXJlc3ROZWFyZXN0ID0gOTk4NCwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lk5FQVJFU1RfTUlQTUFQX05FQVJFU1Rcblx0TWlwTWFwTGluZWFyTmVhcmVzdCA9IDk5ODUsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJfTUlQTUFQX05FQVJFU1Rcblx0TWlwTWFwTmVhcmVzdExpbmVhciA9IDk5ODYsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5ORUFSRVNUX01JUE1BUF9MSU5FQVJcblx0TWlwTWFwTGluZWFyTGluZWFyID0gOTk4NyAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTElORUFSX01JUE1BUF9MSU5FQVJcbn1cblxuZXhwb3J0IGVudW0gVGV4dHVyZVdyYXAge1xuXHRNaXJyb3JlZFJlcGVhdCA9IDMzNjQ4LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTUlSUk9SRURfUkVQRUFUXG5cdENsYW1wVG9FZGdlID0gMzMwNzEsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5DTEFNUF9UT19FREdFXG5cdFJlcGVhdCA9IDEwNDk3IC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5SRVBFQVRcbn1cblxuZXhwb3J0IGNsYXNzIFRleHR1cmVSZWdpb24ge1xuXHR0ZXh0dXJlOiBhbnk7XG5cdHUgPSAwOyB2ID0gMDtcblx0dTIgPSAwOyB2MiA9IDA7XG5cdHdpZHRoID0gMDsgaGVpZ2h0ID0gMDtcblx0ZGVncmVlcyA9IDA7XG5cdG9mZnNldFggPSAwOyBvZmZzZXRZID0gMDtcblx0b3JpZ2luYWxXaWR0aCA9IDA7IG9yaWdpbmFsSGVpZ2h0ID0gMDtcbn1cblxuZXhwb3J0IGNsYXNzIEZha2VUZXh0dXJlIGV4dGVuZHMgVGV4dHVyZSB7XG5cdHNldEZpbHRlcnMgKG1pbkZpbHRlcjogVGV4dHVyZUZpbHRlciwgbWFnRmlsdGVyOiBUZXh0dXJlRmlsdGVyKSB7IH1cblx0c2V0V3JhcHMgKHVXcmFwOiBUZXh0dXJlV3JhcCwgdldyYXA6IFRleHR1cmVXcmFwKSB7IH1cblx0ZGlzcG9zZSAoKSB7IH1cbn1cbiJdfQ==
|
package/dist/TextureAtlas.d.ts
CHANGED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { AssetManagerBase } from "./AssetManagerBase.js";
|
|
30
|
-
import {
|
|
31
|
-
import { Disposable } from "./Utils.js";
|
|
29
|
+
import type { AssetManagerBase } from "./AssetManagerBase.js";
|
|
30
|
+
import { type Texture, TextureFilter, TextureRegion, TextureWrap } from "./Texture.js";
|
|
31
|
+
import { type Disposable } from "./Utils.js";
|
|
32
32
|
export declare class TextureAtlas implements Disposable {
|
|
33
33
|
pages: TextureAtlasPage[];
|
|
34
34
|
regions: TextureAtlasRegion[];
|