@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.
- package/editor/tools/v2/BlenderCameraOrientationGizmo.js +1 -1
- package/package.json +1 -1
- package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.js +6 -29
- package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +1 -1
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts +2 -2
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +11 -3
- package/src/core/collection/RingBuffer.d.ts +5 -0
- package/src/core/collection/RingBuffer.d.ts.map +1 -1
- package/src/core/collection/RingBuffer.js +12 -2
- package/src/core/collection/list/List.js +1 -1
- package/src/core/collection/map/HashMap.d.ts.map +1 -1
- package/src/core/collection/map/HashMap.js +13 -0
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +1 -2
- package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
- package/src/core/color/oklab/linear_srgb_to_okhsv.js +15 -4
- package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts.map +1 -1
- package/src/core/color/oklab/okhsv_to_linear_srgb.js +8 -1
- package/src/core/color/operations/color_darken.d.ts.map +1 -1
- package/src/core/color/operations/color_darken.js +6 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +1 -0
- package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.js → mat4/apply_mat4_transform_to_direction_v3_array.js} +1 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +1 -0
- package/src/core/geom/3d/{decompose_matrix_4_array.js → mat4/decompose_matrix_4_array.js} +1 -1
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +1 -0
- package/src/core/geom/3d/{eulerAnglesFromMatrix.js → mat4/eulerAnglesFromMatrix.js} +1 -1
- package/src/core/geom/3d/mat4/m4_extract_scale.d.ts.map +1 -0
- package/src/core/geom/3d/{m4_extract_scale.js → mat4/m4_extract_scale.js} +1 -1
- package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -0
- package/src/core/geom/3d/{Ray3.js → ray/Ray3.js} +8 -8
- package/src/core/geom/3d/shape/TransformedShape3D.js +1 -1
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +1 -0
- package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.js → sphere/compute_bounding_sphere_of_2_spheres.js} +3 -3
- package/src/core/geom/3d/tetrahedra/triangle/trace_triangular_depth_map.js +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +1 -1
- package/src/core/geom/3d/topology/struct/TopoTriangle.js +1 -1
- package/src/core/geom/3d/topology/tm_face_normal.js +1 -1
- package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +1 -1
- package/src/core/geom/3d/triangle/aabb3_compute_from_triangle.d.ts.map +1 -0
- package/src/core/geom/3d/{aabb3_compute_from_triangle.js → triangle/aabb3_compute_from_triangle.js} +2 -2
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +1 -0
- package/src/core/geom/3d/{compute_triangle_normal.js → triangle/compute_triangle_normal.js} +1 -1
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +13 -13
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +21 -21
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +18 -3
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +3 -2
- package/src/core/geom/packing/miniball/Miniball.d.ts.map +1 -1
- package/src/core/geom/packing/miniball/Miniball.js +9 -5
- package/src/core/geom/packing/miniball/Subspan.d.ts +8 -7
- package/src/core/geom/packing/miniball/Subspan.d.ts.map +1 -1
- package/src/core/geom/packing/miniball/Subspan.js +42 -52
- package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts +6 -5
- package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts.map +1 -1
- package/src/core/geom/vec2/v2_bearing_angle_towards.js +12 -11
- package/src/core/geom/vec2/v2_distance.d.ts +6 -6
- package/src/core/geom/vec2/v2_distance.js +6 -6
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +1 -0
- package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.js +1 -1
- package/src/core/geom/vec3/v3_distance_above_plane.d.ts +8 -8
- package/src/core/geom/vec3/v3_distance_above_plane.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_distance_above_plane.js +9 -9
- package/src/core/geom/vec3/v3_slerp.d.ts +11 -9
- package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_slerp.js +8 -8
- package/src/core/math/PI.d.ts +6 -0
- package/src/core/math/PI.d.ts.map +1 -0
- package/src/core/math/PI.js +5 -0
- package/src/core/math/linalg/lu_factor_linear_system.d.ts +6 -6
- package/src/core/math/linalg/lu_factor_linear_system.d.ts.map +1 -1
- package/src/core/math/linalg/lu_factor_linear_system.js +11 -6
- package/src/core/math/linalg/lu_solve_linear_system.d.ts +8 -8
- package/src/core/math/linalg/lu_solve_linear_system.d.ts.map +1 -1
- package/src/core/math/linalg/lu_solve_linear_system.js +11 -9
- package/src/core/math/random/randomGaussian.d.ts +2 -2
- package/src/core/math/random/randomGaussian.d.ts.map +1 -1
- package/src/core/math/random/randomGaussian.js +1 -1
- package/src/engine/animation/Tween.d.ts +27 -0
- package/src/engine/animation/Tween.d.ts.map +1 -0
- package/src/engine/animation/Tween.js +61 -52
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts +7 -1
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js +6 -0
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts +5 -1
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.js +4 -0
- package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts +5 -1
- package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundVector3Writer.js +4 -0
- package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
- package/src/engine/development/performance/MetricCollection.js +6 -7
- package/src/engine/ecs/System.d.ts +1 -0
- package/src/engine/ecs/animation/Animation.d.ts +5 -0
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.js +14 -1
- package/src/engine/ecs/animation/AnimationClip.d.ts +6 -0
- package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
- package/src/engine/ecs/animation/AnimationClip.js +34 -22
- package/src/engine/ecs/guid/UUID.d.ts +4 -0
- package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
- package/src/engine/ecs/guid/UUID.js +4 -0
- package/src/engine/ecs/transform/Transform.js +2 -2
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +1 -1
- package/src/engine/graphics/ecs/highlight/Highlight.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/Highlight.js +4 -0
- package/src/engine/graphics/geometry/bvh/buffered/bvh32_set_leaf_from_triangle.js +1 -1
- package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1 -1
- package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +1 -1
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/sh3_bake_depth.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +1 -1
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +1 -1
- package/src/engine/graphics/util/composeMatrix4.js +1 -1
- package/src/engine/physics/computeInterceptPoint.d.ts +11 -1
- package/src/engine/physics/computeInterceptPoint.d.ts.map +1 -1
- package/src/engine/physics/computeInterceptPoint.js +29 -12
- package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts.map +1 -1
- package/src/engine/physics/gjk/expanding_polytope_algorithm.js +19 -59
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +3 -2
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -2
- package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/two_joint_ik.js +1 -1
- package/src/core/geom/3d/Ray3.d.ts.map +0 -1
- package/src/core/geom/3d/aabb3_compute_from_triangle.d.ts.map +0 -1
- package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/compose_matrix4_array.d.ts.map +0 -1
- package/src/core/geom/3d/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
- package/src/core/geom/3d/compute_triangle_normal.d.ts.map +0 -1
- package/src/core/geom/3d/decompose_matrix_4_array.d.ts.map +0 -1
- package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts.map +0 -1
- package/src/core/geom/3d/m4_extract_scale.d.ts.map +0 -1
- package/src/core/geom/3d/v3_compute_interior_angle.d.ts.map +0 -1
- /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
- /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.d.ts → mat4/apply_mat4_transform_to_v3_array.d.ts} +0 -0
- /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.js → mat4/apply_mat4_transform_to_v3_array.js} +0 -0
- /package/src/core/geom/3d/{compose_matrix4_array.d.ts → mat4/compose_matrix4_array.d.ts} +0 -0
- /package/src/core/geom/3d/{compose_matrix4_array.js → mat4/compose_matrix4_array.js} +0 -0
- /package/src/core/geom/3d/{decompose_matrix_4_array.d.ts → mat4/decompose_matrix_4_array.d.ts} +0 -0
- /package/src/core/geom/3d/{eulerAnglesFromMatrix.d.ts → mat4/eulerAnglesFromMatrix.d.ts} +0 -0
- /package/src/core/geom/3d/{m4_extract_scale.d.ts → mat4/m4_extract_scale.d.ts} +0 -0
- /package/src/core/geom/3d/{Ray3.d.ts → ray/Ray3.d.ts} +0 -0
- /package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.d.ts → sphere/compute_bounding_sphere_of_2_spheres.d.ts} +0 -0
- /package/src/core/geom/3d/{aabb3_compute_from_triangle.d.ts → triangle/aabb3_compute_from_triangle.d.ts} +0 -0
- /package/src/core/geom/3d/{compute_triangle_normal.d.ts → triangle/compute_triangle_normal.d.ts} +0 -0
- /package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mat4 } from "gl-matrix";
|
|
2
2
|
import { Color } from "../../../src/core/color/Color.js";
|
|
3
3
|
import Signal from "../../../src/core/events/signal/Signal.js";
|
|
4
|
-
import { compose_matrix4_array } from "../../../src/core/geom/3d/compose_matrix4_array.js";
|
|
4
|
+
import { compose_matrix4_array } from "../../../src/core/geom/3d/mat4/compose_matrix4_array.js";
|
|
5
5
|
import Quaternion from "../../../src/core/geom/Quaternion.js";
|
|
6
6
|
import { v2_distance } from "../../../src/core/geom/vec2/v2_distance.js";
|
|
7
7
|
import Vector2 from "../../../src/core/geom/Vector2.js";
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BVH.d.ts","sourceRoot":"","sources":["../../../../../src/core/bvh2/bvh3/BVH.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BVH.d.ts","sourceRoot":"","sources":["../../../../../src/core/bvh2/bvh3/BVH.js"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { assert } from "../../assert.js";
|
|
|
2
2
|
import { UINT32_MAX } from "../../binary/UINT32_MAX.js";
|
|
3
3
|
import { array_copy } from "../../collection/array/array_copy.js";
|
|
4
4
|
import { array_buffer_copy } from "../../collection/array/typed/array_buffer_copy.js";
|
|
5
|
+
import { aabb3_array_combine } from "../../geom/3d/aabb/aabb3_array_combine.js";
|
|
5
6
|
import { aabb3_compute_surface_area } from "../../geom/3d/aabb/aabb3_compute_surface_area.js";
|
|
6
7
|
import { max2 } from "../../math/max2.js";
|
|
7
8
|
import { min2 } from "../../math/min2.js";
|
|
@@ -605,35 +606,11 @@ export class BVH {
|
|
|
605
606
|
|
|
606
607
|
const float32 = this.__data_float32;
|
|
607
608
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
const a_z1 = float32[address_a + 5];
|
|
614
|
-
|
|
615
|
-
const b_x0 = float32[address_b];
|
|
616
|
-
const b_y0 = float32[address_b + 1];
|
|
617
|
-
const b_z0 = float32[address_b + 2];
|
|
618
|
-
const b_x1 = float32[address_b + 3];
|
|
619
|
-
const b_y1 = float32[address_b + 4];
|
|
620
|
-
const b_z1 = float32[address_b + 5];
|
|
621
|
-
|
|
622
|
-
const x0 = min2(a_x0, b_x0);
|
|
623
|
-
const y0 = min2(a_y0, b_y0);
|
|
624
|
-
const z0 = min2(a_z0, b_z0);
|
|
625
|
-
const x1 = max2(a_x1, b_x1);
|
|
626
|
-
const y1 = max2(a_y1, b_y1);
|
|
627
|
-
const z1 = max2(a_z1, b_z1);
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
float32[address_destination] = x0;
|
|
631
|
-
float32[address_destination + 1] = y0;
|
|
632
|
-
float32[address_destination + 2] = z0;
|
|
633
|
-
|
|
634
|
-
float32[address_destination + 3] = x1;
|
|
635
|
-
float32[address_destination + 4] = y1;
|
|
636
|
-
float32[address_destination + 5] = z1;
|
|
609
|
+
aabb3_array_combine(
|
|
610
|
+
float32, address_destination,
|
|
611
|
+
float32, address_a,
|
|
612
|
+
float32, address_b,
|
|
613
|
+
);
|
|
637
614
|
}
|
|
638
615
|
|
|
639
616
|
/**
|
|
@@ -3,7 +3,7 @@ import { array_quick_sort_by_lookup_uint } from "../../collection/array/array_qu
|
|
|
3
3
|
import { typed_array_copy } from "../../collection/array/typed/typed_array_copy.js";
|
|
4
4
|
import { AABB3 } from "../../geom/3d/aabb/AABB3.js";
|
|
5
5
|
import { aabb3_from_v3_array } from "../../geom/3d/aabb/aabb3_from_v3_array.js";
|
|
6
|
-
import { aabb3_compute_from_triangle } from "../../geom/3d/aabb3_compute_from_triangle.js";
|
|
6
|
+
import { aabb3_compute_from_triangle } from "../../geom/3d/triangle/aabb3_compute_from_triangle.js";
|
|
7
7
|
import { max2 } from "../../math/max2.js";
|
|
8
8
|
import { build_triangle_morton_codes } from "./build_triangle_morton_codes.js";
|
|
9
9
|
import { COLUMN_CHILD_1, COLUMN_HEIGHT, COLUMN_USER_DATA, ELEMENT_WORD_COUNT, NULL_NODE } from "./BVH.js";
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Note that the root does not move, but everything below the root is subject to change
|
|
4
4
|
* @see "Fast Parallel Construction of High-Quality Bounding Volume Hierarchies" by Kerras, NVIDIA 2013
|
|
5
5
|
* @param {BVH} bvh
|
|
6
|
-
* @param {number} root
|
|
7
|
-
* @param {number} [treelet_size]
|
|
6
|
+
* @param {number} root where to start optimization, only nodes below this one will be considered
|
|
7
|
+
* @param {number} [treelet_size] the larger the size - the more optimization opportunities, but it gets exponentially slower
|
|
8
8
|
*/
|
|
9
9
|
export function ebvh_optimize_treelet(bvh: BVH, root: number, treelet_size?: number): void;
|
|
10
10
|
//# sourceMappingURL=ebvh_optimize_treelet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ebvh_optimize_treelet.d.ts","sourceRoot":"","sources":["../../../../../src/core/bvh2/bvh3/ebvh_optimize_treelet.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ebvh_optimize_treelet.d.ts","sourceRoot":"","sources":["../../../../../src/core/bvh2/bvh3/ebvh_optimize_treelet.js"],"names":[],"mappings":"AAoNA;;;;;;;GAOG;AACH,2CAJW,GAAG,QACH,MAAM,iBACN,MAAM,QA8IhB"}
|
|
@@ -136,6 +136,10 @@ function optimize_treelet(bvh, root, leaves, leaf_count) {
|
|
|
136
136
|
* @param {number} treelet_max_size
|
|
137
137
|
*/
|
|
138
138
|
function optimize_at_node(bvh, root, treelet_max_size) {
|
|
139
|
+
if(root === NULL_NODE){
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
|
|
139
143
|
if (bvh.node_is_leaf(root)) {
|
|
140
144
|
return;
|
|
141
145
|
}
|
|
@@ -211,10 +215,14 @@ const CAME_FROM_TYPE_CHILD_2 = 2;
|
|
|
211
215
|
* Note that the root does not move, but everything below the root is subject to change
|
|
212
216
|
* @see "Fast Parallel Construction of High-Quality Bounding Volume Hierarchies" by Kerras, NVIDIA 2013
|
|
213
217
|
* @param {BVH} bvh
|
|
214
|
-
* @param {number} root
|
|
215
|
-
* @param {number} [treelet_size]
|
|
218
|
+
* @param {number} root where to start optimization, only nodes below this one will be considered
|
|
219
|
+
* @param {number} [treelet_size] the larger the size - the more optimization opportunities, but it gets exponentially slower
|
|
216
220
|
*/
|
|
217
|
-
export function ebvh_optimize_treelet(
|
|
221
|
+
export function ebvh_optimize_treelet(
|
|
222
|
+
bvh,
|
|
223
|
+
root,
|
|
224
|
+
treelet_size = 7
|
|
225
|
+
) {
|
|
218
226
|
assert.isNonNegativeInteger(treelet_size, 'treelet_size');
|
|
219
227
|
assert.lessThanOrEqual(treelet_size, 8, 'limit is 8');
|
|
220
228
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RingBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/RingBuffer.js"],"names":[],"mappings":"AAGA;IACI;;;;OAIG;IACH,kBAHW,MAAM,EAqChB;IA7BG;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,MAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,MAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,OAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,MAFU,CAAC,EAAE,CAEc;IAG/B;;;OAGG;IACH,iBAFW,MAAM,QAkBhB;IAED;;;OAGG;IACH,WAFY,CAAC,CAIZ;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,CAAC,CAUb;IAED,cAIC;IAED;;;OAGG;IACH,cAFW,CAAC,QAuBX;IAED;;;OAGG;IACH,SAFa,CAAC,GAAC,SAAS,CAcvB;IAED;;;OAGG;IACH,4BAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"RingBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/RingBuffer.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;IACI;;;;OAIG;IACH,kBAHW,MAAM,EAqChB;IA7BG;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,MAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,MAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,OAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,MAFU,CAAC,EAAE,CAEc;IAG/B;;;OAGG;IACH,iBAFW,MAAM,QAkBhB;IAED;;;OAGG;IACH,WAFY,CAAC,CAIZ;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,CAAC,CAUb;IAED,cAIC;IAED;;;OAGG;IACH,cAFW,CAAC,QAuBX;IAED;;;OAGG;IACH,SAFa,CAAC,GAAC,SAAS,CAcvB;IAED;;;OAGG;IACH,4BAFW,MAAM,QA4BhB;IAED;;;;;OAKG;IACH,oBAJW,CAAS,IAAC,EAAD,CAAC,KAAE,OAAO,YACnB,GAAC,GACC,CAAC,GAAC,SAAS,CAoBvB;IAED;;;;OAIG;IACH,iBAHW,CAAS,IAAC,EAAD,CAAC,QAAC,YACX,GAAC,QAgBX;IAED;;;;OAIG;IACH,gBAHW,CAAC,GACC,OAAO,CAInB;CACJ"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { assert } from "../assert.js";
|
|
2
2
|
import { min2 } from "../math/min2.js";
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Fixed-sized container structure, where ends are connected into a circle/ring
|
|
6
|
+
* This is a FIFO structure (first in, first out)
|
|
7
|
+
* @see https://en.wikipedia.org/wiki/Circular_buffer
|
|
8
|
+
*/
|
|
4
9
|
export class RingBuffer {
|
|
5
10
|
/**
|
|
6
11
|
* @template V
|
|
@@ -162,7 +167,12 @@ export class RingBuffer {
|
|
|
162
167
|
this.data[j] = this.data[k];
|
|
163
168
|
}
|
|
164
169
|
|
|
165
|
-
|
|
170
|
+
// Clear the last element (important for GC if holding objects)
|
|
171
|
+
this.data[(tail + count - 1) % size] = undefined;
|
|
172
|
+
|
|
173
|
+
// update head and handle underflow
|
|
174
|
+
this.head = (this.head - 1 + size) % size;
|
|
175
|
+
|
|
166
176
|
this.count--;
|
|
167
177
|
}
|
|
168
178
|
|
|
@@ -185,7 +195,7 @@ export class RingBuffer {
|
|
|
185
195
|
|
|
186
196
|
if (condition.call(thisArg, el)) {
|
|
187
197
|
|
|
188
|
-
this.removeElementByIndex(
|
|
198
|
+
this.removeElementByIndex(i);
|
|
189
199
|
|
|
190
200
|
return el;
|
|
191
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HashMap.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/map/HashMap.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;GAYG;AACH,uFAIC;
|
|
1
|
+
{"version":3,"file":"HashMap.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/map/HashMap.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;GAYG;AACH,uFAIC;AAgGD;;;;;;;GAOG;AACH,qBAHa,CAAC,EAAC,CAAC;IAkEZ;;;;;;OAMG;IACH,6EALW,CAAS,IAAC,EAAD,GAAC,KAAE,MAAM,EAsC5B;IAtGD;;;;OAIG;IACH,QAFU,WAAW,CAED;IAEpB;;;OAGG;IACH,WAFU,KAAK,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAET;IAEzB;;;OAGG;IACH,iBAFU,MAAM,CAEI;IAEpB;;;OAGG;IACH,iBAFU,MAAM,CAEI;IAEpB;;;OAGG;IACH,QAFU,MAAM,CAEL;IAEX,oBAAgB;IAEhB;;;OAGG;IACH,2BAFU,MAAM,CAEc;IAE9B,iCAA6B;IAE7B,qCAAiC;IAEjC;;;OAGG;IACH,kBAFU,MAAM,CAEK;IAErB;;;;OAIG;IACH,sBAAoC;IAEpC;;;OAGG;IACH,WAFU,MAAM,CAEF;IAwBV;;;;;OAKG;IACH,iCAAsC;IACtC;;;;;OAKG;IACH,qCAA8C;IAOlD,mBAEC;IAED;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IA2CD;;;;;OAKG;IACH,0BAUC;IAuGD;;;;OAIG;IACH,SAHW,CAAC,SACD,CAAC,QA0EX;IAED;;;;OAIG;IACH,SAHW,CAAC,GACC,CAAC,GAAC,SAAS,CA+BvB;IAED;;;;;;;;OAQG;IACH,kBALW,CAAC,WACD,CAAS,IAAC,EAAD,CAAC,KAAE,CAAC,oBACb,GAAC,GACA,CAAC,CAgBZ;IAED;;;;;OAKG;IACH,cAJW,CAAC,SACD,CAAC,GACA,CAAC,CAaZ;IAwBD;;;;OAIG;IACH,YAHW,CAAC,GACC,OAAO,CA+CnB;IAED;;;;;OAKG;IACH,sCAHW,GAAC,GACC,OAAO,CA+BnB;IAOD;;OAEG;IACH,gBA0DC;IAmBD,2CA0BC;IAED;;;;OAIG;IACH,SAHW,CAAC,GACC,OAAO,CAInB;IAED;;OAEG;IACH,cA6BC;IA+BD;;;OAGG;IACH,WAFa,QAAQ,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAM3B;IAED;;;OAGG;IACH,UAFa,QAAQ,CAAC,CAAC,CAAC,CAOvB;IAED;;;OAGG;IACH,QAFa,QAAQ,CAAC,CAAC,CAAC,CAMvB;IA1DD,yDA2BC;;CAgCJ;AA/1BD;;GAEG;AACH,2BAFa,CAAC,EAAC,CAAC;IAGZ;;;;;OAKG;IACH,iBAJW,CAAC,SACD,CAAC,QACD,MAAM,EAsBhB;IAlBG;;;OAGG;IACH,KAFU,CAAC,CAEG;IAEd;;;OAGG;IACH,OAFU,CAAC,CAEO;IAElB;;;OAGG;IACH,MAFU,MAAM,CAEA;IAKxB,wBAAqC;CAFpC"}
|
|
@@ -67,6 +67,8 @@ class HashMapEntry {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
HashMapEntry.prototype.isHashMapEntry = true;
|
|
71
|
+
|
|
70
72
|
/**
|
|
71
73
|
* @readonly
|
|
72
74
|
* @type {number}
|
|
@@ -361,6 +363,7 @@ export class HashMap {
|
|
|
361
363
|
const existing_entry = this.__entries[i];
|
|
362
364
|
|
|
363
365
|
if (existing_entry !== undefined) {
|
|
366
|
+
assert.equal(existing_entry.isHashMapEntry, true, 'existing_entry.isHashMapEntry !== true');
|
|
364
367
|
|
|
365
368
|
// entry exists, let's reuse it
|
|
366
369
|
|
|
@@ -864,6 +867,16 @@ export class HashMap {
|
|
|
864
867
|
|
|
865
868
|
}
|
|
866
869
|
|
|
870
|
+
/**
|
|
871
|
+
*
|
|
872
|
+
* @returns {Iterator<[K,V]>}
|
|
873
|
+
*/
|
|
874
|
+
* entries(){
|
|
875
|
+
for (const e of this){
|
|
876
|
+
yield e;
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
|
|
867
880
|
/**
|
|
868
881
|
*
|
|
869
882
|
* @returns {Iterator<V>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../../src/core/color/Color.js"],"names":[],"mappings":"AAmBA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../../src/core/color/Color.js"],"names":[],"mappings":"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"}
|
package/src/core/color/Color.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear_srgb_to_okhsv.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/oklab/linear_srgb_to_okhsv.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linear_srgb_to_okhsv.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/oklab/linear_srgb_to_okhsv.js"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,6CALW,MAAM,EAAE,KACR,MAAM,KACN,MAAM,KACN,MAAM,QA4DhB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { v2_length } from "../../geom/vec2/v2_length.js";
|
|
1
2
|
import { find_cusp } from "./find_cusp.js";
|
|
2
3
|
import { linear_srgb_to_oklab } from "./linear_srgb_to_oklab.js";
|
|
3
4
|
import { oklab_to_linear_srgb } from "./oklab_to_linear_srgb.js";
|
|
@@ -27,11 +28,21 @@ export function linear_srgb_to_okhsv(output, r, g, b) {
|
|
|
27
28
|
|
|
28
29
|
linear_srgb_to_oklab(Lab, r, g, b)
|
|
29
30
|
|
|
30
|
-
let C = Math.sqrt(Lab[1] * Lab[1] + Lab[2] * Lab[2]);
|
|
31
|
-
const a_ = Lab[1] / C;
|
|
32
|
-
const b_ = Lab[2] / C;
|
|
33
|
-
|
|
34
31
|
let L = Lab[0];
|
|
32
|
+
|
|
33
|
+
if(L === 0){
|
|
34
|
+
// going to be all 0s
|
|
35
|
+
output[0] = 0;
|
|
36
|
+
output[1] = 0;
|
|
37
|
+
output[2] = 0;
|
|
38
|
+
return ;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
let C = v2_length(Lab[1], Lab[2]);
|
|
42
|
+
|
|
43
|
+
let a_ = Lab[1] / C;
|
|
44
|
+
let b_ = Lab[2] / C;
|
|
45
|
+
|
|
35
46
|
const h = 0.5 + 0.5 * Math.atan2(-Lab[2], -Lab[1]) / Math.PI;
|
|
36
47
|
|
|
37
48
|
find_cusp(cusp, a_, b_);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okhsv_to_linear_srgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/oklab/okhsv_to_linear_srgb.js"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,6CALW,MAAM,EAAE,KACR,MAAM,KACN,MAAM,KACN,MAAM,
|
|
1
|
+
{"version":3,"file":"okhsv_to_linear_srgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/oklab/okhsv_to_linear_srgb.js"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,6CALW,MAAM,EAAE,KACR,MAAM,KACN,MAAM,KACN,MAAM,QA6ChB"}
|
|
@@ -46,7 +46,14 @@ export function okhsv_to_linear_srgb(output, h, s, v) {
|
|
|
46
46
|
const C_vt = C_v * L_vt / L_v;
|
|
47
47
|
|
|
48
48
|
const L_new = toe_inv(L);
|
|
49
|
-
|
|
49
|
+
|
|
50
|
+
if(L !== 0) {
|
|
51
|
+
C = C * L_new / L;
|
|
52
|
+
}else{
|
|
53
|
+
// avoid division by 0
|
|
54
|
+
C = 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
50
57
|
L = L_new;
|
|
51
58
|
|
|
52
59
|
oklab_to_linear_srgb(rgb_scale, L_vt, a_ * C_vt, b_ * C_vt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color_darken.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/operations/color_darken.js"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,oCAJW,KAAK,WACL,MAAM,GACJ,KAAK,
|
|
1
|
+
{"version":3,"file":"color_darken.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/operations/color_darken.js"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,oCAJW,KAAK,WACL,MAAM,GACJ,KAAK,CAoBjB;sBA9BqB,aAAa"}
|
|
@@ -16,11 +16,16 @@ export function color_darken(input, amount = 1) {
|
|
|
16
16
|
assert.isNumber(amount, 'amount');
|
|
17
17
|
assert.greaterThanOrEqual(amount, 0, 'amount');
|
|
18
18
|
|
|
19
|
+
if(amount === 0){
|
|
20
|
+
// skip allocation
|
|
21
|
+
return input;
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
const r = new Color();
|
|
20
25
|
|
|
21
26
|
linear_srgb_to_okhsv(hsv, input.r, input.g, input.b);
|
|
22
27
|
|
|
23
|
-
hsv[2] = clamp01(hsv[2] * (1 - amount));
|
|
28
|
+
hsv[2] = clamp01(hsv[2] * clamp01(1 - amount));
|
|
24
29
|
|
|
25
30
|
okhsv_to_linear_srgb(r, ...hsv);
|
|
26
31
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply_mat4_transform_to_direction_v3_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.js"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,mEAPW,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,iBAClC,MAAM,eACN,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,sBAClC,MAAM,gBACN,MAAM,QACN,MAAK,MAAM,EAAE,GAAC,YAAY,QA4CpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply_mat4_transform_to_v3_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,yDAPW,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,iBAClC,MAAM,eACN,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,sBAClC,MAAM,gBACN,MAAM,QACN,MAAK,MAAM,EAAE,GAAC,YAAY,QA8CpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose_matrix4_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/compose_matrix4_array.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8CALW,MAAM,EAAE,GAAC,YAAY,GAAC,IAAI,YACzB;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAE,YAChC;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAE,SAC1C;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAE,QA+C3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompose_matrix_4_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/decompose_matrix_4_array.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,+CALW,MAAM,EAAE,YACR,OAAO,YACP,UAAU,SACV,OAAO,QA0DjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eulerAnglesFromMatrix.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/eulerAnglesFromMatrix.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,2CANW,MAAM,EAAE,MACR,MAAM,EAAE,GAAC,YAAY,GAAC,IAAI,MAC1B,MAAM,MACN,MAAM,MACN,MAAM,QA2EhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"m4_extract_scale.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/m4_extract_scale.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,sCAJW,MAAM,EAAE,GAAC,YAAY,cACrB,MAAM,QACN,MAAM,EAAE,GAAC,YAAY,QA6B/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ray3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/ray/Ray3.js"],"names":[],"mappings":"AASA;;;GAGG;AACH;IA0MI;;;;;;;;;;OAUG;IACH,sBATW,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,UACN,MAAM,GACL,IAAI,CAqBf;IAvOD,cAKC;IAMD,iBAEC;IAND,gBAEC;IAGG,OAAW;IAOf;;;OAGG;IACH,cAFW,MAAM,EAAE,GAAC,YAAY,EAI/B;IAVD,cAMW,MAAM,EAAE,GAAC,YAAY,CAJ/B;IAUD,uBAEC;IAED,uBAEC;IAED,uBAEC;IAGD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAQf;;;OAGG;IACH,iBAFW,MAAM,EAAE,GAAC,YAAY,EAI/B;IAVD,iBAMW,MAAM,EAAE,GAAC,YAAY,CAJ/B;IAWD,0BAEC;IAED,0BAEC;IAED,0BAEC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAGf,2BAEC;IAED;;;;;;;OAOG;IACH,gCANW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,EAAE,GAAC,YAAY,GAAC,IAAI,sBAC1B,MAAM,EAAE,GAAC,YAAY,GAAC,IAAI,QA6BpC;IAED;;;OAGG;IACH,uBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,iBAFW,MAAM,EAAE,GAAC,IAAI,GAAC,YAAY,QAepC;IAED;;;OAGG;IACH,SAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED,eAEC;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAInB;CAiCJ"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { assert } from "
|
|
2
|
-
import { array_copy } from "
|
|
3
|
-
import { array_range_equal_strict } from "
|
|
4
|
-
import { computeHashFloatArray } from "
|
|
5
|
-
import { v3_array_matrix4_rotate } from "
|
|
6
|
-
import { v3_array_normalize } from "
|
|
7
|
-
import { v3_matrix4_multiply } from "
|
|
8
|
-
import { ray3_interval_array_apply_matrix4 } from "./
|
|
1
|
+
import { assert } from "../../../assert.js";
|
|
2
|
+
import { array_copy } from "../../../collection/array/array_copy.js";
|
|
3
|
+
import { array_range_equal_strict } from "../../../collection/array/array_range_equal_strict.js";
|
|
4
|
+
import { computeHashFloatArray } from "../../../math/hash/computeHashFloatArray.js";
|
|
5
|
+
import { v3_array_matrix4_rotate } from "../../vec3/v3_array_matrix4_rotate.js";
|
|
6
|
+
import { v3_array_normalize } from "../../vec3/v3_array_normalize.js";
|
|
7
|
+
import { v3_matrix4_multiply } from "../../vec3/v3_matrix4_multiply.js";
|
|
8
|
+
import { ray3_interval_array_apply_matrix4 } from "./ray3_interval_array_apply_matrix4.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* 3D ray
|
|
@@ -6,7 +6,7 @@ import { sign } from "../../../math/sign.js";
|
|
|
6
6
|
import { v3_length } from "../../vec3/v3_length.js";
|
|
7
7
|
import { v3_matrix4_multiply } from "../../vec3/v3_matrix4_multiply.js";
|
|
8
8
|
import { aabb3_matrix4_project } from "../aabb/aabb3_matrix4_project.js";
|
|
9
|
-
import { m4_extract_scale } from "../m4_extract_scale.js";
|
|
9
|
+
import { m4_extract_scale } from "../mat4/m4_extract_scale.js";
|
|
10
10
|
import { m4_invert } from "../mat4/m4_invert.js";
|
|
11
11
|
import { AbstractShape3D } from "./AbstractShape3D.js";
|
|
12
12
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute_bounding_sphere_of_2_spheres.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.js"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,6DAJW,YAAY,GAAC,IAAI,GAAC,MAAM,EAAE,KAC1B,YAAY,GAAC,IAAI,GAAC,MAAM,EAAE,KAC1B,YAAY,GAAC,IAAI,GAAC,MAAM,EAAE,QAoDpC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import { vec3 } from "gl-matrix";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { max2 } from "../../../math/max2.js";
|
|
6
|
+
import { Miniball } from "../../packing/miniball/Miniball.js";
|
|
7
|
+
import { PointSet } from "../../packing/miniball/PointSet.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
@@ -2,7 +2,7 @@ import { vec3 } from "gl-matrix";
|
|
|
2
2
|
import { EPSILON } from "../../../../../math/EPSILON.js";
|
|
3
3
|
import { fabsf } from "../../../../../math/fabsf.js";
|
|
4
4
|
import { v3_dot } from "../../../../vec3/v3_dot.js";
|
|
5
|
-
import { compute_triangle_normal } from "../../../compute_triangle_normal.js";
|
|
5
|
+
import { compute_triangle_normal } from "../../../triangle/compute_triangle_normal.js";
|
|
6
6
|
|
|
7
7
|
const scratch_v3 = new Float32Array(3);
|
|
8
8
|
const scratch_m3 = new Float32Array(9);
|
|
@@ -3,7 +3,7 @@ import { assert } from "../../../../assert.js";
|
|
|
3
3
|
import { array_push_if_unique } from "../../../../collection/array/array_push_if_unique.js";
|
|
4
4
|
import { array_remove_first } from "../../../../collection/array/array_remove_first.js";
|
|
5
5
|
import { array_replace_all } from "../../../../collection/array/array_replace_all.js";
|
|
6
|
-
import { compute_triangle_normal } from "../../compute_triangle_normal.js";
|
|
6
|
+
import { compute_triangle_normal } from "../../triangle/compute_triangle_normal.js";
|
|
7
7
|
import { TopoEdge } from "./TopoEdge.js";
|
|
8
8
|
import { TopoVertex } from "./TopoVertex.js";
|
|
9
9
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aabb3_compute_from_triangle.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/triangle/aabb3_compute_from_triangle.js"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,oDAPW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,YACN,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,WACN,MAAM,WACN,MAAM,QAgChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute_triangle_normal.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/triangle/compute_triangle_normal.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,gDALW,MAAM,EAAE,GAAC,IAAI,GAAC,YAAY,GAAC,YAAY,MACvC,MAAM,EAAE,GAAC,IAAI,GAAC,YAAY,GAAC,YAAY,GAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,MACtE,MAAM,EAAE,GAAC,IAAI,GAAC,YAAY,GAAC,YAAY,GAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,MACtE,MAAM,EAAE,GAAC,IAAI,GAAC,YAAY,GAAC,YAAY,GAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,QAiBhF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {number[]|Float32Array} result
|
|
4
|
-
* @param {number} result_offset
|
|
5
|
-
* @param {number}
|
|
6
|
-
* @param {number}
|
|
7
|
-
* @param {number}
|
|
8
|
-
* @param {number}
|
|
9
|
-
* @param {number}
|
|
10
|
-
* @param {number}
|
|
11
|
-
* @param {number}
|
|
12
|
-
* @param {number}
|
|
13
|
-
* @param {number}
|
|
2
|
+
* Compute face normal for a triangle
|
|
3
|
+
* @param {number[]|Float32Array} result X,Y,Z normalized vector is written here
|
|
4
|
+
* @param {number} result_offset offset into result array where to start writing
|
|
5
|
+
* @param {number} a_x
|
|
6
|
+
* @param {number} a_y
|
|
7
|
+
* @param {number} a_z
|
|
8
|
+
* @param {number} b_x
|
|
9
|
+
* @param {number} b_y
|
|
10
|
+
* @param {number} b_z
|
|
11
|
+
* @param {number} c_x
|
|
12
|
+
* @param {number} c_y
|
|
13
|
+
* @param {number} c_z
|
|
14
14
|
*/
|
|
15
|
-
export function v3_compute_triangle_normal(result: number[] | Float32Array, result_offset: number,
|
|
15
|
+
export function v3_compute_triangle_normal(result: number[] | Float32Array, result_offset: number, a_x: number, a_y: number, a_z: number, b_x: number, b_y: number, b_z: number, c_x: number, c_y: number, c_z: number): void;
|
|
16
16
|
//# sourceMappingURL=v3_compute_triangle_normal.d.ts.map
|