@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.
Files changed (129) hide show
  1. package/dist/Animation.d.ts +426 -274
  2. package/dist/Animation.js +1174 -1210
  3. package/dist/AnimationState.d.ts +246 -201
  4. package/dist/AnimationState.js +508 -471
  5. package/dist/AnimationStateData.d.ts +12 -10
  6. package/dist/AnimationStateData.js +19 -20
  7. package/dist/AssetManagerBase.d.ts +29 -23
  8. package/dist/AssetManagerBase.js +67 -43
  9. package/dist/AtlasAttachmentLoader.d.ts +18 -12
  10. package/dist/AtlasAttachmentLoader.js +28 -39
  11. package/dist/Bone.d.ts +15 -109
  12. package/dist/Bone.js +22 -362
  13. package/dist/BoneData.d.ts +13 -28
  14. package/dist/BoneData.js +20 -29
  15. package/dist/BonePose.d.ts +130 -0
  16. package/dist/BonePose.js +426 -0
  17. package/dist/Constraint.d.ts +41 -0
  18. package/dist/Constraint.js +38 -0
  19. package/dist/ConstraintData.d.ts +7 -5
  20. package/dist/ConstraintData.js +5 -9
  21. package/dist/DrawOrder.d.ts +48 -0
  22. package/dist/DrawOrder.js +64 -0
  23. package/dist/Event.d.ts +11 -6
  24. package/dist/Event.js +10 -5
  25. package/dist/EventData.d.ts +10 -6
  26. package/dist/EventData.js +18 -7
  27. package/dist/IkConstraint.d.ts +22 -28
  28. package/dist/IkConstraint.js +115 -117
  29. package/dist/IkConstraintData.d.ts +23 -18
  30. package/dist/IkConstraintData.js +32 -22
  31. package/dist/IkConstraintPose.d.ts +49 -0
  32. package/dist/IkConstraintPose.js +55 -0
  33. package/dist/PathConstraint.d.ts +18 -22
  34. package/dist/PathConstraint.js +160 -136
  35. package/dist/PathConstraintData.d.ts +11 -14
  36. package/dist/PathConstraintData.js +14 -16
  37. package/dist/PathConstraintPose.d.ts +43 -0
  38. package/dist/PathConstraintPose.js +49 -0
  39. package/dist/Physics.d.ts +39 -0
  40. package/dist/Physics.js +41 -0
  41. package/dist/PhysicsConstraint.d.ts +26 -30
  42. package/dist/PhysicsConstraint.js +102 -94
  43. package/dist/PhysicsConstraintData.d.ts +22 -12
  44. package/dist/PhysicsConstraintData.js +23 -12
  45. package/dist/PhysicsConstraintPose.d.ts +47 -0
  46. package/dist/PhysicsConstraintPose.js +55 -0
  47. package/dist/Pose.d.ts +33 -0
  48. package/dist/Pose.js +30 -0
  49. package/dist/Posed.d.ts +58 -0
  50. package/dist/Posed.js +78 -0
  51. package/dist/PosedActive.d.ts +41 -0
  52. package/dist/{attachments/HasTextureRegion.js → PosedActive.js} +17 -2
  53. package/dist/PosedData.d.ts +40 -0
  54. package/dist/PosedData.js +45 -0
  55. package/dist/Skeleton.d.ts +110 -99
  56. package/dist/Skeleton.js +271 -449
  57. package/dist/SkeletonBinary.d.ts +2 -2
  58. package/dist/SkeletonBinary.js +644 -466
  59. package/dist/SkeletonBounds.d.ts +4 -4
  60. package/dist/SkeletonBounds.js +45 -46
  61. package/dist/SkeletonClipping.d.ts +26 -22
  62. package/dist/SkeletonClipping.js +654 -340
  63. package/dist/SkeletonData.d.ts +18 -35
  64. package/dist/SkeletonData.js +57 -97
  65. package/dist/SkeletonJson.d.ts +8 -6
  66. package/dist/SkeletonJson.js +892 -641
  67. package/dist/SkeletonRendererCore.d.ts +58 -0
  68. package/dist/SkeletonRendererCore.js +310 -0
  69. package/dist/Skin.d.ts +20 -16
  70. package/dist/Skin.js +58 -53
  71. package/dist/Slider.d.ts +46 -0
  72. package/dist/Slider.js +115 -0
  73. package/dist/SliderData.d.ts +58 -0
  74. package/dist/SliderData.js +59 -0
  75. package/dist/SliderPose.d.ts +37 -0
  76. package/dist/SliderPose.js +40 -0
  77. package/dist/Slot.d.ts +16 -38
  78. package/dist/Slot.js +37 -60
  79. package/dist/SlotData.d.ts +5 -12
  80. package/dist/SlotData.js +7 -15
  81. package/dist/SlotPose.d.ts +59 -0
  82. package/dist/SlotPose.js +81 -0
  83. package/dist/Texture.d.ts +1 -0
  84. package/dist/Texture.js +2 -1
  85. package/dist/TextureAtlas.d.ts +3 -3
  86. package/dist/TextureAtlas.js +49 -49
  87. package/dist/TransformConstraint.d.ts +16 -28
  88. package/dist/TransformConstraint.js +72 -209
  89. package/dist/TransformConstraintData.d.ts +108 -20
  90. package/dist/TransformConstraintData.js +274 -24
  91. package/dist/TransformConstraintPose.d.ts +45 -0
  92. package/dist/TransformConstraintPose.js +52 -0
  93. package/dist/Triangulator.d.ts +1 -1
  94. package/dist/Triangulator.js +91 -107
  95. package/dist/{Updatable.d.ts → Update.d.ts} +5 -12
  96. package/dist/Update.js +30 -0
  97. package/dist/Utils.d.ts +13 -4
  98. package/dist/Utils.js +78 -37
  99. package/dist/attachments/Attachment.d.ts +27 -19
  100. package/dist/attachments/Attachment.js +59 -35
  101. package/dist/attachments/AttachmentLoader.d.ts +14 -14
  102. package/dist/attachments/AttachmentLoader.js +1 -1
  103. package/dist/attachments/BoundingBoxAttachment.d.ts +1 -1
  104. package/dist/attachments/BoundingBoxAttachment.js +2 -2
  105. package/dist/attachments/ClippingAttachment.d.ts +10 -3
  106. package/dist/attachments/ClippingAttachment.js +12 -3
  107. package/dist/attachments/{HasTextureRegion.d.ts → HasSequence.d.ts} +11 -14
  108. package/dist/attachments/HasSequence.js +30 -0
  109. package/dist/attachments/MeshAttachment.d.ts +28 -35
  110. package/dist/attachments/MeshAttachment.js +85 -97
  111. package/dist/attachments/PathAttachment.d.ts +3 -3
  112. package/dist/attachments/PathAttachment.js +6 -6
  113. package/dist/attachments/PointAttachment.d.ts +11 -6
  114. package/dist/attachments/PointAttachment.js +8 -3
  115. package/dist/attachments/RegionAttachment.d.ts +25 -27
  116. package/dist/attachments/RegionAttachment.js +101 -113
  117. package/dist/attachments/Sequence.d.ts +31 -6
  118. package/dist/attachments/Sequence.js +79 -13
  119. package/dist/esm/spine-core.min.mjs +2 -2
  120. package/dist/esm/spine-core.mjs +7651 -6090
  121. package/dist/esm/spine-core.mjs.map +4 -4
  122. package/dist/iife/spine-core.js +7651 -6090
  123. package/dist/iife/spine-core.js.map +4 -4
  124. package/dist/iife/spine-core.min.js +2 -2
  125. package/dist/index.d.ts +32 -11
  126. package/dist/index.js +33 -12
  127. package/dist/polyfills.js +4 -5
  128. package/package.json +1 -1
  129. 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 { Attachment } from "./attachments/Attachment.js";
