@galacean/engine-spine 4.2.5 → 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.
package/dist/main.js CHANGED
@@ -43,97 +43,6 @@ function __decorate(decorators, target, key, desc) {
43
43
  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;
44
44
  return c > 3 && r && Object.defineProperty(target, key, r), r;
45
45
  }
46
- function __generator(thisArg, body) {
47
- var _ = {
48
- label: 0,
49
- sent: function sent() {
50
- if (t[0] & 1) throw t[1];
51
- return t[1];
52
- },
53
- trys: [],
54
- ops: []
55
- }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
56
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
57
- return this;
58
- }), g;
59
- function verb(n) {
60
- return function(v) {
61
- return step([
62
- n,
63
- v
64
- ]);
65
- };
66
- }
67
- function step(op) {
68
- if (f) throw new TypeError("Generator is already executing.");
69
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
70
- 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;
71
- if (y = 0, t) op = [
72
- op[0] & 2,
73
- t.value
74
- ];
75
- switch(op[0]){
76
- case 0:
77
- case 1:
78
- t = op;
79
- break;
80
- case 4:
81
- _.label++;
82
- return {
83
- value: op[1],
84
- done: false
85
- };
86
- case 5:
87
- _.label++;
88
- y = op[1];
89
- op = [
90
- 0
91
- ];
92
- continue;
93
- case 7:
94
- op = _.ops.pop();
95
- _.trys.pop();
96
- continue;
97
- default:
98
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
99
- _ = 0;
100
- continue;
101
- }
102
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
103
- _.label = op[1];
104
- break;
105
- }
106
- if (op[0] === 6 && _.label < t[1]) {
107
- _.label = t[1];
108
- t = op;
109
- break;
110
- }
111
- if (t && _.label < t[2]) {
112
- _.label = t[2];
113
- _.ops.push(op);
114
- break;
115
- }
116
- if (t[2]) _.ops.pop();
117
- _.trys.pop();
118
- continue;
119
- }
120
- op = body.call(thisArg, _);
121
- } catch (e) {
122
- op = [
123
- 6,
124
- e
125
- ];
126
- y = 0;
127
- } finally{
128
- f = t = 0;
129
- }
130
- if (op[0] & 5) throw op[1];
131
- return {
132
- value: op[0] ? op[1] : void 0,
133
- done: true
134
- };
135
- }
136
- }
137
46
  typeof SuppressedError === "function" ? SuppressedError : function _SuppressedError(error, suppressed, message) {
138
47
  var e = new Error(message);
139
48
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
@@ -293,9 +202,8 @@ var Color = /*#__PURE__*/ function() {
293
202
  color.g = ((value & 0x0000ff00) >>> 8) / 255;
294
203
  color.b = (value & 0x000000ff) / 255;
295
204
  };
296
- Color.fromString = function fromString(hex, color) {
297
- if (color === void 0) color = new Color();
298
- return color.setFromString(hex);
205
+ Color.fromString = function fromString(hex) {
206
+ return new Color().setFromString(hex);
299
207
  };
300
208
  return Color;
301
209
  }();
@@ -2919,16 +2827,18 @@ function _create_class(Constructor, protoProps, staticProps) {
2919
2827
  var finished = this.updateMixingFrom(from, delta);
2920
2828
  from.animationLast = from.nextAnimationLast;
2921
2829
  from.trackLast = from.nextTrackLast;
2922
- // The from entry was applied at least once and the mix is complete.
2923
- if (to.nextTrackLast != -1 && to.mixTime >= to.mixDuration) {
2924
- // Mixing is complete for all entries before the from entry or the mix is instantaneous.
2925
- if (from.totalAlpha == 0 || to.mixDuration == 0) {
2926
- to.mixingFrom = from.mixingFrom;
2927
- if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
2928
- to.interruptAlpha = from.interruptAlpha;
2929
- this.queue.end(from);
2830
+ if (to.nextTrackLast != -1) {
2831
+ var discard = to.mixTime == 0 && from.mixTime == 0; // Discard the from entry when neither have advanced yet.
2832
+ if (to.mixTime >= to.mixDuration || discard) {
2833
+ // Require totalAlpha == 0 to ensure mixing is complete or the transition is a single frame or discarded.
2834
+ if (from.totalAlpha == 0 || to.mixDuration == 0 || discard) {
2835
+ to.mixingFrom = from.mixingFrom;
2836
+ if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;
2837
+ to.interruptAlpha = from.interruptAlpha;
2838
+ this.queue.end(from);
2839
+ }
2840
+ return finished;
2930
2841
  }
2931
- return finished;
2932
2842
  }
2933
2843
  from.trackTime += delta * from.timeScale;
2934
2844
  to.mixTime += delta;
@@ -3293,11 +3203,10 @@ function _create_class(Constructor, protoProps, staticProps) {
3293
3203
  if (!last) {
3294
3204
  this.setCurrent(trackIndex, entry, true);
3295
3205
  this.queue.drain();
3296
- if (delay < 0) delay = 0;
3297
3206
  } else {
3298
3207
  last.next = entry;
3299
3208
  entry.previous = last;
3300
- if (delay <= 0) delay = Math.max(delay + last.getTrackComplete() - entry.mixDuration, 0);
3209
+ if (delay <= 0) delay += last.getTrackComplete() - entry.mixDuration;
3301
3210
  }
3302
3211
  entry.delay = delay;
3303
3212
  return entry;
@@ -3336,7 +3245,7 @@ function _create_class(Constructor, protoProps, staticProps) {
3336
3245
  if (mixDuration === void 0) mixDuration = 0;
3337
3246
  if (delay === void 0) delay = 0;
3338
3247
  var entry = this.addAnimationWith(trackIndex, AnimationState.emptyAnimation(), false, delay);
3339
- if (delay <= 0) entry.delay = Math.max(entry.delay + entry.mixDuration - mixDuration, 0);
3248
+ if (delay <= 0) entry.delay += entry.mixDuration - mixDuration;
3340
3249
  entry.mixDuration = mixDuration;
3341
3250
  entry.trackEnd = mixDuration;
3342
3251
  return entry;
@@ -3590,10 +3499,7 @@ AnimationState._emptyAnimation = new Animation("<empty>", [], 0);
3590
3499
  var _proto = TrackEntry.prototype;
3591
3500
  _proto.setMixDurationWithDelay = function setMixDurationWithDelay(mixDuration, delay) {
3592
3501
  this._mixDuration = mixDuration;
3593
- if (delay <= 0) {
3594
- if (this.previous != null) delay = Math.max(delay + this.previous.getTrackComplete() - mixDuration, 0);
3595
- else delay = 0;
3596
- }
3502
+ if (this.previous != null && delay <= 0) delay += this.previous.getTrackComplete() - mixDuration;
3597
3503
  this.delay = delay;
3598
3504
  };
3599
3505
  _proto.reset = function reset() {
@@ -3816,17 +3722,17 @@ var CURRENT = 2;
3816
3722
 
3817
3723
  /******************************************************************************
3818
3724
  * Spine Runtimes License Agreement
3819
- * Last updated April 5, 2025. Replaces all prior versions.
3725
+ * Last updated July 28, 2023. Replaces all prior versions.
3820
3726
  *
3821
- * Copyright (c) 2013-2025, Esoteric Software LLC
3727
+ * Copyright (c) 2013-2023, Esoteric Software LLC
3822
3728
  *
3823
3729
  * Integration of the Spine Runtimes into software or otherwise creating
3824
3730
  * derivative works of the Spine Runtimes is permitted under the terms and
3825
3731
  * conditions of Section 2 of the Spine Editor License Agreement:
3826
3732
  * http://esotericsoftware.com/spine-editor-license
3827
3733
  *
3828
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
3829
- * or otherwise create derivative works of the Spine Runtimes (collectively,
3734
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
3735
+ * otherwise create derivative works of the Spine Runtimes (collectively,
3830
3736
  * "Products"), provided that each user of the Products must obtain their own
3831
3737
  * Spine Editor license and redistribution of the Products in any form must
3832
3738
  * include this license and copyright notice.
@@ -3839,8 +3745,8 @@ var CURRENT = 2;
3839
3745
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
3840
3746
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
3841
3747
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3842
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3843
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3748
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
3749
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3844
3750
  *****************************************************************************/ /** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */ var AnimationStateData = /*#__PURE__*/ function() {
3845
3751
  function AnimationStateData(skeletonData) {
3846
3752
  this.animationToMixTime = {};
@@ -4292,7 +4198,7 @@ var TextureAtlasRegion = /*#__PURE__*/ function(TextureRegion) {
4292
4198
  this.copyTo(copy);
4293
4199
  copy.regionUVs = new Array(this.regionUVs.length);
4294
4200
  Utils.arrayCopy(this.regionUVs, 0, copy.regionUVs, 0, this.regionUVs.length);
4295
- copy.uvs = _instanceof1(this.uvs, Float32Array) ? Utils.newFloatArray(this.uvs.length) : new Array(this.uvs.length);
4201
+ copy.uvs = new Array(this.uvs.length);
4296
4202
  Utils.arrayCopy(this.uvs, 0, copy.uvs, 0, this.uvs.length);
4297
4203
  copy.triangles = new Array(this.triangles.length);
4298
4204
  Utils.arrayCopy(this.triangles, 0, copy.triangles, 0, this.triangles.length);
@@ -4956,17 +4862,17 @@ RegionAttachment.V4 = 31;
4956
4862
 
4957
4863
  /******************************************************************************
4958
4864
  * Spine Runtimes License Agreement
4959
- * Last updated April 5, 2025. Replaces all prior versions.
4865
+ * Last updated July 28, 2023. Replaces all prior versions.
4960
4866
  *
4961
- * Copyright (c) 2013-2025, Esoteric Software LLC
4867
+ * Copyright (c) 2013-2023, Esoteric Software LLC
4962
4868
  *
4963
4869
  * Integration of the Spine Runtimes into software or otherwise creating
4964
4870
  * derivative works of the Spine Runtimes is permitted under the terms and
4965
4871
  * conditions of Section 2 of the Spine Editor License Agreement:
4966
4872
  * http://esotericsoftware.com/spine-editor-license
4967
4873
  *
4968
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
4969
- * or otherwise create derivative works of the Spine Runtimes (collectively,
4874
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
4875
+ * otherwise create derivative works of the Spine Runtimes (collectively,
4970
4876
  * "Products"), provided that each user of the Products must obtain their own
4971
4877
  * Spine Editor license and redistribution of the Products in any form must
4972
4878
  * include this license and copyright notice.
@@ -4979,8 +4885,8 @@ RegionAttachment.V4 = 31;
4979
4885
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
4980
4886
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
4981
4887
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
4982
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
4983
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4888
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
4889
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4984
4890
  *****************************************************************************/ /** The base class for all constraint datas. */ var ConstraintData = function ConstraintData(name, order, skinRequired) {
4985
4891
  this.name = name;
4986
4892
  this.order = order;
@@ -4988,46 +4894,18 @@ RegionAttachment.V4 = 31;
4988
4894
  }
4989
4895
  ;
4990
4896
 
4991
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
4992
- try {
4993
- var info = gen[key](arg);
4994
- var value = info.value;
4995
- } catch (error) {
4996
- reject(error);
4997
- return;
4998
- }
4999
- if (info.done) resolve(value);
5000
- else Promise.resolve(value).then(_next, _throw);
5001
- }
5002
- function _async_to_generator(fn) {
5003
- return function() {
5004
- var self = this, args = arguments;
5005
- return new Promise(function(resolve, reject) {
5006
- var gen = fn.apply(self, args);
5007
- function _next(value) {
5008
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5009
- }
5010
- function _throw(err) {
5011
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5012
- }
5013
- _next(undefined);
5014
- });
5015
- };
5016
- }
5017
-
5018
4897
  var AssetManagerBase = /*#__PURE__*/ function() {
5019
- function AssetManagerBase(textureLoader, pathPrefix, downloader, cache) {
4898
+ function AssetManagerBase(textureLoader, pathPrefix, downloader) {
5020
4899
  if (pathPrefix === void 0) pathPrefix = "";
5021
4900
  if (downloader === void 0) downloader = new Downloader();
5022
- if (cache === void 0) cache = new AssetCache();
5023
4901
  this.pathPrefix = "";
4902
+ this.assets = {};
5024
4903
  this.errors = {};
5025
4904
  this.toLoad = 0;
5026
4905
  this.loaded = 0;
5027
4906
  this.textureLoader = textureLoader;
5028
4907
  this.pathPrefix = pathPrefix;
5029
4908
  this.downloader = downloader;
5030
- this.cache = cache;
5031
4909
  }
5032
4910
  var _proto = AssetManagerBase.prototype;
5033
4911
  _proto.start = function start(path) {
@@ -5037,8 +4915,7 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5037
4915
  _proto.success = function success(callback, path, asset) {
5038
4916
  this.toLoad--;
5039
4917
  this.loaded++;
5040
- this.cache.assets[path] = asset;
5041
- this.cache.assetsRefCount[path] = (this.cache.assetsRefCount[path] || 0) + 1;
4918
+ this.assets[path] = asset;
5042
4919
  if (callback) callback(path, asset);
5043
4920
  };
5044
4921
  _proto.error = function error(callback, path, message) {
@@ -5070,16 +4947,10 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5070
4947
  if (success === void 0) success = function() {};
5071
4948
  if (error === void 0) error = function() {};
5072
4949
  path = this.start(path);
5073
- if (this.reuseAssets(path, success, error)) return;
5074
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5075
- _this.downloader.downloadBinary(path, function(data) {
5076
- _this.success(success, path, data);
5077
- resolve(data);
5078
- }, function(status, responseText) {
5079
- var errorMsg = "Couldn't load binary " + path + ": status " + status + ", " + responseText;
5080
- _this.error(error, path, errorMsg);
5081
- reject(errorMsg);
5082
- });
4950
+ this.downloader.downloadBinary(path, function(data) {
4951
+ _this.success(success, path, data);
4952
+ }, function(status, responseText) {
4953
+ _this.error(error, path, "Couldn't load binary " + path + ": status " + status + ", " + responseText);
5083
4954
  });
5084
4955
  };
5085
4956
  _proto.loadText = function loadText(path, success, error) {
@@ -5098,83 +4969,46 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5098
4969
  if (success === void 0) success = function() {};
5099
4970
  if (error === void 0) error = function() {};
5100
4971
  path = this.start(path);
5101
- if (this.reuseAssets(path, success, error)) return;
5102
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5103
- _this.downloader.downloadJson(path, function(data) {
5104
- _this.success(success, path, data);
5105
- resolve(data);
5106
- }, function(status, responseText) {
5107
- var errorMsg = "Couldn't load JSON " + path + ": status " + status + ", " + responseText;
5108
- _this.error(error, path, errorMsg);
5109
- reject(errorMsg);
5110
- });
4972
+ this.downloader.downloadJson(path, function(data) {
4973
+ _this.success(success, path, data);
4974
+ }, function(status, responseText) {
4975
+ _this.error(error, path, "Couldn't load JSON " + path + ": status " + status + ", " + responseText);
5111
4976
  });
5112
4977
  };
5113
- _proto.reuseAssets = function reuseAssets(path, success, error) {
5114
- var _this = this;
5115
- if (success === void 0) success = function() {};
5116
- if (error === void 0) error = function() {};
5117
- var loadedStatus = this.cache.assetsLoaded[path];
5118
- var alreadyExistsOrLoading = loadedStatus !== undefined;
5119
- if (alreadyExistsOrLoading) {
5120
- this.cache.assetsLoaded[path] = loadedStatus.then(function(data) {
5121
- // necessary when user preloads an image into the cache.
5122
- // texture loader is not avaiable in the cache, so we transform in GLTexture at first use
5123
- data = _instanceof1(data, Image) || _instanceof1(data, ImageBitmap) ? _this.textureLoader(data) : data;
5124
- _this.success(success, path, data);
5125
- return data;
5126
- }).catch(function(errorMsg) {
5127
- return _this.error(error, path, errorMsg);
5128
- });
5129
- }
5130
- return alreadyExistsOrLoading;
5131
- };
5132
4978
  _proto.loadTexture = function loadTexture(path, success, error) {
5133
4979
  var _this = this;
5134
4980
  if (success === void 0) success = function() {};
5135
4981
  if (error === void 0) error = function() {};
5136
4982
  path = this.start(path);
5137
- if (this.reuseAssets(path, success, error)) return;
5138
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5139
- var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
5140
- var isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
5141
- if (isWebWorker) {
5142
- fetch(path, {
5143
- mode: "cors"
5144
- }).then(function(response) {
5145
- if (response.ok) return response.blob();
5146
- var errorMsg = "Couldn't load image: " + path;
5147
- _this.error(error, path, "Couldn't load image: " + path);
5148
- reject(errorMsg);
5149
- }).then(function(blob) {
5150
- return blob ? createImageBitmap(blob, {
5151
- premultiplyAlpha: "none",
5152
- colorSpaceConversion: "none"
5153
- }) : null;
5154
- }).then(function(bitmap) {
5155
- if (bitmap) {
5156
- var texture = _this.textureLoader(bitmap);
5157
- _this.success(success, path, texture);
5158
- resolve(texture);
5159
- }
5160
- });
5161
- } else {
5162
- var image = new Image();
5163
- image.crossOrigin = "anonymous";
5164
- image.onload = function() {
5165
- var texture = _this.textureLoader(image);
5166
- _this.success(success, path, texture);
5167
- resolve(texture);
5168
- };
5169
- image.onerror = function() {
5170
- var errorMsg = "Couldn't load image: " + path;
5171
- _this.error(error, path, errorMsg);
5172
- reject(errorMsg);
5173
- };
5174
- if (_this.downloader.rawDataUris[path]) path = _this.downloader.rawDataUris[path];
5175
- image.src = path;
5176
- }
5177
- });
4983
+ var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
4984
+ var isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
4985
+ if (isWebWorker) {
4986
+ fetch(path, {
4987
+ mode: "cors"
4988
+ }).then(function(response) {
4989
+ if (response.ok) return response.blob();
4990
+ _this.error(error, path, "Couldn't load image: " + path);
4991
+ return null;
4992
+ }).then(function(blob) {
4993
+ return blob ? createImageBitmap(blob, {
4994
+ premultiplyAlpha: "none",
4995
+ colorSpaceConversion: "none"
4996
+ }) : null;
4997
+ }).then(function(bitmap) {
4998
+ if (bitmap) _this.success(success, path, _this.textureLoader(bitmap));
4999
+ });
5000
+ } else {
5001
+ var image = new Image();
5002
+ image.crossOrigin = "anonymous";
5003
+ image.onload = function() {
5004
+ _this.success(success, path, _this.textureLoader(image));
5005
+ };
5006
+ image.onerror = function() {
5007
+ _this.error(error, path, "Couldn't load image: " + path);
5008
+ };
5009
+ if (this.downloader.rawDataUris[path]) path = this.downloader.rawDataUris[path];
5010
+ image.src = path;
5011
+ }
5178
5012
  };
5179
5013
  _proto.loadTextureAtlas = function loadTextureAtlas(path, success, error, fileAlias) {
5180
5014
  var _this = this;
@@ -5183,189 +5017,53 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5183
5017
  var index = path.lastIndexOf("/");
5184
5018
  var parent = index >= 0 ? path.substring(0, index + 1) : "";
5185
5019
  path = this.start(path);
5186
- if (this.reuseAssets(path, success, error)) return;
5187
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5188
- _this.downloader.downloadText(path, function(atlasText) {
5189
- try {
5190
- var _loop = function() {
5191
- var page = _step.value;
5192
- _this.loadTexture(!fileAlias ? parent + page.name : fileAlias[page.name], function(imagePath, texture) {
5193
- if (!abort) {
5194
- page.setTexture(texture);
5195
- if (--toLoad == 0) {
5196
- _this.success(success, path, atlas);
5197
- resolve(atlas);
5198
- }
5199
- }
5200
- }, function(imagePath, message) {
5201
- if (!abort) {
5202
- var errorMsg = "Couldn't load texture " + path + " page image: " + imagePath;
5203
- _this.error(error, path, errorMsg);
5204
- reject(errorMsg);
5205
- }
5206
- abort = true;
5207
- });
5208
- };
5209
- var atlas = new TextureAtlas(atlasText);
5210
- var toLoad = atlas.pages.length, abort = false;
5211
- for(var _iterator = _create_for_of_iterator_helper_loose(atlas.pages), _step; !(_step = _iterator()).done;)_loop();
5212
- } catch (e) {
5213
- var errorMsg = "Couldn't parse texture atlas " + path + ": " + e.message;
5214
- _this.error(error, path, errorMsg);
5215
- reject(errorMsg);
5216
- }
5217
- }, function(status, responseText) {
5218
- var errorMsg = "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText;
5219
- _this.error(error, path, errorMsg);
5220
- reject(errorMsg);
5221
- });
5222
- });
5223
- };
5224
- _proto.loadTextureAtlasButNoTextures = function loadTextureAtlasButNoTextures(path, success, error, fileAlias) {
5225
- var _this = this;
5226
- if (success === void 0) success = function() {};
5227
- if (error === void 0) error = function() {};
5228
- path = this.start(path);
5229
- if (this.reuseAssets(path, success, error)) return;
5230
- this.cache.assetsLoaded[path] = new Promise(function(resolve, reject) {
5231
- _this.downloader.downloadText(path, function(atlasText) {
5232
- try {
5233
- var atlas = new TextureAtlas(atlasText);
5234
- _this.success(success, path, atlas);
5235
- resolve(atlas);
5236
- } catch (e) {
5237
- var errorMsg = "Couldn't parse texture atlas " + path + ": " + e.message;
5238
- _this.error(error, path, errorMsg);
5239
- reject(errorMsg);
5240
- }
5241
- }, function(status, responseText) {
5242
- var errorMsg = "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText;
5243
- _this.error(error, path, errorMsg);
5244
- reject(errorMsg);
5245
- });
5020
+ this.downloader.downloadText(path, function(atlasText) {
5021
+ try {
5022
+ var _loop = function() {
5023
+ var page = _step.value;
5024
+ _this.loadTexture(!fileAlias ? parent + page.name : fileAlias[page.name], function(imagePath, texture) {
5025
+ if (!abort) {
5026
+ page.setTexture(texture);
5027
+ if (--toLoad == 0) _this.success(success, path, atlas);
5028
+ }
5029
+ }, function(imagePath, message) {
5030
+ if (!abort) _this.error(error, path, "Couldn't load texture atlas " + path + " page image: " + imagePath);
5031
+ abort = true;
5032
+ });
5033
+ };
5034
+ var atlas = new TextureAtlas(atlasText);
5035
+ var toLoad = atlas.pages.length, abort = false;
5036
+ for(var _iterator = _create_for_of_iterator_helper_loose(atlas.pages), _step; !(_step = _iterator()).done;)_loop();
5037
+ } catch (e) {
5038
+ _this.error(error, path, "Couldn't parse texture atlas " + path + ": " + e.message);
5039
+ }
5040
+ }, function(status, responseText) {
5041
+ _this.error(error, path, "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText);
5246
5042
  });
5247
5043
  };
5248
- // Promisified versions of load function
5249
- _proto.loadBinaryAsync = function loadBinaryAsync(path) {
5250
- return _async_to_generator(function() {
5251
- var _this;
5252
- return __generator(this, function(_state) {
5253
- _this = this;
5254
- return [
5255
- 2,
5256
- new Promise(function(resolve, reject) {
5257
- _this.loadBinary(path, function(_, binary) {
5258
- return resolve(binary);
5259
- }, function(_, message) {
5260
- return reject(message);
5261
- });
5262
- })
5263
- ];
5264
- });
5265
- }).call(this);
5266
- };
5267
- _proto.loadJsonAsync = function loadJsonAsync(path) {
5268
- return _async_to_generator(function() {
5269
- var _this;
5270
- return __generator(this, function(_state) {
5271
- _this = this;
5272
- return [
5273
- 2,
5274
- new Promise(function(resolve, reject) {
5275
- _this.loadJson(path, function(_, object) {
5276
- return resolve(object);
5277
- }, function(_, message) {
5278
- return reject(message);
5279
- });
5280
- })
5281
- ];
5282
- });
5283
- }).call(this);
5284
- };
5285
- _proto.loadTextureAsync = function loadTextureAsync(path) {
5286
- return _async_to_generator(function() {
5287
- var _this;
5288
- return __generator(this, function(_state) {
5289
- _this = this;
5290
- return [
5291
- 2,
5292
- new Promise(function(resolve, reject) {
5293
- _this.loadTexture(path, function(_, texture) {
5294
- return resolve(texture);
5295
- }, function(_, message) {
5296
- return reject(message);
5297
- });
5298
- })
5299
- ];
5300
- });
5301
- }).call(this);
5302
- };
5303
- _proto.loadTextureAtlasAsync = function loadTextureAtlasAsync(path) {
5304
- return _async_to_generator(function() {
5305
- var _this;
5306
- return __generator(this, function(_state) {
5307
- _this = this;
5308
- return [
5309
- 2,
5310
- new Promise(function(resolve, reject) {
5311
- _this.loadTextureAtlas(path, function(_, atlas) {
5312
- return resolve(atlas);
5313
- }, function(_, message) {
5314
- return reject(message);
5315
- });
5316
- })
5317
- ];
5318
- });
5319
- }).call(this);
5320
- };
5321
- _proto.loadTextureAtlasButNoTexturesAsync = function loadTextureAtlasButNoTexturesAsync(path) {
5322
- return _async_to_generator(function() {
5323
- var _this;
5324
- return __generator(this, function(_state) {
5325
- _this = this;
5326
- return [
5327
- 2,
5328
- new Promise(function(resolve, reject) {
5329
- _this.loadTextureAtlasButNoTextures(path, function(_, atlas) {
5330
- return resolve(atlas);
5331
- }, function(_, message) {
5332
- return reject(message);
5333
- });
5334
- })
5335
- ];
5336
- });
5337
- }).call(this);
5338
- };
5339
- _proto.setCache = function setCache(cache) {
5340
- this.cache = cache;
5341
- };
5342
5044
  _proto.get = function get(path) {
5343
- return this.cache.assets[this.pathPrefix + path];
5045
+ return this.assets[this.pathPrefix + path];
5344
5046
  };
5345
5047
  _proto.require = function require(path) {
5346
5048
  path = this.pathPrefix + path;
5347
- var asset = this.cache.assets[path];
5049
+ var asset = this.assets[path];
5348
5050
  if (asset) return asset;
5349
5051
  var error = this.errors[path];
5350
5052
  throw Error("Asset not found: " + path + (error ? "\n" + error : ""));
5351
5053
  };
5352
5054
  _proto.remove = function remove(path) {
5353
5055
  path = this.pathPrefix + path;
5354
- var asset = this.cache.assets[path];
5056
+ var asset = this.assets[path];
5355
5057
  if (asset.dispose) asset.dispose();
5356
- delete this.cache.assets[path];
5357
- delete this.cache.assetsRefCount[path];
5358
- delete this.cache.assetsLoaded[path];
5058
+ delete this.assets[path];
5359
5059
  return asset;
5360
5060
  };
5361
5061
  _proto.removeAll = function removeAll() {
5362
- for(var path in this.cache.assets){
5363
- var asset = this.cache.assets[path];
5062
+ for(var key in this.assets){
5063
+ var asset = this.assets[key];
5364
5064
  if (asset.dispose) asset.dispose();
5365
5065
  }
5366
- this.cache.assets = {};
5367
- this.cache.assetsLoaded = {};
5368
- this.cache.assetsRefCount = {};
5066
+ this.assets = {};
5369
5067
  };
5370
5068
  _proto.isLoadingComplete = function isLoadingComplete() {
5371
5069
  return this.toLoad == 0;
@@ -5379,12 +5077,6 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5379
5077
  _proto.dispose = function dispose() {
5380
5078
  this.removeAll();
5381
5079
  };
5382
- // dispose asset only if it's not used by others
5383
- _proto.disposeAsset = function disposeAsset(path) {
5384
- if (--this.cache.assetsRefCount[path] === 0) {
5385
- this.remove(path);
5386
- }
5387
- };
5388
5080
  _proto.hasErrors = function hasErrors() {
5389
5081
  return Object.keys(this.errors).length > 0;
5390
5082
  };
@@ -5393,44 +5085,6 @@ var AssetManagerBase = /*#__PURE__*/ function() {
5393
5085
  };
5394
5086
  return AssetManagerBase;
5395
5087
  }();
5396
- var AssetCache = /*#__PURE__*/ function() {
5397
- function AssetCache() {
5398
- this.assets = {};
5399
- this.assetsRefCount = {};
5400
- this.assetsLoaded = {};
5401
- }
5402
- var _proto = AssetCache.prototype;
5403
- _proto.addAsset = function addAsset(path, asset) {
5404
- return _async_to_generator(function() {
5405
- var _;
5406
- return __generator(this, function(_state) {
5407
- switch(_state.label){
5408
- case 0:
5409
- this.assetsLoaded[path] = Promise.resolve(asset);
5410
- _ = this.assets;
5411
- return [
5412
- 4,
5413
- asset
5414
- ];
5415
- case 1:
5416
- _[path] = _state.sent();
5417
- return [
5418
- 2
5419
- ];
5420
- }
5421
- });
5422
- }).call(this);
5423
- };
5424
- AssetCache.getCache = function getCache(id) {
5425
- var cache = AssetCache.AVAILABLE_CACHES.get(id);
5426
- if (cache) return cache;
5427
- var newCache = new AssetCache();
5428
- AssetCache.AVAILABLE_CACHES.set(id, newCache);
5429
- return newCache;
5430
- };
5431
- return AssetCache;
5432
- }();
5433
- AssetCache.AVAILABLE_CACHES = new Map();
5434
5088
  var Downloader = /*#__PURE__*/ function() {
5435
5089
  function Downloader() {
5436
5090
  this.callbacks = {};
@@ -5470,11 +5124,10 @@ var Downloader = /*#__PURE__*/ function() {
5470
5124
  _proto.downloadText = function downloadText(url, success, error) {
5471
5125
  var _this = this;
5472
5126
  if (this.start(url, success, error)) return;
5473
- var rawDataUri = this.rawDataUris[url];
5474
- // we assume if a "." is included in a raw data uri, it is used to rewrite an asset URL
5475
- if (rawDataUri && !rawDataUri.includes(".")) {
5127
+ if (this.rawDataUris[url]) {
5476
5128
  try {
5477
- this.finish(url, 200, this.dataUriToString(rawDataUri));
5129
+ var dataUri = this.rawDataUris[url];
5130
+ this.finish(url, 200, this.dataUriToString(dataUri));
5478
5131
  } catch (e) {
5479
5132
  this.finish(url, 400, JSON.stringify(e));
5480
5133
  }
@@ -5482,7 +5135,7 @@ var Downloader = /*#__PURE__*/ function() {
5482
5135
  }
5483
5136
  var request = new XMLHttpRequest();
5484
5137
  request.overrideMimeType("text/html");
5485
- request.open("GET", rawDataUri ? rawDataUri : url, true);
5138
+ request.open("GET", url, true);
5486
5139
  var done = function() {
5487
5140
  _this.finish(url, request.status, request.responseText);
5488
5141
  };
@@ -5498,18 +5151,17 @@ var Downloader = /*#__PURE__*/ function() {
5498
5151
  _proto.downloadBinary = function downloadBinary(url, success, error) {
5499
5152
  var _this = this;
5500
5153
  if (this.start(url, success, error)) return;
5501
- var rawDataUri = this.rawDataUris[url];
5502
- // we assume if a "." is included in a raw data uri, it is used to rewrite an asset URL
5503
- if (rawDataUri && !rawDataUri.includes(".")) {
5154
+ if (this.rawDataUris[url]) {
5504
5155
  try {
5505
- this.finish(url, 200, this.dataUriToUint8Array(rawDataUri));
5156
+ var dataUri = this.rawDataUris[url];
5157
+ this.finish(url, 200, this.dataUriToUint8Array(dataUri));
5506
5158
  } catch (e) {
5507
5159
  this.finish(url, 400, JSON.stringify(e));
5508
5160
  }
5509
5161
  return;
5510
5162
  }
5511
5163
  var request = new XMLHttpRequest();
5512
- request.open("GET", rawDataUri ? rawDataUri : url, true);
5164
+ request.open("GET", url, true);
5513
5165
  request.responseType = "arraybuffer";
5514
5166
  var onerror = function() {
5515
5167
  _this.finish(url, request.status, request.response);
@@ -5547,17 +5199,17 @@ var Downloader = /*#__PURE__*/ function() {
5547
5199
 
5548
5200
  /******************************************************************************
5549
5201
  * Spine Runtimes License Agreement
5550
- * Last updated April 5, 2025. Replaces all prior versions.
5202
+ * Last updated July 28, 2023. Replaces all prior versions.
5551
5203
  *
5552
- * Copyright (c) 2013-2025, Esoteric Software LLC
5204
+ * Copyright (c) 2013-2023, Esoteric Software LLC
5553
5205
  *
5554
5206
  * Integration of the Spine Runtimes into software or otherwise creating
5555
5207
  * derivative works of the Spine Runtimes is permitted under the terms and
5556
5208
  * conditions of Section 2 of the Spine Editor License Agreement:
5557
5209
  * http://esotericsoftware.com/spine-editor-license
5558
5210
  *
5559
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
5560
- * or otherwise create derivative works of the Spine Runtimes (collectively,
5211
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
5212
+ * otherwise create derivative works of the Spine Runtimes (collectively,
5561
5213
  * "Products"), provided that each user of the Products must obtain their own
5562
5214
  * Spine Editor license and redistribution of the Products in any form must
5563
5215
  * include this license and copyright notice.
@@ -5570,8 +5222,8 @@ var Downloader = /*#__PURE__*/ function() {
5570
5222
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
5571
5223
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
5572
5224
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5573
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5574
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5225
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
5226
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5575
5227
  *****************************************************************************/ /** Stores the current pose values for an {@link Event}.
5576
5228
  *
5577
5229
  * See Timeline {@link Timeline#apply()},
@@ -5591,17 +5243,17 @@ var Downloader = /*#__PURE__*/ function() {
5591
5243
 
5592
5244
  /******************************************************************************
5593
5245
  * Spine Runtimes License Agreement
5594
- * Last updated April 5, 2025. Replaces all prior versions.
5246
+ * Last updated July 28, 2023. Replaces all prior versions.
5595
5247
  *
5596
- * Copyright (c) 2013-2025, Esoteric Software LLC
5248
+ * Copyright (c) 2013-2023, Esoteric Software LLC
5597
5249
  *
5598
5250
  * Integration of the Spine Runtimes into software or otherwise creating
5599
5251
  * derivative works of the Spine Runtimes is permitted under the terms and
5600
5252
  * conditions of Section 2 of the Spine Editor License Agreement:
5601
5253
  * http://esotericsoftware.com/spine-editor-license
5602
5254
  *
5603
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
5604
- * or otherwise create derivative works of the Spine Runtimes (collectively,
5255
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
5256
+ * otherwise create derivative works of the Spine Runtimes (collectively,
5605
5257
  * "Products"), provided that each user of the Products must obtain their own
5606
5258
  * Spine Editor license and redistribution of the Products in any form must
5607
5259
  * include this license and copyright notice.
@@ -5614,8 +5266,8 @@ var Downloader = /*#__PURE__*/ function() {
5614
5266
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
5615
5267
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
5616
5268
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
5617
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
5618
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5269
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
5270
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5619
5271
  *****************************************************************************/ /** Stores the setup pose values for an {@link Event}.
5620
5272
  *
5621
5273
  * See [Events](http://esotericsoftware.com/spine-events) in the Spine User Guide. */ var EventData = function EventData(name) {
@@ -6475,7 +6127,7 @@ PathConstraint.epsilon = 0.00001;
6475
6127
  }
6476
6128
  if (a >= t) {
6477
6129
  d = Math.pow(this.damping, 60 * t);
6478
- var m = this.massInverse * t, e = this.strength, w = this.wind * f * skeleton.scaleX, g = this.gravity * f * skeleton.scaleY;
6130
+ var m = this.massInverse * t, e = this.strength, w = this.wind * f, g = (Skeleton.yDown ? -this.gravity : this.gravity) * f;
6479
6131
  do {
6480
6132
  if (x) {
6481
6133
  this.xVelocity += (w - this.xOffset * e) * m;
@@ -7317,10 +6969,10 @@ PathConstraint.epsilon = 0.00001;
7317
6969
  })) != null ? _this_physicsConstraints_find : null;
7318
6970
  };
7319
6971
  /** 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 }`.
7320
- * 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) {
6972
+ * 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() {
7321
6973
  var offset = new Vector2();
7322
6974
  var size = new Vector2();
7323
- this.getBounds(offset, size, undefined, clipper);
6975
+ this.getBounds(offset, size);
7324
6976
  return {
7325
6977
  x: offset.x,
7326
6978
  y: offset.y,
@@ -7449,17 +7101,17 @@ Skeleton.yDown = false;
7449
7101
 
7450
7102
  /******************************************************************************
7451
7103
  * Spine Runtimes License Agreement
7452
- * Last updated April 5, 2025. Replaces all prior versions.
7104
+ * Last updated July 28, 2023. Replaces all prior versions.
7453
7105
  *
7454
- * Copyright (c) 2013-2025, Esoteric Software LLC
7106
+ * Copyright (c) 2013-2023, Esoteric Software LLC
7455
7107
  *
7456
7108
  * Integration of the Spine Runtimes into software or otherwise creating
7457
7109
  * derivative works of the Spine Runtimes is permitted under the terms and
7458
7110
  * conditions of Section 2 of the Spine Editor License Agreement:
7459
7111
  * http://esotericsoftware.com/spine-editor-license
7460
7112
  *
7461
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
7462
- * or otherwise create derivative works of the Spine Runtimes (collectively,
7113
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
7114
+ * otherwise create derivative works of the Spine Runtimes (collectively,
7463
7115
  * "Products"), provided that each user of the Products must obtain their own
7464
7116
  * Spine Editor license and redistribution of the Products in any form must
7465
7117
  * include this license and copyright notice.
@@ -7472,16 +7124,18 @@ Skeleton.yDown = false;
7472
7124
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
7473
7125
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
7474
7126
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
7475
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
7476
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7127
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
7128
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7477
7129
  *****************************************************************************/ /** Stores the setup pose and all of the stateless data for a skeleton.
7478
7130
  *
7479
7131
  * See [Data objects](http://esotericsoftware.com/spine-runtime-architecture#Data-objects) in the Spine Runtimes
7480
7132
  * Guide. */ var SkeletonData = /*#__PURE__*/ function() {
7481
7133
  function SkeletonData() {
7482
7134
  /** The skeleton's name, which by default is the name of the skeleton data file, if possible. May be null. */ this.name = null;
7483
- /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */ this.bones = new Array(); // Ordered parents first.
7484
- /** The skeleton's slots in the setup pose draw order. */ this.slots = new Array(); // Setup pose draw order.
7135
+ /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */ this.bones = new Array() // Ordered parents first.
7136
+ ;
7137
+ /** The skeleton's slots in the setup pose draw order. */ this.slots = new Array() // Setup pose draw order.
7138
+ ;
7485
7139
  this.skins = new Array();
7486
7140
  /** The skeleton's default skin. By default this skin contains all attachments that were not in a skin in Spine.
7487
7141
  *
@@ -7624,7 +7278,8 @@ Skeleton.yDown = false;
7624
7278
  this.attachments = new Array();
7625
7279
  this.bones = Array();
7626
7280
  this.constraints = new Array();
7627
- /** 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
7281
+ /** 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
7282
+ ;
7628
7283
  if (!name) throw new Error("name cannot be null.");
7629
7284
  this.name = name;
7630
7285
  }
@@ -10782,17 +10437,17 @@ function getValue(map, property, defaultValue) {
10782
10437
 
10783
10438
  /******************************************************************************
10784
10439
  * Spine Runtimes License Agreement
10785
- * Last updated April 5, 2025. Replaces all prior versions.
10440
+ * Last updated July 28, 2023. Replaces all prior versions.
10786
10441
  *
10787
- * Copyright (c) 2013-2025, Esoteric Software LLC
10442
+ * Copyright (c) 2013-2023, Esoteric Software LLC
10788
10443
  *
10789
10444
  * Integration of the Spine Runtimes into software or otherwise creating
10790
10445
  * derivative works of the Spine Runtimes is permitted under the terms and
10791
10446
  * conditions of Section 2 of the Spine Editor License Agreement:
10792
10447
  * http://esotericsoftware.com/spine-editor-license
10793
10448
  *
10794
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
10795
- * or otherwise create derivative works of the Spine Runtimes (collectively,
10449
+ * Otherwise, it is permitted to integrate the Spine Runtimes into software or
10450
+ * otherwise create derivative works of the Spine Runtimes (collectively,
10796
10451
  * "Products"), provided that each user of the Products must obtain their own
10797
10452
  * Spine Editor license and redistribution of the Products in any form must
10798
10453
  * include this license and copyright notice.
@@ -10805,8 +10460,8 @@ function getValue(map, property, defaultValue) {
10805
10460
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
10806
10461
  * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
10807
10462
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10808
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
10809
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10463
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
10464
+ * SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10810
10465
  *****************************************************************************/ (function() {
10811
10466
  if (typeof Math.fround === "undefined") {
10812
10467
  Math.fround = function(array) {
@@ -12059,7 +11714,7 @@ for(var key in RendererObject){
12059
11714
  for(var key1 in LoaderObject){
12060
11715
  engine.Loader.registerClass(key1, LoaderObject[key1]);
12061
11716
  }
12062
- var version = "4.2.5";
11717
+ var version = "4.2.7";
12063
11718
  console.log("Galacean spine version: " + version);
12064
11719
 
12065
11720
  exports.AlphaTimeline = AlphaTimeline;
@@ -12067,7 +11722,6 @@ exports.Animation = Animation;
12067
11722
  exports.AnimationState = AnimationState;
12068
11723
  exports.AnimationStateAdapter = AnimationStateAdapter;
12069
11724
  exports.AnimationStateData = AnimationStateData;
12070
- exports.AssetCache = AssetCache;
12071
11725
  exports.AssetManagerBase = AssetManagerBase;
12072
11726
  exports.AtlasAttachmentLoader = AtlasAttachmentLoader;
12073
11727
  exports.Attachment = Attachment;