@woosh/meep-engine 2.119.131 → 2.120.0

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 (164) hide show
  1. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +1 -1
  2. package/package.json +1 -1
  3. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  4. package/src/core/bvh2/bvh3/BVH.js +6 -29
  5. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +1 -1
  6. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts +2 -2
  7. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
  8. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +11 -3
  9. package/src/core/collection/RingBuffer.d.ts +5 -0
  10. package/src/core/collection/RingBuffer.d.ts.map +1 -1
  11. package/src/core/collection/RingBuffer.js +12 -2
  12. package/src/core/collection/list/List.js +1 -1
  13. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  14. package/src/core/collection/map/HashMap.js +13 -0
  15. package/src/core/color/Color.d.ts.map +1 -1
  16. package/src/core/color/Color.js +1 -2
  17. package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
  18. package/src/core/color/oklab/linear_srgb_to_okhsv.js +15 -4
  19. package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts.map +1 -1
  20. package/src/core/color/oklab/okhsv_to_linear_srgb.js +8 -1
  21. package/src/core/color/operations/color_darken.d.ts.map +1 -1
  22. package/src/core/color/operations/color_darken.js +6 -1
  23. package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +1 -0
  24. package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.js → mat4/apply_mat4_transform_to_direction_v3_array.js} +1 -1
  25. package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +1 -0
  26. package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +1 -0
  27. package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +1 -0
  28. package/src/core/geom/3d/{decompose_matrix_4_array.js → mat4/decompose_matrix_4_array.js} +1 -1
  29. package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +1 -0
  30. package/src/core/geom/3d/{eulerAnglesFromMatrix.js → mat4/eulerAnglesFromMatrix.js} +1 -1
  31. package/src/core/geom/3d/mat4/m4_extract_scale.d.ts.map +1 -0
  32. package/src/core/geom/3d/{m4_extract_scale.js → mat4/m4_extract_scale.js} +1 -1
  33. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -0
  34. package/src/core/geom/3d/{Ray3.js → ray/Ray3.js} +8 -8
  35. package/src/core/geom/3d/shape/TransformedShape3D.js +1 -1
  36. package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +1 -0
  37. package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.js → sphere/compute_bounding_sphere_of_2_spheres.js} +3 -3
  38. package/src/core/geom/3d/tetrahedra/triangle/trace_triangular_depth_map.js +1 -1
  39. package/src/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +1 -1
  40. package/src/core/geom/3d/topology/struct/TopoTriangle.js +1 -1
  41. package/src/core/geom/3d/topology/tm_face_normal.js +1 -1
  42. package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +1 -1
  43. package/src/core/geom/3d/triangle/aabb3_compute_from_triangle.d.ts.map +1 -0
  44. package/src/core/geom/3d/{aabb3_compute_from_triangle.js → triangle/aabb3_compute_from_triangle.js} +2 -2
  45. package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +1 -0
  46. package/src/core/geom/3d/{compute_triangle_normal.js → triangle/compute_triangle_normal.js} +1 -1
  47. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +13 -13
  48. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +21 -21
  49. package/src/core/geom/Quaternion.d.ts.map +1 -1
  50. package/src/core/geom/Quaternion.js +18 -3
  51. package/src/core/geom/Vector3.d.ts.map +1 -1
  52. package/src/core/geom/Vector3.js +3 -2
  53. package/src/core/geom/packing/miniball/Miniball.d.ts.map +1 -1
  54. package/src/core/geom/packing/miniball/Miniball.js +9 -5
  55. package/src/core/geom/packing/miniball/Subspan.d.ts +8 -7
  56. package/src/core/geom/packing/miniball/Subspan.d.ts.map +1 -1
  57. package/src/core/geom/packing/miniball/Subspan.js +42 -52
  58. package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts +6 -5
  59. package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts.map +1 -1
  60. package/src/core/geom/vec2/v2_bearing_angle_towards.js +12 -11
  61. package/src/core/geom/vec2/v2_distance.d.ts +6 -6
  62. package/src/core/geom/vec2/v2_distance.js +6 -6
  63. package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +1 -0
  64. package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.js +1 -1
  65. package/src/core/geom/vec3/v3_distance_above_plane.d.ts +8 -8
  66. package/src/core/geom/vec3/v3_distance_above_plane.d.ts.map +1 -1
  67. package/src/core/geom/vec3/v3_distance_above_plane.js +9 -9
  68. package/src/core/geom/vec3/v3_slerp.d.ts +11 -9
  69. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  70. package/src/core/geom/vec3/v3_slerp.js +8 -8
  71. package/src/core/math/PI.d.ts +6 -0
  72. package/src/core/math/PI.d.ts.map +1 -0
  73. package/src/core/math/PI.js +5 -0
  74. package/src/core/math/linalg/lu_factor_linear_system.d.ts +6 -6
  75. package/src/core/math/linalg/lu_factor_linear_system.d.ts.map +1 -1
  76. package/src/core/math/linalg/lu_factor_linear_system.js +11 -6
  77. package/src/core/math/linalg/lu_solve_linear_system.d.ts +8 -8
  78. package/src/core/math/linalg/lu_solve_linear_system.d.ts.map +1 -1
  79. package/src/core/math/linalg/lu_solve_linear_system.js +11 -9
  80. package/src/core/math/random/randomGaussian.d.ts +2 -2
  81. package/src/core/math/random/randomGaussian.d.ts.map +1 -1
  82. package/src/core/math/random/randomGaussian.js +1 -1
  83. package/src/engine/animation/Tween.d.ts +27 -0
  84. package/src/engine/animation/Tween.d.ts.map +1 -0
  85. package/src/engine/animation/Tween.js +61 -52
  86. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts +7 -1
  87. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts.map +1 -1
  88. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js +6 -0
  89. package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts +5 -1
  90. package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts.map +1 -1
  91. package/src/engine/animation/curve/binding/BoundQuaternionWriter.js +4 -0
  92. package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts +5 -1
  93. package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts.map +1 -1
  94. package/src/engine/animation/curve/binding/BoundVector3Writer.js +4 -0
  95. package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
  96. package/src/engine/development/performance/MetricCollection.js +6 -7
  97. package/src/engine/ecs/System.d.ts +1 -0
  98. package/src/engine/ecs/animation/Animation.d.ts +5 -0
  99. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  100. package/src/engine/ecs/animation/Animation.js +14 -1
  101. package/src/engine/ecs/animation/AnimationClip.d.ts +6 -0
  102. package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
  103. package/src/engine/ecs/animation/AnimationClip.js +34 -22
  104. package/src/engine/ecs/guid/UUID.d.ts +4 -0
  105. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  106. package/src/engine/ecs/guid/UUID.js +4 -0
  107. package/src/engine/ecs/transform/Transform.js +2 -2
  108. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +1 -1
  109. package/src/engine/graphics/ecs/highlight/Highlight.d.ts.map +1 -1
  110. package/src/engine/graphics/ecs/highlight/Highlight.js +4 -0
  111. package/src/engine/graphics/geometry/bvh/buffered/bvh32_set_leaf_from_triangle.js +1 -1
  112. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +1 -1
  113. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1 -1
  114. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +1 -1
  115. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +1 -1
  116. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +1 -1
  117. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +1 -1
  118. package/src/engine/graphics/sh3/lpv/depth/sh3_bake_depth.js +1 -1
  119. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  120. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  121. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +2 -2
  122. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +1 -1
  123. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
  124. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +1 -1
  125. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +1 -1
  126. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
  127. package/src/engine/graphics/sh3/path_tracer/PathTracer.js +1 -1
  128. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +1 -1
  129. package/src/engine/graphics/sh3/prototypeSH3Probe.js +1 -1
  130. package/src/engine/graphics/util/composeMatrix4.js +1 -1
  131. package/src/engine/physics/computeInterceptPoint.d.ts +11 -1
  132. package/src/engine/physics/computeInterceptPoint.d.ts.map +1 -1
  133. package/src/engine/physics/computeInterceptPoint.js +29 -12
  134. package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts.map +1 -1
  135. package/src/engine/physics/gjk/expanding_polytope_algorithm.js +19 -59
  136. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +3 -2
  137. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  138. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -2
  139. package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts.map +1 -1
  140. package/src/engine/physics/inverse_kinematics/two_joint_ik.js +1 -1
  141. package/src/core/geom/3d/Ray3.d.ts.map +0 -1
  142. package/src/core/geom/3d/aabb3_compute_from_triangle.d.ts.map +0 -1
  143. package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
  144. package/src/core/geom/3d/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
  145. package/src/core/geom/3d/compose_matrix4_array.d.ts.map +0 -1
  146. package/src/core/geom/3d/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
  147. package/src/core/geom/3d/compute_triangle_normal.d.ts.map +0 -1
  148. package/src/core/geom/3d/decompose_matrix_4_array.d.ts.map +0 -1
  149. package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts.map +0 -1
  150. package/src/core/geom/3d/m4_extract_scale.d.ts.map +0 -1
  151. package/src/core/geom/3d/v3_compute_interior_angle.d.ts.map +0 -1
  152. /package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.d.ts → mat4/apply_mat4_transform_to_direction_v3_array.d.ts} +0 -0
  153. /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.d.ts → mat4/apply_mat4_transform_to_v3_array.d.ts} +0 -0
  154. /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.js → mat4/apply_mat4_transform_to_v3_array.js} +0 -0
  155. /package/src/core/geom/3d/{compose_matrix4_array.d.ts → mat4/compose_matrix4_array.d.ts} +0 -0
  156. /package/src/core/geom/3d/{compose_matrix4_array.js → mat4/compose_matrix4_array.js} +0 -0
  157. /package/src/core/geom/3d/{decompose_matrix_4_array.d.ts → mat4/decompose_matrix_4_array.d.ts} +0 -0
  158. /package/src/core/geom/3d/{eulerAnglesFromMatrix.d.ts → mat4/eulerAnglesFromMatrix.d.ts} +0 -0
  159. /package/src/core/geom/3d/{m4_extract_scale.d.ts → mat4/m4_extract_scale.d.ts} +0 -0
  160. /package/src/core/geom/3d/{Ray3.d.ts → ray/Ray3.d.ts} +0 -0
  161. /package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.d.ts → sphere/compute_bounding_sphere_of_2_spheres.d.ts} +0 -0
  162. /package/src/core/geom/3d/{aabb3_compute_from_triangle.d.ts → triangle/aabb3_compute_from_triangle.d.ts} +0 -0
  163. /package/src/core/geom/3d/{compute_triangle_normal.d.ts → triangle/compute_triangle_normal.d.ts} +0 -0
  164. /package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.d.ts +0 -0
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Factor linear equations Ax = b using LU decomposition A = LU where L is
3
- * lower triangular matrix and U is upper triangular matrix. Input is
4
- * square matrix A, integer array of pivot indices index[0->n-1], and size
5
- * of square matrix n. Output factorization LU is in matrix A. If error is
6
- * found, method returns 0.
2
+ * Factor linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix.
3
+ * Input is square matrix A, integer array of pivot indices index[0->n-1], and size of square matrix n.
4
+ * Output factorization LU is in matrix A.
5
+ * If error is found, method returns false.
6
+ *
7
7
  * @param {number[]} A Square matrix, will be modified
