@esotericsoftware/spine-core 4.0.7 → 4.0.11

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 (95) hide show
  1. package/dist/Animation.js +577 -710
  2. package/dist/AnimationState.js +239 -259
  3. package/dist/AnimationStateData.js +15 -17
  4. package/dist/AssetManagerBase.d.ts +3 -0
  5. package/dist/AssetManagerBase.js +168 -147
  6. package/dist/AtlasAttachmentLoader.js +20 -22
  7. package/dist/Bone.js +89 -91
  8. package/dist/BoneData.js +4 -6
  9. package/dist/ConstraintData.js +4 -6
  10. package/dist/Event.js +4 -6
  11. package/dist/EventData.js +4 -6
  12. package/dist/IkConstraint.js +48 -50
  13. package/dist/IkConstraintData.js +12 -31
  14. package/dist/PathConstraint.js +116 -118
  15. package/dist/PathConstraintData.js +9 -28
  16. package/dist/Skeleton.d.ts +0 -4
  17. package/dist/Skeleton.js +190 -213
  18. package/dist/SkeletonBinary.js +352 -363
  19. package/dist/SkeletonBounds.js +79 -81
  20. package/dist/SkeletonClipping.js +86 -88
  21. package/dist/SkeletonData.d.ts +0 -2
  22. package/dist/SkeletonData.js +46 -66
  23. package/dist/SkeletonJson.js +307 -307
  24. package/dist/Skin.js +65 -69
  25. package/dist/Slot.js +16 -18
  26. package/dist/SlotData.js +4 -6
  27. package/dist/Texture.js +14 -39
  28. package/dist/TextureAtlas.js +56 -85
  29. package/dist/TransformConstraint.js +77 -79
  30. package/dist/TransformConstraintData.js +20 -39
  31. package/dist/Triangulator.js +71 -73
  32. package/dist/Updatable.js +1 -1
  33. package/dist/Utils.js +183 -245
  34. package/dist/VertexEffect.js +1 -1
  35. package/dist/attachments/Attachment.js +41 -62
  36. package/dist/attachments/AttachmentLoader.js +1 -1
  37. package/dist/attachments/BoundingBoxAttachment.js +9 -28
  38. package/dist/attachments/ClippingAttachment.js +9 -28
  39. package/dist/attachments/MeshAttachment.js +29 -48
  40. package/dist/attachments/PathAttachment.js +11 -30
  41. package/dist/attachments/PointAttachment.js +16 -35
  42. package/dist/attachments/RegionAttachment.js +82 -101
  43. package/dist/attachments/index.js +1 -1
  44. package/dist/iife/spine-core.js +89 -85
  45. package/dist/iife/spine-core.js.map +2 -2
  46. package/dist/iife/spine-core.min.js +2 -2
  47. package/dist/index.js +1 -1
  48. package/dist/polyfills.js +2 -2
  49. package/dist/vertexeffects/JitterEffect.js +10 -12
  50. package/dist/vertexeffects/SwirlEffect.js +18 -20
  51. package/package.json +1 -1
  52. package/dist/Animation.js.map +0 -1
  53. package/dist/AnimationState.js.map +0 -1
  54. package/dist/AnimationStateData.js.map +0 -1
  55. package/dist/AssetManagerBase.js.map +0 -1
  56. package/dist/AtlasAttachmentLoader.js.map +0 -1
  57. package/dist/Bone.js.map +0 -1
  58. package/dist/BoneData.js.map +0 -1
  59. package/dist/ConstraintData.js.map +0 -1
  60. package/dist/Event.js.map +0 -1
  61. package/dist/EventData.js.map +0 -1
  62. package/dist/IkConstraint.js.map +0 -1
  63. package/dist/IkConstraintData.js.map +0 -1
  64. package/dist/PathConstraint.js.map +0 -1
  65. package/dist/PathConstraintData.js.map +0 -1
  66. package/dist/Skeleton.js.map +0 -1
  67. package/dist/SkeletonBinary.js.map +0 -1
  68. package/dist/SkeletonBounds.js.map +0 -1
  69. package/dist/SkeletonClipping.js.map +0 -1
  70. package/dist/SkeletonData.js.map +0 -1
  71. package/dist/SkeletonJson.js.map +0 -1
  72. package/dist/Skin.js.map +0 -1
  73. package/dist/Slot.js.map +0 -1
  74. package/dist/SlotData.js.map +0 -1
  75. package/dist/Texture.js.map +0 -1
  76. package/dist/TextureAtlas.js.map +0 -1
  77. package/dist/TransformConstraint.js.map +0 -1
  78. package/dist/TransformConstraintData.js.map +0 -1
  79. package/dist/Triangulator.js.map +0 -1
  80. package/dist/Updatable.js.map +0 -1
  81. package/dist/Utils.js.map +0 -1
  82. package/dist/VertexEffect.js.map +0 -1
  83. package/dist/attachments/Attachment.js.map +0 -1
  84. package/dist/attachments/AttachmentLoader.js.map +0 -1
  85. package/dist/attachments/BoundingBoxAttachment.js.map +0 -1
  86. package/dist/attachments/ClippingAttachment.js.map +0 -1
  87. package/dist/attachments/MeshAttachment.js.map +0 -1
  88. package/dist/attachments/PathAttachment.js.map +0 -1
  89. package/dist/attachments/PointAttachment.js.map +0 -1
  90. package/dist/attachments/RegionAttachment.js.map +0 -1
  91. package/dist/attachments/index.js.map +0 -1
  92. package/dist/index.js.map +0 -1
  93. package/dist/polyfills.js.map +0 -1
  94. package/dist/vertexeffects/JitterEffect.js.map +0 -1
  95. package/dist/vertexeffects/SwirlEffect.js.map +0 -1
