@math.gl/core 4.0.0-alpha.1 → 4.0.0-alpha.2

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 (145) hide show
  1. package/dist/classes/base/math-array.d.ts +2 -1
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/classes/base/math-array.js +5 -1
  4. package/dist/classes/base/math-array.js.map +1 -1
  5. package/dist/classes/base/matrix.d.ts +2 -2
  6. package/dist/classes/base/matrix.d.ts.map +1 -1
  7. package/dist/classes/base/matrix.js +2 -2
  8. package/dist/classes/base/matrix.js.map +1 -1
  9. package/dist/classes/base/vector.d.ts +2 -2
  10. package/dist/classes/base/vector.d.ts.map +1 -1
  11. package/dist/classes/base/vector.js +3 -3
  12. package/dist/classes/base/vector.js.map +1 -1
  13. package/dist/classes/euler.d.ts +3 -3
  14. package/dist/classes/euler.d.ts.map +1 -1
  15. package/dist/classes/euler.js +4 -4
  16. package/dist/classes/euler.js.map +1 -1
  17. package/dist/classes/matrix3.d.ts +5 -2
  18. package/dist/classes/matrix3.d.ts.map +1 -1
  19. package/dist/classes/matrix3.js +17 -17
  20. package/dist/classes/matrix3.js.map +1 -1
  21. package/dist/classes/matrix4.d.ts +2 -2
  22. package/dist/classes/matrix4.d.ts.map +1 -1
  23. package/dist/classes/matrix4.js +25 -25
  24. package/dist/classes/matrix4.js.map +1 -1
  25. package/dist/classes/pose.d.ts +5 -5
  26. package/dist/classes/pose.d.ts.map +1 -1
  27. package/dist/classes/pose.js +4 -4
  28. package/dist/classes/pose.js.map +1 -1
  29. package/dist/classes/quaternion.d.ts +2 -2
  30. package/dist/classes/quaternion.d.ts.map +1 -1
  31. package/dist/classes/quaternion.js +25 -25
  32. package/dist/classes/quaternion.js.map +1 -1
  33. package/dist/classes/spherical-coordinates.d.ts +4 -4
  34. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  35. package/dist/classes/spherical-coordinates.js +3 -3
  36. package/dist/classes/spherical-coordinates.js.map +1 -1
  37. package/dist/classes/vector2.d.ts +2 -2
  38. package/dist/classes/vector2.d.ts.map +1 -1
  39. package/dist/classes/vector2.js +7 -7
  40. package/dist/classes/vector2.js.map +1 -1
  41. package/dist/classes/vector3.d.ts +2 -2
  42. package/dist/classes/vector3.d.ts.map +1 -1
  43. package/dist/classes/vector3.js +11 -11
  44. package/dist/classes/vector3.js.map +1 -1
  45. package/dist/classes/vector4.d.ts +3 -3
  46. package/dist/classes/vector4.d.ts.map +1 -1
  47. package/dist/classes/vector4.js +5 -5
  48. package/dist/classes/vector4.js.map +1 -1
  49. package/dist/gl-matrix/common.d.ts +38 -0
  50. package/dist/gl-matrix/common.d.ts.map +1 -0
  51. package/dist/gl-matrix/common.js +19 -0
  52. package/dist/gl-matrix/common.js.map +1 -0
  53. package/dist/gl-matrix/mat3.d.ts +295 -0
  54. package/dist/gl-matrix/mat3.d.ts.map +1 -0
  55. package/dist/gl-matrix/mat3.js +489 -0
  56. package/dist/gl-matrix/mat3.js.map +1 -0
  57. package/dist/gl-matrix/mat4.d.ts +577 -0
  58. package/dist/gl-matrix/mat4.d.ts.map +1 -0
  59. package/dist/gl-matrix/mat4.js +1455 -0
  60. package/dist/gl-matrix/mat4.js.map +1 -0
  61. package/dist/gl-matrix/quat.d.ts +357 -0
  62. package/dist/gl-matrix/quat.d.ts.map +1 -0
  63. package/dist/gl-matrix/quat.js +315 -0
  64. package/dist/gl-matrix/quat.js.map +1 -0
  65. package/dist/gl-matrix/vec2.d.ts +373 -0
  66. package/dist/gl-matrix/vec2.d.ts.map +1 -0
  67. package/dist/gl-matrix/vec2.js +257 -0
  68. package/dist/gl-matrix/vec2.js.map +1 -0
  69. package/dist/gl-matrix/vec3.d.ts +416 -0
  70. package/dist/gl-matrix/vec3.d.ts.map +1 -0
  71. package/dist/gl-matrix/vec3.js +384 -0
  72. package/dist/gl-matrix/vec3.js.map +1 -0
  73. package/dist/gl-matrix/vec4.d.ts +340 -0
  74. package/dist/gl-matrix/vec4.d.ts.map +1 -0
  75. package/dist/gl-matrix/vec4.js +334 -0
  76. package/dist/gl-matrix/vec4.js.map +1 -0
  77. package/dist/gl-matrix/wip/index.d.ts +5 -0
  78. package/dist/gl-matrix/wip/index.d.ts.map +1 -0
  79. package/dist/gl-matrix/wip/index.js +12 -0
  80. package/dist/gl-matrix/wip/index.js.map +1 -0
  81. package/dist/gl-matrix/wip/mat2.d.ts +229 -0
  82. package/dist/gl-matrix/wip/mat2.d.ts.map +1 -0
  83. package/dist/gl-matrix/wip/mat2.js +208 -0
  84. package/dist/gl-matrix/wip/mat2.js.map +1 -0
  85. package/dist/gl-matrix/wip/mat2d.d.ts +244 -0
  86. package/dist/gl-matrix/wip/mat2d.d.ts.map +1 -0
  87. package/dist/gl-matrix/wip/mat2d.js +251 -0
  88. package/dist/gl-matrix/wip/mat2d.js.map +1 -0
  89. package/dist/gl-matrix/wip/quat2.d.ts +352 -0
  90. package/dist/gl-matrix/wip/quat2.d.ts.map +1 -0
  91. package/dist/gl-matrix/wip/quat2.js +482 -0
  92. package/dist/gl-matrix/wip/quat2.js.map +1 -0
  93. package/dist/gl-matrix/wip/types.d.js +2 -0
  94. package/dist/gl-matrix/wip/types.d.js.map +1 -0
  95. package/dist/index.cjs +1603 -150
  96. package/dist/index.d.ts +15 -14
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +15 -14
  99. package/dist/index.js.map +1 -1
  100. package/dist/lib/assert.d.ts +1 -1
  101. package/dist/lib/assert.d.ts.map +1 -1
  102. package/dist/lib/assert.js +1 -1
  103. package/dist/lib/assert.js.map +1 -1
  104. package/dist/lib/common.d.ts +11 -6
  105. package/dist/lib/common.d.ts.map +1 -1
  106. package/dist/lib/common.js +8 -2
  107. package/dist/lib/common.js.map +1 -1
  108. package/dist/lib/math-utils.d.ts +24 -27
  109. package/dist/lib/math-utils.d.ts.map +1 -1
  110. package/dist/lib/math-utils.js +24 -26
  111. package/dist/lib/math-utils.js.map +1 -1
  112. package/dist/lib/validators.js +1 -1
  113. package/dist/lib/validators.js.map +1 -1
  114. package/package.json +3 -4
  115. package/src/classes/base/math-array.ts +6 -2
  116. package/src/classes/base/matrix.ts +6 -3
  117. package/src/classes/base/vector.ts +3 -3
  118. package/src/classes/euler.ts +5 -4
  119. package/src/classes/matrix3.ts +32 -23
  120. package/src/classes/matrix4.ts +45 -31
  121. package/src/classes/pose.ts +4 -4
  122. package/src/classes/quaternion.ts +48 -28
  123. package/src/classes/spherical-coordinates.ts +3 -3
  124. package/src/classes/vector2.ts +13 -10
  125. package/src/classes/vector3.ts +25 -12
  126. package/src/classes/vector4.ts +10 -8
  127. package/src/gl-matrix/common.js +58 -0
  128. package/src/gl-matrix/mat3.js +842 -0
  129. package/src/gl-matrix/mat4.js +2169 -0
  130. package/src/gl-matrix/quat.ts +789 -0
  131. package/src/gl-matrix/vec2.js +629 -0
  132. package/src/gl-matrix/vec3.js +827 -0
  133. package/src/gl-matrix/vec4.js +675 -0
  134. package/src/gl-matrix/wip/index.js +15 -0
  135. package/src/gl-matrix/wip/mat2.js +442 -0
  136. package/src/gl-matrix/wip/mat2d.js +505 -0
  137. package/src/gl-matrix/wip/quat2.ts +886 -0
  138. package/src/gl-matrix/wip/types.d.ts +93 -0
  139. package/src/index.ts +16 -14
  140. package/src/lib/assert.ts +1 -1
  141. package/src/lib/common.ts +29 -13
  142. package/src/lib/math-utils.ts +24 -26
  143. package/src/lib/validators.ts +1 -1
  144. package/dist/docs/README.md +0 -0
  145. package/src/docs/README.md +0 -0