8
8
  * @param {number[]|Uint32Array} index will be written to
9
9
  * @param {number} size Size of the matrix ( 4x4 matrix has size 4 )
10
- * @returns {boolean}
10
+ * @returns {boolean} true if factorization succeeded, false otherwise
11
11
  */
12
12
  export function lu_factor_linear_system(A: number[], index: number[] | Uint32Array, size: number): boolean;
13
13
  //# sourceMappingURL=lu_factor_linear_system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lu_factor_linear_system.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/linalg/lu_factor_linear_system.js"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,2CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAAC,WAAW,QACpB,MAAM,GACJ,OAAO,CA+FnB"}
1
+ {"version":3,"file":"lu_factor_linear_system.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/linalg/lu_factor_linear_system.js"],"names":[],"mappings":"AAYA;;;;;;;;;;GAUG;AACH,2CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAAC,WAAW,QACpB,MAAM,GACJ,OAAO,CA+FnB"}
@@ -1,20 +1,25 @@
1
1
  import { assert } from "../../assert.js";
2
2
 
3
+ /**
4
+ * Error bound during calculations, must be something reasonably large to avoid floating point rounding errors
5
+ * @type {number}
6
+ */
3
7
  const SMALL_NUMBER = 1e-12;
4
8
 
5
9
  const SCRATCH_SIZE = 16;