package/dist/Updatable.js CHANGED
@@ -27,4 +27,4 @@
27
27
  * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  export {};
30
- //# sourceMappingURL=Updatable.js.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1VwZGF0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0UifQ==
package/dist/Utils.js CHANGED
@@ -26,113 +26,90 @@
26
26
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
27
  * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
- var __extends = (this && this.__extends) || (function () {
30
- var extendStatics = function (d, b) {
31
- extendStatics = Object.setPrototypeOf ||
32
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
33
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
34
- return extendStatics(d, b);
35
- };
36
- return function (d, b) {
37
- if (typeof b !== "function" && b !== null)
38
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
39
- extendStatics(d, b);
40
- function __() { this.constructor = d; }
41
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
42
- };
43
- })();
44
- var IntSet = /** @class */ (function () {
45
- function IntSet() {
29
+ export class IntSet {
30
+ constructor() {
46
31
  this.array = new Array();
47
32
  }
48
- IntSet.prototype.add = function (value) {
49
- var contains = this.contains(value);
33
+ add(value) {
34
+ let contains = this.contains(value);
50
35
  this.array[value | 0] = value | 0;
51
36
  return !contains;
52
- };
53
- IntSet.prototype.contains = function (value) {
37
+ }
38
+ contains(value) {
54
39
  return this.array[value | 0] != undefined;
55
- };
56
- IntSet.prototype.remove = function (value) {
40
+ }
41
+ remove(value) {
57
42
  this.array[value | 0] = undefined;
58
- };
59
- IntSet.prototype.clear = function () {
43
+ }
44
+ clear() {
60
45
  this.array.length = 0;
61
- };
62
- return IntSet;
63
- }());
64
- export { IntSet };
65
- var StringSet = /** @class */ (function () {
66
- function StringSet() {
46
+ }
47
+ }
48
+ export class StringSet {
49
+ constructor() {
67
50
  this.entries = {};
68
51
  this.size = 0;
69
52
  }
70
- StringSet.prototype.add = function (value) {
71
- var contains = this.entries[value];
53
+ add(value) {
54
+ let contains = this.entries[value];
72
55
  this.entries[value] = true;
73
56
  if (!contains) {
74
57
  this.size++;
75
58
  return true;
76
59
  }
77
60
  return false;
78
- };
79
- StringSet.prototype.addAll = function (values) {
80
- var oldSize = this.size;
61
+ }
62
+ addAll(values) {
63
+ let oldSize = this.size;
81
64
  for (var i = 0, n = values.length; i < n; i++)
82
65
  this.add(values[i]);
83
66
  return oldSize != this.size;
84
- };
85
- StringSet.prototype.contains = function (value) {
67
+ }
68
+ contains(value) {
86
69
  return this.entries[value];
87
- };
88
- StringSet.prototype.clear = function () {
70
+ }
71
+ clear() {
89
72
  this.entries = {};
90
73
  this.size = 0;
91
- };
92
- return StringSet;
93
- }());
94
- export { StringSet };
95
- var Color = /** @class */ (function () {
96
- function Color(r, g, b, a) {
97
- if (r === void 0) { r = 0; }
98
- if (g === void 0) { g = 0; }
99
- if (b === void 0) { b = 0; }
100
- if (a === void 0) { a = 0; }
74
+ }
75
+ }
76
+ export class Color {
77
+ constructor(r = 0, g = 0, b = 0, a = 0) {
101
78
  this.r = r;
102
79
  this.g = g;
103
80
  this.b = b;
104
81
  this.a = a;
105
82
  }
106
- Color.prototype.set = function (r, g, b, a) {
83
+ set(r, g, b, a) {
107
84
  this.r = r;
108
85
  this.g = g;
109
86
  this.b = b;
110
87
  this.a = a;
111
88
  return this.clamp();
112
- };
113
- Color.prototype.setFromColor = function (c) {
89
+ }
90
+ setFromColor(c) {
114
91
  this.r = c.r;
115
92
  this.g = c.g;
116
93
  this.b = c.b;
117
94
  this.a = c.a;
118
95
  return this;
119
- };
120
- Color.prototype.setFromString = function (hex) {
96
+ }
97
+ setFromString(hex) {
121
98
  hex = hex.charAt(0) == '#' ? hex.substr(1) : hex;
122
99
  this.r = parseInt(hex.substr(0, 2), 16) / 255;
123
100
  this.g = parseInt(hex.substr(2, 2), 16) / 255;
124
101
  this.b = parseInt(hex.substr(4, 2), 16) / 255;
125
102
  this.a = hex.length != 8 ? 1 : parseInt(hex.substr(6, 2), 16) / 255;
126
103
  return this;
127
- };
128
- Color.prototype.add = function (r, g, b, a) {
104
+ }
105
+ add(r, g, b, a) {
129
106
  this.r += r;
130
107
  this.g += g;
131
108
  this.b += b;
132
109
  this.a += a;
133
110
  return this.clamp();
134
- };
135
- Color.prototype.clamp = function () {
111
+ }
112
+ clamp() {
136
113
  if (this.r < 0)
137
114
  this.r = 0;
138
115
  else if (this.r > 1)
@@ -150,257 +127,223 @@ var Color = /** @class */ (function () {
150
127
  else if (this.a > 1)
151
128
  this.a = 1;
152
129
  return this;
153
- };
154
- Color.rgba8888ToColor = function (color, value) {
130
+ }
131
+ static rgba8888ToColor(color, value) {
155
132
  color.r = ((value & 0xff000000) >>> 24) / 255;
156
133
  color.g = ((value & 0x00ff0000) >>> 16) / 255;
157
134
  color.b = ((value & 0x0000ff00) >>> 8) / 255;
158
135
  color.a = ((value & 0x000000ff)) / 255;
159
- };
160
- Color.rgb888ToColor = function (color, value) {
136
+ }
137
+ static rgb888ToColor(color, value) {
161
138
  color.r = ((value & 0x00ff0000) >>> 16) / 255;
162
139
  color.g = ((value & 0x0000ff00) >>> 8) / 255;
163
140
  color.b = ((value & 0x000000ff)) / 255;
164
- };
165
- Color.fromString = function (hex) {
141
+ }
142
+ static fromString(hex) {
166
143
  return new Color().setFromString(hex);
167
- };
168
- Color.WHITE = new Color(1, 1, 1, 1);
169
- Color.RED = new Color(1, 0, 0, 1);
170
- Color.GREEN = new Color(0, 1, 0, 1);
171
- Color.BLUE = new Color(0, 0, 1, 1);
172
- Color.MAGENTA = new Color(1, 0, 1, 1);
173
- return Color;
174
- }());
175
- export { Color };
176
- var MathUtils = /** @class */ (function () {
177
- function MathUtils() {
178
- }
179
- MathUtils.clamp = function (value, min, max) {
144
+ }
145
+ }
146
+ Color.WHITE = new Color(1, 1, 1, 1);
147
+ Color.RED = new Color(1, 0, 0, 1);
148
+ Color.GREEN = new Color(0, 1, 0, 1);
149
+ Color.BLUE = new Color(0, 0, 1, 1);
150
+ Color.MAGENTA = new Color(1, 0, 1, 1);
151
+ export class MathUtils {
152
+ static clamp(value, min, max) {
180
153
  if (value < min)
181
154
  return min;
182
155
  if (value > max)
183
156
  return max;
184
157
  return value;
185
- };
186
- MathUtils.cosDeg = function (degrees) {
158
+ }
159
+ static cosDeg(degrees) {
187
160
  return Math.cos(degrees * MathUtils.degRad);
188
- };
189
- MathUtils.sinDeg = function (degrees) {
161
+ }
162
+ static sinDeg(degrees) {
190
163
  return Math.sin(degrees * MathUtils.degRad);
191
- };
192
- MathUtils.signum = function (value) {
164
+ }
165
+ static signum(value) {
193
166
  return value > 0 ? 1 : value < 0 ? -1 : 0;
194
- };
195
- MathUtils.toInt = function (x) {
167
+ }
168
+ static toInt(x) {
196
169
  return x > 0 ? Math.floor(x) : Math.ceil(x);
197
- };
198
- MathUtils.cbrt = function (x) {
199
- var y = Math.pow(Math.abs(x), 1 / 3);
170
+ }
171
+ static cbrt(x) {
172
+ let y = Math.pow(Math.abs(x), 1 / 3);
200
173
  return x < 0 ? -y : y;
201
- };
202
- MathUtils.randomTriangular = function (min, max) {
174
+ }
175
+ static randomTriangular(min, max) {
203
176
  return MathUtils.randomTriangularWith(min, max, (min + max) * 0.5);
204
- };
205
- MathUtils.randomTriangularWith = function (min, max, mode) {
206
- var u = Math.random();
207
- var d = max - min;
177
+ }
178
+ static randomTriangularWith(min, max, mode) {
179
+ let u = Math.random();
180
+ let d = max - min;
208
181
  if (u <= (mode - min) / d)
209
182
  return min + Math.sqrt(u * d * (mode - min));
210
183
  return max - Math.sqrt((1 - u) * d * (max - mode));
211
- };
212
- MathUtils.isPowerOfTwo = function (value) {
184
+ }
185
+ static isPowerOfTwo(value) {
213
186
  return value && (value & (value - 1)) === 0;
214
- };
215
- MathUtils.PI = 3.1415927;
216
- MathUtils.PI2 = MathUtils.PI * 2;
217
- MathUtils.radiansToDegrees = 180 / MathUtils.PI;
218
- MathUtils.radDeg = MathUtils.radiansToDegrees;
219
- MathUtils.degreesToRadians = MathUtils.PI / 180;
220
- MathUtils.degRad = MathUtils.degreesToRadians;
221
- return MathUtils;
222
- }());
223
- export { MathUtils };
224
- var Interpolation = /** @class */ (function () {
225
- function Interpolation() {
226
- }
227
- Interpolation.prototype.apply = function (start, end, a) {
187
+ }
188
+ }
189
+ MathUtils.PI = 3.1415927;
190
+ MathUtils.PI2 = MathUtils.PI * 2;
191
+ MathUtils.radiansToDegrees = 180 / MathUtils.PI;
192
+ MathUtils.radDeg = MathUtils.radiansToDegrees;
193
+ MathUtils.degreesToRadians = MathUtils.PI / 180;
194
+ MathUtils.degRad = MathUtils.degreesToRadians;
195
+ export class Interpolation {
196
+ apply(start, end, a) {
228
197
  return start + (end - start) * this.applyInternal(a);
229
- };
230
- return Interpolation;
231
- }());
232
- export { Interpolation };
233
- var Pow = /** @class */ (function (_super) {
234
- __extends(Pow, _super);
235
- function Pow(power) {
236
- var _this = _super.call(this) || this;
237
- _this.power = 2;
238
- _this.power = power;
239
- return _this;
240
- }
241
- Pow.prototype.applyInternal = function (a) {
198
+ }
199
+ }
200
+ export class Pow extends Interpolation {
201
+ constructor(power) {
202
+ super();
203
+ this.power = 2;
204
+ this.power = power;
205
+ }
206
+ applyInternal(a) {
242
207
  if (a <= 0.5)
243
208
  return Math.pow(a * 2, this.power) / 2;
244
209
  return Math.pow((a - 1) * 2, this.power) / (this.power % 2 == 0 ? -2 : 2) + 1;
245
- };
246
- return Pow;
247
- }(Interpolation));
248
- export { Pow };
249
- var PowOut = /** @class */ (function (_super) {
250
- __extends(PowOut, _super);
251
- function PowOut(power) {
252
- return _super.call(this, power) || this;
253
- }
254
- PowOut.prototype.applyInternal = function (a) {
210
+ }
211
+ }
212
+ export class PowOut extends Pow {
213
+ constructor(power) {
214
+ super(power);
215
+ }
216
+ applyInternal(a) {
255
217
  return Math.pow(a - 1, this.power) * (this.power % 2 == 0 ? -1 : 1) + 1;
256
- };
257
- return PowOut;
258
- }(Pow));
259
- export { PowOut };
260
- var Utils = /** @class */ (function () {
261
- function Utils() {
262
- }
263
- Utils.arrayCopy = function (source, sourceStart, dest, destStart, numElements) {
264
- for (var i = sourceStart, j = destStart; i < sourceStart + numElements; i++, j++) {
218
+ }
219
+ }
220
+ export class Utils {
221
+ static arrayCopy(source, sourceStart, dest, destStart, numElements) {
222
+ for (let i = sourceStart, j = destStart; i < sourceStart + numElements; i++, j++) {
265
223
  dest[j] = source[i];
266
224
  }
267
- };
268
- Utils.arrayFill = function (array, fromIndex, toIndex, value) {
269
- for (var i = fromIndex; i < toIndex; i++)
225
+ }
226
+ static arrayFill(array, fromIndex, toIndex, value) {
227
+ for (let i = fromIndex; i < toIndex; i++)
270
228
  array[i] = value;
271
- };
272
- Utils.setArraySize = function (array, size, value) {
273
- if (value === void 0) { value = 0; }
274
- var oldSize = array.length;
229
+ }
230
+ static setArraySize(array, size, value = 0) {
231
+ let oldSize = array.length;
275
232
  if (oldSize == size)
276
233
  return array;
277
234
  array.length = size;
278
235
  if (oldSize < size) {
279
- for (var i = oldSize; i < size; i++)
236
+ for (let i = oldSize; i < size; i++)
280
237
  array[i] = value;
281
238
  }
282
239
  return array;
283
- };
284
- Utils.ensureArrayCapacity = function (array, size, value) {
285
- if (value === void 0) { value = 0; }
240
+ }
241
+ static ensureArrayCapacity(array, size, value = 0) {
286
242
  if (array.length >= size)
287
243
  return array;
288
244
  return Utils.setArraySize(array, size, value);
289
- };
290
- Utils.newArray = function (size, defaultValue) {
291
- var array = new Array(size);
292
- for (var i = 0; i < size; i++)
245
+ }
246
+ static newArray(size, defaultValue) {
247
+ let array = new Array(size);
248
+ for (let i = 0; i < size; i++)
293
249
  array[i] = defaultValue;
294
250
  return array;
295
- };
296
- Utils.newFloatArray = function (size) {
251
+ }
252
+ static newFloatArray(size) {
297
253
  if (Utils.SUPPORTS_TYPED_ARRAYS)
298
254
  return new Float32Array(size);
299
255
  else {
300
- var array = new Array(size);
301
- for (var i = 0; i < array.length; i++)
256
+ let array = new Array(size);
257
+ for (let i = 0; i < array.length; i++)
302
258
  array[i] = 0;
303
259
  return array;
304
260
  }
305
- };
306
- Utils.newShortArray = function (size) {
261
+ }
262
+ static newShortArray(size) {
307
263
  if (Utils.SUPPORTS_TYPED_ARRAYS)
308
264
  return new Int16Array(size);
309
265
  else {
310
- var array = new Array(size);
311
- for (var i = 0; i < array.length; i++)
266
+ let array = new Array(size);
267
+ for (let i = 0; i < array.length; i++)
312
268
  array[i] = 0;
313
269
  return array;
314
270
  }
315
- };
316
- Utils.toFloatArray = function (array) {
271
+ }
272
+ static toFloatArray(array) {
317
273
  return Utils.SUPPORTS_TYPED_ARRAYS ? new Float32Array(array) : array;
318
- };
319
- Utils.toSinglePrecision = function (value) {
274
+ }
275
+ static toSinglePrecision(value) {
320
276
  return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value;
321
- };
277
+ }
322
278
  // This function is used to fix WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109
323
- Utils.webkit602BugfixHelper = function (alpha, blend) {
324
- };
325
- Utils.contains = function (array, element, identity) {
326
- if (identity === void 0) { identity = true; }
279
+ static webkit602BugfixHelper(alpha, blend) {
280
+ }
281
+ static contains(array, element, identity = true) {
327
282
  for (var i = 0; i < array.length; i++)
328
283
  if (array[i] == element)
329
284
  return true;
330
285
  return false;
331
- };
332
- Utils.enumValue = function (type, name) {
286
+ }
287
+ static enumValue(type, name) {
333
288
  return type[name[0].toUpperCase() + name.slice(1)];
334
- };
335
- Utils.SUPPORTS_TYPED_ARRAYS = typeof (Float32Array) !== "undefined";
336
- return Utils;
337
- }());
338
- export { Utils };
339
- var DebugUtils = /** @class */ (function () {
340
- function DebugUtils() {
341
- }
342
- DebugUtils.logBones = function (skeleton) {
343
- for (var i = 0; i < skeleton.bones.length; i++) {
344
- var bone = skeleton.bones[i];
289
+ }
290
+ }
291
+ Utils.SUPPORTS_TYPED_ARRAYS = typeof (Float32Array) !== "undefined";
292
+ export class DebugUtils {
293
+ static logBones(skeleton) {
294
+ for (let i = 0; i < skeleton.bones.length; i++) {
295
+ let bone = skeleton.bones[i];
345
296
  console.log(bone.data.name + ", " + bone.a + ", " + bone.b + ", " + bone.c + ", " + bone.d + ", " + bone.worldX + ", " + bone.worldY);
346
297
  }
347
- };
348
- return DebugUtils;
349
- }());
350
- export { DebugUtils };
351
- var Pool = /** @class */ (function () {
352
- function Pool(instantiator) {
298
+ }
299
+ }
300
+ export class Pool {
301
+ constructor(instantiator) {
353
302
  this.items = new Array();
354
303
  this.instantiator = instantiator;
355
304
  }
356
- Pool.prototype.obtain = function () {
305
+ obtain() {
357
306
  return this.items.length > 0 ? this.items.pop() : this.instantiator();
358
- };
359
- Pool.prototype.free = function (item) {
307
+ }
308
+ free(item) {
360
309
  if (item.reset)
361
310
  item.reset();
362
311
  this.items.push(item);
363
- };
364
- Pool.prototype.freeAll = function (items) {
365
- for (var i = 0; i < items.length; i++)
312
+ }
313
+ freeAll(items) {
314
+ for (let i = 0; i < items.length; i++)
366
315
  this.free(items[i]);
367
- };
368
- Pool.prototype.clear = function () {
316
+ }
317
+ clear() {
369
318
  this.items.length = 0;
370
- };
371
- return Pool;
372
- }());
373
- export { Pool };
374
- var Vector2 = /** @class */ (function () {
375
- function Vector2(x, y) {
376
- if (x === void 0) { x = 0; }
377
- if (y === void 0) { y = 0; }
319
+ }
320
+ }
321
+ export class Vector2 {
322
+ constructor(x = 0, y = 0) {
378
323
  this.x = x;
379
324
  this.y = y;
380
325
  }
381
- Vector2.prototype.set = function (x, y) {
326
+ set(x, y) {
382
327
  this.x = x;
383
328
  this.y = y;
384
329
  return this;
385
- };
386
- Vector2.prototype.length = function () {
387
- var x = this.x;
388
- var y = this.y;
330
+ }
331
+ length() {
332
+ let x = this.x;
333
+ let y = this.y;
389
334
  return Math.sqrt(x * x + y * y);
390
- };
391
- Vector2.prototype.normalize = function () {
392
- var len = this.length();
335
+ }
336
+ normalize() {
337
+ let len = this.length();
393
338
  if (len != 0) {
394
339
  this.x /= len;
395
340
  this.y /= len;
396
341
  }
397
342
  return this;
398
- };
399
- return Vector2;
400
- }());
401
- export { Vector2 };
402
- var TimeKeeper = /** @class */ (function () {
403
- function TimeKeeper() {
343
+ }
344
+ }
345
+ export class TimeKeeper {
346
+ constructor() {
404
347
  this.maxDelta = 0.064;
405
348
  this.framesPerSecond = 0;
406
349
  this.delta = 0;
@@ -409,8 +352,8 @@ var TimeKeeper = /** @class */ (function () {
409
352
  this.frameCount = 0;
410
353
  this.frameTime = 0;
411
354
  }
412
- TimeKeeper.prototype.update = function () {
413
- var now = Date.now() / 1000;
355
+ update() {
356
+ let now = Date.now() / 1000;
414
357
  this.delta = now - this.lastTime;
415
358
  this.frameTime += this.delta;
416
359
  this.totalTime += this.delta;
@@ -423,35 +366,32 @@ var TimeKeeper = /** @class */ (function () {
423
366
  this.frameTime = 0;
424
367
  this.frameCount = 0;
425
368
  }
426
- };
427
- return TimeKeeper;
428
- }());
429
- export { TimeKeeper };
430
- var WindowedMean = /** @class */ (function () {
431
- function WindowedMean(windowSize) {
432
- if (windowSize === void 0) { windowSize = 32; }
369
+ }
370
+ }
371
+ export class WindowedMean {
372
+ constructor(windowSize = 32) {
433
373
  this.addedValues = 0;
434
374
  this.lastValue = 0;
435
375
  this.mean = 0;
436
376
  this.dirty = true;
437
377
  this.values = new Array(windowSize);
438
378
  }
439
- WindowedMean.prototype.hasEnoughData = function () {
379
+ hasEnoughData() {
440
380
  return this.addedValues >= this.values.length;
441
- };
442
- WindowedMean.prototype.addValue = function (value) {
381
+ }
382
+ addValue(value) {
443
383
  if (this.addedValues < this.values.length)
444
384
  this.addedValues++;
445
385
  this.values[this.lastValue++] = value;
446
386
  if (this.lastValue > this.values.length - 1)
447
387
  this.lastValue = 0;
448
388
  this.dirty = true;
449
- };
450
- WindowedMean.prototype.getMean = function () {
389
+ }
390
+ getMean() {
451
391
  if (this.hasEnoughData()) {
452
392
  if (this.dirty) {
453
- var mean = 0;
454
- for (var i = 0; i < this.values.length; i++)
393
+ let mean = 0;
394
+ for (let i = 0; i < this.values.length; i++)
455
395
  mean += this.values[i];
456
396
  this.mean = mean / this.values.length;
457
397
  this.dirty = false;
@@ -459,8 +399,6 @@ var WindowedMean = /** @class */ (function () {
459
399
  return this.mean;
460
400
  }
461
401
  return 0;
462
- };
463
- return WindowedMean;
464
- }());
465
- export { WindowedMean };
466
- //# sourceMappingURL=Utils.js.map
402
+ }
403
+ }
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRUEyQitFO0FBUy9FLE1BQU0sT0FBTyxNQUFNO0lBQW5CO1FBQ0MsVUFBSyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7SUFtQjdCLENBQUM7SUFqQkEsR0FBRyxDQUFFLEtBQWE7UUFDakIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVEsQ0FBRSxLQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUUsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNEO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDQyxZQUFPLEdBQXVCLEVBQUUsQ0FBQztRQUNqQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO0lBMkJWLENBQUM7SUF6QkEsR0FBRyxDQUFFLEtBQWE7UUFDakIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUM7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBRSxNQUFnQjtRQUN2QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsT0FBTyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFFLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0Q7QUFlRCxNQUFNLE9BQU8sS0FBSztJQU9qQixZQUFvQixJQUFZLENBQUMsRUFBUyxJQUFZLENBQUMsRUFBUyxJQUFZLENBQUMsRUFBUyxJQUFZLENBQUM7UUFBL0UsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFZO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBWTtJQUNuRyxDQUFDO0lBRUQsR0FBRyxDQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDOUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWSxDQUFFLENBQVE7UUFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsYUFBYSxDQUFFLEdBQVc7UUFDekIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDakQsSUFBSSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzlDLElBQUksQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDOUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFB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