@galacean/engine-spine 4.2.6 → 4.2.7

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 (60) hide show
  1. package/dist/browser.js +1 -1
  2. package/dist/main.js +149 -575
  3. package/dist/main.js.map +1 -1
  4. package/dist/miniprogram.js +149 -575
  5. package/dist/module.js +150 -575
  6. package/dist/module.js.map +1 -1
  7. package/package.json +2 -2
  8. package/types/AntGSpineLoader.d.ts +0 -22
  9. package/types/SpineAnimation.d.ts +0 -45
  10. package/types/SpineLoader.d.ts +0 -32
  11. package/types/SpineMaterial.d.ts +0 -6
  12. package/types/SpineRenderer.d.ts +0 -38
  13. package/types/core/MeshGenerator.d.ts +0 -43
  14. package/types/core/SpineMesh.d.ts +0 -11
  15. package/types/spine-core/Animation.d.ts +0 -378
  16. package/types/spine-core/AnimationState.d.ts +0 -365
  17. package/types/spine-core/AnimationStateData.d.ts +0 -23
  18. package/types/spine-core/AssetManager.d.ts +0 -36
  19. package/types/spine-core/AtlasAttachmentLoader.d.ts +0 -23
  20. package/types/spine-core/BlendMode.d.ts +0 -7
  21. package/types/spine-core/Bone.d.ts +0 -110
  22. package/types/spine-core/BoneData.d.ts +0 -44
  23. package/types/spine-core/ConstraintData.d.ts +0 -7
  24. package/types/spine-core/Event.d.ts +0 -16
  25. package/types/spine-core/EventData.d.ts +0 -13
  26. package/types/spine-core/IkConstraint.d.ts +0 -38
  27. package/types/spine-core/IkConstraintData.d.ts +0 -26
  28. package/types/spine-core/PathConstraint.d.ts +0 -46
  29. package/types/spine-core/PathConstraintData.d.ts +0 -52
  30. package/types/spine-core/SharedAssetManager.d.ts +0 -19
  31. package/types/spine-core/Skeleton.d.ts +0 -134
  32. package/types/spine-core/SkeletonBinary.d.ts +0 -49
  33. package/types/spine-core/SkeletonBounds.d.ts +0 -48
  34. package/types/spine-core/SkeletonClipping.d.ts +0 -22
  35. package/types/spine-core/SkeletonData.d.ts +0 -89
  36. package/types/spine-core/SkeletonJson.d.ts +0 -34
  37. package/types/spine-core/Skin.d.ts +0 -43
  38. package/types/spine-core/Slot.d.ts +0 -42
  39. package/types/spine-core/SlotData.d.ts +0 -23
  40. package/types/spine-core/Texture.d.ts +0 -46
  41. package/types/spine-core/TextureAtlas.d.ts +0 -30
  42. package/types/spine-core/TransformConstraint.d.ts +0 -36
  43. package/types/spine-core/TransformConstraintData.d.ts +0 -34
  44. package/types/spine-core/Triangulator.d.ts +0 -14
  45. package/types/spine-core/Updatable.d.ts +0 -9
  46. package/types/spine-core/Utils.d.ts +0 -124
  47. package/types/spine-core/VertexEffect.d.ts +0 -7
  48. package/types/spine-core/attachments/Attachment.d.ts +0 -43
  49. package/types/spine-core/attachments/AttachmentLoader.d.ts +0 -25
  50. package/types/spine-core/attachments/AttachmentType.d.ts +0 -9
  51. package/types/spine-core/attachments/BoundingBoxAttachment.d.ts +0 -12
  52. package/types/spine-core/attachments/ClippingAttachment.d.ts +0 -14
  53. package/types/spine-core/attachments/MeshAttachment.d.ts +0 -46
  54. package/types/spine-core/attachments/PathAttachment.d.ts +0 -19
  55. package/types/spine-core/attachments/PointAttachment.d.ts +0 -20
  56. package/types/spine-core/attachments/RegionAttachment.d.ts +0 -88
  57. package/types/spine-core/polyfills.d.ts +0 -3
  58. package/types/spine-core/vertexeffects/JitterEffect.d.ts +0 -11
  59. package/types/spine-core/vertexeffects/SwirlEffect.d.ts +0 -16
  60. package/types/types.d.ts +0 -4
package/dist/module.js CHANGED
@@ -28,103 +28,17 @@ function _instanceof1(left, right) {
28
28
  } else return _instanceof1(left, right);
29
29
  }
30
30
 
31
+ function _type_of(obj) {
32
+ "@swc/helpers - typeof";
33
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
34
+ }
35
+
31
36
  function __decorate(decorators, target, key, desc) {
32
37
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
33
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
38
+ if ((typeof Reflect === "undefined" ? "undefined" : _type_of(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
34
39
  else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35
40
  return c > 3 && r && Object.defineProperty(target, key, r), r;
36
41
  }
37
- function __generator(thisArg, body) {
38
- var _ = {
39
- label: 0,
40
- sent: function sent() {
41
- if (t[0] & 1) throw t[1];
42
- return t[1];
43
- },
44
- trys: [],
45
- ops: []
46
- }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
47
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
48
- return this;
49
- }), g;
50
- function verb(n) {
51
- return function(v) {
52
- return step([
53
- n,
54
- v
55
- ]);
56
- };
57
- }
58
- function step(op) {
59
- if (f) throw new TypeError("Generator is already executing.");
60
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
61
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
62
- if (y = 0, t) op = [
63
- op[0] & 2,
64
- t.value
65
- ];
66
- switch(op[0]){
67
- case 0:
68
- case 1:
69
- t = op;
70
- break;
71
- case 4:
72
- _.label++;
73
- return {
74
- value: op[1],
75
- done: false
76
- };
77
- case 5:
78
- _.label++;
79
- y = op[1];
80
- op = [
81
- 0
82
- ];
83
- continue;
84
- case 7:
85
- op = _.ops.pop();
86
- _.trys.pop();
87
- continue;
88
- default:
89
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
90
- _ = 0;
91
- continue;
92
- }
93
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
94
- _.label = op[1];
95
- break;
96
- }
97
- if (op[0] === 6 && _.label < t[1]) {
98
- _.label = t[1];
99
- t = op;
100
- break;
101
- }
102
- if (t && _.label < t[2]) {
103
- _.label = t[2];
104
- _.ops.push(op);
105
- break;
106
- }
107
- if (t[2]) _.ops.pop();
108
- _.trys.pop();
109
- continue;
110
- }
111
- op = body.call(thisArg, _);
112
- } catch (e) {
113
- op = [
114
- 6,
115
- e
116
- ];
117
- y = 0;
118
- } finally{
119
- f = t = 0;
120
- }
121
- if (op[0] & 5) throw op[1];
122
- return {
123
- value: op[0] ? op[1] : void 0,
124
- done: true
125
- };
126
- }
127
- }
128
42
  typeof SuppressedError === "function" ? SuppressedError : function _SuppressedError(error, suppressed, message) {
129
43
  var e = new Error(message);
130
44
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
@@ -165,34 +79,7 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
165
79
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
166
80
  }
167
81
 
