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

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 +1614 -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,759 @@ 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
+
2164
+ // src/gl-matrix/vec4.js
2165
+ function create4() {
2166
+ const out = new ARRAY_TYPE(4);
2167
+ if (ARRAY_TYPE != Float32Array) {
2168
+ out[0] = 0;
2169
+ out[1] = 0;
2170
+ out[2] = 0;
2171
+ out[3] = 0;
2172
+ }
2173
+ return out;
2174
+ }
2175
+ function add(out, a, b) {
2176
+ out[0] = a[0] + b[0];
2177
+ out[1] = a[1] + b[1];
2178
+ out[2] = a[2] + b[2];
2179
+ out[3] = a[3] + b[3];
2180
+ return out;
2181
+ }
2182
+ function scale3(out, a, b) {
2183
+ out[0] = a[0] * b;
2184
+ out[1] = a[1] * b;
2185
+ out[2] = a[2] * b;
2186
+ out[3] = a[3] * b;
2187
+ return out;
2188
+ }
2189
+ function length2(a) {
2190
+ const x = a[0];
2191
+ const y = a[1];
2192
+ const z = a[2];
2193
+ const w = a[3];
2194
+ return Math.sqrt(x * x + y * y + z * z + w * w);
2195
+ }
2196
+ function squaredLength(a) {
2197
+ const x = a[0];
2198
+ const y = a[1];
2199
+ const z = a[2];
2200
+ const w = a[3];
2201
+ return x * x + y * y + z * z + w * w;
2202
+ }
2203
+ function normalize2(out, a) {
2204
+ const x = a[0];
2205
+ const y = a[1];
2206
+ const z = a[2];
2207
+ const w = a[3];
2208
+ let len2 = x * x + y * y + z * z + w * w;
2209
+ if (len2 > 0) {
2210
+ len2 = 1 / Math.sqrt(len2);
2211
+ }
2212
+ out[0] = x * len2;
2213
+ out[1] = y * len2;
2214
+ out[2] = z * len2;
2215
+ out[3] = w * len2;
2216
+ return out;
2217
+ }
2218
+ function dot2(a, b) {
2219
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
2220
+ }
2221
+ function lerp2(out, a, b, t) {
2222
+ const ax = a[0];
2223
+ const ay = a[1];
2224
+ const az = a[2];
2225
+ const aw = a[3];
2226
+ out[0] = ax + t * (b[0] - ax);
2227
+ out[1] = ay + t * (b[1] - ay);
2228
+ out[2] = az + t * (b[2] - az);
2229
+ out[3] = aw + t * (b[3] - aw);
2230
+ return out;
2231
+ }
2232
+ function transformMat43(out, a, m) {
2233
+ const x = a[0];
2234
+ const y = a[1];
2235
+ const z = a[2];
2236
+ const w = a[3];
2237
+ out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;
2238
+ out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;
2239
+ out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;
2240
+ out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;
2241
+ return out;
2242
+ }
2243
+ function transformQuat2(out, a, q) {
2244
+ const x = a[0];
2245
+ const y = a[1];
2246
+ const z = a[2];
2247
+ const qx = q[0];
2248
+ const qy = q[1];
2249
+ const qz = q[2];
2250
+ const qw = q[3];
2251
+ const ix = qw * x + qy * z - qz * y;
2252
+ const iy = qw * y + qz * x - qx * z;
2253
+ const iz = qw * z + qx * y - qy * x;
2254
+ const iw = -qx * x - qy * y - qz * z;
2255
+ out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
2256
+ out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
2257
+ out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
2258
+ out[3] = a[3];
2259
+ return out;
2260
+ }
2261
+ var forEach3 = function() {
2262
+ const vec = create4();
2263
+ return function(a, stride, offset, count, fn, arg) {
2264
+ let i;
2265
+ let l;
2266
+ if (!stride) {
2267
+ stride = 4;
2268
+ }
2269
+ if (!offset) {
2270
+ offset = 0;
2271
+ }
2272
+ if (count) {
2273
+ l = Math.min(count * stride + offset, a.length);
2274
+ } else {
2275
+ l = a.length;
2276
+ }
2277
+ for (i = offset; i < l; i += stride) {
2278
+ vec[0] = a[i];
2279
+ vec[1] = a[i + 1];
2280
+ vec[2] = a[i + 2];
2281
+ vec[3] = a[i + 3];
2282
+ fn(vec, vec, arg);
2283
+ a[i] = vec[0];
2284
+ a[i + 1] = vec[1];
2285
+ a[i + 2] = vec[2];
2286
+ a[i + 3] = vec[3];
2287
+ }
2288
+ return a;
2289
+ };
2290
+ }();
2291
+
1085
2292
  // 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