10
+ // avoid allocation for smaller systems by using a scratch
6
11
  const scratch = new Float64Array(SCRATCH_SIZE);
7
12
 
8
13
  /**
9
- * Factor linear equations Ax = b using LU decomposition A = LU where L is
10
- * lower triangular matrix and U is upper triangular matrix. Input is
11
- * square matrix A, integer array of pivot indices index[0->n-1], and size
12
- * of square matrix n. Output factorization LU is in matrix A. If error is
13
- * found, method returns 0.
14
+ * Factor linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix.
15
+ * Input is square matrix A, integer array of pivot indices index[0->n-1], and size of square matrix n.
16
+ * Output factorization LU is in matrix A.
17
+ * If error is found, method returns false.
18
+ *
14
19
  * @param {number[]} A Square matrix, will be modified
15
20
  * @param {number[]|Uint32Array} index will be written to
16
21
  * @param {number} size Size of the matrix ( 4x4 matrix has size 4 )
17
- * @returns {boolean}
22
+ * @returns {boolean} true if factorization succeeded, false otherwise
18
23
  */
19
24
  export function lu_factor_linear_system(A, index, size) {
20
25
  assert.isNonNegativeInteger(size,'size');
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Solve linear equations Ax = b using LU decomposition A = LU where L is
3
- * lower triangular matrix and U is upper triangular matrix. Input is
4
- * factored matrix A=LU, integer array of pivot indices index[0->n-1],
5
- * load vector x[0->n-1], and size of square matrix n. Note that A=LU and
6
- * index[] are generated from method LUFactorLinearSystem). Also, solution
7
- * vector is written directly over input load vector.
8
- * @param {number[]} A Square matrix
2
+ * Assumes the system is factorized already. Use {@link lu_factor_linear_system} before if it isn't
3
+ * Solve linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix.
4
+ * Input is factored matrix A=LU, integer array of pivot indices index[0->n-1], load vector x[0->n-1], and size of square matrix n.
5
+ * Note that A=LU and index[] are generated from method LUFactorLinearSystem.
6
+ * Also, solution vector is written directly over input load vector.
7
+ *
8
+ * @param {number[]} A Square matrix (flattened)
9
9
  * @param {number[]|Uint32Array} index
10
- * @param {number[]} x
10
+ * @param {number[]} x Load vector
11
11
  * @param {number} size matrix size ( 4x4 matrix has size 4)
12
12
  */
13
13
  export function lu_solve_linear_system(A: number[], index: number[] | Uint32Array, x: number[], size: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"lu_solve_linear_system.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/linalg/lu_solve_linear_system.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,0CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAAC,WAAW,KACpB,MAAM,EAAE,QACR,MAAM,QAsChB"}
1
+ {"version":3,"file":"lu_solve_linear_system.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/linalg/lu_solve_linear_system.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,0CALW,MAAM,EAAE,SACR,MAAM,EAAE,GAAC,WAAW,KACpB,MAAM,EAAE,QACR,MAAM,QAwChB"}
@@ -1,15 +1,15 @@
1
1
  import { assert } from "../../assert.js";
2
2
 
3
3
  /**
4
- * Solve linear equations Ax = b using LU decomposition A = LU where L is
5
- * lower triangular matrix and U is upper triangular matrix. Input is
6
- * factored matrix A=LU, integer array of pivot indices index[0->n-1],
7
- * load vector x[0->n-1], and size of square matrix n. Note that A=LU and
8
- * index[] are generated from method LUFactorLinearSystem). Also, solution
9
- * vector is written directly over input load vector.
10
- * @param {number[]} A Square matrix
4
+ * Assumes the system is factorized already. Use {@link lu_factor_linear_system} before if it isn't
5
+ * Solve linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix.
6
+ * Input is factored matrix A=LU, integer array of pivot indices index[0->n-1], load vector x[0->n-1], and size of square matrix n.
7
+ * Note that A=LU and index[] are generated from method LUFactorLinearSystem.
8
+ * Also, solution vector is written directly over input load vector.
9
+ *
10
+ * @param {number[]} A Square matrix (flattened)
11
11
  * @param {number[]|Uint32Array} index
12
- * @param {number[]} x
12
+ * @param {number[]} x Load vector
13
13
  * @param {number} size matrix size ( 4x4 matrix has size 4)
14
14
  */