168
- /******************************************************************************
169
- * Spine Runtimes License Agreement
170
- * Last updated April 5, 2025. Replaces all prior versions.
171
- *
172
- * Copyright (c) 2013-2025, Esoteric Software LLC
173
- *
174
- * Integration of the Spine Runtimes into software or otherwise creating
175
- * derivative works of the Spine Runtimes is permitted under the terms and
176
- * conditions of Section 2 of the Spine Editor License Agreement:
177
- * http://esotericsoftware.com/spine-editor-license
178
- *
179
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
180
- * or otherwise create derivative works of the Spine Runtimes (collectively,
181
- * "Products"), provided that each user of the Products must obtain their own
182
- * Spine Editor license and redistribution of the Products in any form must
183
- * include this license and copyright notice.
184
- *
185
- * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
186
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
187
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
188
- * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
189
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
190
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
191
- * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
192
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
193
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
194
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
195
- *****************************************************************************/ var IntSet = /*#__PURE__*/ function() {
82
+ var IntSet = /*#__PURE__*/ function() {
196
83
  function IntSet() {
197
84
  this.array = new Array();
198
85
  }
@@ -311,9 +198,8 @@ var Color = /*#__PURE__*/ function() {
311
198
  color.g = ((value & 0x0000ff00) >>> 8) / 255;
312
199
  color.b = (value & 0x000000ff) / 255;
313
200
  };
314
- Color.fromString = function fromString(hex, color) {
315
- if (color === void 0) color = new Color();
316
- return color.setFromString(hex);
201
+ Color.fromString = function fromString(hex) {
202
+ return new Color().setFromString(hex);
317
203
  };
318
204
  return Color;
319
205
  }();
@@ -2937,16 +2823,18 @@ function _create_class(Constructor, protoProps, staticProps) {
2937
2823
  var finished = this.updateMixingFrom(from, delta);
2938
2824
  from.animationLast = from.nextAnimationLast;
2939
2825
  from.trackLast = from.nextTrackLast;
2940
- // The from entry was applied at least once and the mix is complete.
2941
- if (to.nextTrackLast != -1 && to.mixTime >= to.mixDuration) {
2942
- // Mixing is complete for all entries before the from entry or the mix is instantaneous.
2943
- if (from.totalAlpha == 0 || to.mixDuration == 0) {
2944
- to.mixingFrom = from.mixingFrom;
2945
- if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
2946
- to.interruptAlpha = from.interruptAlpha;
2947
- this.queue.end(from);
2826
+ if (to.nextTrackLast != -1) {
2827
+ var discard = to.mixTime == 0 && from.mixTime == 0; // Discard the from entry when neither have advanced yet.
2828
+ if (to.mixTime >= to.mixDuration || discard) {
2829
+ // Require totalAlpha == 0 to ensure mixing is complete or the transition is a single frame or discarded.
2830
+ if (from.totalAlpha == 0 || to.mixDuration == 0 || discard) {
2831
+ to.mixingFrom = from.mixingFrom;
2832
+ if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
2833
+ to.interruptAlpha = from.interruptAlpha;
2834
+ this.queue.end(from);
2835
+ }
2836
+ return finished;
2948
2837
  }
2949
- return finished;
2950
2838
  }
2951
2839
  from.trackTime += delta * from.timeScale;
2952
2840
  to.mixTime += delta;
@@ -3311,11 +3199,10 @@ function _create_class(Constructor, protoProps, staticProps) {
3311
3199
  if (!last) {
3312
3200
  this.setCurrent(trackIndex, entry, true);
3313
3201
  this.queue.drain();
3314
- if (delay < 0) delay = 0;
3315
3202
  } else {
3316
3203
  last.next = entry;
3317
3204
  entry.previous = last;
3318
- if (delay <= 0) delay = Math.max(delay + last.getTrackComplete() - entry.mixDuration, 0);
3205
+ if (delay <= 0) delay += last.getTrackComplete() - entry.mixDuration;
3319
3206
  }
3320
3207
  entry.delay = delay;
3321
3208
  return entry;
@@ -3354,7 +3241,7 @@ function _create_class(Constructor, protoProps, staticProps) {
3354
3241
  if (mixDuration === void 0) mixDuration = 0;
3355
3242
  if (delay === void 0) delay = 0;
3356
3243
  var entry = this.addAnimationWith(trackIndex, AnimationState.emptyAnimation(), false, delay);
3357
- if (delay <= 0) entry.delay = Math.max(entry.delay + entry.mixDuration - mixDuration, 0);
3244
+ if (delay <= 0) entry.delay += entry.mixDuration - mixDuration;
3358
3245
  entry.mixDuration = mixDuration;
3359
3246
  entry.trackEnd = mixDuration;
3360
3247
  return entry;
@@ -3608,10 +3495,7 @@ AnimationState._emptyAnimation = new Animation("<empty>", [], 0);
3608
3495
  var _proto = TrackEntry.prototype;
3609
3496
  _proto.setMixDurationWithDelay = function setMixDurationWithDelay(mixDuration, delay) {
3610
3497
  this._mixDuration = mixDuration;
3611
- if (delay <= 0) {
3612
- if (this.previous != null) delay = Math.max(delay + this.previous.getTrackComplete() - mixDuration, 0);
3613
- else delay = 0;
3614
- }
3498
+ if (this.previous != null && delay <= 0) delay += this.previous.getTrackComplete() - mixDuration;
3615
3499
  this.delay = delay;
3616
3500
  };
3617
3501
  _proto.reset = function reset() {
@@ -3834,17 +3718,17 @@ var CURRENT = 2;
3834
3718
 
3835
3719
  /******************************************************************************
3836
3720
  * Spine Runtimes License Agreement
3837
- * Last updated April 5, 2025. Replaces all prior versions.
3721
+ * Last updated July 28, 2023. Replaces all prior versions.
3838
3722
  *
3839
- * Copyright (c) 2013-2025, Esoteric Software LLC
3723
+ * Copyright (c) 2013-2023, Esoteric Software LLC
3840
3724
  *
3841
3725
  * Integration of the Spine Runtimes into software or otherwise creating
3842
3726
  * derivative works of the Spine Runtimes is permitted under the terms and
3843
3727
  * conditions of Section 2 of the Spine Editor License Agreement:
3844
3728
  * http://esotericsoftware.com/spine-editor-license
3845
3729
  *
3846
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
3847
- * or otherwise create derivative works of the Spine Runtimes (collectively,
3730
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
3731
+ * otherwise create derivative works of the Spine Runtimes (collectively,
3848
3732
  * "Products"), provided that each user of the Products must obtain their own
3849
3733
  * Spine Editor license and redistribution of the Products in any form must
3850
3734
  * include this license and copyright notice.
@@ -3857,8 +3741,8 @@ var CURRENT = 2;
3857
3741
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
3858
3742
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
3859
3743
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3860
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3861
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3744
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
3745
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3862
3746
  *****************************************************************************/ /** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */ var AnimationStateData = /*#__PURE__*/ function() {
3863
3747
  function AnimationStateData(skeletonData) {
3864
3748
  this.animationToMixTime = {};
@@ -3939,34 +3823,7 @@ var CURRENT = 2;
3939
3823
  }
3940
3824
  (VertexAttachment);
3941
3825
 
3942
- /******************************************************************************
3943
- * Spine Runtimes License Agreement
3944
- * Last updated April 5, 2025. Replaces all prior versions.
3945
- *
3946
- * Copyright (c) 2013-2025, Esoteric Software LLC
3947
- *
3948
- * Integration of the Spine Runtimes into software or otherwise creating
3949
- * derivative works of the Spine Runtimes is permitted under the terms and
3950
- * conditions of Section 2 of the Spine Editor License Agreement:
3951
- * http://esotericsoftware.com/spine-editor-license
3952
- *
3953
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
3954
- * or otherwise create derivative works of the Spine Runtimes (collectively,
3955
- * "Products"), provided that each user of the Products must obtain their own
3956
- * Spine Editor license and redistribution of the Products in any form must
3957
- * include this license and copyright notice.
3958
- *
3959
- * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
3960
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
3961
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
3962
- * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
3963
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
3964
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
3965
- * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
3966
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3967
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3968
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3969
- *****************************************************************************/ var Texture = /*#__PURE__*/ function() {
3826
+ var Texture = /*#__PURE__*/ function() {
3970
3827
  function Texture(image) {
3971
3828
  this._image = image;
3972
3829
  }
@@ -4337,7 +4194,7 @@ var TextureAtlasRegion = /*#__PURE__*/ function(TextureRegion) {
4337
4194
  this.copyTo(copy);
4338
4195
  copy.regionUVs = new Array(this.regionUVs.length);
4339
4196
  Utils.arrayCopy(this.regionUVs, 0, copy.regionUVs, 0, this.regionUVs.length);
4340
- copy.uvs = _instanceof1(this.uvs, Float32Array) ? Utils.newFloatArray(this.uvs.length) : new Array(this.uvs.length);
4197
+ copy.uvs = new Array(this.uvs.length);
4341
4198
  Utils.arrayCopy(this.uvs, 0, copy.uvs, 0, this.uvs.length);
4342
4199
  copy.triangles = new Array(this.triangles.length);
4343
4200
  Utils.arrayCopy(this.triangles, 0, copy.triangles, 0, this.triangles.length);
@@ -5001,17 +4858,17 @@ RegionAttachment.V4 = 31;
5001
4858
 
5002
4859
  /******************************************************************************
5003
4860
  * Spine Runtimes License Agreement
5004
- * Last updated April 5, 2025. Replaces all prior versions.
4861
+ * Last updated July 28, 2023. Replaces all prior versions.
5005
4862
  *
5006
- * Copyright (c) 2013-2025, Esoteric Software LLC
4863
+ * Copyright (c) 2013-2023, Esoteric Software LLC
5007
4864
  *
5008
4865
  * Integration of the Spine Runtimes into software or otherwise creating
5009
4866
  * derivative works of the Spine Runtimes is permitted under the terms and
5010
4867
  * conditions of Section 2 of the Spine Editor License Agreement:
5011
4868
  * http://esotericsoftware.com/spine-editor-license
5012
4869
  *
5013
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
5014
- * or otherwise create derivative works of the Spine Runtimes (collectively,
4870
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
4871
+ * otherwise create derivative works of the Spine Runtimes (collectively,
5015
4872
  * "Products"), provided that each user of the Products must obtain their own
5016
4873
  * Spine Editor license and redistribution of the Products in any form must
5017
4874
  * include this license and copyright notice.
@@ -5024,8 +4881,8 @@ RegionAttachment.V4 = 31;
5024
4881
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
5025
4882
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
5026
4883
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5027
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5028
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4884
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
4885
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5029
4886
  *****************************************************************************/ /** The base class for all constraint datas. */ var ConstraintData = function ConstraintData(name, order, skinRequired) {
5030
4887
  this.name = name;
5031
4888
  this.order = order;
@@ -5033,46 +4890,18 @@ RegionAttachment.V4 = 31;
5033
4890
  }
5034
4891
  ;
5035
4892
 
5036
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5037
- try {
5038
- var info = gen[key](arg);
5039
- var value = info.value;
5040
- } catch (error) {
5041
- reject(error);
5042
- return;
5043
- }
5044
- if (info.done) resolve(value);
5045
- else Promise.resolve(value).then(_next, _throw);
5046
- }
5047
- function _async_to_generator(fn) {
5048
- return function() {
5049
- var self = this, args = arguments;
5050
- return new Promise(function(resolve, reject) {
5051
- var gen = fn.apply(self, args);
5052
- function _next(value) {
5053
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5054
- }
5055
- function _throw(err) {
5056
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5057
- }
5058
- _next(undefined);
5059
- });
5060
- };
5061
- }
5062
-
5063
4893
  var AssetManagerBase = /*#__PURE__*/ function() {
5064
- function AssetManagerBase(textureLoader, pathPrefix, downloader, cache) {
4894
+ function AssetManagerBase(textureLoader, pathPrefix, downloader) {
5065
4895
  if (pathPrefix === void 0) pathPrefix = "";
5066
4896
  if (downloader === void 0) downloader = new Downloader();
5067
- if (cache === void 0) cache = new AssetCache();
5068
4897
  this.pathPrefix = "";
4898
+ this.assets = {};
5069
4899
  this.errors = {};
5070
4900
  this.toLoad = 0;
5071
4901
  this.loaded = 0;
5072
4902
  this.textureLoader = textureLoader;
5073
4903
  this.pathPrefix = pathPrefix;
5074
4904
  this.downloader = downloader;
5075
- this.cache = cache;
5076
4905
  }
5077
4906
  var _proto = AssetManagerBase.prototype;
5078
4907
  _proto.start = function start(path) {
@@ -5082,8 +4911,7 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5082
4911
  _proto.success = function success(callback, path, asset) {
5083
4912
  this.toLoad--;
5084
4913
  this.loaded++;
5085
- this.cache.assets[path] = asset;
5086
- this.cache.assetsRefCount[path] = (this.cache.assetsRefCount[path] || 0) + 1;
4914
+ this.assets[path] = asset;
5087
4915
  if (callback) callback(path, asset);
5088
4916
  };
5089
4917
  _proto.error = function error(callback, path, message) {
@@ -5115,16 +4943,10 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5115
4943
  if (success === void 0) success = function() {};
5116
4944
  if (error === void 0) error = function() {};
5117
4945
  path = this.start(path);
5118
- if (this.reuseAssets(path, success, error)) return;
5119
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5120
- _this.downloader.downloadBinary(path, function(data) {
5121
- _this.success(success, path, data);
5122
- resolve(data);
5123
- }, function(status, responseText) {
5124
- var errorMsg = "Couldn't load binary " + path + ": status " + status + ", " + responseText;
5125
- _this.error(error, path, errorMsg);
5126
- reject(errorMsg);
5127
- });
4946
+ this.downloader.downloadBinary(path, function(data) {
4947
+ _this.success(success, path, data);
4948
+ }, function(status, responseText) {
4949
+ _this.error(error, path, "Couldn't load binary " + path + ": status " + status + ", " + responseText);
5128
4950
  });
5129
4951
  };
5130
4952
  _proto.loadText = function loadText(path, success, error) {
@@ -5143,83 +4965,46 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5143
4965
  if (success === void 0) success = function() {};
5144
4966
  if (error === void 0) error = function() {};
5145
4967
  path = this.start(path);
5146
- if (this.reuseAssets(path, success, error)) return;
5147
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5148
- _this.downloader.downloadJson(path, function(data) {
5149
- _this.success(success, path, data);
5150
- resolve(data);
5151
- }, function(status, responseText) {
5152
- var errorMsg = "Couldn't load JSON " + path + ": status " + status + ", " + responseText;
5153
- _this.error(error, path, errorMsg);
5154
- reject(errorMsg);
5155
- });
4968
+ this.downloader.downloadJson(path, function(data) {
4969
+ _this.success(success, path, data);
4970
+ }, function(status, responseText) {
4971
+ _this.error(error, path, "Couldn't load JSON " + path + ": status " + status + ", " + responseText);
5156
4972
  });
5157
4973
  };
5158
- _proto.reuseAssets = function reuseAssets(path, success, error) {
5159
- var _this = this;
5160
- if (success === void 0) success = function() {};
5161
- if (error === void 0) error = function() {};
5162
- var loadedStatus = this.cache.assetsLoaded[path];
5163
- var alreadyExistsOrLoading = loadedStatus !== undefined;
5164
- if (alreadyExistsOrLoading) {
5165
- this.cache.assetsLoaded[path] = loadedStatus.then(function(data) {
5166
- // necessary when user preloads an image into the cache.
5167
- // texture loader is not avaiable in the cache, so we transform in GLTexture at first use
5168
- data = _instanceof1(data, Image) || _instanceof1(data, ImageBitmap) ? _this.textureLoader(data) : data;
5169
- _this.success(success, path, data);
5170
- return data;
5171
- }).catch(function(errorMsg) {
5172
- return _this.error(error, path, errorMsg);
5173
- });
5174
- }
5175
- return alreadyExistsOrLoading;
5176
- };
5177
4974
  _proto.loadTexture = function loadTexture(path, success, error) {
5178
4975
  var _this = this;
5179
4976
  if (success === void 0) success = function() {};
5180
4977
  if (error === void 0) error = function() {};
5181
4978
  path = this.start(path);
5182
- if (this.reuseAssets(path, success, error)) return;
5183
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5184
- var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
5185
- var isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
5186
- if (isWebWorker) {
5187
- fetch(path, {
5188
- mode: "cors"
5189
- }).then(function(response) {
5190
- if (response.ok) return response.blob();
5191
- var errorMsg = "Couldn't load image: " + path;
5192
- _this.error(error, path, "Couldn't load image: " + path);
5193
- reject(errorMsg);
5194
- }).then(function(blob) {
5195
- return blob ? createImageBitmap(blob, {
5196
- premultiplyAlpha: "none",
5197
- colorSpaceConversion: "none"
5198
- }) : null;
5199
- }).then(function(bitmap) {
5200
- if (bitmap) {
5201
- var texture = _this.createTexture(path, bitmap);
5202
- _this.success(success, path, texture);
5203
- resolve(texture);
5204
- }
5205
- });
5206
- } else {
5207
- var image = new Image();
5208
- image.crossOrigin = "anonymous";
5209
- image.onload = function() {
5210
- var texture = _this.createTexture(path, image);
5211
- _this.success(success, path, texture);
5212
- resolve(texture);
5213
- };
5214
- image.onerror = function() {
5215
- var errorMsg = "Couldn't load image: " + path;
5216
- _this.error(error, path, errorMsg);
5217
- reject(errorMsg);
5218
- };
5219
- if (_this.downloader.rawDataUris[path]) path = _this.downloader.rawDataUris[path];
5220
- image.src = path;
5221
- }
5222
- });
4979
+ var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
4980
+ var isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
4981
+ if (isWebWorker) {
4982
+ fetch(path, {
4983
+ mode: "cors"
4984
+ }).then(function(response) {
4985
+ if (response.ok) return response.blob();
4986
+ _this.error(error, path, "Couldn't load image: " + path);
4987
+ return null;
4988
+ }).then(function(blob) {
4989
+ return blob ? createImageBitmap(blob, {
4990
+ premultiplyAlpha: "none",
4991
+ colorSpaceConversion: "none"
4992
+ }) : null;
4993
+ }).then(function(bitmap) {
4994
+ if (bitmap) _this.success(success, path, _this.textureLoader(bitmap));
4995
+ });
4996
+ } else {
4997
+ var image = new Image();
4998
+ image.crossOrigin = "anonymous";
4999
+ image.onload = function() {
5000
+ _this.success(success, path, _this.textureLoader(image));
5001
+ };
5002
+ image.onerror = function() {
5003
+ _this.error(error, path, "Couldn't load image: " + path);
5004
+ };
5005
+ if (this.downloader.rawDataUris[path]) path = this.downloader.rawDataUris[path];
5006
+ image.src = path;
5007
+ }
5223
5008
  };
5224
5009
  _proto.loadTextureAtlas = function loadTextureAtlas(path, success, error, fileAlias) {
5225
5010
  var _this = this;
@@ -5228,189 +5013,53 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5228
5013
  var index = path.lastIndexOf("/");
5229
5014
  var parent = index >= 0 ? path.substring(0, index + 1) : "";
5230
5015
  path = this.start(path);
5231
- if (this.reuseAssets(path, success, error)) return;
5232
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5233
- _this.downloader.downloadText(path, function(atlasText) {
5234
- try {
5235
- var _loop = function() {
5236
- var page = _step.value;
5237
- _this.loadTexture(!fileAlias ? parent + page.name : fileAlias[page.name], function(imagePath, texture) {
5238
- if (!abort) {
5239
- page.setTexture(texture);
5240
- if (--toLoad == 0) {
5241
- _this.success(success, path, atlas);
5242
- resolve(atlas);
5243
- }
5244
- }
5245
- }, function(imagePath, message) {
5246
- if (!abort) {
5247
- var errorMsg = "Couldn't load texture " + path + " page image: " + imagePath;
5248
- _this.error(error, path, errorMsg);
5249
- reject(errorMsg);
5250
- }
5251
- abort = true;
5252
- });
5253
- };
5254
- var atlas = _this.createTextureAtlas(path, atlasText);
5255
- var toLoad = atlas.pages.length, abort = false;
5256
- for(var _iterator = _create_for_of_iterator_helper_loose(atlas.pages), _step; !(_step = _iterator()).done;)_loop();
5257
- } catch (e) {
5258
- var errorMsg = "Couldn't parse texture atlas " + path + ": " + e.message;
5259
- _this.error(error, path, errorMsg);
5260
- reject(errorMsg);
5261
- }
5262
- }, function(status, responseText) {
5263
- var errorMsg = "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText;
5264
- _this.error(error, path, errorMsg);
5265
- reject(errorMsg);
5266
- });
5267
- });
5268
- };
5269
- _proto.loadTextureAtlasButNoTextures = function loadTextureAtlasButNoTextures(path, success, error, fileAlias) {
5270
- var _this = this;
5271
- if (success === void 0) success = function() {};
5272
- if (error === void 0) error = function() {};
5273
- path = this.start(path);
5274
- if (this.reuseAssets(path, success, error)) return;
5275
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5276
- _this.downloader.downloadText(path, function(atlasText) {
5277
- try {
5278
- var atlas = _this.createTextureAtlas(path, atlasText);
5279
- _this.success(success, path, atlas);
5280
- resolve(atlas);
5281
- } catch (e) {
5282
- var errorMsg = "Couldn't parse texture atlas " + path + ": " + e.message;
5283
- _this.error(error, path, errorMsg);
5284
- reject(errorMsg);
5285
- }
5286
- }, function(status, responseText) {
5287
- var errorMsg = "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText;
5288
- _this.error(error, path, errorMsg);
5289
- reject(errorMsg);
5290
- });
5016
+ this.downloader.downloadText(path, function(atlasText) {
5017
+ try {
5018
+ var _loop = function() {
5019
+ var page = _step.value;
5020
+ _this.loadTexture(!fileAlias ? parent + page.name : fileAlias[page.name], function(imagePath, texture) {
5021
+ if (!abort) {
5022
+ page.setTexture(texture);
5023
+ if (--toLoad == 0) _this.success(success, path, atlas);
5024
+ }
5025
+ }, function(imagePath, message) {
5026
+ if (!abort) _this.error(error, path, "Couldn't load texture atlas " + path + " page image: " + imagePath);
5027
+ abort = true;
5028
+ });
5029
+ };
5030
+ var atlas = new TextureAtlas(atlasText);
5031
+ var toLoad = atlas.pages.length, abort = false;
5032
+ for(var _iterator = _create_for_of_iterator_helper_loose(atlas.pages), _step; !(_step = _iterator()).done;)_loop();
5033
+ } catch (e) {
5034
+ _this.error(error, path, "Couldn't parse texture atlas " + path + ": " + e.message);
5035
+ }
5036
+ }, function(status, responseText) {
5037
+ _this.error(error, path, "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText);
5291
5038
  });
5292
5039
  };
5293
- // Promisified versions of load function
5294
- _proto.loadBinaryAsync = function loadBinaryAsync(path) {
5295
- return _async_to_generator(function() {
5296
- var _this;
5297
- return __generator(this, function(_state) {
5298
- _this = this;
5299
- return [
5300
- 2,
5301
- new Promise(function(resolve, reject) {
5302
- _this.loadBinary(path, function(_, binary) {
5303
- return resolve(binary);
5304
- }, function(_, message) {
5305
- return reject(message);
5306
- });
5307
- })
5308
- ];
5309
- });
5310
- }).call(this);
5311
- };
5312
- _proto.loadJsonAsync = function loadJsonAsync(path) {
5313
- return _async_to_generator(function() {
5314
- var _this;
5315
- return __generator(this, function(_state) {
5316
- _this = this;
5317
- return [
5318
- 2,
5319
- new Promise(function(resolve, reject) {
5320
- _this.loadJson(path, function(_, object) {
5321
- return resolve(object);
5322
- }, function(_, message) {
5323
- return reject(message);
5324
- });
5325
- })
5326
- ];
5327
- });
5328
- }).call(this);
5329
- };
5330
- _proto.loadTextureAsync = function loadTextureAsync(path) {
5331
- return _async_to_generator(function() {
5332
- var _this;
5333
- return __generator(this, function(_state) {
5334
- _this = this;
5335
- return [
5336
- 2,
5337
- new Promise(function(resolve, reject) {
5338
- _this.loadTexture(path, function(_, texture) {
5339
- return resolve(texture);
5340
- }, function(_, message) {
5341
- return reject(message);
5342
- });
5343
- })
5344
- ];
5345
- });
5346
- }).call(this);
5347
- };
5348
- _proto.loadTextureAtlasAsync = function loadTextureAtlasAsync(path) {
5349
- return _async_to_generator(function() {
5350
- var _this;
5351
- return __generator(this, function(_state) {
5352
- _this = this;
5353
- return [
5354
- 2,
5355
- new Promise(function(resolve, reject) {
5356
- _this.loadTextureAtlas(path, function(_, atlas) {
5357
- return resolve(atlas);
5358
- }, function(_, message) {
5359
- return reject(message);
5360
- });
5361
- })
5362
- ];
5363
- });
5364
- }).call(this);
5365
- };
5366
- _proto.loadTextureAtlasButNoTexturesAsync = function loadTextureAtlasButNoTexturesAsync(path) {
5367
- return _async_to_generator(function() {
5368
- var _this;
5369
- return __generator(this, function(_state) {
5370
- _this = this;
5371
- return [
5372
- 2,
5373
- new Promise(function(resolve, reject) {
5374
- _this.loadTextureAtlasButNoTextures(path, function(_, atlas) {
5375
- return resolve(atlas);
5376
- }, function(_, message) {
5377
- return reject(message);
5378
- });
5379
- })
5380
- ];
5381
- });
5382
- }).call(this);
5383
- };
5384
- _proto.setCache = function setCache(cache) {
5385
- this.cache = cache;
5386
- };
5387
5040
  _proto.get = function get(path) {
5388
- return this.cache.assets[this.pathPrefix + path];
5041
+ return this.assets[this.pathPrefix + path];
5389
5042
  };
5390
5043
  _proto.require = function require(path) {
5391
5044
  path = this.pathPrefix + path;
5392
- var asset = this.cache.assets[path];
5045
+ var asset = this.assets[path];
5393
5046
  if (asset) return asset;
5394
5047
  var error = this.errors[path];
5395
5048
  throw Error("Asset not found: " + path + (error ? "\n" + error : ""));
5396
5049
  };
5397
5050
  _proto.remove = function remove(path) {
5398
5051
  path = this.pathPrefix + path;
5399
- var asset = this.cache.assets[path];
5052
+ var asset = this.assets[path];
5400
5053
  if (asset.dispose) asset.dispose();
5401
- delete this.cache.assets[path];
5402
- delete this.cache.assetsRefCount[path];
5403
- delete this.cache.assetsLoaded[path];
5054
+ delete this.assets[path];
5404
5055
  return asset;
5405
5056
  };
5406
5057
  _proto.removeAll = function removeAll() {
5407
- for(var path in this.cache.assets){
5408
- var asset = this.cache.assets[path];
5058
+ for(var key in this.assets){
5059
+ var asset = this.assets[key];
5409
5060
  if (asset.dispose) asset.dispose();
5410
5061
  }
5411
- this.cache.assets = {};
5412
- this.cache.assetsLoaded = {};
5413
- this.cache.assetsRefCount = {};
5062
+ this.assets = {};
5414
5063
  };
5415
5064
  _proto.isLoadingComplete = function isLoadingComplete() {
5416
5065
  return this.toLoad == 0;
@@ -5424,89 +5073,14 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5424
5073
  _proto.dispose = function dispose() {
5425
5074
  this.removeAll();
5426
5075
  };
5427
- // dispose asset only if it's not used by others
5428
- _proto.disposeAsset = function disposeAsset(path) {
5429
- var asset = this.cache.assets[path];
5430
- if (_instanceof1(asset, TextureAtlas)) {
5431
- asset.dispose();
5432
- return;
5433
- }
5434
- this.disposeAssetInternal(path);
5435
- };
5436
5076
  _proto.hasErrors = function hasErrors() {
5437
5077
  return Object.keys(this.errors).length > 0;
5438
5078
  };
5439
5079
  _proto.getErrors = function getErrors() {
5440
5080
  return this.errors;
5441
5081
  };
5442
- _proto.disposeAssetInternal = function disposeAssetInternal(path) {
5443
- if (this.cache.assetsRefCount[path] > 0 && --this.cache.assetsRefCount[path] === 0) {
5444
- return this.remove(path);
5445
- }
5446
- };
5447
- _proto.createTextureAtlas = function createTextureAtlas(path, atlasText) {
5448
- var _this = this;
5449
- var atlas = new TextureAtlas(atlasText);
5450
- atlas.dispose = function() {
5451
- if (_this.cache.assetsRefCount[path] <= 0) return;
5452
- _this.disposeAssetInternal(path);
5453
- for(var _iterator = _create_for_of_iterator_helper_loose(atlas.pages), _step; !(_step = _iterator()).done;){
5454
- var page = _step.value;
5455
- var _page_texture;
5456
- (_page_texture = page.texture) == null ? void 0 : _page_texture.dispose();
5457
- }
5458
- };
5459
- return atlas;
5460
- };
5461
- _proto.createTexture = function createTexture(path, image) {
5462
- var _this = this;
5463
- var texture = this.textureLoader(image);
5464
- var textureDispose = texture.dispose.bind(texture);
5465
- texture.dispose = function() {
5466
- if (_this.disposeAssetInternal(path)) textureDispose();
5467
- };
5468
- return texture;
5469
- };
5470
5082
  return AssetManagerBase;
5471
5083
  }();
5472
- var AssetCache = /*#__PURE__*/ function() {
5473
- function AssetCache() {
5474
- this.assets = {};
5475
- this.assetsRefCount = {};
5476
- this.assetsLoaded = {};
5477
- }
5478
- var _proto = AssetCache.prototype;
5479
- _proto.addAsset = function addAsset(path, asset) {
5480
- return _async_to_generator(function() {
5481
- var _;
5482
- return __generator(this, function(_state) {
5483
- switch(_state.label){
5484
- case 0:
5485
- this.assetsLoaded[path] = Promise.resolve(asset);
5486
- _ = this.assets;
5487
- return [
5488
- 4,
5489
- asset
5490
- ];
5491
- case 1:
5492
- _[path] = _state.sent();
5493
- return [
5494
- 2
5495
- ];
5496
- }
5497
- });
5498
- }).call(this);
5499
- };
5500
- AssetCache.getCache = function getCache(id) {
5501
- var cache = AssetCache.AVAILABLE_CACHES.get(id);
5502
- if (cache) return cache;
5503
- var newCache = new AssetCache();
5504
- AssetCache.AVAILABLE_CACHES.set(id, newCache);
5505
- return newCache;
5506
- };
5507
- return AssetCache;
5508
- }();
5509
- AssetCache.AVAILABLE_CACHES = new Map();
5510
5084
  var Downloader = /*#__PURE__*/ function() {
5511
5085
  function Downloader() {
5512
5086
  this.callbacks = {};
@@ -5546,11 +5120,10 @@ var Downloader = /*#__PURE__*/ function() {
5546
5120
  _proto.downloadText = function downloadText(url, success, error) {
5547
5121
  var _this = this;
5548
5122
  if (this.start(url, success, error)) return;
5549
- var rawDataUri = this.rawDataUris[url];
5550
- // we assume if a "." is included in a raw data uri, it is used to rewrite an asset URL
5551
- if (rawDataUri && !rawDataUri.includes(".")) {
5123
+ if (this.rawDataUris[url]) {
5552
5124
  try {
5553
- this.finish(url, 200, this.dataUriToString(rawDataUri));
5125
+ var dataUri = this.rawDataUris[url];
5126
+ this.finish(url, 200, this.dataUriToString(dataUri));
5554
5127
  } catch (e) {
5555
5128
  this.finish(url, 400, JSON.stringify(e));
5556
5129
  }
@@ -5558,7 +5131,7 @@ var Downloader = /*#__PURE__*/ function() {
5558
5131
  }
5559
5132
  var request = new XMLHttpRequest();
5560
5133
  request.overrideMimeType("text/html");
5561
- request.open("GET", rawDataUri ? rawDataUri : url, true);
5134
+ request.open("GET", url, true);
5562
5135
  var done = function() {
5563
5136
  _this.finish(url, request.status, request.responseText);
5564
5137
  };
@@ -5574,18 +5147,17 @@ var Downloader = /*#__PURE__*/ function() {
5574
5147
  _proto.downloadBinary = function downloadBinary(url, success, error) {
5575
5148
  var _this = this;
5576
5149
  if (this.start(url, success, error)) return;
5577
- var rawDataUri = this.rawDataUris[url];
5578
- // we assume if a "." is included in a raw data uri, it is used to rewrite an asset URL
5579
- if (rawDataUri && !rawDataUri.includes(".")) {
5150
+ if (this.rawDataUris[url]) {
5580
5151
  try {
5581
- this.finish(url, 200, this.dataUriToUint8Array(rawDataUri));
5152
+ var dataUri = this.rawDataUris[url];
5153
+ this.finish(url, 200, this.dataUriToUint8Array(dataUri));
5582
5154
  } catch (e) {
5583
5155
  this.finish(url, 400, JSON.stringify(e));
5584
5156
  }
5585
5157
  return;
5586
5158
  }
5587
5159
  var request = new XMLHttpRequest();
5588
- request.open("GET", rawDataUri ? rawDataUri : url, true);
5160
+ request.open("GET", url, true);
5589
5161
  request.responseType = "arraybuffer";
5590
5162
  var onerror = function() {
5591
5163
  _this.finish(url, request.status, request.response);
@@ -5623,17 +5195,17 @@ var Downloader = /*#__PURE__*/ function() {
5623
5195
 
5624
5196
  /******************************************************************************
5625
5197
  * Spine Runtimes License Agreement
5626
- * Last updated April 5, 2025. Replaces all prior versions.
5198
+ * Last updated July 28, 2023. Replaces all prior versions.
5627
5199
  *
5628
- * Copyright (c) 2013-2025, Esoteric Software LLC
5200
+ * Copyright (c) 2013-2023, Esoteric Software LLC
5629
5201
  *
5630
5202
  * Integration of the Spine Runtimes into software or otherwise creating
5631
5203
  * derivative works of the Spine Runtimes is permitted under the terms and
5632
5204
  * conditions of Section 2 of the Spine Editor License Agreement:
5633
5205
  * http://esotericsoftware.com/spine-editor-license
5634
5206
  *
5635
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
5636
- * or otherwise create derivative works of the Spine Runtimes (collectively,
5207
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
5208
+ * otherwise create derivative works of the Spine Runtimes (collectively,
5637
5209
  * "Products"), provided that each user of the Products must obtain their own
5638
5210
  * Spine Editor license and redistribution of the Products in any form must
5639
5211
  * include this license and copyright notice.
@@ -5646,8 +5218,8 @@ var Downloader = /*#__PURE__*/ function() {
5646
5218
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
5647
5219
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
5648
5220
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5649
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5650
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5221
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
5222
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5651
5223
  *****************************************************************************/ /** Stores the current pose values for an {@link Event}.
5652
5224
  *
5653
5225
  * See Timeline {@link Timeline#apply()},
@@ -5667,17 +5239,17 @@ var Downloader = /*#__PURE__*/ function() {
5667
5239
 
5668
5240
  /******************************************************************************
5669
5241
  * Spine Runtimes License Agreement
5670
- * Last updated April 5, 2025. Replaces all prior versions.
5242
+ * Last updated July 28, 2023. Replaces all prior versions.
5671
5243
  *
5672
- * Copyright (c) 2013-2025, Esoteric Software LLC
5244
+ * Copyright (c) 2013-2023, Esoteric Software LLC
5673
5245
  *
5674
5246
  * Integration of the Spine Runtimes into software or otherwise creating
5675
5247
  * derivative works of the Spine Runtimes is permitted under the terms and
5676
5248
  * conditions of Section 2 of the Spine Editor License Agreement:
5677
5249
  * http://esotericsoftware.com/spine-editor-license
5678
5250
  *
5679
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
5680
- * or otherwise create derivative works of the Spine Runtimes (collectively,
5251
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
5252
+ * otherwise create derivative works of the Spine Runtimes (collectively,
5681
5253
  * "Products"), provided that each user of the Products must obtain their own
5682
5254
  * Spine Editor license and redistribution of the Products in any form must
5683
5255
  * include this license and copyright notice.
@@ -5690,8 +5262,8 @@ var Downloader = /*#__PURE__*/ function() {
5690
5262
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
5691
5263
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
5692
5264
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5693
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5694
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5265
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
5266
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5695
5267
  *****************************************************************************/ /** Stores the setup pose values for an {@link Event}.
5696
5268
  *
5697
5269
  * See [Events](http://esotericsoftware.com/spine-events) in the Spine User Guide. */ var EventData = function EventData(name) {
@@ -6551,7 +6123,7 @@ PathConstraint.epsilon = 0.00001;
6551
6123
  }
6552
6124
  if (a >= t) {
6553
6125
  d = Math.pow(this.damping, 60 * t);
6554
- var m = this.massInverse * t, e = this.strength, w = this.wind * f * skeleton.scaleX, g = this.gravity * f * skeleton.scaleY;
6126
+ var m = this.massInverse * t, e = this.strength, w = this.wind * f, g = (Skeleton.yDown ? -this.gravity : this.gravity) * f;
6555
6127
  do {
6556
6128
  if (x) {
6557
6129
  this.xVelocity += (w - this.xOffset * e) * m;
@@ -7393,10 +6965,10 @@ PathConstraint.epsilon = 0.00001;
7393
6965
  })) != null ? _this_physicsConstraints_find : null;
7394
6966
  };
7395
6967
  /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose as `{ x: number, y: number, width: number, height: number }`.
7396
- * Note that this method will create temporary objects which can add to garbage collection pressure. Use `getBounds()` if garbage collection is a concern. */ _proto.getBoundsRect = function getBoundsRect(clipper) {
6968
+ * Note that this method will create temporary objects which can add to garbage collection pressure. Use `getBounds()` if garbage collection is a concern. */ _proto.getBoundsRect = function getBoundsRect() {
7397
6969
  var offset = new Vector2();
7398
6970
  var size = new Vector2();
7399
- this.getBounds(offset, size, undefined, clipper);
6971
+ this.getBounds(offset, size);
7400
6972
  return {
7401
6973
  x: offset.x,
7402
6974
  y: offset.y,
@@ -7525,17 +7097,17 @@ Skeleton.yDown = false;
7525
7097
 
7526
7098
  /******************************************************************************
7527
7099
  * Spine Runtimes License Agreement
7528
- * Last updated April 5, 2025. Replaces all prior versions.
7100
+ * Last updated July 28, 2023. Replaces all prior versions.
7529
7101
  *
7530
- * Copyright (c) 2013-2025, Esoteric Software LLC
7102
+ * Copyright (c) 2013-2023, Esoteric Software LLC
7531
7103
  *
7532
7104
  * Integration of the Spine Runtimes into software or otherwise creating
7533
7105
  * derivative works of the Spine Runtimes is permitted under the terms and
7534
7106
  * conditions of Section 2 of the Spine Editor License Agreement:
7535
7107
  * http://esotericsoftware.com/spine-editor-license
7536
7108
  *
7537
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
7538
- * or otherwise create derivative works of the Spine Runtimes (collectively,
7109
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
7110
+ * otherwise create derivative works of the Spine Runtimes (collectively,
7539
7111
  * "Products"), provided that each user of the Products must obtain their own
7540
7112
  * Spine Editor license and redistribution of the Products in any form must
7541
7113
  * include this license and copyright notice.
@@ -7548,16 +7120,18 @@ Skeleton.yDown = false;
7548
7120
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
7549
7121
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
7550
7122
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
7551
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
7552
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7123
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
7124
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7553
7125
  *****************************************************************************/ /** Stores the setup pose and all of the stateless data for a skeleton.
7554
7126
  *
7555
7127
  * See [Data objects](http://esotericsoftware.com/spine-runtime-architecture#Data-objects) in the Spine Runtimes
7556
7128
  * Guide. */ var SkeletonData = /*#__PURE__*/ function() {
7557
7129
  function SkeletonData() {
7558
7130
  /** The skeleton's name, which by default is the name of the skeleton data file, if possible. May be null. */ this.name = null;
7559
- /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */ this.bones = new Array(); // Ordered parents first.
7560
- /** The skeleton's slots in the setup pose draw order. */ this.slots = new Array(); // Setup pose draw order.
7131
+ /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */ this.bones = new Array() // Ordered parents first.
7132
+ ;
7133
+ /** The skeleton's slots in the setup pose draw order. */ this.slots = new Array() // Setup pose draw order.
7134
+ ;
7561
7135
  this.skins = new Array();
7562
7136
  /** The skeleton's default skin. By default this skin contains all attachments that were not in a skin in Spine.
7563
7137
  *
@@ -7700,7 +7274,8 @@ Skeleton.yDown = false;
7700
7274
  this.attachments = new Array();
7701
7275
  this.bones = Array();
7702
7276
  this.constraints = new Array();
7703
- /** The color of the skin as it was in Spine, or a default color if nonessential data was not exported. */ this.color = new Color(0.99607843, 0.61960787, 0.30980393, 1); // fe9e4fff
7277
+ /** The color of the skin as it was in Spine, or a default color if nonessential data was not exported. */ this.color = new Color(0.99607843, 0.61960787, 0.30980393, 1) // fe9e4fff
7278
+ ;
7704
7279
  if (!name) throw new Error("name cannot be null.");
7705
7280
  this.name = name;
7706
7281
  }
@@ -10858,17 +10433,17 @@ function getValue(map, property, defaultValue) {
10858
10433
 
10859
10434
  /******************************************************************************
10860
10435
  * Spine Runtimes License Agreement
10861
- * Last updated April 5, 2025. Replaces all prior versions.
10436
+ * Last updated July 28, 2023. Replaces all prior versions.
10862
10437
  *
10863
- * Copyright (c) 2013-2025, Esoteric Software LLC
10438
+ * Copyright (c) 2013-2023, Esoteric Software LLC
10864
10439
  *
10865
10440
  * Integration of the Spine Runtimes into software or otherwise creating
10866
10441
  * derivative works of the Spine Runtimes is permitted under the terms and
10867
10442
  * conditions of Section 2 of the Spine Editor License Agreement:
10868
10443
  * http://esotericsoftware.com/spine-editor-license
10869
10444
  *
10870
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
10871
- * or otherwise create derivative works of the Spine Runtimes (collectively,
10445
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
10446
+ * otherwise create derivative works of the Spine Runtimes (collectively,
10872
10447
  * "Products"), provided that each user of the Products must obtain their own
10873
10448
  * Spine Editor license and redistribution of the Products in any form must
10874
10449
  * include this license and copyright notice.
@@ -10881,8 +10456,8 @@ function getValue(map, property, defaultValue) {
10881
10456
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
10882
10457
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
10883
10458
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10884
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
10885
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10459
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
10460
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10886
10461
  *****************************************************************************/ (function() {
10887
10462
  if (typeof Math.fround === "undefined") {
10888
10463
  Math.fround = function(array) {
@@ -12114,7 +11689,7 @@ var SpineAtlasLoader = /*#__PURE__*/ function(Loader) {
12114
11689
  SpineAtlasLoader = __decorate([
12115
11690
  resourceLoader("SpineAtlas", [
12116
11691
  "atlas"
12117
- ], false)
11692
+ ])
12118
11693
  ], SpineAtlasLoader);
12119
11694
 
12120
11695
  var LoaderObject = /*#__PURE__*/Object.freeze({
@@ -12135,8 +11710,8 @@ for(var key in RendererObject){
12135
11710
  for(var key1 in LoaderObject){
12136
11711
  Loader.registerClass(key1, LoaderObject[key1]);
12137
11712
  }
12138
- var version = "4.2.6";
11713
+ var version = "4.2.7";
12139
11714
  console.log("Galacean spine version: " + version);
12140
11715
 
12141
- export { AlphaTimeline, Animation, AnimationState, AnimationStateAdapter, AnimationStateData, AssetCache, AssetManagerBase, AtlasAttachmentLoader, Attachment, AttachmentTimeline, BinaryInput, BlendMode, Bone, BoneData, BoundingBoxAttachment, CURRENT, ClippingAttachment, Color, ConstraintData, CurveTimeline, CurveTimeline1, CurveTimeline2, DebugUtils, DeformTimeline, Downloader, DrawOrderTimeline, Event, EventData, EventQueue, EventTimeline, EventType, FIRST, FakeTexture, HOLD_FIRST, HOLD_MIX, HOLD_SUBSEQUENT, IkConstraint, IkConstraintData, IkConstraintTimeline, Inherit, InheritTimeline, IntSet, Interpolation, LoaderUtils, MathUtils, MeshAttachment, MixBlend, MixDirection, PathAttachment, PathConstraint, PathConstraintData, PathConstraintMixTimeline, PathConstraintPositionTimeline, PathConstraintSpacingTimeline, Physics, PhysicsConstraintDampingTimeline, PhysicsConstraintGravityTimeline, PhysicsConstraintInertiaTimeline, PhysicsConstraintMassTimeline, PhysicsConstraintMixTimeline, PhysicsConstraintResetTimeline, PhysicsConstraintStrengthTimeline, PhysicsConstraintTimeline, PhysicsConstraintWindTimeline, PointAttachment, Pool, PositionMode, Pow, PowOut, RGB2Timeline, RGBA2Timeline, RGBATimeline, RGBTimeline, RegionAttachment, RotateMode, RotateTimeline, SETUP, SUBSEQUENT, ScaleTimeline, ScaleXTimeline, ScaleYTimeline, SequenceTimeline, ShearTimeline, ShearXTimeline, ShearYTimeline, Skeleton, SkeletonBinary, SkeletonBounds, SkeletonClipping, SkeletonData, SkeletonJson, Skin, SkinEntry, Slot, SlotData, SpacingMode, SpineAnimationRenderer, SpineMaterial, SpineResource, StringSet, Texture, TextureAtlas, TextureAtlasPage, TextureAtlasRegion, TextureFilter, TextureRegion, TextureWrap, TimeKeeper, Timeline, TrackEntry, TransformConstraint, TransformConstraintData, TransformConstraintTimeline, TranslateTimeline, TranslateXTimeline, TranslateYTimeline, Triangulator, Utils, Vector2, VertexAttachment, WindowedMean, version };
11716
+ export { AlphaTimeline, Animation, AnimationState, AnimationStateAdapter, AnimationStateData, AssetManagerBase, AtlasAttachmentLoader, Attachment, AttachmentTimeline, BinaryInput, BlendMode, Bone, BoneData, BoundingBoxAttachment, CURRENT, ClippingAttachment, Color, ConstraintData, CurveTimeline, CurveTimeline1, CurveTimeline2, DebugUtils, DeformTimeline, Downloader, DrawOrderTimeline, Event, EventData, EventQueue, EventTimeline, EventType, FIRST, FakeTexture, HOLD_FIRST, HOLD_MIX, HOLD_SUBSEQUENT, IkConstraint, IkConstraintData, IkConstraintTimeline, Inherit, InheritTimeline, IntSet, Interpolation, LoaderUtils, MathUtils, MeshAttachment, MixBlend, MixDirection, PathAttachment, PathConstraint, PathConstraintData, PathConstraintMixTimeline, PathConstraintPositionTimeline, PathConstraintSpacingTimeline, Physics, PhysicsConstraintDampingTimeline, PhysicsConstraintGravityTimeline, PhysicsConstraintInertiaTimeline, PhysicsConstraintMassTimeline, PhysicsConstraintMixTimeline, PhysicsConstraintResetTimeline, PhysicsConstraintStrengthTimeline, PhysicsConstraintTimeline, PhysicsConstraintWindTimeline, PointAttachment, Pool, PositionMode, Pow, PowOut, RGB2Timeline, RGBA2Timeline, RGBATimeline, RGBTimeline, RegionAttachment, RotateMode, RotateTimeline, SETUP, SUBSEQUENT, ScaleTimeline, ScaleXTimeline, ScaleYTimeline, SequenceTimeline, ShearTimeline, ShearXTimeline, ShearYTimeline, Skeleton, SkeletonBinary, SkeletonBounds, SkeletonClipping, SkeletonData, SkeletonJson, Skin, SkinEntry, Slot, SlotData, SpacingMode, SpineAnimationRenderer, SpineMaterial, SpineResource, StringSet, Texture, TextureAtlas, TextureAtlasPage, TextureAtlasRegion, TextureFilter, TextureRegion, TextureWrap, TimeKeeper, Timeline, TrackEntry, TransformConstraint, TransformConstraintData, TransformConstraintTimeline, TranslateTimeline, TranslateXTimeline, TranslateYTimeline, Triangulator, Utils, Vector2, VertexAttachment, WindowedMean, version };
12142
11717
  //# sourceMappingURL=module.js.map