30
- import { Bone } from "./Bone.js";
31
- import { Skeleton } from "./Skeleton.js";
32
- import { SlotData } from "./SlotData.js";
33
- import { Color } from "./Utils.js";
34
- /** Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store
35
- * state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared
36
- * across multiple skeletons. */
37
- export declare class Slot {
38
- /** The slot's setup pose data. */
39
- data: SlotData;
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
- /** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
51
- * {@link Sequence#getSetupIndex()}. */
52
- sequenceIndex: number;
53
- /** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
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 { VertexAttachment } from "./attachments/Attachment.js";
29
+ import { Posed } from "./Posed.js";
30
+ import { SlotPose } from "./SlotPose.js";
30
31
  import { Color } from "./Utils.js";
31
- /** Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store
32
- * state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared
33
- * across multiple skeletons. */
34
- export class Slot {
35
- /** The slot's setup pose data. */
36
- data;
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
- /** The index of the texture region to display when the slot's attachment has a {@link Sequence}. -1 represents the
48
- * {@link Sequence#getSetupIndex()}. */
49
- sequenceIndex = -1;
50
- /** Values to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a
51
- * weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions.
52
- *
53
- * See {@link VertexAttachment#computeWorldVertices()} and {@link DeformTimeline}. */
54
- deform = new Array();
55
- constructor(data, bone) {
56
- if (!data)
57
- throw new Error("data cannot be null.");
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
- /** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}.
75
- * The deform is not cleared if the old attachment has the same {@link VertexAttachment#getTimelineAttachment()} as the
76
- * specified attachment. */
77
- setAttachment(attachment) {
78
- if (this.attachment == attachment)
79
- return;
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
- this.attachment = attachment;
85
- this.sequenceIndex = -1;
60
+ copy.pose.set(slot.pose);
61
+ return copy;
86
62
  }
87
- /** Sets this slot to the setup pose. */
88
- setToSetupPose() {
89
- this.color.setFromColor(this.data.color);
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.attachment = null;
70
+ this.pose.setAttachment(null);
94
71
  else {
95
- this.attachment = null;
96
- this.setAttachment(this.bone.skeleton.getAttachment(this.data.index, this.data.attachmentName));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUkzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRW5DOztnQ0FFZ0M7QUFDaEMsTUFBTSxPQUFPLElBQUk7SUFDaEIsa0NBQWtDO0lBQ2xDLElBQUksQ0FBVztJQUVmLHFDQUFxQztJQUNyQyxJQUFJLENBQU87SUFFWDt3QkFDb0I7SUFDcEIsS0FBSyxDQUFRO0lBRWI7b0NBQ2dDO0lBQ2hDLFNBQVMsR0FBaUIsSUFBSSxDQUFDO0lBRS9CLFVBQVUsR0FBc0IsSUFBSSxDQUFDO0lBRXJDLGVBQWUsR0FBVyxDQUFDLENBQUM7SUFFNUI7MkNBQ3VDO0lBQ3ZDLGFBQWEsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUUzQjs7O3lGQUdxRjtJQUNyRixNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztJQUU3QixZQUFhLElBQWMsRUFBRSxJQUFVO1FBQ3RDLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrRkFBa0Y7SUFDbEYsYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OytCQUUyQjtJQUMzQixhQUFhLENBQUUsVUFBNkI7UUFDM0MsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVU7WUFBRSxPQUFPO1FBQzFDLElBQUksQ0FBQyxDQUFDLFVBQVUsWUFBWSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxZQUFZLGdCQUFnQixDQUFDO2VBQ3hFLFVBQVcsQ0FBQyxrQkFBa0IsSUFBdUIsSUFBSSxDQUFDLFVBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2pILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLGNBQWM7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkIsQ0FBQztZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRyxDQUFDO0lBQ0YsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pbXBvcnQgeyBBdHRhY2htZW50LCBWZXJ0ZXhBdHRhY2htZW50IH0gZnJvbSBcIi4vYXR0YWNobWVudHMvQXR0YWNobWVudC5qc1wiO1xuaW1wb3J0IHsgQm9uZSB9IGZyb20gXCIuL0JvbmUuanNcIjtcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSBcIi4vU2tlbGV0b24uanNcIjtcbmltcG9ydCB7IFNsb3REYXRhIH0gZnJvbSBcIi4vU2xvdERhdGEuanNcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuLyoqIFN0b3JlcyBhIHNsb3QncyBjdXJyZW50IHBvc2UuIFNsb3RzIG9yZ2FuaXplIGF0dGFjaG1lbnRzIGZvciB7QGxpbmsgU2tlbGV0b24jZHJhd09yZGVyfSBwdXJwb3NlcyBhbmQgcHJvdmlkZSBhIHBsYWNlIHRvIHN0b3JlXG4gKiBzdGF0ZSBmb3IgYW4gYXR0YWNobWVudC4gU3RhdGUgY2Fubm90IGJlIHN0b3JlZCBpbiBhbiBhdHRhY2htZW50IGl0c2VsZiBiZWNhdXNlIGF0dGFjaG1lbnRzIGFyZSBzdGF0ZWxlc3MgYW5kIG1heSBiZSBzaGFyZWRcbiAqIGFjcm9zcyBtdWx0aXBsZSBza2VsZXRvbnMuICovXG5leHBvcnQgY2xhc3MgU2xvdCB7XG5cdC8qKiBUaGUgc2xvdCdzIHNldHVwIHBvc2UgZGF0YS4gKi9cblx0ZGF0YTogU2xvdERhdGE7XG5cblx0LyoqIFRoZSBib25lIHRoaXMgc2xvdCBiZWxvbmdzIHRvLiAqL1xuXHRib25lOiBCb25lO1xuXG5cdC8qKiBUaGUgY29sb3IgdXNlZCB0byB0aW50IHRoZSBzbG90J3MgYXR0YWNobWVudC4gSWYge0BsaW5rICNnZXREYXJrQ29sb3IoKX0gaXMgc2V0LCB0aGlzIGlzIHVzZWQgYXMgdGhlIGxpZ2h0IGNvbG9yIGZvciB0d29cblx0ICogY29sb3IgdGludGluZy4gKi9cblx0Y29sb3I6IENvbG9yO1xuXG5cdC8qKiBUaGUgZGFyayBjb2xvciB1c2VkIHRvIHRpbnQgdGhlIHNsb3QncyBhdHRhY2htZW50IGZvciB0d28gY29sb3IgdGludGluZywgb3IgbnVsbCBpZiB0d28gY29sb3IgdGludGluZyBpcyBub3QgdXNlZC4gVGhlIGRhcmtcblx0ICogY29sb3IncyBhbHBoYSBpcyBub3QgdXNlZC4gKi9cblx0ZGFya0NvbG9yOiBDb2xvciB8IG51bGwgPSBudWxsO1xuXG5cdGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQgfCBudWxsID0gbnVsbDtcblxuXHRhdHRhY2htZW50U3RhdGU6IG51bWJlciA9IDA7XG5cblx0LyoqIFRoZSBpbmRleCBvZiB0aGUgdGV4dHVyZSByZWdpb24gdG8gZGlzcGxheSB3aGVuIHRoZSBzbG90J3MgYXR0YWNobWVudCBoYXMgYSB7QGxpbmsgU2VxdWVuY2V9LiAtMSByZXByZXNlbnRzIHRoZVxuXHQgKiB7QGxpbmsgU2VxdWVuY2UjZ2V0U2V0dXBJbmRleCgpfS4gKi9cblx0c2VxdWVuY2VJbmRleDogbnVtYmVyID0gLTE7XG5cblx0LyoqIFZhbHVlcyB0byBkZWZvcm0gdGhlIHNsb3QncyBhdHRhY2htZW50LiBGb3IgYW4gdW53ZWlnaHRlZCBtZXNoLCB0aGUgZW50cmllcyBhcmUgbG9jYWwgcG9zaXRpb25zIGZvciBlYWNoIHZlcnRleC4gRm9yIGFcblx0ICogd2VpZ2h0ZWQgbWVzaCwgdGhlIGVudHJpZXMgYXJlIGFuIG9mZnNldCBmb3IgZWFjaCB2ZXJ0ZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbWVzaCdzIGxvY2FsIHZlcnRleCBwb3NpdGlvbnMuXG5cdCAqXG5cdCAqIFNlZSB7QGxpbmsgVmVydGV4QXR0YWNobWVudCNjb21wdXRlV29ybGRWZXJ0aWNlcygpfSBhbmQge0BsaW5rIERlZm9ybVRpbWVsaW5lfS4gKi9cblx0ZGVmb3JtID0gbmV3IEFycmF5PG51bWJlcj4oKTtcblxuXHRjb25zdHJ1Y3RvciAoZGF0YTogU2xvdERhdGEsIGJvbmU6IEJvbmUpIHtcblx0XHRpZiAoIWRhdGEpIHRocm93IG5ldyBFcnJvcihcImRhdGEgY2Fubm90IGJlIG51bGwuXCIpO1xuXHRcdGlmICghYm9uZSkgdGhyb3cgbmV3IEVycm9yKFwiYm9uZSBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0dGhpcy5kYXRhID0gZGF0YTtcblx0XHR0aGlzLmJvbmUgPSBib25lO1xuXHRcdHRoaXMuY29sb3IgPSBuZXcgQ29sb3IoKTtcblx0XHR0aGlzLmRhcmtDb2xvciA9ICFkYXRhLmRhcmtDb2xvciA/IG51bGwgOiBuZXcgQ29sb3IoKTtcblx0XHR0aGlzLnNldFRvU2V0dXBQb3NlKCk7XG5cdH1cblxuXHQvKiogVGhlIHNrZWxldG9uIHRoaXMgc2xvdCBiZWxvbmdzIHRvLiAqL1xuXHRnZXRTa2VsZXRvbiAoKTogU2tlbGV0b24ge1xuXHRcdHJldHVybiB0aGlzLmJvbmUuc2tlbGV0b247XG5cdH1cblxuXHQvKiogVGhlIGN1cnJlbnQgYXR0YWNobWVudCBmb3IgdGhlIHNsb3QsIG9yIG51bGwgaWYgdGhlIHNsb3QgaGFzIG5vIGF0dGFjaG1lbnQuICovXG5cdGdldEF0dGFjaG1lbnQgKCk6IEF0dGFjaG1lbnQgfCBudWxsIHtcblx0XHRyZXR1cm4gdGhpcy5hdHRhY2htZW50O1xuXHR9XG5cblx0LyoqIFNldHMgdGhlIHNsb3QncyBhdHRhY2htZW50IGFuZCwgaWYgdGhlIGF0dGFjaG1lbnQgY2hhbmdlZCwgcmVzZXRzIHtAbGluayAjc2VxdWVuY2VJbmRleH0gYW5kIGNsZWFycyB0aGUge0BsaW5rICNkZWZvcm19LlxuXHQgKiBUaGUgZGVmb3JtIGlzIG5vdCBjbGVhcmVkIGlmIHRoZSBvbGQgYXR0YWNobWVudCBoYXMgdGhlIHNhbWUge0BsaW5rIFZlcnRleEF0dGFjaG1lbnQjZ2V0VGltZWxpbmVBdHRhY2htZW50KCl9IGFzIHRoZVxuXHQgKiBzcGVjaWZpZWQgYXR0YWNobWVudC4gKi9cblx0c2V0QXR0YWNobWVudCAoYXR0YWNobWVudDogQXR0YWNobWVudCB8IG51bGwpIHtcblx0XHRpZiAodGhpcy5hdHRhY2htZW50ID09IGF0dGFjaG1lbnQpIHJldHVybjtcblx0XHRpZiAoIShhdHRhY2htZW50IGluc3RhbmNlb2YgVmVydGV4QXR0YWNobWVudCkgfHwgISh0aGlzLmF0dGFjaG1lbnQgaW5zdGFuY2VvZiBWZXJ0ZXhBdHRhY2htZW50KVxuXHRcdFx0fHwgKDxWZXJ0ZXhBdHRhY2htZW50PmF0dGFjaG1lbnQpLnRpbWVsaW5lQXR0YWNobWVudCAhPSAoPFZlcnRleEF0dGFjaG1lbnQ+dGhpcy5hdHRhY2htZW50KS50aW1lbGluZUF0dGFjaG1lbnQpIHtcblx0XHRcdHRoaXMuZGVmb3JtLmxlbmd0aCA9IDA7XG5cdFx0fVxuXHRcdHRoaXMuYXR0YWNobWVudCA9IGF0dGFjaG1lbnQ7XG5cdFx0dGhpcy5zZXF1ZW5jZUluZGV4ID0gLTE7XG5cdH1cblxuXHQvKiogU2V0cyB0aGlzIHNsb3QgdG8gdGhlIHNldHVwIHBvc2UuICovXG5cdHNldFRvU2V0dXBQb3NlICgpIHtcblx0XHR0aGlzLmNvbG9yLnNldEZyb21Db2xvcih0aGlzLmRhdGEuY29sb3IpO1xuXHRcdGlmICh0aGlzLmRhcmtDb2xvcikgdGhpcy5kYXJrQ29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuZGF0YS5kYXJrQ29sb3IhKTtcblx0XHRpZiAoIXRoaXMuZGF0YS5hdHRhY2htZW50TmFtZSlcblx0XHRcdHRoaXMuYXR0YWNobWVudCA9IG51bGw7XG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmF0dGFjaG1lbnQgPSBudWxsO1xuXHRcdFx0dGhpcy5zZXRBdHRhY2htZW50KHRoaXMuYm9uZS5za2VsZXRvbi5nZXRBdHRhY2htZW50KHRoaXMuZGF0YS5pbmRleCwgdGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lKSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuQzs7O2dCQUdnQjtBQUNoQixNQUFNLE9BQU8sSUFBSyxTQUFRLEtBQXlCO0lBQ3pDLFFBQVEsQ0FBVztJQUU1QixxQ0FBcUM7SUFDNUIsSUFBSSxDQUFPO0lBRXBCLGVBQWUsR0FBVyxDQUFDLENBQUM7SUFFNUIsWUFBYSxJQUFjLEVBQUUsUUFBa0I7UUFDOUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx3QkFBd0I7SUFDakIsSUFBSSxDQUFFLElBQVUsRUFBRSxJQUFVLEVBQUUsUUFBa0I7UUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsU0FBUztRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxnRUFBZ0U7UUFDaEUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBVSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsQ0FBQztZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakcsQ0FBQztJQUNGLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBCb25lIH0gZnJvbSBcIi4vQm9uZS5qc1wiO1xuaW1wb3J0IHsgUG9zZWQgfSBmcm9tIFwiLi9Qb3NlZC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTa2VsZXRvbiB9IGZyb20gXCIuL1NrZWxldG9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNsb3REYXRhIH0gZnJvbSBcIi4vU2xvdERhdGEuanNcIjtcbmltcG9ydCB7IFNsb3RQb3NlIH0gZnJvbSBcIi4vU2xvdFBvc2UuanNcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuLyoqIE9yZ2FuaXplcyBhdHRhY2htZW50cyBmb3Ige0BsaW5rIFNrZWxldG9uLmRyYXdPcmRlcn0gcHVycG9zZXMgYW5kIHByb3ZpZGUgYSBwbGFjZSB0byBzdG9yZSBzdGF0ZSBmb3IgYW4gYXR0YWNobWVudC5cbiAqXG4gKiBTdGF0ZSBjYW5ub3QgYmUgc3RvcmVkIGluIGFuIGF0dGFjaG1lbnQgaXRzZWxmIGJlY2F1c2UgYXR0YWNobWVudHMgYXJlIHN0YXRlbGVzcyBhbmQgbWF5IGJlIHNoYXJlZCBhY3Jvc3MgbXVsdGlwbGVcbiAqIHNrZWxldG9ucy4gKi9cbmV4cG9ydCBjbGFzcyBTbG90IGV4dGVuZHMgUG9zZWQ8U2xvdERhdGEsIFNsb3RQb3NlPiB7XG5cdHJlYWRvbmx5IHNrZWxldG9uOiBTa2VsZXRvbjtcblxuXHQvKiogVGhlIGJvbmUgdGhpcyBzbG90IGJlbG9uZ3MgdG8uICovXG5cdHJlYWRvbmx5IGJvbmU6IEJvbmU7XG5cblx0YXR0YWNobWVudFN0YXRlOiBudW1iZXIgPSAwO1xuXG5cdGNvbnN0cnVjdG9yIChkYXRhOiBTbG90RGF0YSwgc2tlbGV0b246IFNrZWxldG9uKSB7XG5cdFx0c3VwZXIoZGF0YSwgbmV3IFNsb3RQb3NlKCksIG5ldyBTbG90UG9zZSgpKTtcblx0XHRpZiAoIXNrZWxldG9uKSB0aHJvdyBuZXcgRXJyb3IoXCJza2VsZXRvbiBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0dGhpcy5za2VsZXRvbiA9IHNrZWxldG9uO1xuXHRcdHRoaXMuYm9uZSA9IHNrZWxldG9uLmJvbmVzW2RhdGEuYm9uZURhdGEuaW5kZXhdO1xuXHRcdGlmIChkYXRhLnNldHVwUG9zZS5kYXJrQ29sb3IgIT0gbnVsbCkge1xuXHRcdFx0dGhpcy5wb3NlLmRhcmtDb2xvciA9IG5ldyBDb2xvcigpO1xuXHRcdFx0dGhpcy5jb25zdHJhaW5lZFBvc2UuZGFya0NvbG9yID0gbmV3IENvbG9yKCk7XG5cdFx0fVxuXHRcdHRoaXMuc2V0dXBQb3NlKCk7XG5cdH1cblxuXHQvKiogQ29weSBjb25zdHJ1Y3Rvci4gKi9cblx0cHVibGljIGNvcHkgKHNsb3Q6IFNsb3QsIGJvbmU6IEJvbmUsIHNrZWxldG9uOiBTa2VsZXRvbikge1xuXHRcdGNvbnN0IGNvcHkgPSBuZXcgU2xvdChzbG90LmRhdGEsIHRoaXMuc2tlbGV0b24pO1xuXHRcdGlmICh0aGlzLmRhdGEuc2V0dXBQb3NlLmRhcmtDb2xvciAhPSBudWxsKSB7XG5cdFx0XHRjb3B5LnBvc2UuZGFya0NvbG9yID0gbmV3IENvbG9yKCk7XG5cdFx0XHRjb3B5LmNvbnN0cmFpbmVkUG9zZS5kYXJrQ29sb3IgPSBuZXcgQ29sb3IoKTtcblx0XHR9XG5cdFx0Y29weS5wb3NlLnNldChzbG90LnBvc2UpO1xuXHRcdHJldHVybiBjb3B5O1xuXHR9XG5cblx0c2V0dXBQb3NlICgpIHtcblx0XHR0aGlzLnBvc2UuY29sb3Iuc2V0RnJvbUNvbG9yKHRoaXMuZGF0YS5zZXR1cFBvc2UuY29sb3IpO1xuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL25vTm9uTnVsbEFzc2VydGlvbjogcmVmZXJlbmNlIHJ1bnRpbWVcblx0XHRpZiAodGhpcy5wb3NlLmRhcmtDb2xvcikgdGhpcy5wb3NlLmRhcmtDb2xvci5zZXRGcm9tQ29sb3IodGhpcy5kYXRhLnNldHVwUG9zZS5kYXJrQ29sb3IhKTtcblx0XHR0aGlzLnBvc2Uuc2VxdWVuY2VJbmRleCA9IHRoaXMuZGF0YS5zZXR1cFBvc2Uuc2VxdWVuY2VJbmRleDtcblx0XHRpZiAoIXRoaXMuZGF0YS5hdHRhY2htZW50TmFtZSlcblx0XHRcdHRoaXMucG9zZS5zZXRBdHRhY2htZW50KG51bGwpO1xuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5wb3NlLmF0dGFjaG1lbnQgPSBudWxsO1xuXHRcdFx0dGhpcy5wb3NlLnNldEF0dGFjaG1lbnQodGhpcy5za2VsZXRvbi5nZXRBdHRhY2htZW50KHRoaXMuZGF0YS5pbmRleCwgdGhpcy5kYXRhLmF0dGFjaG1lbnROYW1lKSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -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 { Color } from "./Utils.js";
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#getSlots()}. */
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 { Color } from "./Utils.js";
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#getSlots()}. */
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xvdERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2xvdERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBRy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxRQUFRO0lBQ3BCLDREQUE0RDtJQUM1RCxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBRWxCLDhFQUE4RTtJQUM5RSxJQUFJLENBQVM7SUFFYixxQ0FBcUM7SUFDckMsUUFBUSxDQUFXO0lBRW5CO3dCQUNvQjtJQUNwQixLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUI7b0NBQ2dDO0lBQ2hDLFNBQVMsR0FBaUIsSUFBSSxDQUFDO0lBRS9CLHVIQUF1SDtJQUN2SCxjQUFjLEdBQWtCLElBQUksQ0FBQztJQUVyQyx3REFBd0Q7SUFDeEQsU0FBUyxHQUFjLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFFeEMsbUhBQW1IO0lBQ25ILE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFZixZQUFhLEtBQWEsRUFBRSxJQUFZLEVBQUUsUUFBa0I7UUFDM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0NBQ0Q7QUFFRCx5RUFBeUU7QUFDekUsTUFBTSxDQUFOLElBQVksU0FBZ0Q7QUFBNUQsV0FBWSxTQUFTO0lBQUcsNkNBQU0sQ0FBQTtJQUFFLGlEQUFRLENBQUE7SUFBRSxpREFBUSxDQUFBO0lBQUUsNkNBQU0sQ0FBQTtBQUFDLENBQUMsRUFBaEQsU0FBUyxLQUFULFNBQVMsUUFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IEJvbmVEYXRhIH0gZnJvbSBcIi4vQm9uZURhdGEuanNcIjtcbmltcG9ydCB7IENvbG9yIH0gZnJvbSBcIi4vVXRpbHMuanNcIjtcblxuLyoqIFN0b3JlcyB0aGUgc2V0dXAgcG9zZSBmb3IgYSB7QGxpbmsgU2xvdH0uICovXG5leHBvcnQgY2xhc3MgU2xvdERhdGEge1xuXHQvKiogVGhlIGluZGV4IG9mIHRoZSBzbG90IGluIHtAbGluayBTa2VsZXRvbiNnZXRTbG90cygpfS4gKi9cblx0aW5kZXg6IG51bWJlciA9IDA7XG5cblx0LyoqIFRoZSBuYW1lIG9mIHRoZSBzbG90LCB3aGljaCBpcyB1bmlxdWUgYWNyb3NzIGFsbCBzbG90cyBpbiB0aGUgc2tlbGV0b24uICovXG5cdG5hbWU6IHN0cmluZztcblxuXHQvKiogVGhlIGJvbmUgdGhpcyBzbG90IGJlbG9uZ3MgdG8uICovXG5cdGJvbmVEYXRhOiBCb25lRGF0YTtcblxuXHQvKiogVGhlIGNvbG9yIHVzZWQgdG8gdGludCB0aGUgc2xvdCdzIGF0dGFjaG1lbnQuIElmIHtAbGluayAjZ2V0RGFya0NvbG9yKCl9IGlzIHNldCwgdGhpcyBpcyB1c2VkIGFzIHRoZSBsaWdodCBjb2xvciBmb3IgdHdvXG5cdCAqIGNvbG9yIHRpbnRpbmcuICovXG5cdGNvbG9yID0gbmV3IENvbG9yKDEsIDEsIDEsIDEpO1xuXG5cdC8qKiBUaGUgZGFyayBjb2xvciB1c2VkIHRvIHRpbnQgdGhlIHNsb3QncyBhdHRhY2htZW50IGZvciB0d28gY29sb3IgdGludGluZywgb3IgbnVsbCBpZiB0d28gY29sb3IgdGludGluZyBpcyBub3QgdXNlZC4gVGhlIGRhcmtcblx0ICogY29sb3IncyBhbHBoYSBpcyBub3QgdXNlZC4gKi9cblx0ZGFya0NvbG9yOiBDb2xvciB8IG51bGwgPSBudWxsO1xuXG5cdC8qKiBUaGUgbmFtZSBvZiB0aGUgYXR0YWNobWVudCB0aGF0IGlzIHZpc2libGUgZm9yIHRoaXMgc2xvdCBpbiB0aGUgc2V0dXAgcG9zZSwgb3IgbnVsbCBpZiBubyBhdHRhY2htZW50IGlzIHZpc2libGUuICovXG5cdGF0dGFjaG1lbnROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHQvKiogVGhlIGJsZW5kIG1vZGUgZm9yIGRyYXdpbmcgdGhlIHNsb3QncyBhdHRhY2htZW50LiAqL1xuXHRibGVuZE1vZGU6IEJsZW5kTW9kZSA9IEJsZW5kTW9kZS5Ob3JtYWw7XG5cblx0LyoqIEZhbHNlIGlmIHRoZSBzbG90IHdhcyBoaWRkZW4gaW4gU3BpbmUgYW5kIG5vbmVzc2VudGlhbCBkYXRhIHdhcyBleHBvcnRlZC4gRG9lcyBub3QgYWZmZWN0IHJ1bnRpbWUgcmVuZGVyaW5nLiAqL1xuXHR2aXNpYmxlID0gdHJ1ZTtcblxuXHRjb25zdHJ1Y3RvciAoaW5kZXg6IG51bWJlciwgbmFtZTogc3RyaW5nLCBib25lRGF0YTogQm9uZURhdGEpIHtcblx0XHRpZiAoaW5kZXggPCAwKSB0aHJvdyBuZXcgRXJyb3IoXCJpbmRleCBtdXN0IGJlID49IDAuXCIpO1xuXHRcdGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKFwibmFtZSBjYW5ub3QgYmUgbnVsbC5cIik7XG5cdFx0aWYgKCFib25lRGF0YSkgdGhyb3cgbmV3IEVycm9yKFwiYm9uZURhdGEgY2Fubm90IGJlIG51bGwuXCIpO1xuXHRcdHRoaXMuaW5kZXggPSBpbmRleDtcblx0XHR0aGlzLm5hbWUgPSBuYW1lO1xuXHRcdHRoaXMuYm9uZURhdGEgPSBib25lRGF0YTtcblx0fVxufVxuXG4vKiogRGV0ZXJtaW5lcyBob3cgaW1hZ2VzIGFyZSBibGVuZGVkIHdpdGggZXhpc3RpbmcgcGl4ZWxzIHdoZW4gZHJhd24uICovXG5leHBvcnQgZW51bSBCbGVuZE1vZGUgeyBOb3JtYWwsIEFkZGl0aXZlLCBNdWx0aXBseSwgU2NyZWVuIH1cbiJdfQ==
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
+ }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxNQUFNLE9BQWdCLE9BQU87SUFDbEIsTUFBTSxDQUF1QztJQUV2RCxZQUFhLEtBQTJDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7Q0FLRDtBQUVELE1BQU0sQ0FBTixJQUFZLGFBUVg7QUFSRCxXQUFZLGFBQWE7SUFDeEIsMERBQWMsQ0FBQTtJQUNkLHdEQUFhLENBQUE7SUFDYix3REFBYSxDQUFBO0lBQ2Isb0ZBQTJCLENBQUE7SUFDM0Isa0ZBQTBCLENBQUE7SUFDMUIsa0ZBQTBCLENBQUE7SUFDMUIsZ0ZBQXlCLENBQUEsQ0FBQyw2Q0FBNkM7QUFDeEUsQ0FBQyxFQVJXLGFBQWEsS0FBYixhQUFhLFFBUXhCO0FBRUQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUN0QixxRUFBc0IsQ0FBQTtJQUN0QiwrREFBbUIsQ0FBQTtJQUNuQixxREFBYyxDQUFBLENBQUMsK0JBQStCO0FBQy9DLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQUVELE1BQU0sT0FBTyxhQUFhO0lBQ3pCLE9BQU8sQ0FBTTtJQUNiLENBQUMsR0FBRyxDQUFDLENBQUM7SUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDZixLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN0QixPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ1osT0FBTyxHQUFHLENBQUMsQ0FBQztJQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDekIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7Q0FDdEM7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU87SUFDdkMsVUFBVSxDQUFFLFNBQXdCLEVBQUUsU0FBd0IsSUFBSSxDQUFDO0lBQ25FLFFBQVEsQ0FBRSxLQUFrQixFQUFFLEtBQWtCLElBQUksQ0FBQztJQUNyRCxPQUFPLEtBQU0sQ0FBQztDQUNkIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogU3BpbmUgUnVudGltZXMgTGljZW5zZSBBZ3JlZW1lbnRcbiAqIExhc3QgdXBkYXRlZCBBcHJpbCA1LCAyMDI1LiBSZXBsYWNlcyBhbGwgcHJpb3IgdmVyc2lvbnMuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIEVzb3RlcmljIFNvZnR3YXJlIExMQ1xuICpcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xuICogZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgaXMgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBhbmRcbiAqIGNvbmRpdGlvbnMgb2YgU2VjdGlvbiAyIG9mIHRoZSBTcGluZSBFZGl0b3IgTGljZW5zZSBBZ3JlZW1lbnQ6XG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcbiAqXG4gKiBPdGhlcndpc2UsIGl0IGlzIHBlcm1pdHRlZCB0byBpbnRlZ3JhdGUgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmVcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcbiAqIFwiUHJvZHVjdHNcIiksIHByb3ZpZGVkIHRoYXQgZWFjaCB1c2VyIG9mIHRoZSBQcm9kdWN0cyBtdXN0IG9idGFpbiB0aGVpciBvd25cbiAqIFNwaW5lIEVkaXRvciBsaWNlbnNlIGFuZCByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZHVjdHMgaW4gYW55IGZvcm0gbXVzdFxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXG4gKlxuICogVEhFIFNQSU5FIFJVTlRJTUVTIEFSRSBQUk9WSURFRCBCWSBFU09URVJJQyBTT0ZUV0FSRSBMTEMgXCJBUyBJU1wiIEFORCBBTllcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcbiAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEVTT1RFUklDIFNPRlRXQVJFIExMQyBCRSBMSUFCTEUgRk9SIEFOWVxuICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcbiAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUyxcbiAqIEJVU0lORVNTIElOVEVSUlVQVElPTiwgT1IgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFMpIEhPV0VWRVIgQ0FVU0VEIEFORFxuICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcbiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRlxuICogVEhFIFNQSU5FIFJVTlRJTUVTLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGV4dHVyZSB7XG5cdHByb3RlY3RlZCBfaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgfCBJbWFnZUJpdG1hcCB8IGFueTtcblxuXHRjb25zdHJ1Y3RvciAoaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgfCBJbWFnZUJpdG1hcCB8IGFueSkge1xuXHRcdHRoaXMuX2ltYWdlID0gaW1hZ2U7XG5cdH1cblxuXHRnZXRJbWFnZSAoKTogSFRNTEltYWdlRWxlbWVudCB8IEltYWdlQml0bWFwIHwgYW55IHtcblx0XHRyZXR1cm4gdGhpcy5faW1hZ2U7XG5cdH1cblxuXHRhYnN0cmFjdCBzZXRGaWx0ZXJzIChtaW5GaWx0ZXI6IFRleHR1cmVGaWx0ZXIsIG1hZ0ZpbHRlcjogVGV4dHVyZUZpbHRlcik6IHZvaWQ7XG5cdGFic3RyYWN0IHNldFdyYXBzICh1V3JhcDogVGV4dHVyZVdyYXAsIHZXcmFwOiBUZXh0dXJlV3JhcCk6IHZvaWQ7XG5cdGFic3RyYWN0IGRpc3Bvc2UgKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBlbnVtIFRleHR1cmVGaWx0ZXIge1xuXHROZWFyZXN0ID0gOTcyOCwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lk5FQVJFU1Rcblx0TGluZWFyID0gOTcyOSwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkxJTkVBUlxuXHRNaXBNYXAgPSA5OTg3LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTElORUFSX01JUE1BUF9MSU5FQVJcblx0TWlwTWFwTmVhcmVzdE5lYXJlc3QgPSA5OTg0LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVFxuXHRNaXBNYXBMaW5lYXJOZWFyZXN0ID0gOTk4NSwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkxJTkVBUl9NSVBNQVBfTkVBUkVTVFxuXHRNaXBNYXBOZWFyZXN0TGluZWFyID0gOTk4NiwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lk5FQVJFU1RfTUlQTUFQX0xJTkVBUlxuXHRNaXBNYXBMaW5lYXJMaW5lYXIgPSA5OTg3IC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJfTUlQTUFQX0xJTkVBUlxufVxuXG5leHBvcnQgZW51bSBUZXh0dXJlV3JhcCB7XG5cdE1pcnJvcmVkUmVwZWF0ID0gMzM2NDgsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5NSVJST1JFRF9SRVBFQVRcblx0Q2xhbXBUb0VkZ2UgPSAzMzA3MSwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkNMQU1QX1RPX0VER0Vcblx0UmVwZWF0ID0gMTA0OTcgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LlJFUEVBVFxufVxuXG5leHBvcnQgY2xhc3MgVGV4dHVyZVJlZ2lvbiB7XG5cdHRleHR1cmU6IGFueTtcblx0dSA9IDA7IHYgPSAwO1xuXHR1MiA9IDA7IHYyID0gMDtcblx0d2lkdGggPSAwOyBoZWlnaHQgPSAwO1xuXHRkZWdyZWVzID0gMDtcblx0b2Zmc2V0WCA9IDA7IG9mZnNldFkgPSAwO1xuXHRvcmlnaW5hbFdpZHRoID0gMDsgb3JpZ2luYWxIZWlnaHQgPSAwO1xufVxuXG5leHBvcnQgY2xhc3MgRmFrZVRleHR1cmUgZXh0ZW5kcyBUZXh0dXJlIHtcblx0c2V0RmlsdGVycyAobWluRmlsdGVyOiBUZXh0dXJlRmlsdGVyLCBtYWdGaWx0ZXI6IFRleHR1cmVGaWx0ZXIpIHsgfVxuXHRzZXRXcmFwcyAodVdyYXA6IFRleHR1cmVXcmFwLCB2V3JhcDogVGV4dHVyZVdyYXApIHsgfVxuXHRkaXNwb3NlICgpIHsgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9UZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxtRkFBbUY7QUFFbkYsTUFBTSxPQUFnQixPQUFPO0lBQ2xCLE1BQU0sQ0FBdUM7SUFFdkQsWUFBYSxLQUEyQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0NBS0Q7QUFFRCxNQUFNLENBQU4sSUFBWSxhQVFYO0FBUkQsV0FBWSxhQUFhO0lBQ3hCLDBEQUFjLENBQUE7SUFDZCx3REFBYSxDQUFBO0lBQ2Isd0RBQWEsQ0FBQTtJQUNiLG9GQUEyQixDQUFBO0lBQzNCLGtGQUEwQixDQUFBO0lBQzFCLGtGQUEwQixDQUFBO0lBQzFCLGdGQUF5QixDQUFBLENBQUMsNkNBQTZDO0FBQ3hFLENBQUMsRUFSVyxhQUFhLEtBQWIsYUFBYSxRQVF4QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDdEIscUVBQXNCLENBQUE7SUFDdEIsK0RBQW1CLENBQUE7SUFDbkIscURBQWMsQ0FBQSxDQUFDLCtCQUErQjtBQUMvQyxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUN6QixPQUFPLENBQU07SUFDYixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEIsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0NBQ3RDO0FBRUQsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPO0lBQ3ZDLFVBQVUsQ0FBRSxTQUF3QixFQUFFLFNBQXdCLElBQUksQ0FBQztJQUNuRSxRQUFRLENBQUUsS0FBa0IsRUFBRSxLQUFrQixJQUFJLENBQUM7SUFDckQsT0FBTyxLQUFNLENBQUM7Q0FDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IHRleHR1cmVzIGNhbiBiZSB2YXJpb3VzIHR5cGUgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRleHR1cmUge1xuXHRwcm90ZWN0ZWQgX2ltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXAgfCBhbnk7XG5cblx0Y29uc3RydWN0b3IgKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50IHwgSW1hZ2VCaXRtYXAgfCBhbnkpIHtcblx0XHR0aGlzLl9pbWFnZSA9IGltYWdlO1xuXHR9XG5cblx0Z2V0SW1hZ2UgKCk6IEhUTUxJbWFnZUVsZW1lbnQgfCBJbWFnZUJpdG1hcCB8IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX2ltYWdlO1xuXHR9XG5cblx0YWJzdHJhY3Qgc2V0RmlsdGVycyAobWluRmlsdGVyOiBUZXh0dXJlRmlsdGVyLCBtYWdGaWx0ZXI6IFRleHR1cmVGaWx0ZXIpOiB2b2lkO1xuXHRhYnN0cmFjdCBzZXRXcmFwcyAodVdyYXA6IFRleHR1cmVXcmFwLCB2V3JhcDogVGV4dHVyZVdyYXApOiB2b2lkO1xuXHRhYnN0cmFjdCBkaXNwb3NlICgpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBUZXh0dXJlRmlsdGVyIHtcblx0TmVhcmVzdCA9IDk3MjgsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5ORUFSRVNUXG5cdExpbmVhciA9IDk3MjksIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJcblx0TWlwTWFwID0gOTk4NywgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkxJTkVBUl9NSVBNQVBfTElORUFSXG5cdE1pcE1hcE5lYXJlc3ROZWFyZXN0ID0gOTk4NCwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lk5FQVJFU1RfTUlQTUFQX05FQVJFU1Rcblx0TWlwTWFwTGluZWFyTmVhcmVzdCA9IDk5ODUsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJfTUlQTUFQX05FQVJFU1Rcblx0TWlwTWFwTmVhcmVzdExpbmVhciA9IDk5ODYsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5ORUFSRVNUX01JUE1BUF9MSU5FQVJcblx0TWlwTWFwTGluZWFyTGluZWFyID0gOTk4NyAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTElORUFSX01JUE1BUF9MSU5FQVJcbn1cblxuZXhwb3J0IGVudW0gVGV4dHVyZVdyYXAge1xuXHRNaXJyb3JlZFJlcGVhdCA9IDMzNjQ4LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTUlSUk9SRURfUkVQRUFUXG5cdENsYW1wVG9FZGdlID0gMzMwNzEsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5DTEFNUF9UT19FREdFXG5cdFJlcGVhdCA9IDEwNDk3IC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5SRVBFQVRcbn1cblxuZXhwb3J0IGNsYXNzIFRleHR1cmVSZWdpb24ge1xuXHR0ZXh0dXJlOiBhbnk7XG5cdHUgPSAwOyB2ID0gMDtcblx0dTIgPSAwOyB2MiA9IDA7XG5cdHdpZHRoID0gMDsgaGVpZ2h0ID0gMDtcblx0ZGVncmVlcyA9IDA7XG5cdG9mZnNldFggPSAwOyBvZmZzZXRZID0gMDtcblx0b3JpZ2luYWxXaWR0aCA9IDA7IG9yaWdpbmFsSGVpZ2h0ID0gMDtcbn1cblxuZXhwb3J0IGNsYXNzIEZha2VUZXh0dXJlIGV4dGVuZHMgVGV4dHVyZSB7XG5cdHNldEZpbHRlcnMgKG1pbkZpbHRlcjogVGV4dHVyZUZpbHRlciwgbWFnRmlsdGVyOiBUZXh0dXJlRmlsdGVyKSB7IH1cblx0c2V0V3JhcHMgKHVXcmFwOiBUZXh0dXJlV3JhcCwgdldyYXA6IFRleHR1cmVXcmFwKSB7IH1cblx0ZGlzcG9zZSAoKSB7IH1cbn1cbiJdfQ==
@@ -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 { TextureFilter, TextureWrap, Texture, TextureRegion } from "./Texture.js";
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[];