package/dist/index.cjs CHANGED
@@ -1,9 +1,21 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
7
19
  var __export = (target, all) => {
8
20
  for (var name in all)
9
21
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +28,6 @@ var __copyProps = (to, from, except, desc) => {
16
28
  }
17
29
  return to;
18
30
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
32
 
25
33
  // src/index.ts
@@ -35,7 +43,7 @@ __export(src_exports, {
35
43
  Vector3: () => Vector3,
36
44
  Vector4: () => Vector4,
37
45
  _Euler: () => Euler,
38
- _MathUtils: () => math_utils_default,
46
+ _MathUtils: () => math_utils_exports,
39
47
  _Pose: () => Pose,
40
48
  _SphericalCoordinates: () => SphericalCoordinates,
41
49
  acos: () => acos,
@@ -65,14 +73,17 @@ module.exports = __toCommonJS(src_exports);
65
73
  // src/lib/common.ts
66
74
  var RADIANS_TO_DEGREES = 1 / Math.PI * 180;
67
75
  var DEGREES_TO_RADIANS = 1 / 180 * Math.PI;
68
- var config = {
76
+ var DEFAULT_CONFIG = {
69
77
  EPSILON: 1e-12,
70
78
  debug: false,
71
79
  precision: 4,
72
80
  printTypes: false,
73
81
  printDegrees: false,
74
- printRowMajor: true
82
+ printRowMajor: true,
83
+ _cartographicRadians: false
75
84
  };
85
+ globalThis.mathgl = globalThis.mathgl || { config: __spreadValues({}, DEFAULT_CONFIG) };
86
+ var config = globalThis.mathgl.config;
76
87
  function configure(options) {
77
88
  Object.assign(config, options);
78
89
  return config;
@@ -232,6 +243,9 @@ var MathArray = class extends Array {
232
243
  }
233
244
  return targetArray;
234
245
  }
246
+ toObject(targetObject) {
247
+ return targetObject;
248
+ }
235
249
  from(arrayOrObject) {
236
250
  return Array.isArray(arrayOrObject) ? this.copy(arrayOrObject) : this.fromObject(arrayOrObject);
237
251
  }
@@ -330,14 +344,14 @@ var MathArray = class extends Array {
330
344
  }
331
345
  return this.check();
332
346
  }
333
- scale(scale4) {
334
- if (typeof scale4 === "number") {
347
+ scale(scale5) {
348
+ if (typeof scale5 === "number") {
335
349
  for (let i = 0; i < this.ELEMENTS; ++i) {
336
- this[i] *= scale4;
350
+ this[i] *= scale5;
337
351
  }
338
352
  } else {
339
- for (let i = 0; i < this.ELEMENTS && i < scale4.length; ++i) {
340
- this[i] *= scale4[i];
353
+ for (let i = 0; i < this.ELEMENTS && i < scale5.length; ++i) {
354
+ this[i] *= scale5[i];
341
355
  }
342
356
  }
343
357
  return this.check();
@@ -400,8 +414,8 @@ var MathArray = class extends Array {
400
414
  };
401
415
 
402
416
  // src/lib/validators.ts
403
- function validateVector(v, length3) {
404
- if (v.length !== length3) {
417
+ function validateVector(v, length4) {
418
+ if (v.length !== length4) {
405
419
  return false;
406
420
  }
407
421
  for (let i = 0; i < v.length; ++i) {
@@ -413,12 +427,12 @@ function validateVector(v, length3) {
413
427
  }
414
428
  function checkNumber(value) {
415
429
  if (!Number.isFinite(value)) {
416
- throw new Error(`Invalid number ${value}`);
430
+ throw new Error(`Invalid number ${JSON.stringify(value)}`);
417
431
  }
418
432
  return value;
419
433
  }
420
- function checkVector(v, length3, callerName = "") {
421
- if (config.debug && !validateVector(v, length3)) {
434
+ function checkVector(v, length4, callerName = "") {
435
+ if (config.debug && !validateVector(v, length4)) {
422
436
  throw new Error(`math.gl: ${callerName} some fields set to invalid numbers'`);
423
437
  }
424
438
  return v;
@@ -452,11 +466,11 @@ var Vector = class extends MathArray {
452
466
  return this.len();
453
467
  }
454
468
  lengthSquared() {
455
- let length3 = 0;
469
+ let length4 = 0;
456
470
  for (let i = 0; i < this.ELEMENTS; ++i) {
457
- length3 += this[i] * this[i];
471
+ length4 += this[i] * this[i];
458
472
  }
459
- return length3;
473
+ return length4;
460
474
  }
461
475
  magnitudeSquared() {
462
476
  return this.lengthSquared();
@@ -465,12 +479,12 @@ var Vector = class extends MathArray {
465
479
  return Math.sqrt(this.distanceSquared(mathArray));
466
480
  }
467
481
  distanceSquared(mathArray) {
468
- let length3 = 0;
482
+ let length4 = 0;
469
483
  for (let i = 0; i < this.ELEMENTS; ++i) {
470
484
  const dist = this[i] - mathArray[i];
471
- length3 += dist * dist;
485
+ length4 += dist * dist;
472
486
  }
473
- return checkNumber(length3);
487
+ return checkNumber(length4);
474
488
  }
475
489
  dot(mathArray) {
476
490
  let product = 0;
@@ -480,10 +494,10 @@ var Vector = class extends MathArray {
480
494
  return checkNumber(product);
481
495
  }
482
496
  normalize() {
483
- const length3 = this.magnitude();
484
- if (length3 !== 0) {
497
+ const length4 = this.magnitude();
498
+ if (length4 !== 0) {
485
499
  for (let i = 0; i < this.ELEMENTS; ++i) {
486
- this[i] /= length3;
500
+ this[i] /= length4;
487
501
  }
488
502
  }
489
503
  return this.check();
@@ -536,8 +550,74 @@ var Vector = class extends MathArray {
536
550
  }
537
551
  };
538
552
 
539
- // src/classes/vector2.ts
540
- var vec2 = __toESM(require("gl-matrix/vec2"), 1);
553
+ // src/gl-matrix/common.js
554
+ var EPSILON = 1e-6;
555
+ var ARRAY_TYPE = typeof Float32Array !== "undefined" ? Float32Array : Array;
556
+ var degree = Math.PI / 180;
557
+
558
+ // src/gl-matrix/vec2.js
559
+ function create() {
560
+ const out = new ARRAY_TYPE(2);
561
+ if (ARRAY_TYPE != Float32Array) {
562
+ out[0] = 0;
563
+ out[1] = 0;
564
+ }
565
+ return out;
566
+ }
567
+ function transformMat2(out, a, m) {
568
+ const x = a[0];
569
+ const y = a[1];
570
+ out[0] = m[0] * x + m[2] * y;
571
+ out[1] = m[1] * x + m[3] * y;
572
+ return out;
573
+ }
574
+ function transformMat2d(out, a, m) {
575
+ const x = a[0];
576
+ const y = a[1];
577
+ out[0] = m[0] * x + m[2] * y + m[4];
578
+ out[1] = m[1] * x + m[3] * y + m[5];
579
+ return out;
580
+ }
581
+ function transformMat3(out, a, m) {
582
+ const x = a[0];
583
+ const y = a[1];
584
+ out[0] = m[0] * x + m[3] * y + m[6];
585
+ out[1] = m[1] * x + m[4] * y + m[7];
586
+ return out;
587
+ }
588
+ function transformMat4(out, a, m) {
589
+ const x = a[0];
590
+ const y = a[1];
591
+ out[0] = m[0] * x + m[4] * y + m[12];
592
+ out[1] = m[1] * x + m[5] * y + m[13];
593
+ return out;
594
+ }
595
+ var forEach = function() {
596
+ const vec = create();
597
+ return function(a, stride, offset, count, fn, arg) {
598
+ let i;
599
+ let l;
600
+ if (!stride) {
601
+ stride = 2;
602
+ }
603
+ if (!offset) {
604
+ offset = 0;
605
+ }
606
+ if (count) {
607
+ l = Math.min(count * stride + offset, a.length);
608
+ } else {
609
+ l = a.length;
610
+ }
611
+ for (i = offset; i < l; i += stride) {
612
+ vec[0] = a[i];
613
+ vec[1] = a[i + 1];
614
+ fn(vec, vec, arg);
615
+ a[i] = vec[0];
616
+ a[i + 1] = vec[1];
617
+ }
618
+ return a;
619
+ };
620
+ }();
541
621
 
542
622
  // src/lib/gl-matrix-extras.ts
543
623
  function vec2_transformMat4AsVector(out, a, m) {
@@ -638,7 +718,7 @@ var Vector2 = class extends Vector {
638
718
  return this.transformAsPoint(matrix4);
639
719
  }
640
720
  transformAsPoint(matrix4) {
641
- vec2.transformMat4(this, this, matrix4);
721
+ transformMat4(this, this, matrix4);
642
722
  return this.check();
643
723
  }
644
724
  transformAsVector(matrix4) {
@@ -646,21 +726,200 @@ var Vector2 = class extends Vector {
646
726
  return this.check();
647
727
  }
648
728
  transformByMatrix3(matrix3) {
649
- vec2.transformMat3(this, this, matrix3);
729
+ transformMat3(this, this, matrix3);
650
730
  return this.check();
651
731
  }
652
732
  transformByMatrix2x3(matrix2x3) {
653
- vec2.transformMat2d(this, this, matrix2x3);
733
+ transformMat2d(this, this, matrix2x3);
654
734
  return this.check();
655
735
  }
656
736
  transformByMatrix2(matrix2) {
657
- vec2.transformMat2(this, this, matrix2);
737
+ transformMat2(this, this, matrix2);
658
738
  return this.check();
659
739
  }
660
740
  };
661
741
 
742
+ // src/gl-matrix/vec3.js
743
+ function create2() {
744
+ const out = new ARRAY_TYPE(3);
745
+ if (ARRAY_TYPE != Float32Array) {
746
+ out[0] = 0;
747
+ out[1] = 0;
748
+ out[2] = 0;
749
+ }
750
+ return out;
751
+ }
752
+ function length(a) {
753
+ const x = a[0];
754
+ const y = a[1];
755
+ const z = a[2];
756
+ return Math.sqrt(x * x + y * y + z * z);
757
+ }
758
+ function fromValues(x, y, z) {
759
+ const out = new ARRAY_TYPE(3);
760
+ out[0] = x;
761
+ out[1] = y;
762
+ out[2] = z;
763
+ return out;
764
+ }
765
+ function normalize(out, a) {
766
+ const x = a[0];
767
+ const y = a[1];
768
+ const z = a[2];
769
+ let len2 = x * x + y * y + z * z;
770
+ if (len2 > 0) {
771
+ len2 = 1 / Math.sqrt(len2);
772
+ }
773
+ out[0] = a[0] * len2;
774
+ out[1] = a[1] * len2;
775
+ out[2] = a[2] * len2;
776
+ return out;
777
+ }
778
+ function dot(a, b) {
779
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
780
+ }
781
+ function cross(out, a, b) {
782
+ const ax = a[0];
783
+ const ay = a[1];
784
+ const az = a[2];
785
+ const bx = b[0];
786
+ const by = b[1];
787
+ const bz = b[2];
788
+ out[0] = ay * bz - az * by;
789
+ out[1] = az * bx - ax * bz;
790
+ out[2] = ax * by - ay * bx;
791
+ return out;
792
+ }
793
+ function transformMat42(out, a, m) {
794
+ const x = a[0];
795
+ const y = a[1];
796
+ const z = a[2];
797
+ let w = m[3] * x + m[7] * y + m[11] * z + m[15];
798
+ w = w || 1;
799
+ out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;
800
+ out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;
801
+ out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;
802
+ return out;
803
+ }
804
+ function transformMat32(out, a, m) {
805
+ const x = a[0];
806
+ const y = a[1];
807
+ const z = a[2];
808
+ out[0] = x * m[0] + y * m[3] + z * m[6];
809
+ out[1] = x * m[1] + y * m[4] + z * m[7];
810
+ out[2] = x * m[2] + y * m[5] + z * m[8];
811
+ return out;
812
+ }
813
+ function transformQuat(out, a, q) {
814
+ const qx = q[0];
815
+ const qy = q[1];
816
+ const qz = q[2];
817
+ const qw = q[3];
818
+ const x = a[0];
819
+ const y = a[1];
820
+ const z = a[2];
821
+ let uvx = qy * z - qz * y;
822
+ let uvy = qz * x - qx * z;
823
+ let uvz = qx * y - qy * x;
824
+ let uuvx = qy * uvz - qz * uvy;
825
+ let uuvy = qz * uvx - qx * uvz;
826
+ let uuvz = qx * uvy - qy * uvx;
827
+ const w2 = qw * 2;
828
+ uvx *= w2;
829
+ uvy *= w2;
830
+ uvz *= w2;
831
+ uuvx *= 2;
832
+ uuvy *= 2;
833
+ uuvz *= 2;
834
+ out[0] = x + uvx + uuvx;
835
+ out[1] = y + uvy + uuvy;
836
+ out[2] = z + uvz + uuvz;
837
+ return out;
838
+ }
839
+ function rotateX(out, a, b, rad) {
840
+ const p = [];
841
+ const r = [];
842
+ p[0] = a[0] - b[0];
843
+ p[1] = a[1] - b[1];
844
+ p[2] = a[2] - b[2];
845
+ r[0] = p[0];
846
+ r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);
847
+ r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad);
848
+ out[0] = r[0] + b[0];
849
+ out[1] = r[1] + b[1];
850
+ out[2] = r[2] + b[2];
851
+ return out;
852
+ }
853
+ function rotateY(out, a, b, rad) {
854
+ const p = [];
855
+ const r = [];
856
+ p[0] = a[0] - b[0];
857
+ p[1] = a[1] - b[1];
858
+ p[2] = a[2] - b[2];
859
+ r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);
860
+ r[1] = p[1];
861
+ r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad);
862
+ out[0] = r[0] + b[0];
863
+ out[1] = r[1] + b[1];
864
+ out[2] = r[2] + b[2];
865
+ return out;
866
+ }
867
+ function rotateZ(out, a, b, rad) {
868
+ const p = [];
869
+ const r = [];
870
+ p[0] = a[0] - b[0];
871
+ p[1] = a[1] - b[1];
872
+ p[2] = a[2] - b[2];
873
+ r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);
874
+ r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);
875
+ r[2] = p[2];
876
+ out[0] = r[0] + b[0];
877
+ out[1] = r[1] + b[1];
878
+ out[2] = r[2] + b[2];
879
+ return out;
880
+ }
881
+ function angle(a, b) {
882
+ const ax = a[0];
883
+ const ay = a[1];
884
+ const az = a[2];
885
+ const bx = b[0];
886
+ const by = b[1];
887
+ const bz = b[2];
888
+ const mag = Math.sqrt((ax * ax + ay * ay + az * az) * (bx * bx + by * by + bz * bz));
889
+ const cosine = mag && dot(a, b) / mag;
890
+ return Math.acos(Math.min(Math.max(cosine, -1), 1));
891
+ }
892
+ var len = length;
893
+ var forEach2 = function() {
894
+ const vec = create2();
895
+ return function(a, stride, offset, count, fn, arg) {
896
+ let i;
897
+ let l;
898
+ if (!stride) {
899
+ stride = 3;
900
+ }
901
+ if (!offset) {
902
+ offset = 0;
903
+ }
904
+ if (count) {
905
+ l = Math.min(count * stride + offset, a.length);
906
+ } else {
907
+ l = a.length;
908
+ }
909
+ for (i = offset; i < l; i += stride) {
910
+ vec[0] = a[i];
911
+ vec[1] = a[i + 1];
912
+ vec[2] = a[i + 2];
913
+ fn(vec, vec, arg);
914
+ a[i] = vec[0];
915
+ a[i + 1] = vec[1];
916
+ a[i + 2] = vec[2];
917
+ }
918
+ return a;
919
+ };
920
+ }();
921
+
662
922
  // src/classes/vector3.ts
663
- var vec3 = __toESM(require("gl-matrix/vec3"), 1);
664
923
  var ORIGIN = [0, 0, 0];
665
924
  var ZERO;
666
925
  var Vector3 = class extends Vector {
@@ -725,29 +984,29 @@ var Vector3 = class extends Vector {
725
984
  this[2] = checkNumber(value);
726
985
  }
727
986
  angle(vector) {
728
- return vec3.angle(this, vector);
987
+ return angle(this, vector);
729
988
  }
730
989
  cross(vector) {
731
- vec3.cross(this, this, vector);
990
+ cross(this, this, vector);
732
991
  return this.check();
733
992
  }
734
993
  rotateX({ radians: radians2, origin = ORIGIN }) {
735
- vec3.rotateX(this, this, origin, radians2);
994
+ rotateX(this, this, origin, radians2);
736
995
  return this.check();
737
996
  }
738
997
  rotateY({ radians: radians2, origin = ORIGIN }) {
739
- vec3.rotateY(this, this, origin, radians2);
998
+ rotateY(this, this, origin, radians2);
740
999
  return this.check();
741
1000
  }
742
1001
  rotateZ({ radians: radians2, origin = ORIGIN }) {
743
- vec3.rotateZ(this, this, origin, radians2);
1002
+ rotateZ(this, this, origin, radians2);
744
1003
  return this.check();
745
1004
  }
746
1005
  transform(matrix4) {
747
1006
  return this.transformAsPoint(matrix4);
748
1007
  }
749
1008
  transformAsPoint(matrix4) {
750
- vec3.transformMat4(this, this, matrix4);
1009
+ transformMat42(this, this, matrix4);
751
1010
  return this.check();
752
1011
  }
753
1012
  transformAsVector(matrix4) {
@@ -755,7 +1014,7 @@ var Vector3 = class extends Vector {
755
1014
  return this.check();
756
1015
  }
757
1016
  transformByMatrix3(matrix3) {
758
- vec3.transformMat3(this, this, matrix3);
1017
+ transformMat32(this, this, matrix3);
759
1018
  return this.check();
760
1019
  }
761
1020
  transformByMatrix2(matrix2) {
@@ -763,13 +1022,12 @@ var Vector3 = class extends Vector {
763
1022
  return this.check();
764
1023
  }
765
1024
  transformByQuaternion(quaternion) {
766
- vec3.transformQuat(this, this, quaternion);
1025
+ transformQuat(this, this, quaternion);
767
1026
  return this.check();
768
1027
  }
769
1028
  };
770
1029
 
771
1030
  // src/classes/vector4.ts
772
- var vec4 = __toESM(require("gl-matrix/vec3"), 1);
773
1031
  var ZERO2;
774
1032
  var Vector4 = class extends Vector {
775
1033
  static get ZERO() {
@@ -846,7 +1104,7 @@ var Vector4 = class extends Vector {
846
1104
  this[3] = checkNumber(value);
847
1105
  }
848
1106
  transform(matrix4) {
849
- vec4.transformMat4(this, this, matrix4);
1107
+ transformMat42(this, this, matrix4);
850
1108
  return this.check();
851
1109
  }
852
1110
  transformByMatrix3(matrix3) {
@@ -858,7 +1116,7 @@ var Vector4 = class extends Vector {
858
1116
  return this.check();
859
1117
  }
860
1118
  transformByQuaternion(quaternion) {
861
- vec4.transformQuat(this, this, quaternion);
1119
+ transformQuat(this, this, quaternion);
862
1120
  return this.check();
863
1121
  }
864
1122
  applyMatrix4(m) {
@@ -913,10 +1171,207 @@ var Matrix = class extends MathArray {
913
1171
  }
914
1172
  };
915
1173
 
1174
+ // src/gl-matrix/mat3.js
1175
+ function create3() {
1176
+ const out = new ARRAY_TYPE(9);
1177
+ if (ARRAY_TYPE != Float32Array) {
1178
+ out[1] = 0;
1179
+ out[2] = 0;
1180
+ out[3] = 0;
1181
+ out[5] = 0;
1182
+ out[6] = 0;
1183
+ out[7] = 0;
1184
+ }
1185
+ out[0] = 1;
1186
+ out[4] = 1;
1187
+ out[8] = 1;
1188
+ return out;
1189
+ }
1190
+ function transpose(out, a) {
1191
+ if (out === a) {
1192
+ const a01 = a[1];
1193
+ const a02 = a[2];
1194
+ const a12 = a[5];
1195
+ out[1] = a[3];
1196
+ out[2] = a[6];
1197
+ out[3] = a01;
1198
+ out[5] = a[7];
1199
+ out[6] = a02;
1200
+ out[7] = a12;
1201
+ } else {
1202
+ out[0] = a[0];
1203
+ out[1] = a[3];
1204
+ out[2] = a[6];
1205
+ out[3] = a[1];
1206
+ out[4] = a[4];
1207
+ out[5] = a[7];
1208
+ out[6] = a[2];
1209
+ out[7] = a[5];
1210
+ out[8] = a[8];
1211
+ }
1212
+ return out;
1213
+ }
1214
+ function invert(out, a) {
1215
+ const a00 = a[0];
1216
+ const a01 = a[1];
1217
+ const a02 = a[2];
1218
+ const a10 = a[3];
1219
+ const a11 = a[4];
1220
+ const a12 = a[5];
1221
+ const a20 = a[6];
1222
+ const a21 = a[7];
1223
+ const a22 = a[8];
1224
+ const b01 = a22 * a11 - a12 * a21;
1225
+ const b11 = -a22 * a10 + a12 * a20;
1226
+ const b21 = a21 * a10 - a11 * a20;
1227
+ let det = a00 * b01 + a01 * b11 + a02 * b21;
1228
+ if (!det) {
1229
+ return null;
1230
+ }
1231
+ det = 1 / det;
1232
+ out[0] = b01 * det;
1233
+ out[1] = (-a22 * a01 + a02 * a21) * det;
1234
+ out[2] = (a12 * a01 - a02 * a11) * det;
1235
+ out[3] = b11 * det;
1236
+ out[4] = (a22 * a00 - a02 * a20) * det;
1237
+ out[5] = (-a12 * a00 + a02 * a10) * det;
1238
+ out[6] = b21 * det;
1239
+ out[7] = (-a21 * a00 + a01 * a20) * det;
1240
+ out[8] = (a11 * a00 - a01 * a10) * det;
1241
+ return out;
1242
+ }
1243
+ function determinant(a) {
1244
+ const a00 = a[0];
1245
+ const a01 = a[1];
1246
+ const a02 = a[2];
1247
+ const a10 = a[3];
1248
+ const a11 = a[4];
1249
+ const a12 = a[5];
1250
+ const a20 = a[6];
1251
+ const a21 = a[7];
1252
+ const a22 = a[8];
1253
+ return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);
1254
+ }
1255
+ function multiply(out, a, b) {
1256
+ const a00 = a[0];
1257
+ const a01 = a[1];
1258
+ const a02 = a[2];
1259
+ const a10 = a[3];
1260
+ const a11 = a[4];
1261
+ const a12 = a[5];
1262
+ const a20 = a[6];
1263
+ const a21 = a[7];
1264
+ const a22 = a[8];
1265
+ const b00 = b[0];
1266
+ const b01 = b[1];
1267
+ const b02 = b[2];
1268
+ const b10 = b[3];
1269
+ const b11 = b[4];
1270
+ const b12 = b[5];
1271
+ const b20 = b[6];
1272
+ const b21 = b[7];
1273
+ const b22 = b[8];
1274
+ out[0] = b00 * a00 + b01 * a10 + b02 * a20;
1275
+ out[1] = b00 * a01 + b01 * a11 + b02 * a21;
1276
+ out[2] = b00 * a02 + b01 * a12 + b02 * a22;
1277
+ out[3] = b10 * a00 + b11 * a10 + b12 * a20;
1278
+ out[4] = b10 * a01 + b11 * a11 + b12 * a21;
1279
+ out[5] = b10 * a02 + b11 * a12 + b12 * a22;
1280
+ out[6] = b20 * a00 + b21 * a10 + b22 * a20;
1281
+ out[7] = b20 * a01 + b21 * a11 + b22 * a21;
1282
+ out[8] = b20 * a02 + b21 * a12 + b22 * a22;
1283
+ return out;
1284
+ }
1285
+ function translate(out, a, v) {
1286
+ const a00 = a[0];
1287
+ const a01 = a[1];
1288
+ const a02 = a[2];
1289
+ const a10 = a[3];
1290
+ const a11 = a[4];
1291
+ const a12 = a[5];
1292
+ const a20 = a[6];
1293
+ const a21 = a[7];
1294
+ const a22 = a[8];
1295
+ const x = v[0];
1296
+ const y = v[1];
1297
+ out[0] = a00;
1298
+ out[1] = a01;
1299
+ out[2] = a02;
1300
+ out[3] = a10;
1301
+ out[4] = a11;
1302
+ out[5] = a12;
1303
+ out[6] = x * a00 + y * a10 + a20;
1304
+ out[7] = x * a01 + y * a11 + a21;
1305
+ out[8] = x * a02 + y * a12 + a22;
1306
+ return out;
1307
+ }
1308
+ function rotate(out, a, rad) {
1309
+ const a00 = a[0];
1310
+ const a01 = a[1];
1311
+ const a02 = a[2];
1312
+ const a10 = a[3];
1313
+ const a11 = a[4];
1314
+ const a12 = a[5];
1315
+ const a20 = a[6];
1316
+ const a21 = a[7];
1317
+ const a22 = a[8];
1318
+ const s = Math.sin(rad);
1319
+ const c = Math.cos(rad);
1320
+ out[0] = c * a00 + s * a10;
1321
+ out[1] = c * a01 + s * a11;
1322
+ out[2] = c * a02 + s * a12;
1323
+ out[3] = c * a10 - s * a00;
1324
+ out[4] = c * a11 - s * a01;
1325
+ out[5] = c * a12 - s * a02;
1326
+ out[6] = a20;
1327
+ out[7] = a21;
1328
+ out[8] = a22;
1329
+ return out;
1330
+ }
1331
+ function scale(out, a, v) {
1332
+ const x = v[0];
1333
+ const y = v[1];
1334
+ out[0] = x * a[0];
1335
+ out[1] = x * a[1];
1336
+ out[2] = x * a[2];
1337
+ out[3] = y * a[3];
1338
+ out[4] = y * a[4];
1339
+ out[5] = y * a[5];
1340
+ out[6] = a[6];
1341
+ out[7] = a[7];
1342
+ out[8] = a[8];
1343
+ return out;
1344
+ }
1345
+ function fromQuat(out, q) {
1346
+ const x = q[0];
1347
+ const y = q[1];
1348
+ const z = q[2];
1349
+ const w = q[3];
1350
+ const x2 = x + x;
1351
+ const y2 = y + y;
1352
+ const z2 = z + z;
1353
+ const xx = x * x2;
1354
+ const yx = y * x2;
1355
+ const yy = y * y2;
1356
+ const zx = z * x2;
1357
+ const zy = z * y2;
1358
+ const zz = z * z2;
1359
+ const wx = w * x2;
1360
+ const wy = w * y2;
1361
+ const wz = w * z2;
1362
+ out[0] = 1 - yy - zz;
1363
+ out[3] = yx - wz;
1364
+ out[6] = zx + wy;
1365
+ out[1] = yx + wz;
1366
+ out[4] = 1 - xx - zz;
1367
+ out[7] = zy - wx;
1368
+ out[2] = zx - wy;
1369
+ out[5] = zy + wx;
1370
+ out[8] = 1 - xx - yy;
1371
+ return out;
1372
+ }
1373
+
916
1374
  // src/classes/matrix3.ts
917
- var mat3 = __toESM(require("gl-matrix/mat3"), 1);
918
- var vec22 = __toESM(require("gl-matrix/vec2"), 1);
919
- var vec32 = __toESM(require("gl-matrix/vec3"), 1);
920
1375
  var INDICES = /* @__PURE__ */ ((INDICES3) => {
921
1376
  INDICES3[INDICES3["COL0ROW0"] = 0] = "COL0ROW0";
922
1377
  INDICES3[INDICES3["COL0ROW1"] = 1] = "COL0ROW1";
@@ -975,7 +1430,7 @@ var Matrix3 = class extends Matrix {
975
1430
  return this.check();
976
1431
  }
977
1432
  fromQuaternion(q) {
978
- mat3.fromQuat(this, q);
1433
+ fromQuat(this, q);
979
1434
  return this.check();
980
1435
  }
981
1436
  set(m00, m10, m20, m01, m11, m21, m02, m12, m22) {
@@ -1003,48 +1458,48 @@ var Matrix3 = class extends Matrix {
1003
1458
  return this.check();
1004
1459
  }
1005
1460
  determinant() {
1006
- return mat3.determinant(this);
1461
+ return determinant(this);
1007
1462
  }
1008
1463
  transpose() {
1009
- mat3.transpose(this, this);
1464
+ transpose(this, this);
1010
1465
  return this.check();
1011
1466
  }
1012
1467
  invert() {
1013
- mat3.invert(this, this);
1468
+ invert(this, this);
1014
1469
  return this.check();
1015
1470
  }
1016
1471
  multiplyLeft(a) {
1017
- mat3.multiply(this, a, this);
1472
+ multiply(this, a, this);
1018
1473
  return this.check();
1019
1474
  }
1020
1475
  multiplyRight(a) {
1021
- mat3.multiply(this, this, a);
1476
+ multiply(this, this, a);
1022
1477
  return this.check();
1023
1478
  }
1024
1479
  rotate(radians2) {
1025
- mat3.rotate(this, this, radians2);
1480
+ rotate(this, this, radians2);
1026
1481
  return this.check();
1027
1482
  }
1028
1483
  scale(factor) {
1029
1484
  if (Array.isArray(factor)) {
1030
- mat3.scale(this, this, factor);
1485
+ scale(this, this, factor);
1031
1486
  } else {
1032
- mat3.scale(this, this, [factor, factor]);
1487
+ scale(this, this, [factor, factor]);
1033
1488
  }
1034
1489
  return this.check();
1035
1490
  }
1036
1491
  translate(vec) {
1037
- mat3.translate(this, this, vec);
1492
+ translate(this, this, vec);
1038
1493
  return this.check();
1039
1494
  }
1040
1495
  transform(vector, result) {
1041
1496
  let out;
1042
1497
  switch (vector.length) {
1043
1498
  case 2:
1044
- out = vec22.transformMat3(result || [-0, -0], vector, this);
1499
+ out = transformMat3(result || [-0, -0], vector, this);
1045
1500
  break;
1046
1501
  case 3:
1047
- out = vec32.transformMat3(result || [-0, -0, -0], vector, this);
1502
+ out = transformMat32(result || [-0, -0, -0], vector, this);
1048
1503
  break;
1049
1504
  case 4:
1050
1505
  out = vec4_transformMat3(result || [-0, -0, -0, -0], vector, this);
@@ -1082,11 +1537,631 @@ function getIdentityMatrix() {
1082
1537
  return IDENTITY_MATRIX3;
1083
1538
  }
1084
1539
 
1540
+ // src/gl-matrix/mat4.js
1541
+ function identity(out) {
1542
+ out[0] = 1;
1543
+ out[1] = 0;
1544
+ out[2] = 0;
1545
+ out[3] = 0;
1546
+ out[4] = 0;
1547
+ out[5] = 1;
1548
+ out[6] = 0;
1549
+ out[7] = 0;
1550
+ out[8] = 0;
1551
+ out[9] = 0;
1552
+ out[10] = 1;
1553
+ out[11] = 0;
1554
+ out[12] = 0;
1555
+ out[13] = 0;
1556
+ out[14] = 0;
1557
+ out[15] = 1;
1558
+ return out;
1559
+ }
1560
+ function transpose2(out, a) {
1561
+ if (out === a) {
1562
+ const a01 = a[1];
1563
+ const a02 = a[2];
1564
+ const a03 = a[3];
1565
+ const a12 = a[6];
1566
+ const a13 = a[7];
1567
+ const a23 = a[11];
1568
+ out[1] = a[4];
1569
+ out[2] = a[8];
1570
+ out[3] = a[12];
1571
+ out[4] = a01;
1572
+ out[6] = a[9];
1573
+ out[7] = a[13];
1574
+ out[8] = a02;
1575
+ out[9] = a12;
1576
+ out[11] = a[14];
1577
+ out[12] = a03;
1578
+ out[13] = a13;
1579
+ out[14] = a23;
1580
+ } else {
1581
+ out[0] = a[0];
1582
+ out[1] = a[4];
1583
+ out[2] = a[8];
1584
+ out[3] = a[12];
1585
+ out[4] = a[1];
1586
+ out[5] = a[5];
1587
+ out[6] = a[9];
1588
+ out[7] = a[13];
1589
+ out[8] = a[2];
1590
+ out[9] = a[6];
1591
+ out[10] = a[10];
1592
+ out[11] = a[14];
1593
+ out[12] = a[3];
1594
+ out[13] = a[7];
1595
+ out[14] = a[11];
1596
+ out[15] = a[15];
1597
+ }
1598
+ return out;
1599
+ }
1600
+ function invert2(out, a) {
1601
+ const a00 = a[0];
1602
+ const a01 = a[1];
1603
+ const a02 = a[2];
1604
+ const a03 = a[3];
1605
+ const a10 = a[4];
1606
+ const a11 = a[5];
1607
+ const a12 = a[6];
1608
+ const a13 = a[7];
1609
+ const a20 = a[8];
1610
+ const a21 = a[9];
1611
+ const a22 = a[10];
1612
+ const a23 = a[11];
1613
+ const a30 = a[12];
1614
+ const a31 = a[13];
1615
+ const a32 = a[14];
1616
+ const a33 = a[15];
1617
+ const b00 = a00 * a11 - a01 * a10;
1618
+ const b01 = a00 * a12 - a02 * a10;
1619
+ const b02 = a00 * a13 - a03 * a10;
1620
+ const b03 = a01 * a12 - a02 * a11;
1621
+ const b04 = a01 * a13 - a03 * a11;
1622
+ const b05 = a02 * a13 - a03 * a12;
1623
+ const b06 = a20 * a31 - a21 * a30;
1624
+ const b07 = a20 * a32 - a22 * a30;
1625
+ const b08 = a20 * a33 - a23 * a30;
1626
+ const b09 = a21 * a32 - a22 * a31;
1627
+ const b10 = a21 * a33 - a23 * a31;
1628
+ const b11 = a22 * a33 - a23 * a32;
1629
+ let det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
1630
+ if (!det) {
1631
+ return null;
1632
+ }
1633
+ det = 1 / det;
1634
+ out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;
1635
+ out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;
1636
+ out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;
1637
+ out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;
1638
+ out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;
1639
+ out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;
1640
+ out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;
1641
+ out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;
1642
+ out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;
1643
+ out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;
1644
+ out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;
1645
+ out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;
1646
+ out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;
1647
+ out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;
1648
+ out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;
1649
+ out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;
1650
+ return out;
1651
+ }
1652
+ function determinant2(a) {
1653
+ const a00 = a[0];
1654
+ const a01 = a[1];
1655
+ const a02 = a[2];
1656
+ const a03 = a[3];
1657
+ const a10 = a[4];
1658
+ const a11 = a[5];
1659
+ const a12 = a[6];
1660
+ const a13 = a[7];
1661
+ const a20 = a[8];
1662
+ const a21 = a[9];
1663
+ const a22 = a[10];
1664
+ const a23 = a[11];
1665
+ const a30 = a[12];
1666
+ const a31 = a[13];
1667
+ const a32 = a[14];
1668
+ const a33 = a[15];
1669
+ const b0 = a00 * a11 - a01 * a10;
1670
+ const b1 = a00 * a12 - a02 * a10;
1671
+ const b2 = a01 * a12 - a02 * a11;
1672
+ const b3 = a20 * a31 - a21 * a30;
1673
+ const b4 = a20 * a32 - a22 * a30;
1674
+ const b5 = a21 * a32 - a22 * a31;
1675
+ const b6 = a00 * b5 - a01 * b4 + a02 * b3;
1676
+ const b7 = a10 * b5 - a11 * b4 + a12 * b3;
1677
+ const b8 = a20 * b2 - a21 * b1 + a22 * b0;
1678
+ const b9 = a30 * b2 - a31 * b1 + a32 * b0;
1679
+ return a13 * b6 - a03 * b7 + a33 * b8 - a23 * b9;
1680
+ }
1681
+ function multiply2(out, a, b) {
1682
+ const a00 = a[0];
1683
+ const a01 = a[1];
1684
+ const a02 = a[2];
1685
+ const a03 = a[3];
1686
+ const a10 = a[4];
1687
+ const a11 = a[5];
1688
+ const a12 = a[6];
1689
+ const a13 = a[7];
1690
+ const a20 = a[8];
1691
+ const a21 = a[9];
1692
+ const a22 = a[10];
1693
+ const a23 = a[11];
1694
+ const a30 = a[12];
1695
+ const a31 = a[13];
1696
+ const a32 = a[14];
1697
+ const a33 = a[15];
1698
+ let b0 = b[0];
1699
+ let b1 = b[1];
1700
+ let b2 = b[2];
1701
+ let b3 = b[3];
1702
+ out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
1703
+ out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
1704
+ out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
1705
+ out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
1706
+ b0 = b[4];
1707
+ b1 = b[5];
1708
+ b2 = b[6];
1709
+ b3 = b[7];
1710
+ out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
1711
+ out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
1712
+ out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
1713
+ out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
1714
+ b0 = b[8];
1715
+ b1 = b[9];
1716
+ b2 = b[10];
1717
+ b3 = b[11];
1718
+ out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
1719
+ out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
1720
+ out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
1721
+ out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
1722
+ b0 = b[12];
1723
+ b1 = b[13];
1724
+ b2 = b[14];
1725
+ b3 = b[15];
1726
+ out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
1727
+ out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
1728
+ out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
1729
+ out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
1730
+ return out;
1731
+ }
1732
+ function translate2(out, a, v) {
1733
+ const x = v[0];
1734
+ const y = v[1];
1735
+ const z = v[2];
1736
+ let a00;
1737
+ let a01;
1738
+ let a02;
1739
+ let a03;
1740
+ let a10;
1741
+ let a11;
1742
+ let a12;
1743
+ let a13;
1744
+ let a20;
1745
+ let a21;
1746
+ let a22;
1747
+ let a23;
1748
+ if (a === out) {
1749
+ out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];
1750
+ out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];
1751
+ out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];
1752
+ out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];
1753
+ } else {
1754
+ a00 = a[0];
1755
+ a01 = a[1];
1756
+ a02 = a[2];
1757
+ a03 = a[3];
1758
+ a10 = a[4];
1759
+ a11 = a[5];
1760
+ a12 = a[6];
1761
+ a13 = a[7];
1762
+ a20 = a[8];
1763
+ a21 = a[9];
1764
+ a22 = a[10];
1765
+ a23 = a[11];
1766
+ out[0] = a00;
1767
+ out[1] = a01;
1768
+ out[2] = a02;
1769
+ out[3] = a03;
1770
+ out[4] = a10;
1771
+ out[5] = a11;
1772
+ out[6] = a12;
1773
+ out[7] = a13;
1774
+ out[8] = a20;
1775
+ out[9] = a21;
1776
+ out[10] = a22;
1777
+ out[11] = a23;
1778
+ out[12] = a00 * x + a10 * y + a20 * z + a[12];
1779
+ out[13] = a01 * x + a11 * y + a21 * z + a[13];
1780
+ out[14] = a02 * x + a12 * y + a22 * z + a[14];
1781
+ out[15] = a03 * x + a13 * y + a23 * z + a[15];
1782
+ }
1783
+ return out;
1784
+ }
1785
+ function scale2(out, a, v) {
1786
+ const x = v[0];
1787
+ const y = v[1];
1788
+ const z = v[2];
1789
+ out[0] = a[0] * x;
1790
+ out[1] = a[1] * x;
1791
+ out[2] = a[2] * x;
1792
+ out[3] = a[3] * x;
1793
+ out[4] = a[4] * y;
1794
+ out[5] = a[5] * y;
1795
+ out[6] = a[6] * y;
1796
+ out[7] = a[7] * y;
1797
+ out[8] = a[8] * z;
1798
+ out[9] = a[9] * z;
1799
+ out[10] = a[10] * z;
1800
+ out[11] = a[11] * z;
1801
+ out[12] = a[12];
1802
+ out[13] = a[13];
1803
+ out[14] = a[14];
1804
+ out[15] = a[15];
1805
+ return out;
1806
+ }
1807
+ function rotate2(out, a, rad, axis) {
1808
+ let x = axis[0];
1809
+ let y = axis[1];
1810
+ let z = axis[2];
1811
+ let len2 = Math.sqrt(x * x + y * y + z * z);
1812
+ let c;
1813
+ let s;
1814
+ let t;
1815
+ let a00;
1816
+ let a01;
1817
+ let a02;
1818
+ let a03;
1819
+ let a10;
1820
+ let a11;
1821
+ let a12;
1822
+ let a13;
1823
+ let a20;
1824
+ let a21;
1825
+ let a22;
1826
+ let a23;
1827
+ let b00;
1828
+ let b01;
1829
+ let b02;
1830
+ let b10;
1831
+ let b11;
1832
+ let b12;
1833
+ let b20;
1834
+ let b21;
1835
+ let b22;
1836
+ if (len2 < EPSILON) {
1837
+ return null;
1838
+ }
1839
+ len2 = 1 / len2;
1840
+ x *= len2;
1841
+ y *= len2;
1842
+ z *= len2;
1843
+ s = Math.sin(rad);
1844
+ c = Math.cos(rad);
1845
+ t = 1 - c;
1846
+ a00 = a[0];
1847
+ a01 = a[1];
1848
+ a02 = a[2];
1849
+ a03 = a[3];
1850
+ a10 = a[4];
1851
+ a11 = a[5];
1852
+ a12 = a[6];
1853
+ a13 = a[7];
1854
+ a20 = a[8];
1855
+ a21 = a[9];
1856
+ a22 = a[10];
1857
+ a23 = a[11];
1858
+ b00 = x * x * t + c;
1859
+ b01 = y * x * t + z * s;
1860
+ b02 = z * x * t - y * s;
1861
+ b10 = x * y * t - z * s;
1862
+ b11 = y * y * t + c;
1863
+ b12 = z * y * t + x * s;
1864
+ b20 = x * z * t + y * s;
1865
+ b21 = y * z * t - x * s;
1866
+ b22 = z * z * t + c;
1867
+ out[0] = a00 * b00 + a10 * b01 + a20 * b02;
1868
+ out[1] = a01 * b00 + a11 * b01 + a21 * b02;
1869
+ out[2] = a02 * b00 + a12 * b01 + a22 * b02;
1870
+ out[3] = a03 * b00 + a13 * b01 + a23 * b02;
1871
+ out[4] = a00 * b10 + a10 * b11 + a20 * b12;
1872
+ out[5] = a01 * b10 + a11 * b11 + a21 * b12;
1873
+ out[6] = a02 * b10 + a12 * b11 + a22 * b12;
1874
+ out[7] = a03 * b10 + a13 * b11 + a23 * b12;
1875
+ out[8] = a00 * b20 + a10 * b21 + a20 * b22;
1876
+ out[9] = a01 * b20 + a11 * b21 + a21 * b22;
1877
+ out[10] = a02 * b20 + a12 * b21 + a22 * b22;
1878
+ out[11] = a03 * b20 + a13 * b21 + a23 * b22;
1879
+ if (a !== out) {
1880
+ out[12] = a[12];
1881
+ out[13] = a[13];
1882
+ out[14] = a[14];
1883
+ out[15] = a[15];
1884
+ }
1885
+ return out;
1886
+ }
1887
+ function rotateX2(out, a, rad) {
1888
+ const s = Math.sin(rad);
1889
+ const c = Math.cos(rad);
1890
+ const a10 = a[4];
1891
+ const a11 = a[5];
1892
+ const a12 = a[6];
1893
+ const a13 = a[7];
1894
+ const a20 = a[8];
1895
+ const a21 = a[9];
1896
+ const a22 = a[10];
1897
+ const a23 = a[11];
1898
+ if (a !== out) {
1899
+ out[0] = a[0];
1900
+ out[1] = a[1];
1901
+ out[2] = a[2];
1902
+ out[3] = a[3];
1903
+ out[12] = a[12];
1904
+ out[13] = a[13];
1905
+ out[14] = a[14];
1906
+ out[15] = a[15];
1907
+ }
1908
+ out[4] = a10 * c + a20 * s;
1909
+ out[5] = a11 * c + a21 * s;
1910
+ out[6] = a12 * c + a22 * s;
1911
+ out[7] = a13 * c + a23 * s;
1912
+ out[8] = a20 * c - a10 * s;
1913
+ out[9] = a21 * c - a11 * s;
1914
+ out[10] = a22 * c - a12 * s;
1915
+ out[11] = a23 * c - a13 * s;
1916
+ return out;
1917
+ }
1918
+ function rotateY2(out, a, rad) {
1919
+ const s = Math.sin(rad);
1920
+ const c = Math.cos(rad);
1921
+ const a00 = a[0];
1922
+ const a01 = a[1];
1923
+ const a02 = a[2];
1924
+ const a03 = a[3];
1925
+ const a20 = a[8];
1926
+ const a21 = a[9];
1927
+ const a22 = a[10];
1928
+ const a23 = a[11];
1929
+ if (a !== out) {
1930
+ out[4] = a[4];
1931
+ out[5] = a[5];
1932
+ out[6] = a[6];
1933
+ out[7] = a[7];
1934
+ out[12] = a[12];
1935
+ out[13] = a[13];
1936
+ out[14] = a[14];
1937
+ out[15] = a[15];
1938
+ }
1939
+ out[0] = a00 * c - a20 * s;
1940
+ out[1] = a01 * c - a21 * s;
1941
+ out[2] = a02 * c - a22 * s;
1942
+ out[3] = a03 * c - a23 * s;
1943
+ out[8] = a00 * s + a20 * c;
1944
+ out[9] = a01 * s + a21 * c;
1945
+ out[10] = a02 * s + a22 * c;
1946
+ out[11] = a03 * s + a23 * c;
1947
+ return out;
1948
+ }
1949
+ function rotateZ2(out, a, rad) {
1950
+ const s = Math.sin(rad);
1951
+ const c = Math.cos(rad);
1952
+ const a00 = a[0];
1953
+ const a01 = a[1];
1954
+ const a02 = a[2];
1955
+ const a03 = a[3];
1956
+ const a10 = a[4];
1957
+ const a11 = a[5];
1958
+ const a12 = a[6];
1959
+ const a13 = a[7];
1960
+ if (a !== out) {
1961
+ out[8] = a[8];
1962
+ out[9] = a[9];
1963
+ out[10] = a[10];
1964
+ out[11] = a[11];
1965
+ out[12] = a[12];
1966
+ out[13] = a[13];
1967
+ out[14] = a[14];
1968
+ out[15] = a[15];
1969
+ }
1970
+ out[0] = a00 * c + a10 * s;
1971
+ out[1] = a01 * c + a11 * s;
1972
+ out[2] = a02 * c + a12 * s;
1973
+ out[3] = a03 * c + a13 * s;
1974
+ out[4] = a10 * c - a00 * s;
1975
+ out[5] = a11 * c - a01 * s;
1976
+ out[6] = a12 * c - a02 * s;
1977
+ out[7] = a13 * c - a03 * s;
1978
+ return out;
1979
+ }
1980
+ function fromQuat2(out, q) {
1981
+ const x = q[0];
1982
+ const y = q[1];
1983
+ const z = q[2];
1984
+ const w = q[3];
1985
+ const x2 = x + x;
1986
+ const y2 = y + y;
1987
+ const z2 = z + z;
1988
+ const xx = x * x2;
1989
+ const yx = y * x2;
1990
+ const yy = y * y2;
1991
+ const zx = z * x2;
1992
+ const zy = z * y2;
1993
+ const zz = z * z2;
1994
+ const wx = w * x2;
1995
+ const wy = w * y2;
1996
+ const wz = w * z2;
1997
+ out[0] = 1 - yy - zz;
1998
+ out[1] = yx + wz;
1999
+ out[2] = zx - wy;
2000
+ out[3] = 0;
2001
+ out[4] = yx - wz;
2002
+ out[5] = 1 - xx - zz;
2003
+ out[6] = zy + wx;
2004
+ out[7] = 0;
2005
+ out[8] = zx + wy;
2006
+ out[9] = zy - wx;
2007
+ out[10] = 1 - xx - yy;
2008
+ out[11] = 0;
2009
+ out[12] = 0;
2010
+ out[13] = 0;
2011
+ out[14] = 0;
2012
+ out[15] = 1;
2013
+ return out;
2014
+ }
2015
+ function frustum(out, left, right, bottom, top, near, far) {
2016
+ const rl = 1 / (right - left);
2017
+ const tb = 1 / (top - bottom);
2018
+ const nf = 1 / (near - far);
2019
+ out[0] = near * 2 * rl;
2020
+ out[1] = 0;
2021
+ out[2] = 0;
2022
+ out[3] = 0;
2023
+ out[4] = 0;
2024
+ out[5] = near * 2 * tb;
2025
+ out[6] = 0;
2026
+ out[7] = 0;
2027
+ out[8] = (right + left) * rl;
2028
+ out[9] = (top + bottom) * tb;
2029
+ out[10] = (far + near) * nf;
2030
+ out[11] = -1;
2031
+ out[12] = 0;
2032
+ out[13] = 0;
2033
+ out[14] = far * near * 2 * nf;
2034
+ out[15] = 0;
2035
+ return out;
2036
+ }
2037
+ function perspectiveNO(out, fovy, aspect, near, far) {
2038
+ const f = 1 / Math.tan(fovy / 2);
2039
+ out[0] = f / aspect;
2040
+ out[1] = 0;
2041
+ out[2] = 0;
2042
+ out[3] = 0;
2043
+ out[4] = 0;
2044
+ out[5] = f;
2045
+ out[6] = 0;
2046
+ out[7] = 0;
2047
+ out[8] = 0;
2048
+ out[9] = 0;
2049
+ out[11] = -1;
2050
+ out[12] = 0;
2051
+ out[13] = 0;
2052
+ out[15] = 0;
2053
+ if (far != null && far !== Infinity) {
2054
+ const nf = 1 / (near - far);
2055
+ out[10] = (far + near) * nf;
2056
+ out[14] = 2 * far * near * nf;
2057
+ } else {
2058
+ out[10] = -1;
2059
+ out[14] = -2 * near;
2060
+ }
2061
+ return out;
2062
+ }
2063
+ var perspective = perspectiveNO;
2064
+ function orthoNO(out, left, right, bottom, top, near, far) {
2065
+ const lr = 1 / (left - right);
2066
+ const bt = 1 / (bottom - top);
2067
+ const nf = 1 / (near - far);
2068
+ out[0] = -2 * lr;
2069
+ out[1] = 0;
2070
+ out[2] = 0;
2071
+ out[3] = 0;
2072
+ out[4] = 0;
2073
+ out[5] = -2 * bt;
2074
+ out[6] = 0;
2075
+ out[7] = 0;
2076
+ out[8] = 0;
2077
+ out[9] = 0;
2078
+ out[10] = 2 * nf;
2079
+ out[11] = 0;
2080
+ out[12] = (left + right) * lr;
2081
+ out[13] = (top + bottom) * bt;
2082
+ out[14] = (far + near) * nf;
2083
+ out[15] = 1;
2084
+ return out;
2085
+ }
2086
+ var ortho = orthoNO;
2087
+ function lookAt(out, eye, center, up) {
2088
+ let len2;
2089
+ let x0;
2090
+ let x1;
2091
+ let x2;
2092
+ let y0;
2093
+ let y1;
2094
+ let y2;
2095
+ let z0;
2096
+ let z1;
2097
+ let z2;
2098
+ const eyex = eye[0];
2099
+ const eyey = eye[1];
2100
+ const eyez = eye[2];
2101
+ const upx = up[0];
2102
+ const upy = up[1];
2103
+ const upz = up[2];
2104
+ const centerx = center[0];
2105
+ const centery = center[1];
2106
+ const centerz = center[2];
2107
+ if (Math.abs(eyex - centerx) < EPSILON && Math.abs(eyey - centery) < EPSILON && Math.abs(eyez - centerz) < EPSILON) {
2108
+ return identity(out);
2109
+ }
2110
+ z0 = eyex - centerx;
2111
+ z1 = eyey - centery;
2112
+ z2 = eyez - centerz;
2113
+ len2 = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
2114
+ z0 *= len2;
2115
+ z1 *= len2;
2116
+ z2 *= len2;
2117
+ x0 = upy * z2 - upz * z1;
2118
+ x1 = upz * z0 - upx * z2;
2119
+ x2 = upx * z1 - upy * z0;
2120
+ len2 = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
2121
+ if (!len2) {
2122
+ x0 = 0;
2123
+ x1 = 0;
2124
+ x2 = 0;
2125
+ } else {
2126
+ len2 = 1 / len2;
2127
+ x0 *= len2;
2128
+ x1 *= len2;
2129
+ x2 *= len2;
2130
+ }
2131
+ y0 = z1 * x2 - z2 * x1;
2132
+ y1 = z2 * x0 - z0 * x2;
2133
+ y2 = z0 * x1 - z1 * x0;
2134
+ len2 = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
2135
+ if (!len2) {
2136
+ y0 = 0;
2137
+ y1 = 0;
2138
+ y2 = 0;
2139
+ } else {
2140
+ len2 = 1 / len2;
2141
+ y0 *= len2;
2142
+ y1 *= len2;
2143
+ y2 *= len2;
2144
+ }
2145
+ out[0] = x0;
2146
+ out[1] = y0;
2147
+ out[2] = z0;
2148
+ out[3] = 0;
2149
+ out[4] = x1;
2150
+ out[5] = y1;
2151
+ out[6] = z1;
2152
+ out[7] = 0;
2153
+ out[8] = x2;
2154
+ out[9] = y2;
2155
+ out[10] = z2;
2156
+ out[11] = 0;
2157
+ out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);
2158
+ out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);
2159
+ out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);
2160
+ out[15] = 1;
2161
+ return out;
2162
+ }
2163
+
1085
2164
  // src/classes/matrix4.ts
1086
- var mat4 = __toESM(require("gl-matrix/mat4"), 1);
1087
- var vec23 = __toESM(require("gl-matrix/vec2"), 1);
1088
- var vec33 = __toESM(require("gl-matrix/vec3"), 1);
1089
- var vec42 = __toESM(require("gl-matrix/vec4"), 1);
1090
2165
  var INDICES2 = /* @__PURE__ */ ((INDICES3) => {
1091
2166
  INDICES3[INDICES3["COL0ROW0"] = 0] = "COL0ROW0";
1092
2167
  INDICES3[INDICES3["COL0ROW1"] = 1] = "COL0ROW1";
@@ -1218,7 +2293,7 @@ var Matrix4 = class extends Matrix {
1218
2293
  return this.check();
1219
2294
  }
1220
2295
  fromQuaternion(quaternion) {
1221
- mat4.fromQuat(this, quaternion);
2296
+ fromQuat2(this, quaternion);
1222
2297
  return this.check();
1223
2298
  }
1224
2299
  frustum(view) {
@@ -1226,18 +2301,18 @@ var Matrix4 = class extends Matrix {
1226
2301
  if (far === Infinity) {
1227
2302
  computeInfinitePerspectiveOffCenter(this, left, right, bottom, top, near);
1228
2303
  } else {
1229
- mat4.frustum(this, left, right, bottom, top, near, far);
2304
+ frustum(this, left, right, bottom, top, near, far);
1230
2305
  }
1231
2306
  return this.check();
1232
2307
  }
1233
2308
  lookAt(view) {
1234
2309
  const { eye, center = [0, 0, 0], up = [0, 1, 0] } = view;
1235
- mat4.lookAt(this, eye, center, up);
2310
+ lookAt(this, eye, center, up);
1236
2311
  return this.check();
1237
2312
  }
1238
2313
  ortho(view) {
1239
2314
  const { left, right, bottom, top, near = DEFAULT_NEAR, far = DEFAULT_FAR } = view;
1240
- mat4.ortho(this, left, right, bottom, top, near, far);
2315
+ ortho(this, left, right, bottom, top, near, far);
1241
2316
  return this.check();
1242
2317
  }
1243
2318
  orthographic(view) {
@@ -1264,11 +2339,11 @@ var Matrix4 = class extends Matrix {
1264
2339
  perspective(view) {
1265
2340
  const { fovy = 45 * Math.PI / 180, aspect = 1, near = 0.1, far = 500 } = view;
1266
2341
  checkRadians(fovy);
1267
- mat4.perspective(this, fovy, aspect, near, far);
2342
+ perspective(this, fovy, aspect, near, far);
1268
2343
  return this.check();
1269
2344
  }
1270
2345
  determinant() {
1271
- return mat4.determinant(this);
2346
+ return determinant2(this);
1272
2347
  }
1273
2348
  getScale(result = [-0, -0, -0]) {
1274
2349
  result[0] = Math.sqrt(this[0] * this[0] + this[1] * this[1] + this[2] * this[2]);
@@ -1285,10 +2360,10 @@ var Matrix4 = class extends Matrix {
1285
2360
  getRotation(result, scaleResult) {
1286
2361
  result = result || [-0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0];
1287
2362
  scaleResult = scaleResult || [-0, -0, -0];
1288
- const scale4 = this.getScale(scaleResult);
1289
- const inverseScale0 = 1 / scale4[0];
1290
- const inverseScale1 = 1 / scale4[1];
1291
- const inverseScale2 = 1 / scale4[2];
2363
+ const scale5 = this.getScale(scaleResult);
2364
+ const inverseScale0 = 1 / scale5[0];
2365
+ const inverseScale1 = 1 / scale5[1];
2366
+ const inverseScale2 = 1 / scale5[2];
1292
2367
  result[0] = this[0] * inverseScale0;
1293
2368
  result[1] = this[1] * inverseScale1;
1294
2369
  result[2] = this[2] * inverseScale2;
@@ -1310,10 +2385,10 @@ var Matrix4 = class extends Matrix {
1310
2385
  getRotationMatrix3(result, scaleResult) {
1311
2386
  result = result || [-0, -0, -0, -0, -0, -0, -0, -0, -0];
1312
2387
  scaleResult = scaleResult || [-0, -0, -0];
1313
- const scale4 = this.getScale(scaleResult);
1314
- const inverseScale0 = 1 / scale4[0];
1315
- const inverseScale1 = 1 / scale4[1];
1316
- const inverseScale2 = 1 / scale4[2];
2388
+ const scale5 = this.getScale(scaleResult);
2389
+ const inverseScale0 = 1 / scale5[0];
2390
+ const inverseScale1 = 1 / scale5[1];
2391
+ const inverseScale2 = 1 / scale5[2];
1317
2392
  result[0] = this[0] * inverseScale0;
1318
2393
  result[1] = this[1] * inverseScale1;
1319
2394
  result[2] = this[2] * inverseScale2;
@@ -1326,65 +2401,65 @@ var Matrix4 = class extends Matrix {
1326
2401
  return result;
1327
2402
  }
1328
2403
  transpose() {
1329
- mat4.transpose(this, this);
2404
+ transpose2(this, this);
1330
2405
  return this.check();
1331
2406
  }
1332
2407
  invert() {
1333
- mat4.invert(this, this);
2408
+ invert2(this, this);
1334
2409
  return this.check();
1335
2410
  }
1336
2411
  multiplyLeft(a) {
1337
- mat4.multiply(this, a, this);
2412
+ multiply2(this, a, this);
1338
2413
  return this.check();
1339
2414
  }
1340
2415
  multiplyRight(a) {
1341
- mat4.multiply(this, this, a);
2416
+ multiply2(this, this, a);
1342
2417
  return this.check();
1343
2418
  }
1344
2419
  rotateX(radians2) {
1345
- mat4.rotateX(this, this, radians2);
2420
+ rotateX2(this, this, radians2);
1346
2421
  return this.check();
1347
2422
  }
1348
2423
  rotateY(radians2) {
1349
- mat4.rotateY(this, this, radians2);
2424
+ rotateY2(this, this, radians2);
1350
2425
  return this.check();
1351
2426
  }
1352
2427
  rotateZ(radians2) {
1353
- mat4.rotateZ(this, this, radians2);
2428
+ rotateZ2(this, this, radians2);
1354
2429
  return this.check();
1355
2430
  }
1356
2431
  rotateXYZ(angleXYZ) {
1357
2432
  return this.rotateX(angleXYZ[0]).rotateY(angleXYZ[1]).rotateZ(angleXYZ[2]);
1358
2433
  }
1359
2434
  rotateAxis(radians2, axis) {
1360
- mat4.rotate(this, this, radians2, axis);
2435
+ rotate2(this, this, radians2, axis);
1361
2436
  return this.check();
1362
2437
  }
1363
2438
  scale(factor) {
1364
- mat4.scale(this, this, Array.isArray(factor) ? factor : [factor, factor, factor]);
2439
+ scale2(this, this, Array.isArray(factor) ? factor : [factor, factor, factor]);
1365
2440
  return this.check();
1366
2441
  }
1367
2442
  translate(vector) {
1368
- mat4.translate(this, this, vector);
2443
+ translate2(this, this, vector);
1369
2444
  return this.check();
1370
2445
  }
1371
2446
  transform(vector, result) {
1372
2447
  if (vector.length === 4) {
1373
- result = vec42.transformMat4(result || [-0, -0, -0, -0], vector, this);
2448
+ result = transformMat42(result || [-0, -0, -0, -0], vector, this);
1374
2449
  checkVector(result, 4);
1375
2450
  return result;
1376
2451
  }
1377
2452
  return this.transformAsPoint(vector, result);
1378
2453
  }
1379
2454
  transformAsPoint(vector, result) {
1380
- const { length: length3 } = vector;
2455
+ const { length: length4 } = vector;
1381
2456
  let out;
1382
- switch (length3) {
2457
+ switch (length4) {
1383
2458
  case 2:
1384
- out = vec23.transformMat4(result || [-0, -0], vector, this);
2459
+ out = transformMat4(result || [-0, -0], vector, this);
1385
2460
  break;
1386
2461
  case 3:
1387
- out = vec33.transformMat4(result || [-0, -0, -0], vector, this);
2462
+ out = transformMat42(result || [-0, -0, -0], vector, this);
1388
2463
  break;
1389
2464
  default:
1390
2465
  throw new Error("Illegal vector");
@@ -1471,9 +2546,363 @@ function computeInfinitePerspectiveOffCenter(result, left, right, bottom, top, n
1471
2546
  return result;
1472
2547
  }
1473
2548
 
2549
+ // src/gl-matrix/vec4.js
2550
+ function create4() {
2551
+ const out = new ARRAY_TYPE(4);
2552
+ if (ARRAY_TYPE != Float32Array) {
2553
+ out[0] = 0;
2554
+ out[1] = 0;
2555
+ out[2] = 0;
2556
+ out[3] = 0;
2557
+ }
2558
+ return out;
2559
+ }
2560
+ function add(out, a, b) {
2561
+ out[0] = a[0] + b[0];
2562
+ out[1] = a[1] + b[1];
2563
+ out[2] = a[2] + b[2];
2564
+ out[3] = a[3] + b[3];
2565
+ return out;
2566
+ }
2567
+ function scale3(out, a, b) {
2568
+ out[0] = a[0] * b;
2569
+ out[1] = a[1] * b;
2570
+ out[2] = a[2] * b;
2571
+ out[3] = a[3] * b;
2572
+ return out;
2573
+ }
2574
+ function length2(a) {
2575
+ const x = a[0];
2576
+ const y = a[1];
2577
+ const z = a[2];
2578
+ const w = a[3];
2579
+ return Math.sqrt(x * x + y * y + z * z + w * w);
2580
+ }
2581
+ function squaredLength(a) {
2582
+ const x = a[0];
2583
+ const y = a[1];
2584
+ const z = a[2];
2585
+ const w = a[3];
2586
+ return x * x + y * y + z * z + w * w;
2587
+ }
2588
+ function normalize2(out, a) {
2589
+ const x = a[0];
2590
+ const y = a[1];
2591
+ const z = a[2];
2592
+ const w = a[3];
2593
+ let len2 = x * x + y * y + z * z + w * w;
2594
+ if (len2 > 0) {
2595
+ len2 = 1 / Math.sqrt(len2);
2596
+ }
2597
+ out[0] = x * len2;
2598
+ out[1] = y * len2;
2599
+ out[2] = z * len2;
2600
+ out[3] = w * len2;
2601
+ return out;
2602
+ }
2603
+ function dot2(a, b) {
2604
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
2605
+ }
2606
+ function lerp2(out, a, b, t) {
2607
+ const ax = a[0];
2608
+ const ay = a[1];
2609
+ const az = a[2];
2610
+ const aw = a[3];
2611
+ out[0] = ax + t * (b[0] - ax);
2612
+ out[1] = ay + t * (b[1] - ay);
2613
+ out[2] = az + t * (b[2] - az);
2614
+ out[3] = aw + t * (b[3] - aw);
2615
+ return out;
2616
+ }
2617
+ function transformQuat2(out, a, q) {
2618
+ const x = a[0];
2619
+ const y = a[1];
2620
+ const z = a[2];
2621
+ const qx = q[0];
2622
+ const qy = q[1];
2623
+ const qz = q[2];
2624
+ const qw = q[3];
2625
+ const ix = qw * x + qy * z - qz * y;
2626
+ const iy = qw * y + qz * x - qx * z;
2627
+ const iz = qw * z + qx * y - qy * x;
2628
+ const iw = -qx * x - qy * y - qz * z;
2629
+ out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
2630
+ out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
2631
+ out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
2632
+ out[3] = a[3];
2633
+ return out;
2634
+ }
2635
+ var forEach3 = function() {
2636
+ const vec = create4();
2637
+ return function(a, stride, offset, count, fn, arg) {
2638
+ let i;
2639
+ let l;
2640
+ if (!stride) {
2641
+ stride = 4;
2642
+ }
2643
+ if (!offset) {
2644
+ offset = 0;
2645
+ }
2646
+ if (count) {
2647
+ l = Math.min(count * stride + offset, a.length);
2648
+ } else {
2649
+ l = a.length;
2650
+ }
2651
+ for (i = offset; i < l; i += stride) {
2652
+ vec[0] = a[i];
2653
+ vec[1] = a[i + 1];
2654
+ vec[2] = a[i + 2];
2655
+ vec[3] = a[i + 3];
2656
+ fn(vec, vec, arg);
2657
+ a[i] = vec[0];
2658
+ a[i + 1] = vec[1];
2659
+ a[i + 2] = vec[2];
2660
+ a[i + 3] = vec[3];
2661
+ }
2662
+ return a;
2663
+ };
2664
+ }();
2665
+
2666
+ // src/gl-matrix/quat.ts
2667
+ function create5() {
2668
+ const out = new ARRAY_TYPE(4);
2669
+ if (ARRAY_TYPE != Float32Array) {
2670
+ out[0] = 0;
2671
+ out[1] = 0;
2672
+ out[2] = 0;
2673
+ }
2674
+ out[3] = 1;
2675
+ return out;
2676
+ }
2677
+ function identity2(out) {
2678
+ out[0] = 0;
2679
+ out[1] = 0;
2680
+ out[2] = 0;
2681
+ out[3] = 1;
2682
+ return out;
2683
+ }
2684
+ function setAxisAngle(out, axis, rad) {
2685
+ rad = rad * 0.5;
2686
+ const s = Math.sin(rad);
2687
+ out[0] = s * axis[0];
2688
+ out[1] = s * axis[1];
2689
+ out[2] = s * axis[2];
2690
+ out[3] = Math.cos(rad);
2691
+ return out;
2692
+ }
2693
+ function multiply3(out, a, b) {
2694
+ const ax = a[0];
2695
+ const ay = a[1];
2696
+ const az = a[2];
2697
+ const aw = a[3];
2698
+ const bx = b[0];
2699
+ const by = b[1];
2700
+ const bz = b[2];
2701
+ const bw = b[3];
2702
+ out[0] = ax * bw + aw * bx + ay * bz - az * by;
2703
+ out[1] = ay * bw + aw * by + az * bx - ax * bz;
2704
+ out[2] = az * bw + aw * bz + ax * by - ay * bx;
2705
+ out[3] = aw * bw - ax * bx - ay * by - az * bz;
2706
+ return out;
2707
+ }
2708
+ function rotateX3(out, a, rad) {
2709
+ rad *= 0.5;
2710
+ const ax = a[0];
2711
+ const ay = a[1];
2712
+ const az = a[2];
2713
+ const aw = a[3];
2714
+ const bx = Math.sin(rad);
2715
+ const bw = Math.cos(rad);
2716
+ out[0] = ax * bw + aw * bx;
2717
+ out[1] = ay * bw + az * bx;
2718
+ out[2] = az * bw - ay * bx;
2719
+ out[3] = aw * bw - ax * bx;
2720
+ return out;
2721
+ }
2722
+ function rotateY3(out, a, rad) {
2723
+ rad *= 0.5;
2724
+ const ax = a[0];
2725
+ const ay = a[1];
2726
+ const az = a[2];
2727
+ const aw = a[3];
2728
+ const by = Math.sin(rad);
2729
+ const bw = Math.cos(rad);
2730
+ out[0] = ax * bw - az * by;
2731
+ out[1] = ay * bw + aw * by;
2732
+ out[2] = az * bw + ax * by;
2733
+ out[3] = aw * bw - ay * by;
2734
+ return out;
2735
+ }
2736
+ function rotateZ3(out, a, rad) {
2737
+ rad *= 0.5;
2738
+ const ax = a[0];
2739
+ const ay = a[1];
2740
+ const az = a[2];
2741
+ const aw = a[3];
2742
+ const bz = Math.sin(rad);
2743
+ const bw = Math.cos(rad);
2744
+ out[0] = ax * bw + ay * bz;
2745
+ out[1] = ay * bw - ax * bz;
2746
+ out[2] = az * bw + aw * bz;
2747
+ out[3] = aw * bw - az * bz;
2748
+ return out;
2749
+ }
2750
+ function calculateW(out, a) {
2751
+ const x = a[0];
2752
+ const y = a[1];
2753
+ const z = a[2];
2754
+ out[0] = x;
2755
+ out[1] = y;
2756
+ out[2] = z;
2757
+ out[3] = Math.sqrt(Math.abs(1 - x * x - y * y - z * z));
2758
+ return out;
2759
+ }
2760
+ function slerp(out, a, b, t) {
2761
+ const ax = a[0];
2762
+ const ay = a[1];
2763
+ const az = a[2];
2764
+ const aw = a[3];
2765
+ let bx = b[0];
2766
+ let by = b[1];
2767
+ let bz = b[2];
2768
+ let bw = b[3];
2769
+ let cosom;
2770
+ let omega;
2771
+ let scale0;
2772
+ let scale1;
2773
+ let sinom;
2774
+ cosom = ax * bx + ay * by + az * bz + aw * bw;
2775
+ if (cosom < 0) {
2776
+ cosom = -cosom;
2777
+ bx = -bx;
2778
+ by = -by;
2779
+ bz = -bz;
2780
+ bw = -bw;
2781
+ }
2782
+ if (1 - cosom > EPSILON) {
2783
+ omega = Math.acos(cosom);
2784
+ sinom = Math.sin(omega);
2785
+ scale0 = Math.sin((1 - t) * omega) / sinom;
2786
+ scale1 = Math.sin(t * omega) / sinom;
2787
+ } else {
2788
+ scale0 = 1 - t;
2789
+ scale1 = t;
2790
+ }
2791
+ out[0] = scale0 * ax + scale1 * bx;
2792
+ out[1] = scale0 * ay + scale1 * by;
2793
+ out[2] = scale0 * az + scale1 * bz;
2794
+ out[3] = scale0 * aw + scale1 * bw;
2795
+ return out;
2796
+ }
2797
+ function invert3(out, a) {
2798
+ const a0 = a[0];
2799
+ const a1 = a[1];
2800
+ const a2 = a[2];
2801
+ const a3 = a[3];
2802
+ const dot4 = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3;
2803
+ const invDot = dot4 ? 1 / dot4 : 0;
2804
+ out[0] = -a0 * invDot;
2805
+ out[1] = -a1 * invDot;
2806
+ out[2] = -a2 * invDot;
2807
+ out[3] = a3 * invDot;
2808
+ return out;
2809
+ }
2810
+ function conjugate(out, a) {
2811
+ out[0] = -a[0];
2812
+ out[1] = -a[1];
2813
+ out[2] = -a[2];
2814
+ out[3] = a[3];
2815
+ return out;
2816
+ }
2817
+ function fromMat3(out, m) {
2818
+ const fTrace = m[0] + m[4] + m[8];
2819
+ let fRoot;
2820
+ if (fTrace > 0) {
2821
+ fRoot = Math.sqrt(fTrace + 1);
2822
+ out[3] = 0.5 * fRoot;
2823
+ fRoot = 0.5 / fRoot;
2824
+ out[0] = (m[5] - m[7]) * fRoot;
2825
+ out[1] = (m[6] - m[2]) * fRoot;
2826
+ out[2] = (m[1] - m[3]) * fRoot;
2827
+ } else {
2828
+ let i = 0;
2829
+ if (m[4] > m[0])
2830
+ i = 1;
2831
+ if (m[8] > m[i * 3 + i])
2832
+ i = 2;
2833
+ const j = (i + 1) % 3;
2834
+ const k = (i + 2) % 3;
2835
+ fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1);
2836
+ out[i] = 0.5 * fRoot;
2837
+ fRoot = 0.5 / fRoot;
2838
+ out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot;
2839
+ out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot;
2840
+ out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot;
2841
+ }
2842
+ return out;
2843
+ }
2844
+ var add2 = add;
2845
+ var scale4 = scale3;
2846
+ var dot3 = dot2;
2847
+ var lerp3 = lerp2;
2848
+ var length3 = length2;
2849
+ var squaredLength2 = squaredLength;
2850
+ var normalize3 = normalize2;
2851
+ var rotationTo = function() {
2852
+ const tmpvec3 = create2();
2853
+ const xUnitVec3 = fromValues(1, 0, 0);
2854
+ const yUnitVec3 = fromValues(0, 1, 0);
2855
+ return function(out, a, b) {
2856
+ const dot4 = dot(a, b);
2857
+ if (dot4 < -0.999999) {
2858
+ cross(tmpvec3, xUnitVec3, a);
2859
+ if (len(tmpvec3) < 1e-6)
2860
+ cross(tmpvec3, yUnitVec3, a);
2861
+ normalize(tmpvec3, tmpvec3);
2862
+ setAxisAngle(out, tmpvec3, Math.PI);
2863
+ return out;
2864
+ } else if (dot4 > 0.999999) {
2865
+ out[0] = 0;
2866
+ out[1] = 0;
2867
+ out[2] = 0;
2868
+ out[3] = 1;
2869
+ return out;
2870
+ }
2871
+ cross(tmpvec3, a, b);
2872
+ out[0] = tmpvec3[0];
2873
+ out[1] = tmpvec3[1];
2874
+ out[2] = tmpvec3[2];
2875
+ out[3] = 1 + dot4;
2876
+ return normalize3(out, out);
2877
+ };
2878
+ }();
2879
+ var sqlerp = function() {
2880
+ const temp1 = create5();
2881
+ const temp2 = create5();
2882
+ return function(out, a, b, c, d, t) {
2883
+ slerp(temp1, a, d, t);
2884
+ slerp(temp2, b, c, t);
2885
+ slerp(out, temp1, temp2, 2 * t * (1 - t));
2886
+ return out;
2887
+ };
2888
+ }();
2889
+ var setAxes = function() {
2890
+ const matr = create3();
2891
+ return function(out, view, right, up) {
2892
+ matr[0] = right[0];
2893
+ matr[3] = right[1];
2894
+ matr[6] = right[2];
2895
+ matr[1] = up[0];
2896
+ matr[4] = up[1];
2897
+ matr[7] = up[2];
2898
+ matr[2] = -view[0];
2899
+ matr[5] = -view[1];
2900
+ matr[8] = -view[2];
2901
+ return normalize3(out, fromMat3(out, matr));
2902
+ };
2903
+ }();
2904
+
1474
2905
  // src/classes/quaternion.ts
1475
- var quat = __toESM(require("gl-matrix/quat"), 1);
1476
- var vec43 = __toESM(require("gl-matrix/vec4"), 1);
1477
2906
  var IDENTITY_QUATERNION = [0, 0, 0, 1];
1478
2907
  var Quaternion = class extends MathArray {
1479
2908
  constructor(x = 0, y = 0, z = 0, w = 1) {
@@ -1506,15 +2935,15 @@ var Quaternion = class extends MathArray {
1506
2935
  return this.check();
1507
2936
  }
1508
2937
  fromMatrix3(m) {
1509
- quat.fromMat3(this, m);
2938
+ fromMat3(this, m);
1510
2939
  return this.check();
1511
2940
  }
1512
2941
  fromAxisRotation(axis, rad) {
1513
- quat.setAxisAngle(this, axis, rad);
2942
+ setAxisAngle(this, axis, rad);
1514
2943
  return this.check();
1515
2944
  }
1516
2945
  identity() {
1517
- quat.identity(this);
2946
+ identity2(this);
1518
2947
  return this.check();
1519
2948
  }
1520
2949
  setAxisAngle(axis, rad) {
@@ -1548,75 +2977,75 @@ var Quaternion = class extends MathArray {
1548
2977
  this[3] = checkNumber(value);
1549
2978
  }
1550
2979
  len() {
1551
- return quat.length(this);
2980
+ return length3(this);
1552
2981
  }
1553
2982
  lengthSquared() {
1554
- return quat.squaredLength(this);
2983
+ return squaredLength2(this);
1555
2984
  }
1556
2985
  dot(a) {
1557
- return quat.dot(this, a);
2986
+ return dot3(this, a);
1558
2987
  }
1559
2988
  rotationTo(vectorA, vectorB) {
1560
- quat.rotationTo(this, vectorA, vectorB);
2989
+ rotationTo(this, vectorA, vectorB);
1561
2990
  return this.check();
1562
2991
  }
1563
2992
  add(a) {
1564
- quat.add(this, this, a);
2993
+ add2(this, this, a);
1565
2994
  return this.check();
1566
2995
  }
1567
2996
  calculateW() {
1568
- quat.calculateW(this, this);
2997
+ calculateW(this, this);
1569
2998
  return this.check();
1570
2999
  }
1571
3000
  conjugate() {
1572
- quat.conjugate(this, this);
3001
+ conjugate(this, this);
1573
3002
  return this.check();
1574
3003
  }
1575
3004
  invert() {
1576
- quat.invert(this, this);
3005
+ invert3(this, this);
1577
3006
  return this.check();
1578
3007
  }
1579
3008
  lerp(a, b, t) {
1580
3009
  if (t === void 0) {
1581
3010
  return this.lerp(this, a, b);
1582
3011
  }
1583
- quat.lerp(this, a, b, t);
3012
+ lerp3(this, a, b, t);
1584
3013
  return this.check();
1585
3014
  }
1586
3015
  multiplyRight(a) {
1587
- quat.multiply(this, this, a);
3016
+ multiply3(this, this, a);
1588
3017
  return this.check();
1589
3018
  }
1590
3019
  multiplyLeft(a) {
1591
- quat.multiply(this, a, this);
3020
+ multiply3(this, a, this);
1592
3021
  return this.check();
1593
3022
  }
1594
3023
  normalize() {
1595
- const length3 = this.len();
1596
- const l = length3 > 0 ? 1 / length3 : 0;
3024
+ const length4 = this.len();
3025
+ const l = length4 > 0 ? 1 / length4 : 0;
1597
3026
  this[0] = this[0] * l;
1598
3027
  this[1] = this[1] * l;
1599
3028
  this[2] = this[2] * l;
1600
3029
  this[3] = this[3] * l;
1601
- if (length3 === 0) {
3030
+ if (length4 === 0) {
1602
3031
  this[3] = 1;
1603
3032
  }
1604
3033
  return this.check();
1605
3034
  }
1606
3035
  rotateX(rad) {
1607
- quat.rotateX(this, this, rad);
3036
+ rotateX3(this, this, rad);
1608
3037
  return this.check();
1609
3038
  }
1610
3039
  rotateY(rad) {
1611
- quat.rotateY(this, this, rad);
3040
+ rotateY3(this, this, rad);
1612
3041
  return this.check();
1613
3042
  }
1614
3043
  rotateZ(rad) {
1615
- quat.rotateZ(this, this, rad);
3044
+ rotateZ3(this, this, rad);
1616
3045
  return this.check();
1617
3046
  }
1618
3047
  scale(b) {
1619
- quat.scale(this, this, b);
3048
+ scale4(this, this, b);
1620
3049
  return this.check();
1621
3050
  }
1622
3051
  slerp(arg0, arg1, arg2) {
@@ -1641,11 +3070,11 @@ var Quaternion = class extends MathArray {
1641
3070
  target = arg1;
1642
3071
  ratio = arg2;
1643
3072
  }
1644
- quat.slerp(this, start, target, ratio);
3073
+ slerp(this, start, target, ratio);
1645
3074
  return this.check();
1646
3075
  }
1647
3076
  transformVector4(vector, result = new Vector4()) {
1648
- vec43.transformQuat(result, vector, this);
3077
+ transformQuat2(result, vector, this);
1649
3078
  return checkVector(result, 4);
1650
3079
  }
1651
3080
  lengthSq() {
@@ -1663,8 +3092,7 @@ var Quaternion = class extends MathArray {
1663
3092
  };
1664
3093
 
1665
3094
  // src/classes/spherical-coordinates.ts
1666
- var vec34 = __toESM(require("gl-matrix/vec3"), 1);
1667
- var EPSILON = 1e-6;
3095
+ var EPSILON2 = 1e-6;
1668
3096
  var EARTH_RADIUS_METERS = 6371e3;
1669
3097
  var SphericalCoordinates = class {
1670
3098
  constructor({
@@ -1750,7 +3178,7 @@ var SphericalCoordinates = class {
1750
3178
  return this.check();
1751
3179
  }
1752
3180
  fromVector3(v) {
1753
- this.radius = vec34.length(v);
3181
+ this.radius = length(v);
1754
3182
  if (this.radius > 0) {
1755
3183
  this.theta = Math.atan2(v[0], v[1]);
1756
3184
  this.phi = Math.acos(clamp(v[2] / this.radius, -1, 1));
@@ -1761,7 +3189,7 @@ var SphericalCoordinates = class {
1761
3189
  return new Vector3(0, 0, this.radius).rotateX({ radians: this.theta }).rotateZ({ radians: this.phi });
1762
3190
  }
1763
3191
  makeSafe() {
1764
- this.phi = Math.max(EPSILON, Math.min(Math.PI - EPSILON, this.phi));
3192
+ this.phi = Math.max(EPSILON2, Math.min(Math.PI - EPSILON2, this.phi));
1765
3193
  return this;
1766
3194
  }
1767
3195
  check() {
@@ -1982,7 +3410,7 @@ var Euler = class extends MathArray {
1982
3410
  }
1983
3411
  getQuaternion() {
1984
3412
  const q = new Quaternion();
1985
- switch (this[4]) {
3413
+ switch (this[3]) {
1986
3414
  case 5 /* XYZ */:
1987
3415
  return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
1988
3416
  case 1 /* YXZ */:
@@ -2307,29 +3735,54 @@ var Pose = class {
2307
3735
  };
2308
3736
 
2309
3737
  // src/lib/math-utils.ts
2310
- var math_utils_default = {
2311
- EPSILON1: 0.1,
2312
- EPSILON2: 0.01,
2313
- EPSILON3: 1e-3,
2314
- EPSILON4: 1e-4,
2315
- EPSILON5: 1e-5,
2316
- EPSILON6: 1e-6,
2317
- EPSILON7: 1e-7,
2318
- EPSILON8: 1e-8,
2319
- EPSILON9: 1e-9,
2320
- EPSILON10: 1e-10,
2321
- EPSILON11: 1e-11,
2322
- EPSILON12: 1e-12,
2323
- EPSILON13: 1e-13,
2324
- EPSILON14: 1e-14,
2325
- EPSILON15: 1e-15,
2326
- EPSILON16: 1e-16,
2327
- EPSILON17: 1e-17,
2328
- EPSILON18: 1e-18,
2329
- EPSILON19: 1e-19,
2330
- EPSILON20: 1e-20,
2331
- PI_OVER_TWO: Math.PI / 2,
2332
- PI_OVER_FOUR: Math.PI / 4,
2333
- PI_OVER_SIX: Math.PI / 6,
2334
- TWO_PI: Math.PI * 2
2335
- };
3738
+ var math_utils_exports = {};
3739
+ __export(math_utils_exports, {
3740
+ EPSILON1: () => EPSILON1,
3741
+ EPSILON10: () => EPSILON10,
3742
+ EPSILON11: () => EPSILON11,
3743
+ EPSILON12: () => EPSILON12,
3744
+ EPSILON13: () => EPSILON13,
3745
+ EPSILON14: () => EPSILON14,
3746
+ EPSILON15: () => EPSILON15,
3747
+ EPSILON16: () => EPSILON16,
3748
+ EPSILON17: () => EPSILON17,
3749
+ EPSILON18: () => EPSILON18,
3750
+ EPSILON19: () => EPSILON19,
3751
+ EPSILON2: () => EPSILON22,
3752
+ EPSILON20: () => EPSILON20,
3753
+ EPSILON3: () => EPSILON3,
3754
+ EPSILON4: () => EPSILON4,
3755
+ EPSILON5: () => EPSILON5,
3756
+ EPSILON6: () => EPSILON6,
3757
+ EPSILON7: () => EPSILON7,
3758
+ EPSILON8: () => EPSILON8,
3759
+ EPSILON9: () => EPSILON9,
3760
+ PI_OVER_FOUR: () => PI_OVER_FOUR,
3761
+ PI_OVER_SIX: () => PI_OVER_SIX,
3762
+ PI_OVER_TWO: () => PI_OVER_TWO,
3763
+ TWO_PI: () => TWO_PI
3764
+ });
3765
+ var EPSILON1 = 0.1;
3766
+ var EPSILON22 = 0.01;
3767
+ var EPSILON3 = 1e-3;
3768
+ var EPSILON4 = 1e-4;
3769
+ var EPSILON5 = 1e-5;
3770
+ var EPSILON6 = 1e-6;
3771
+ var EPSILON7 = 1e-7;
3772
+ var EPSILON8 = 1e-8;
3773
+ var EPSILON9 = 1e-9;
3774
+ var EPSILON10 = 1e-10;
3775
+ var EPSILON11 = 1e-11;
3776
+ var EPSILON12 = 1e-12;
3777
+ var EPSILON13 = 1e-13;
3778
+ var EPSILON14 = 1e-14;
3779
+ var EPSILON15 = 1e-15;
3780
+ var EPSILON16 = 1e-16;
3781
+ var EPSILON17 = 1e-17;
3782
+ var EPSILON18 = 1e-18;
3783
+ var EPSILON19 = 1e-19;
3784
+ var EPSILON20 = 1e-20;
3785
+ var PI_OVER_TWO = Math.PI / 2;
3786
+ var PI_OVER_FOUR = Math.PI / 4;
3787
+ var PI_OVER_SIX = Math.PI / 6;
3788
+ var TWO_PI = Math.PI * 2;