15
15
  export function lu_solve_linear_system(A, index, x, size) {
@@ -19,7 +19,9 @@ export function lu_solve_linear_system(A, index, x, size) {
19
19
 
20
20
  let sum;
21
21
 
22
- // Proceed with forward and back-substitution for L and U matrices. First, forward substitution.
22
+ // Proceed with forward and back-substitution for L and U matrices.
23
+
24
+ // First, forward substitution.
23
25
  for (; i < size; ++i) {
24
26
  const idx = index[i];
25
27
  sum = x[idx];
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Returns a random number within a normal distribution (Bell/Gaussian curve)
3
- * @param {int} [quality=6] controls number of "die rolls" used to approximate curve, more rolls - better approximation but higher cost of computation
3
+ * @param {number} [quality=6] controls number of "die rolls" used to approximate curve, more rolls - better approximation but higher cost of computation
4
4
  * @param {function():number} random
5
5
  * @returns {number} value between 0 and 1 with normal weight at 0.5
6
6
  */
7
- export function randomGaussian(random: () => number, quality?: int): number;
7
+ export function randomGaussian(random: () => number, quality?: number): number;
8
8
  //# sourceMappingURL=randomGaussian.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"randomGaussian.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/random/randomGaussian.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,uCAHW,MAAW,MAAM,YADjB,GAAG,GAED,MAAM,CAUlB"}
1
+ {"version":3,"file":"randomGaussian.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/random/randomGaussian.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,uCAHW,MAAW,MAAM,YADjB,MAAM,GAEJ,MAAM,CAUlB"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Returns a random number within a normal distribution (Bell/Gaussian curve)
3
- * @param {int} [quality=6] controls number of "die rolls" used to approximate curve, more rolls - better approximation but higher cost of computation
3
+ * @param {number} [quality=6] controls number of "die rolls" used to approximate curve, more rolls - better approximation but higher cost of computation
4
4
  * @param {function():number} random
5
5
  * @returns {number} value between 0 and 1 with normal weight at 0.5
6
6
  */
@@ -0,0 +1,27 @@
1
+ export default Tween;
2
+ declare class Tween {
3
+ /**
4
+ *
5
+ * @param {function(value:number, timeDelta:number)} callback
6
+ * @param {number} valueStart
7
+ * @param {number} valueEnd
8
+ * @param {number} duration time in seconds
9
+ * @param {function(fraction:number):number} [formula=TransitionFunctions.Linear]
10
+ * @param {boolean} [oscillate=false]
11
+ */
12
+ constructor(callback: any, valueStart: number, valueEnd: number, duration: number, formula?: (x: number) => number, oscillate?: boolean);
13
+ timeElapsed: number;
14
+ on: {
15
+ ended: Signal<any, any, any, any, any, any, any, any>;
16
+ };
17
+ oscillate: boolean;
18
+ formula: (x: number) => number;
19
+ script: Script;
20
+ destroy(): void;
21
+ build(em: any): any;
22
+ entityManager: any;
23
+ entity: any;
24
+ }
25
+ import Signal from "../../core/events/signal/Signal.js";
26
+ import Script from "../ecs/components/Script.js";
27
+ //# sourceMappingURL=Tween.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tween.d.ts","sourceRoot":"","sources":["../../../../src/engine/animation/Tween.js"],"names":[],"mappings":";AAIA;IAOI;;;;;;;;OAQG;IACH,uCANW,MAAM,YACN,MAAM,YACN,MAAM,+CAEN,OAAO,EAsCjB;IAnDD,oBAAgB;IAEhB;;MAEE;IAoBE,mBAA0B;IAC1B,+BAAsB;IAGtB,eAsBE;IAGN,gBAEC;IAED,oBAKC;IAJG,mBAAuB;IACvB,YAA+B;CAItC;mBApEkB,oCAAoC;mBACpC,6BAA6B"}
@@ -2,62 +2,71 @@ import Signal from "../../core/events/signal/Signal.js";
2
2
  import Script from "../ecs/components/Script.js";
3
3
  import TransitionFunctions from "./TransitionFunctions.js";
4
4
 
5
- /**
6
- *
7
- * @param {function(value:number, timeDelta:number)} callback
8
- * @param {number} valueStart
9
- * @param {number} valueEnd
10
- * @param {number} duration time in seconds
11
- * @param {function(fraction:number):number} [formula=TransitionFunctions.Linear]
12
- * @param {boolean} [oscillate=false]
13
- * @constructor
14
- */
15
- const Tween = function (callback, valueStart, valueEnd, duration, formula, oscillate) {
16
- const self = this;
17
-
18
- this.valueStart = valueStart;
19
- this.valueEnd = valueEnd;
20
- this.timeElapsed = 0;
21
- this.oscillate = oscillate !== undefined ? oscillate : false;
22
- this.formula = typeof (formula) === "function" ? formula : TransitionFunctions.Linear;
23
- this.on = {
5
+ class Tween {
6
+ timeElapsed = 0;
7
+
8
+ on = {
24
9
  ended: new Signal()
25
10
  };
26
11
 
27
- const valueRange = valueEnd - valueStart;
28
- this.script = new Script(function (timeDelta) {
29
- self.timeElapsed += timeDelta;
30
- const timeElapsed = self.timeElapsed;
31
-
32
- const cycleWhole = Math.floor(timeElapsed / duration);
33
- const cycleFraction = (timeElapsed % duration) / duration;
34
- let state = cycleFraction;
35
- if (self.oscillate) {
36
- if (cycleWhole % 2 === 1) {
37
- state = 1 - cycleFraction;
38
- }
39
- } else {
40
- if (cycleWhole > 0) {
41
- state = 1;
42
- self.on.ended.dispatch();
43
- //remove self
44
- self.destroy();
12
+ /**
13
+ *
14
+ * @param {function(value:number, timeDelta:number)} callback
15
+ * @param {number} valueStart
16
+ * @param {number} valueEnd
17
+ * @param {number} duration time in seconds
18
+ * @param {function(fraction:number):number} [formula=TransitionFunctions.Linear]
19
+ * @param {boolean} [oscillate=false]
20
+ */
21
+ constructor(
22
+ callback,
23
+ valueStart,
24
+ valueEnd,
25
+ duration,
26
+ formula = TransitionFunctions.Linear,
27
+ oscillate = false
28
+ ) {
29
+
30
+ this.oscillate = oscillate;
31
+ this.formula = formula;
32
+
33
+ const valueRange = valueEnd - valueStart;
34
+ this.script = new Script( (timeDelta) => {
35
+ this.timeElapsed += timeDelta;
36
+ const timeElapsed = this.timeElapsed;
37
+
38
+ const cycleWhole = Math.floor(timeElapsed / duration);
39
+ const cycleFraction = (timeElapsed % duration) / duration;
40
+ let state = cycleFraction;
41
+ if (this.oscillate) {
42
+ if (cycleWhole % 2 === 1) {
43
+ state = 1 - cycleFraction;
44
+ }
45
+ } else {
46
+ if (cycleWhole > 0) {
47
+ state = 1;
48
+ this.on.ended.dispatch();
49
+ //remove self
50
+ this.destroy();
51
+ }
45
52
  }
46
- }
47
- const y = self.formula(state);
48
- const value = y * valueRange + valueStart;
49
- callback(value, timeDelta);
50
- });
51
- };
52
- Tween.prototype.destroy = function () {
53
- this.entityManager.removeEntity(this.entity);
54
- };
55
- Tween.prototype.build = function (em) {
56
- this.entityManager = em;
57
- this.entity = em.createEntity();
58
- em.addComponentToEntity(this.entity, this.script);
59
- return this.entity;
60
- };
53
+ const y = this.formula(state);
54
+ const value = y * valueRange + valueStart;
55
+ callback(value, timeDelta);
56
+ });
57
+ }
58
+
59
+ destroy() {
60
+ this.entityManager.removeEntity(this.entity);
61
+ }
62
+
63
+ build(em) {
64
+ this.entityManager = em;
65
+ this.entity = em.createEntity();
66
+ em.addComponentToEntity(this.entity, this.script);
67
+ return this.entity;
68
+ }
69
+ }
61
70
 
62
71
 
63
72
  export default Tween;
@@ -1,6 +1,12 @@
1
1
  export class BoundPlainNumericPropertyWriter extends BoundValueWriter {
2
+ /**
3
+ * @type {Object}
4
+ */
2
5
  parent: any;
3
- property_name: any;
6
+ /**
7
+ * @type {string}
8
+ */
9
+ property_name: string;
4
10
  bind(root: any, path: any): void;
5
11
  write(data: any): void;
6
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BoundPlainNumericPropertyWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js"],"names":[],"mappings":"AAGA;IACI,YAAO;IACP,mBAAc;IAEd,iCAGC;IAED,uBAEC;CACJ;iCAdgC,uBAAuB"}
1
+ {"version":3,"file":"BoundPlainNumericPropertyWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js"],"names":[],"mappings":"AAGA;IACI;;OAEG;IACH,YAAO;IACP;;OAEG;IACH,eAFU,MAAM,CAEF;IAEd,iCAGC;IAED,uBAEC;CACJ;iCApBgC,uBAAuB"}
@@ -2,7 +2,13 @@ import { resolvePathByArray } from "../../../../core/json/resolvePathByArray.js"
2
2
  import { BoundValueWriter } from "./BoundValueWriter.js";
3
3
 
4
4
  export class BoundPlainNumericPropertyWriter extends BoundValueWriter {
5
+ /**
6
+ * @type {Object}
7
+ */
5
8
  parent;
9
+ /**
10
+ * @type {string}
11
+ */
6
12
  property_name;
7
13
 
8
14
  bind(root, path) {
@@ -1,5 +1,9 @@
1
1
  export class BoundQuaternionWriter extends BoundValueWriter {
2
- constructor(quaternion: any);
2
+ /**
3
+ *
4
+ * @param {Quaternion} quaternion
5
+ */
6
+ constructor(quaternion: Quaternion);
3
7
  write(data: any): void;
4
8
  #private;
5
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BoundQuaternionWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundQuaternionWriter.js"],"names":[],"mappings":"AAEA;IAOI,6BAIC;IAED,uBAGC;;CACJ;iCAnBgC,uBAAuB"}
1
+ {"version":3,"file":"BoundQuaternionWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundQuaternionWriter.js"],"names":[],"mappings":"AAEA;IAOI;;;OAGG;IACH,wBAFW,UAAU,EAMpB;IAED,uBAGC;;CACJ;iCAvBgC,uBAAuB"}
@@ -7,6 +7,10 @@ export class BoundQuaternionWriter extends BoundValueWriter {
7
7
  */
8
8
  #quaternion = null
9
9
 
10
+ /**
11
+ *
12
+ * @param {Quaternion} quaternion
13
+ */
10
14
  constructor(quaternion) {
11
15
  super();
12
16
 
@@ -1,5 +1,9 @@
1
1
  export class BoundVector3Writer extends BoundValueWriter {
2
- constructor(vector: any);
2
+ /**
3
+ *
4
+ * @param {Vector3} vector
5
+ */
6
+ constructor(vector: Vector3);
3
7
  write(data: any): void;
4
8
  #private;
5
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BoundVector3Writer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundVector3Writer.js"],"names":[],"mappings":"AAEA;IAOI,yBAIC;IAED,uBAEC;;CACJ;iCAlBgC,uBAAuB"}
1
+ {"version":3,"file":"BoundVector3Writer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundVector3Writer.js"],"names":[],"mappings":"AAEA;IAOI;;;OAGG;IACH,oBAFW,OAAO,EAMjB;IAED,uBAEC;;CACJ;iCAtBgC,uBAAuB"}
@@ -7,6 +7,10 @@ export class BoundVector3Writer extends BoundValueWriter {
7
7
  */
8
8
  #vector = null
9
9
 
10
+ /**
11
+ *
12
+ * @param {Vector3} vector
13
+ */
10
14
  constructor(vector) {
11
15
  super();
12
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"MetricCollection.d.ts","sourceRoot":"","sources":["../../../../../src/engine/development/performance/MetricCollection.js"],"names":[],"mappings":"AAGA;IAEQ;;;OAGG;IACH,aAAqB;IAGzB,cAIC;IAED;;;OAGG;IACH,QAFa,MAAM,EAAE,CAIpB;IAED;;;;;OAKG;IACH,8BAJW,MAAM,GAEJ,cAAc,CAQ1B;IAED;;;;OAIG;IACH,UAHW,MAAM,UACN,cAAc,QAMxB;IAED;;;;OAIG;IACH,UAHW,MAAM,GACJ,cAAc,GAAC,SAAS,CAIpC;CACJ"}
1
+ {"version":3,"file":"MetricCollection.d.ts","sourceRoot":"","sources":["../../../../../src/engine/development/performance/MetricCollection.js"],"names":[],"mappings":"AAGA;IAEI;;;OAGG;IACH,aAAiB;IAEjB,cAIC;IAED;;;OAGG;IACH,QAFa,MAAM,EAAE,CAIpB;IAED;;;;;OAKG;IACH,8BAJW,MAAM,GAEJ,cAAc,CAQ1B;IAED;;;;OAIG;IACH,UAHW,MAAM,UACN,cAAc,QAMxB;IAED;;;;OAIG;IACH,UAHW,MAAM,GACJ,cAAc,GAAC,SAAS,CAIpC;CACJ"}
@@ -2,13 +2,12 @@ import { assert } from "../../../core/assert.js";
2
2
  import { RingBufferMetric } from "./RingBufferMetric.js";
3
3
 
4
4
  export class MetricCollection {
5
- constructor() {
6
- /**
7
- * @private
8
- * @type {Map<string, AbstractMetric>}
9
- */
10
- this.data = new Map();
11
- }
5
+
6
+ /**
7
+ * @private
8
+ * @type {Map<string, AbstractMetric>}
9
+ */
10
+ data = new Map();
12
11
 
13
12
  clear() {
14
13
  this.data.forEach((value, key) => {
@@ -23,6 +23,7 @@ export class System<A, B = any, C = any, D = any, E = any> {
23
23
 
24
24
  unlink(a: A, entity: number): void
25
25
  unlink(a: A, b: B, entity: number): void
26
+ unlink(a: A, b: B, c: C, entity: number): void
26
27
  unlink(a: A, b: B, c: C, d: D, entity: number): void
27
28
  unlink(a: A, b: B, c: C, d: D, e: E, entity: number): void
28
29
 
@@ -81,6 +81,11 @@ export class Animation {
81
81
  clips: any;
82
82
  debtTime: number;
83
83
  };
84
+ /**
85
+ * @readonly
86
+ * @type {boolean}
87
+ */
88
+ readonly isAnimation: boolean;
84
89
  }
85
90
  export namespace Animation {
86
91
  let typeName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/animation/Animation.js"],"names":[],"mappings":"AAMA;;GAEG;AACH;IAkHI;;;;OAIG;IACH,4BAFa,SAAS,CAMrB;IA1HD;;;;;OAKG;IACH,0BAwBC;IAvBG;;;OAGG;IACH,OAFU,IAAI,CAAC,aAAa,CAAC,CAEN;IAEvB,iBAAiB;IAMjB;;;OAGG;IACH,iBAFU,MAAM,GAAC,IAAI,CAEJ;IAEjB;;;OAGG;IACH,OAFU,MAAM,CAEoD;IAWxE;;;OAGG;IACH,iBAFW,OAAO,EAIjB;IAdD;;;OAGG;IACH,iBAFY,OAAO,CAIlB;IAUD;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,SACrB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,SAAS,GACP,OAAO,CASnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAOlB;IAaD,0BAYC;IAED;;;MAKC;CAEJ;;;;iBA1JgB,uCAAuC;8BAE1B,oBAAoB;+BACnB,qBAAqB"}
1
+ {"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/animation/Animation.js"],"names":[],"mappings":"AAMA;;GAEG;AACH;IAsHI;;;;OAIG;IACH,4BAFa,SAAS,CAMrB;IA9HD;;;;;OAKG;IACH,0BAwBC;IAvBG;;;OAGG;IACH,OAFU,IAAI,CAAC,aAAa,CAAC,CAEN;IAEvB,iBAAiB;IAMjB;;;OAGG;IACH,iBAFU,MAAM,GAAC,IAAI,CAEJ;IAEjB;;;OAGG;IACH,OAFU,MAAM,CAEoD;IAWxE;;;OAGG;IACH,iBAFW,OAAO,EAIjB;IAdD;;;OAGG;IACH,iBAFY,OAAO,CAIlB;IAUD;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,SACrB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,SAAS,GACP,OAAO,CAanB;IAED;;;OAGG;IACH,QAFa,MAAM,CAOlB;IAaD,0BAYC;IAED;;;MAKC;IAIL;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAN9B;;kBAUS,MAAM;;iBAxKC,uCAAuC;8BAE1B,oBAAoB;+BACnB,qBAAqB"}
@@ -102,7 +102,11 @@ export class Animation {
102
102
  * @returns {boolean}
103
103
  */
104
104
  equals(other) {
105
- if (other === undefined) {
105
+ if (other === undefined || other === null) {
106
+ return false;
107
+ }
108
+
109
+ if (other.isAnimation !== true) {
106
110
  return false;
107
111
  }
108
112
 
@@ -155,5 +159,14 @@ export class Animation {
155
159
 
156
160
  }
157
161
 
162
+ /**
163
+ * @readonly
164
+ * @type {boolean}
165
+ */
166
+ Animation.prototype.isAnimation = true;
158
167
 
168
+ /**
169
+ * @readonly
170
+ * @type {string}
171
+ */
159
172
  Animation.typeName = "Animation";
@@ -1,4 +1,10 @@
1
1
  export class AnimationClip {
2
+ /**
3
+ *
4
+ * @param j
5
+ * @returns {AnimationClip}
6
+ */
7
+ static fromJSON(j: any): AnimationClip;
2
8
  name: ObservedString;
3
9
  repeatCount: ObservedInteger;
4
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationClip.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/animation/AnimationClip.js"],"names":[],"mappings":"AAKA;IAEQ,qBAAkC;IAClC,6BAAyC;IAEzC;;;OAGG;IACH,QAFU,OAAO,CAEW;IAE5B;;;OAGG;IACH,WAFU,OAAO,CAEc;IAE/B;;;OAGG;IACH,OAFU,MAAM,CAEF;IAGlB;;;;OAIG;IACH,cAHW,aAAa,GACX,OAAO,CAQnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAUlB;IAED;;;;OAIG;IACH,WAHW,MAAM,GAAC,iBAAiB,GACtB,OAAO,CAInB;IAED,0BA4BC;IAED;;;;;;MAQC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAUtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAStB;CACJ;2BAhI0B,uCAAuC;4BADtC,wCAAwC;oBADhD,+BAA+B"}
1
+ {"version":3,"file":"AnimationClip.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/animation/AnimationClip.js"],"names":[],"mappings":"AAKA;IA2DI;;;;OAIG;IACH,yBAFa,aAAa,CAQzB;IApED,qBAA8B;IAC9B,6BAAqC;IAErC;;;OAGG;IACH,QAFU,OAAO,CAEO;IAExB;;;OAGG;IACH,WAFU,OAAO,CAEU;IAE3B;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,cAHW,aAAa,GACX,OAAO,CAQnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAUlB;IAED;;;;OAIG;IACH,WAHW,MAAM,GAAC,iBAAiB,GACtB,OAAO,CAInB;IAeD,0BA4BC;IAED;;;;;;MAQC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAUtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAStB;CACJ;2BA5I0B,uCAAuC;4BADtC,wCAAwC;oBADhD,+BAA+B"}
@@ -4,28 +4,27 @@ import ObservedInteger from "../../../core/model/ObservedInteger.js";
4
4
  import ObservedString from "../../../core/model/ObservedString.js";
5
5
 
6
6
  export class AnimationClip {
7
- constructor() {
8
- this.name = new ObservedString("");
9
- this.repeatCount = new ObservedInteger(1);
10
-
11
- /**
12
- *
13
- * @type {Vector1}
14
- */
15
- this.weight = new Vector1(1);
16
-
17
- /**
18
- *
19
- * @type {Vector1}
20
- */
21
- this.timeScale = new Vector1(1);
22
-
23
- /**
24
- *
25
- * @type {number}
26
- */
27
- this.flags = 0;
28
- }
7
+
8
+ name = new ObservedString("");
9
+ repeatCount = new ObservedInteger(1);
10
+
11
+ /**
12
+ *
13
+ * @type {Vector1}
14
+ */
15
+ weight = new Vector1(1);
16
+
17
+ /**
18
+ *
19
+ * @type {Vector1}
20
+ */
21
+ timeScale = new Vector1(1);
22
+
23
+ /**
24
+ *
25
+ * @type {number}
26
+ */
27
+ flags = 0;
29
28
 
30
29
  /**
31
30
  *
@@ -63,6 +62,19 @@ export class AnimationClip {
63
62
  return (this.flags & v) !== 0;
64
63
  }
65
64
 
65
+ /**
66
+ *
67
+ * @param j
68
+ * @returns {AnimationClip}
69
+ */
70
+ static fromJSON(j){
71
+ const r = new AnimationClip();
72
+
73
+ r.fromJSON(j);
74
+
75
+ return r;
76
+ }
77
+
66
78
  fromJSON(json) {
67
79
  if (typeof json.name === "string") {
68
80
  this.name.fromJSON(json.name);
@@ -9,6 +9,10 @@ export class UUID {
9
9
  * @return {UUID}
10
10
  */
11
11
  static v1(): UUID;
12
+ /**
13
+ *
14
+ * @returns {UUID}
15
+ */
12
16
  static v4(): UUID;
13
17
  /**
14
18
  * Shortcut to generate string-form ID
@@ -1 +1 @@
1
- {"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/guid/UUID.js"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH;IAiHI;;;OAGG;IACH,aAFY,IAAI,CAQf;IAED,kBAMC;IAED;;;;OAIG;IACH,iBAFY,MAAM,CAIjB;IA0CD;;;;OAIG;IACH,qBAHW,MAAM,GACL,IAAI,CAQf;IA9LD;;;OAGG;IACH,gBAFW,MAAM,EAAE,GAAC,UAAU,GAAC,SAAS,CAAC,MAAM,CAAC,EAO/C;IAED;;;OAGG;IACH,YAFa,UAAU,CAItB;IAED;;;OAGG;IACH,WAsEC;IAED;;OAEG;IACH,WAUC;IA+BD;;;;OAIG;IACH,cAFW,MAAM,QAmChB;IAeD;;;OAGG;IACH,YAFa,MAAM,CA2BlB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAanB;IAED;;OAEG;IACH,QAFa,MAAM,CAWlB;IAED,iBAEC;IAED,uBAEC;IASL;;;OAGG;IACH,iBAFU,OAAO,CAEI;;CAZpB;;kBAIS,MAAM"}
1
+ {"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/guid/UUID.js"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH;IAiHI;;;OAGG;IACH,aAFY,IAAI,CAQf;IAED;;;OAGG;IACH,aAFa,IAAI,CAQhB;IAED;;;;OAIG;IACH,iBAFY,MAAM,CAIjB;IA0CD;;;;OAIG;IACH,qBAHW,MAAM,GACL,IAAI,CAQf;IAlMD;;;OAGG;IACH,gBAFW,MAAM,EAAE,GAAC,UAAU,GAAC,SAAS,CAAC,MAAM,CAAC,EAO/C;IAED;;;OAGG;IACH,YAFa,UAAU,CAItB;IAED;;;OAGG;IACH,WAsEC;IAED;;OAEG;IACH,WAUC;IAmCD;;;;OAIG;IACH,cAFW,MAAM,QAmChB;IAeD;;;OAGG;IACH,YAFa,MAAM,CA2BlB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAanB;IAED;;OAEG;IACH,QAFa,MAAM,CAWlB;IAED,iBAEC;IAED,uBAEC;IASL;;;OAGG;IACH,iBAFU,OAAO,CAEI;;CAZpB;;kBAIS,MAAM"}
@@ -152,6 +152,10 @@ export class UUID {
152
152
  return uuid;
153
153
  }
154
154
 
155
+ /**
156
+ *
157
+ * @returns {UUID}
158
+ */
155
159
  static v4() {
156
160
  const r = new UUID();
157
161
 
@@ -1,7 +1,7 @@
1
1
  import { assert } from "../../../core/assert.js";
2
- import { compose_matrix4_array } from "../../../core/geom/3d/compose_matrix4_array.js";
3
- import { decompose_matrix_4_array } from "../../../core/geom/3d/decompose_matrix_4_array.js";
4
2
  import { allocate_m4 } from "../../../core/geom/3d/mat4/allocate_m4.js";
3
+ import { compose_matrix4_array } from "../../../core/geom/3d/mat4/compose_matrix4_array.js";
4
+ import { decompose_matrix_4_array } from "../../../core/geom/3d/mat4/decompose_matrix_4_array.js";
5
5
  import { m4_multiply } from "../../../core/geom/3d/mat4/m4_multiply.js";
6
6
  import { MATRIX_4_IDENTITY } from "../../../core/geom/3d/mat4/MATRIX_4_IDENTITY.js";
7
7
  import Quaternion from "../../../core/geom/Quaternion.js";
@@ -1,6 +1,6 @@
1
1
  import { Matrix4 } from "three";
2
2
  import { assert } from "../../../../../core/assert.js";
3
- import { eulerAnglesFromMatrix } from "../../../../../core/geom/3d/eulerAnglesFromMatrix.js";
3
+ import { eulerAnglesFromMatrix } from "../../../../../core/geom/3d/mat4/eulerAnglesFromMatrix.js";
4
4
  import { normalize_angle_rad } from "../../../../../core/geom/normalize_angle_rad.js";
5
5
  import Quaternion from "../../../../../core/geom/Quaternion.js";
6
6
  import Vector3 from '../../../../../core/geom/Vector3.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Highlight.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/highlight/Highlight.js"],"names":[],"mappings":";AAGA;IAgEI;;;;;;OAMG;IACH,kBALW,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,aAWhB;IAED;;;;OAIG;IACH,4BAFa,SAAS,CAQrB;IA3FD;;;OAGG;IACH,UAFU,IAAI,CAAC,mBAAmB,CAAC,CAEb;IAEtB;;;OAGG;IACH,SAFW,mBAAmB,QAI7B;IAED;;;;OAIG;IACH,YAHW,mBAAmB,GACjB,OAAO,CAInB;IAED;;;OAGG;IACH,iBAFa,mBAAmB,CAQ/B;IAED;;;;OAIG;IACH,cAHW,SAAS,GACR,OAAO,CAIlB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;MAIC;IAED;;aAEC;CAgCJ;;;;iBAjGgB,0CAA0C;oCACvB,0BAA0B"}
1
+ {"version":3,"file":"Highlight.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/highlight/Highlight.js"],"names":[],"mappings":";AAGA;IAoEI;;;;;;OAMG;IACH,kBALW,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,aAWhB;IAED;;;;OAIG;IACH,4BAFa,SAAS,CAQrB;IA/FD;;;OAGG;IACH,UAFU,IAAI,CAAC,mBAAmB,CAAC,CAEb;IAEtB;;;OAGG;IACH,SAFW,mBAAmB,QAI7B;IAED;;;;OAIG;IACH,YAHW,mBAAmB,GACjB,OAAO,CAInB;IAED;;;OAGG;IACH,iBAFa,mBAAmB,CAQ/B;IAED;;;;OAIG;IACH,cAHW,SAAS,GACR,OAAO,CAQlB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;MAIC;IAED;;aAEC;CAgCJ;;;;iBArGgB,0CAA0C;oCACvB,0BAA0B"}