2293
  var INDICES2 = /* @__PURE__ */ ((INDICES3) => {
1091
2294
  INDICES3[INDICES3["COL0ROW0"] = 0] = "COL0ROW0";
1092
2295
  INDICES3[INDICES3["COL0ROW1"] = 1] = "COL0ROW1";
@@ -1218,7 +2421,7 @@ var Matrix4 = class extends Matrix {
1218
2421
  return this.check();
1219
2422
  }
1220
2423
  fromQuaternion(quaternion) {
1221
- mat4.fromQuat(this, quaternion);
2424
+ fromQuat2(this, quaternion);
1222
2425
  return this.check();
1223
2426
  }
1224
2427
  frustum(view) {
@@ -1226,18 +2429,18 @@ var Matrix4 = class extends Matrix {
1226
2429
  if (far === Infinity) {
1227
2430
  computeInfinitePerspectiveOffCenter(this, left, right, bottom, top, near);
1228
2431
  } else {
1229
- mat4.frustum(this, left, right, bottom, top, near, far);
2432
+ frustum(this, left, right, bottom, top, near, far);
1230
2433
  }
1231
2434
  return this.check();
1232
2435
  }
1233
2436
  lookAt(view) {
1234
2437
  const { eye, center = [0, 0, 0], up = [0, 1, 0] } = view;
1235
- mat4.lookAt(this, eye, center, up);
2438
+ lookAt(this, eye, center, up);
1236
2439
  return this.check();
1237
2440
  }
1238
2441
  ortho(view) {
1239
2442
  const { left, right, bottom, top, near = DEFAULT_NEAR, far = DEFAULT_FAR } = view;
1240
- mat4.ortho(this, left, right, bottom, top, near, far);
2443
+ ortho(this, left, right, bottom, top, near, far);
1241
2444
  return this.check();
1242
2445
  }
1243
2446
  orthographic(view) {
@@ -1264,11 +2467,11 @@ var Matrix4 = class extends Matrix {
1264
2467
  perspective(view) {
1265
2468
  const { fovy = 45 * Math.PI / 180, aspect = 1, near = 0.1, far = 500 } = view;
1266
2469
  checkRadians(fovy);
1267
- mat4.perspective(this, fovy, aspect, near, far);
2470
+ perspective(this, fovy, aspect, near, far);
1268
2471
  return this.check();
1269
2472
  }
1270
2473
  determinant() {
1271
- return mat4.determinant(this);
2474
+ return determinant2(this);
1272
2475
  }
1273
2476
  getScale(result = [-0, -0, -0]) {
1274
2477
  result[0] = Math.sqrt(this[0] * this[0] + this[1] * this[1] + this[2] * this[2]);
@@ -1285,10 +2488,10 @@ var Matrix4 = class extends Matrix {
1285
2488
  getRotation(result, scaleResult) {
1286
2489
  result = result || [-0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0];
1287
2490
  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];
2491
+ const scale5 = this.getScale(scaleResult);
2492
+ const inverseScale0 = 1 / scale5[0];
2493
+ const inverseScale1 = 1 / scale5[1];
2494
+ const inverseScale2 = 1 / scale5[2];
1292
2495
  result[0] = this[0] * inverseScale0;
1293
2496
  result[1] = this[1] * inverseScale1;
1294
2497
  result[2] = this[2] * inverseScale2;
@@ -1310,10 +2513,10 @@ var Matrix4 = class extends Matrix {
1310
2513
  getRotationMatrix3(result, scaleResult) {
1311
2514
  result = result || [-0, -0, -0, -0, -0, -0, -0, -0, -0];
1312
2515
  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];
2516
+ const scale5 = this.getScale(scaleResult);
2517
+ const inverseScale0 = 1 / scale5[0];
2518
+ const inverseScale1 = 1 / scale5[1];
2519
+ const inverseScale2 = 1 / scale5[2];
1317
2520
  result[0] = this[0] * inverseScale0;
1318
2521
  result[1] = this[1] * inverseScale1;
1319
2522
  result[2] = this[2] * inverseScale2;
@@ -1326,65 +2529,65 @@ var Matrix4 = class extends Matrix {
1326
2529
  return result;
1327
2530
  }
1328
2531
  transpose() {
1329
- mat4.transpose(this, this);
2532
+ transpose2(this, this);
1330
2533
  return this.check();
1331
2534
  }
1332
2535
  invert() {
1333
- mat4.invert(this, this);
2536
+ invert2(this, this);
1334
2537
  return this.check();
1335
2538
  }
1336
2539
  multiplyLeft(a) {
1337
- mat4.multiply(this, a, this);
2540
+ multiply2(this, a, this);
1338
2541
  return this.check();
1339
2542
  }
1340
2543
  multiplyRight(a) {
1341
- mat4.multiply(this, this, a);
2544
+ multiply2(this, this, a);
1342
2545
  return this.check();
1343
2546
  }
1344
2547
  rotateX(radians2) {
1345
- mat4.rotateX(this, this, radians2);
2548
+ rotateX2(this, this, radians2);
1346
2549
  return this.check();
1347
2550
  }
1348
2551
  rotateY(radians2) {
1349
- mat4.rotateY(this, this, radians2);
2552
+ rotateY2(this, this, radians2);
1350
2553
  return this.check();
1351
2554
  }
1352
2555
  rotateZ(radians2) {
1353
- mat4.rotateZ(this, this, radians2);
2556
+ rotateZ2(this, this, radians2);
1354
2557
  return this.check();
1355
2558
  }
1356
2559
  rotateXYZ(angleXYZ) {
1357
2560
  return this.rotateX(angleXYZ[0]).rotateY(angleXYZ[1]).rotateZ(angleXYZ[2]);
1358
2561
  }
1359
2562
  rotateAxis(radians2, axis) {
1360
- mat4.rotate(this, this, radians2, axis);
2563
+ rotate2(this, this, radians2, axis);
1361
2564
  return this.check();
1362
2565
  }
1363
2566
  scale(factor) {
1364
- mat4.scale(this, this, Array.isArray(factor) ? factor : [factor, factor, factor]);
2567
+ scale2(this, this, Array.isArray(factor) ? factor : [factor, factor, factor]);
1365
2568
  return this.check();
1366
2569
  }
1367
2570
  translate(vector) {
1368
- mat4.translate(this, this, vector);
2571
+ translate2(this, this, vector);
1369
2572
  return this.check();
1370
2573
  }
1371
2574
  transform(vector, result) {
1372
2575
  if (vector.length === 4) {
1373
- result = vec42.transformMat4(result || [-0, -0, -0, -0], vector, this);
2576
+ result = transformMat43(result || [-0, -0, -0, -0], vector, this);
1374
2577
  checkVector(result, 4);
1375
2578
  return result;
1376
2579
  }
1377
2580
  return this.transformAsPoint(vector, result);
1378
2581
  }
1379
2582
  transformAsPoint(vector, result) {
1380
- const { length: length3 } = vector;
2583
+ const { length: length4 } = vector;
1381
2584
  let out;
1382
- switch (length3) {
2585
+ switch (length4) {
1383
2586
  case 2:
1384
- out = vec23.transformMat4(result || [-0, -0], vector, this);
2587
+ out = transformMat4(result || [-0, -0], vector, this);
1385
2588
  break;
1386
2589
  case 3:
1387
- out = vec33.transformMat4(result || [-0, -0, -0], vector, this);
2590
+ out = transformMat42(result || [-0, -0, -0], vector, this);
1388
2591
  break;
1389
2592
  default:
1390
2593
  throw new Error("Illegal vector");
@@ -1471,9 +2674,246 @@ function computeInfinitePerspectiveOffCenter(result, left, right, bottom, top, n
1471
2674
  return result;
1472
2675
  }
1473
2676
 
2677
+ // src/gl-matrix/quat.ts
2678
+ function create5() {
2679
+ const out = new ARRAY_TYPE(4);
2680
+ if (ARRAY_TYPE != Float32Array) {
2681
+ out[0] = 0;
2682
+ out[1] = 0;
2683
+ out[2] = 0;
2684
+ }
2685
+ out[3] = 1;
2686
+ return out;
2687
+ }
2688
+ function identity2(out) {
2689
+ out[0] = 0;
2690
+ out[1] = 0;
2691
+ out[2] = 0;
2692
+ out[3] = 1;
2693
+ return out;
2694
+ }
2695
+ function setAxisAngle(out, axis, rad) {
2696
+ rad = rad * 0.5;
2697
+ const s = Math.sin(rad);
2698
+ out[0] = s * axis[0];
2699
+ out[1] = s * axis[1];
2700
+ out[2] = s * axis[2];
2701
+ out[3] = Math.cos(rad);
2702
+ return out;
2703
+ }
2704
+ function multiply3(out, a, b) {
2705
+ const ax = a[0];
2706
+ const ay = a[1];
2707
+ const az = a[2];
2708
+ const aw = a[3];
2709
+ const bx = b[0];
2710
+ const by = b[1];
2711
+ const bz = b[2];
2712
+ const bw = b[3];
2713
+ out[0] = ax * bw + aw * bx + ay * bz - az * by;
2714
+ out[1] = ay * bw + aw * by + az * bx - ax * bz;
2715
+ out[2] = az * bw + aw * bz + ax * by - ay * bx;
2716
+ out[3] = aw * bw - ax * bx - ay * by - az * bz;
2717
+ return out;
2718
+ }
2719
+ function rotateX3(out, a, rad) {
2720
+ rad *= 0.5;
2721
+ const ax = a[0];
2722
+ const ay = a[1];
2723
+ const az = a[2];
2724
+ const aw = a[3];
2725
+ const bx = Math.sin(rad);
2726
+ const bw = Math.cos(rad);
2727
+ out[0] = ax * bw + aw * bx;
2728
+ out[1] = ay * bw + az * bx;
2729
+ out[2] = az * bw - ay * bx;
2730
+ out[3] = aw * bw - ax * bx;
2731
+ return out;
2732
+ }
2733
+ function rotateY3(out, a, rad) {
2734
+ rad *= 0.5;
2735
+ const ax = a[0];
2736
+ const ay = a[1];
2737
+ const az = a[2];
2738
+ const aw = a[3];
2739
+ const by = Math.sin(rad);
2740
+ const bw = Math.cos(rad);
2741
+ out[0] = ax * bw - az * by;
2742
+ out[1] = ay * bw + aw * by;
2743
+ out[2] = az * bw + ax * by;
2744
+ out[3] = aw * bw - ay * by;
2745
+ return out;
2746
+ }
2747
+ function rotateZ3(out, a, rad) {
2748
+ rad *= 0.5;
2749
+ const ax = a[0];
2750
+ const ay = a[1];
2751
+ const az = a[2];
2752
+ const aw = a[3];
2753
+ const bz = Math.sin(rad);
2754
+ const bw = Math.cos(rad);
2755
+ out[0] = ax * bw + ay * bz;
2756
+ out[1] = ay * bw - ax * bz;
2757
+ out[2] = az * bw + aw * bz;
2758
+ out[3] = aw * bw - az * bz;
2759
+ return out;
2760
+ }
2761
+ function calculateW(out, a) {
2762
+ const x = a[0];
2763
+ const y = a[1];
2764
+ const z = a[2];
2765
+ out[0] = x;
2766
+ out[1] = y;
2767
+ out[2] = z;
2768
+ out[3] = Math.sqrt(Math.abs(1 - x * x - y * y - z * z));
2769
+ return out;
2770
+ }
2771
+ function slerp(out, a, b, t) {
2772
+ const ax = a[0];
2773
+ const ay = a[1];
2774
+ const az = a[2];
2775
+ const aw = a[3];
2776
+ let bx = b[0];
2777
+ let by = b[1];
2778
+ let bz = b[2];
2779
+ let bw = b[3];
2780
+ let cosom;
2781
+ let omega;
2782
+ let scale0;
2783
+ let scale1;
2784
+ let sinom;
2785
+ cosom = ax * bx + ay * by + az * bz + aw * bw;
2786
+ if (cosom < 0) {
2787
+ cosom = -cosom;
2788
+ bx = -bx;
2789
+ by = -by;
2790
+ bz = -bz;
2791
+ bw = -bw;
2792
+ }
2793
+ if (1 - cosom > EPSILON) {
2794
+ omega = Math.acos(cosom);
2795
+ sinom = Math.sin(omega);
2796
+ scale0 = Math.sin((1 - t) * omega) / sinom;
2797
+ scale1 = Math.sin(t * omega) / sinom;
2798
+ } else {
2799
+ scale0 = 1 - t;
2800
+ scale1 = t;
2801
+ }
2802
+ out[0] = scale0 * ax + scale1 * bx;
2803
+ out[1] = scale0 * ay + scale1 * by;
2804
+ out[2] = scale0 * az + scale1 * bz;
2805
+ out[3] = scale0 * aw + scale1 * bw;
2806
+ return out;
2807
+ }
2808
+ function invert3(out, a) {
2809
+ const a0 = a[0];
2810
+ const a1 = a[1];
2811
+ const a2 = a[2];
2812
+ const a3 = a[3];
2813
+ const dot4 = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3;
2814
+ const invDot = dot4 ? 1 / dot4 : 0;
2815
+ out[0] = -a0 * invDot;
2816
+ out[1] = -a1 * invDot;
2817
+ out[2] = -a2 * invDot;
2818
+ out[3] = a3 * invDot;
2819
+ return out;
2820
+ }
2821
+ function conjugate(out, a) {
2822
+ out[0] = -a[0];
2823
+ out[1] = -a[1];
2824
+ out[2] = -a[2];
2825
+ out[3] = a[3];
2826
+ return out;
2827
+ }
2828
+ function fromMat3(out, m) {
2829
+ const fTrace = m[0] + m[4] + m[8];
2830
+ let fRoot;
2831
+ if (fTrace > 0) {
2832
+ fRoot = Math.sqrt(fTrace + 1);
2833
+ out[3] = 0.5 * fRoot;
2834
+ fRoot = 0.5 / fRoot;
2835
+ out[0] = (m[5] - m[7]) * fRoot;
2836
+ out[1] = (m[6] - m[2]) * fRoot;
2837
+ out[2] = (m[1] - m[3]) * fRoot;
2838
+ } else {
2839
+ let i = 0;
2840
+ if (m[4] > m[0])
2841
+ i = 1;
2842
+ if (m[8] > m[i * 3 + i])
2843
+ i = 2;
2844
+ const j = (i + 1) % 3;
2845
+ const k = (i + 2) % 3;
2846
+ fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1);
2847
+ out[i] = 0.5 * fRoot;
2848
+ fRoot = 0.5 / fRoot;
2849
+ out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot;
2850
+ out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot;
2851
+ out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot;
2852
+ }
2853
+ return out;
2854
+ }
2855
+ var add2 = add;
2856
+ var scale4 = scale3;
2857
+ var dot3 = dot2;
2858
+ var lerp3 = lerp2;
2859
+ var length3 = length2;
2860
+ var squaredLength2 = squaredLength;
2861
+ var normalize3 = normalize2;
2862
+ var rotationTo = function() {
2863
+ const tmpvec3 = create2();
2864
+ const xUnitVec3 = fromValues(1, 0, 0);
2865
+ const yUnitVec3 = fromValues(0, 1, 0);
2866
+ return function(out, a, b) {
2867
+ const dot4 = dot(a, b);
2868
+ if (dot4 < -0.999999) {
2869
+ cross(tmpvec3, xUnitVec3, a);
2870
+ if (len(tmpvec3) < 1e-6)
2871
+ cross(tmpvec3, yUnitVec3, a);
2872
+ normalize(tmpvec3, tmpvec3);
2873
+ setAxisAngle(out, tmpvec3, Math.PI);
2874
+ return out;
2875
+ } else if (dot4 > 0.999999) {
2876
+ out[0] = 0;
2877
+ out[1] = 0;
2878
+ out[2] = 0;
2879
+ out[3] = 1;
2880
+ return out;
2881
+ }
2882
+ cross(tmpvec3, a, b);
2883
+ out[0] = tmpvec3[0];
2884
+ out[1] = tmpvec3[1];
2885
+ out[2] = tmpvec3[2];
2886
+ out[3] = 1 + dot4;
2887
+ return normalize3(out, out);
2888
+ };
2889
+ }();
2890
+ var sqlerp = function() {
2891
+ const temp1 = create5();
2892
+ const temp2 = create5();
2893
+ return function(out, a, b, c, d, t) {
2894
+ slerp(temp1, a, d, t);
2895
+ slerp(temp2, b, c, t);
2896
+ slerp(out, temp1, temp2, 2 * t * (1 - t));
2897
+ return out;
2898
+ };
2899
+ }();
2900
+ var setAxes = function() {
2901
+ const matr = create3();
2902
+ return function(out, view, right, up) {
2903
+ matr[0] = right[0];
2904
+ matr[3] = right[1];
2905
+ matr[6] = right[2];
2906
+ matr[1] = up[0];
2907
+ matr[4] = up[1];
2908
+ matr[7] = up[2];
2909
+ matr[2] = -view[0];
2910
+ matr[5] = -view[1];
2911
+ matr[8] = -view[2];
2912
+ return normalize3(out, fromMat3(out, matr));
2913
+ };
2914
+ }();
2915
+
1474
2916
  // src/classes/quaternion.ts
1475
- var quat = __toESM(require("gl-matrix/quat"), 1);
1476
- var vec43 = __toESM(require("gl-matrix/vec4"), 1);
1477
2917
  var IDENTITY_QUATERNION = [0, 0, 0, 1];
1478
2918
  var Quaternion = class extends MathArray {
1479
2919
  constructor(x = 0, y = 0, z = 0, w = 1) {
@@ -1506,15 +2946,15 @@ var Quaternion = class extends MathArray {
1506
2946
  return this.check();
1507
2947
  }
1508
2948
  fromMatrix3(m) {
1509
- quat.fromMat3(this, m);
2949
+ fromMat3(this, m);
1510
2950
  return this.check();
1511
2951
  }
1512
2952
  fromAxisRotation(axis, rad) {
1513
- quat.setAxisAngle(this, axis, rad);
2953
+ setAxisAngle(this, axis, rad);
1514
2954
  return this.check();
1515
2955
  }
1516
2956
  identity() {
1517
- quat.identity(this);
2957
+ identity2(this);
1518
2958
  return this.check();
1519
2959
  }
1520
2960
  setAxisAngle(axis, rad) {
@@ -1548,75 +2988,75 @@ var Quaternion = class extends MathArray {
1548
2988
  this[3] = checkNumber(value);
1549
2989
  }
1550
2990
  len() {
1551
- return quat.length(this);
2991
+ return length3(this);
1552
2992
  }
1553
2993
  lengthSquared() {
1554
- return quat.squaredLength(this);
2994
+ return squaredLength2(this);
1555
2995
  }
1556
2996
  dot(a) {
1557
- return quat.dot(this, a);
2997
+ return dot3(this, a);
1558
2998
  }
1559
2999
  rotationTo(vectorA, vectorB) {
1560
- quat.rotationTo(this, vectorA, vectorB);
3000
+ rotationTo(this, vectorA, vectorB);
1561
3001
  return this.check();
1562
3002
  }
1563
3003
  add(a) {
1564
- quat.add(this, this, a);
3004
+ add2(this, this, a);
1565
3005
  return this.check();
1566
3006
  }
1567
3007
  calculateW() {
1568
- quat.calculateW(this, this);
3008
+ calculateW(this, this);
1569
3009
  return this.check();
1570
3010
  }
1571
3011
  conjugate() {
1572
- quat.conjugate(this, this);
3012
+ conjugate(this, this);
1573
3013
  return this.check();
1574
3014
  }
1575
3015
  invert() {
1576
- quat.invert(this, this);
3016
+ invert3(this, this);
1577
3017
  return this.check();
1578
3018
  }
1579
3019
  lerp(a, b, t) {
1580
3020
  if (t === void 0) {
1581
3021
  return this.lerp(this, a, b);
1582
3022
  }
1583
- quat.lerp(this, a, b, t);
3023
+ lerp3(this, a, b, t);
1584
3024
  return this.check();
1585
3025
  }
1586
3026
  multiplyRight(a) {
1587
- quat.multiply(this, this, a);
3027
+ multiply3(this, this, a);
1588
3028
  return this.check();
1589
3029
  }
1590
3030
  multiplyLeft(a) {
1591
- quat.multiply(this, a, this);
3031
+ multiply3(this, a, this);
1592
3032
  return this.check();
1593
3033
  }
1594
3034
  normalize() {
1595
- const length3 = this.len();
1596
- const l = length3 > 0 ? 1 / length3 : 0;
3035
+ const length4 = this.len();
3036
+ const l = length4 > 0 ? 1 / length4 : 0;
1597
3037
  this[0] = this[0] * l;
1598
3038
  this[1] = this[1] * l;
1599
3039
  this[2] = this[2] * l;
1600
3040
  this[3] = this[3] * l;
1601
- if (length3 === 0) {
3041
+ if (length4 === 0) {
1602
3042
  this[3] = 1;
1603
3043
  }
1604
3044
  return this.check();
1605
3045
  }
1606
3046
  rotateX(rad) {
1607
- quat.rotateX(this, this, rad);
3047
+ rotateX3(this, this, rad);
1608
3048
  return this.check();
1609
3049
  }
1610
3050
  rotateY(rad) {
1611
- quat.rotateY(this, this, rad);
3051
+ rotateY3(this, this, rad);
1612
3052
  return this.check();
1613
3053
  }
1614
3054
  rotateZ(rad) {
1615
- quat.rotateZ(this, this, rad);
3055
+ rotateZ3(this, this, rad);
1616
3056
  return this.check();
1617
3057
  }
1618
3058
  scale(b) {
1619
- quat.scale(this, this, b);
3059
+ scale4(this, this, b);
1620
3060
  return this.check();
1621
3061
  }
1622
3062
  slerp(arg0, arg1, arg2) {
@@ -1641,11 +3081,11 @@ var Quaternion = class extends MathArray {
1641
3081
  target = arg1;
1642
3082
  ratio = arg2;
1643
3083
  }
1644
- quat.slerp(this, start, target, ratio);
3084
+ slerp(this, start, target, ratio);
1645
3085
  return this.check();
1646
3086
  }
1647
3087
  transformVector4(vector, result = new Vector4()) {
1648
- vec43.transformQuat(result, vector, this);
3088
+ transformQuat2(result, vector, this);
1649
3089
  return checkVector(result, 4);
1650
3090
  }
1651
3091
  lengthSq() {
@@ -1663,8 +3103,7 @@ var Quaternion = class extends MathArray {
1663
3103
  };
1664
3104
 
1665
3105
  // src/classes/spherical-coordinates.ts
1666
- var vec34 = __toESM(require("gl-matrix/vec3"), 1);
1667
- var EPSILON = 1e-6;
3106
+ var EPSILON2 = 1e-6;
1668
3107
  var EARTH_RADIUS_METERS = 6371e3;
1669
3108
  var SphericalCoordinates = class {
1670
3109
  constructor({
@@ -1750,7 +3189,7 @@ var SphericalCoordinates = class {
1750
3189
  return this.check();
1751
3190
  }
1752
3191
  fromVector3(v) {
1753
- this.radius = vec34.length(v);
3192
+ this.radius = length(v);
1754
3193
  if (this.radius > 0) {
1755
3194
  this.theta = Math.atan2(v[0], v[1]);
1756
3195
  this.phi = Math.acos(clamp(v[2] / this.radius, -1, 1));
@@ -1761,7 +3200,7 @@ var SphericalCoordinates = class {
1761
3200
  return new Vector3(0, 0, this.radius).rotateX({ radians: this.theta }).rotateZ({ radians: this.phi });
1762
3201
  }
1763
3202
  makeSafe() {
1764
- this.phi = Math.max(EPSILON, Math.min(Math.PI - EPSILON, this.phi));
3203
+ this.phi = Math.max(EPSILON2, Math.min(Math.PI - EPSILON2, this.phi));
1765
3204
  return this;
1766
3205
  }
1767
3206
  check() {
@@ -1982,7 +3421,7 @@ var Euler = class extends MathArray {
1982
3421
  }
1983
3422
  getQuaternion() {
1984
3423
  const q = new Quaternion();
1985
- switch (this[4]) {
3424
+ switch (this[3]) {
1986
3425
  case 5 /* XYZ */:
1987
3426
  return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
1988
3427
  case 1 /* YXZ */:
@@ -2307,29 +3746,54 @@ var Pose = class {
2307
3746
  };
2308
3747
 
2309
3748
  // 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
- };
3749
+ var math_utils_exports = {};
3750
+ __export(math_utils_exports, {
3751
+ EPSILON1: () => EPSILON1,
3752
+ EPSILON10: () => EPSILON10,
3753
+ EPSILON11: () => EPSILON11,
3754
+ EPSILON12: () => EPSILON12,
3755
+ EPSILON13: () => EPSILON13,
3756
+ EPSILON14: () => EPSILON14,
3757
+ EPSILON15: () => EPSILON15,
3758
+ EPSILON16: () => EPSILON16,
3759
+ EPSILON17: () => EPSILON17,
3760
+ EPSILON18: () => EPSILON18,
3761
+ EPSILON19: () => EPSILON19,
3762
+ EPSILON2: () => EPSILON22,
3763
+ EPSILON20: () => EPSILON20,
3764
+ EPSILON3: () => EPSILON3,
3765
+ EPSILON4: () => EPSILON4,
3766
+ EPSILON5: () => EPSILON5,
3767
+ EPSILON6: () => EPSILON6,
3768
+ EPSILON7: () => EPSILON7,
3769
+ EPSILON8: () => EPSILON8,
3770
+ EPSILON9: () => EPSILON9,
3771
+ PI_OVER_FOUR: () => PI_OVER_FOUR,
3772
+ PI_OVER_SIX: () => PI_OVER_SIX,
3773
+ PI_OVER_TWO: () => PI_OVER_TWO,
3774
+ TWO_PI: () => TWO_PI
3775
+ });
3776
+ var EPSILON1 = 0.1;
3777
+ var EPSILON22 = 0.01;
3778
+ var EPSILON3 = 1e-3;
3779
+ var EPSILON4 = 1e-4;
3780
+ var EPSILON5 = 1e-5;
3781
+ var EPSILON6 = 1e-6;
3782
+ var EPSILON7 = 1e-7;
3783
+ var EPSILON8 = 1e-8;
3784
+ var EPSILON9 = 1e-9;
3785
+ var EPSILON10 = 1e-10;
3786
+ var EPSILON11 = 1e-11;
3787
+ var EPSILON12 = 1e-12;
3788
+ var EPSILON13 = 1e-13;
3789
+ var EPSILON14 = 1e-14;
3790
+ var EPSILON15 = 1e-15;
3791
+ var EPSILON16 = 1e-16;
3792
+ var EPSILON17 = 1e-17;
3793
+ var EPSILON18 = 1e-18;
3794
+ var EPSILON19 = 1e-19;
3795
+ var EPSILON20 = 1e-20;
3796
+ var PI_OVER_TWO = Math.PI / 2;
3797
+ var PI_OVER_FOUR = Math.PI / 4;
3798
+ var PI_OVER_SIX = Math.PI / 6;
3799
+ var TWO_PI = Math.PI * 2;