@woosh/meep-engine 2.163.11 → 2.164.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/build/bundle-worker-terrain.js +1 -1
- package/editor/ecs/component/editors/ecs/Trail3DEditor.js +45 -0
- package/editor/ecs/component/prototypeObjectEditor.js +3 -0
- package/editor/tools/v2/BlenderCameraOrientationGizmo.js +2 -2
- package/editor/view/node-graph/connection_wire_geometry.js +2 -2
- package/package.json +1 -1
- package/src/core/bvh2/binary/2/BinaryUint32BVH.js +2 -2
- package/src/core/bvh2/binary/2/bvh32_query_user_data_ray.d.ts.map +1 -1
- package/src/core/bvh2/binary/2/bvh32_query_user_data_ray.js +2 -4
- package/src/core/bvh2/bvh3/BVH.d.ts +388 -55
- package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.js +11 -5
- package/src/core/bvh2/bvh3/BvhClient.d.ts +31 -11
- package/src/core/bvh2/bvh3/bvh_build_from_unindexed_triangles.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/ebvh_build_for_geometry_incremental.js +2 -2
- package/src/core/bvh2/bvh3/ebvh_build_hierarchy.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_build_hierarchy.js +8 -0
- package/src/core/bvh2/bvh3/ebvh_geometry_query_any_triangle_ray.d.ts +22 -0
- package/src/core/bvh2/bvh3/ebvh_geometry_query_any_triangle_ray.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/ebvh_geometry_query_any_triangle_ray.js +149 -0
- package/src/core/bvh2/bvh3/ebvh_geometry_query_nearest_triangle_ray.d.ts +5 -2
- package/src/core/bvh2/bvh3/ebvh_geometry_query_nearest_triangle_ray.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_geometry_query_nearest_triangle_ray.js +16 -10
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +19 -6
- package/src/core/bvh2/bvh3/ebvh_sort_for_traversal_depth_first.d.ts +14 -3
- package/src/core/bvh2/bvh3/ebvh_sort_for_traversal_depth_first.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_sort_for_traversal_depth_first.js +96 -116
- package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.js +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_depth_range_in_frustum.js +2 -2
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_generic.d.ts +12 -5
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_generic.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_generic.js +11 -4
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray.js +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray_segment.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray_segment.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray_segment.js +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_generic.d.ts +12 -5
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_generic.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_generic.js +11 -4
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_aabb.d.ts +9 -0
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_aabb.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_aabb.js → bvh_query_user_data_intersects_aabb.js} +1 -1
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_capsule.d.ts → bvh_query_user_data_intersects_capsule.d.ts} +4 -4
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_capsule.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_capsule.js → bvh_query_user_data_intersects_capsule.js} +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_frustum.d.ts +9 -0
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_frustum.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_frustum.js → bvh_query_user_data_intersects_frustum.js} +3 -3
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_sphere.d.ts → bvh_query_user_data_intersects_sphere.d.ts} +2 -2
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_intersects_sphere.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/query/{bvh_query_user_data_overlaps_sphere.js → bvh_query_user_data_intersects_sphere.js} +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts +23 -0
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -0
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.js +86 -0
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray.js +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray_segment.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray_segment.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_ray_segment.js +3 -3
- package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.js +2 -2
- package/src/core/bvh8/bvh8_node_child_surface_area.js +2 -2
- package/src/core/bvh8/bvh8_quality.js +2 -2
- package/src/core/collection/SCRATCH_UINT32_TRAVERSAL_STACK.d.ts +12 -0
- package/src/core/collection/SCRATCH_UINT32_TRAVERSAL_STACK.d.ts.map +1 -1
- package/src/core/collection/SCRATCH_UINT32_TRAVERSAL_STACK.js +12 -0
- package/src/core/collection/heap/IndexedFloatMinHeap.d.ts +62 -0
- package/src/core/collection/heap/IndexedFloatMinHeap.d.ts.map +1 -0
- package/src/core/collection/heap/IndexedFloatMinHeap.js +268 -0
- package/src/core/color/tonemap/tonemap_aces.d.ts +21 -0
- package/src/core/color/tonemap/tonemap_aces.d.ts.map +1 -0
- package/src/core/color/tonemap/tonemap_aces.js +41 -0
- package/src/core/geom/2d/Rectangle.js +2 -2
- package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/AABB2.js +11 -13
- package/src/core/geom/2d/aabb/aabb2_area.d.ts +10 -0
- package/src/core/geom/2d/aabb/aabb2_area.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_area.js +14 -0
- package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts +4 -8
- package/src/core/geom/2d/aabb/aabb2_array_combine.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_array_combine.js +7 -35
- package/src/core/geom/2d/aabb/aabb2_center_from_aabb2_buffer.d.ts +8 -0
- package/src/core/geom/2d/aabb/aabb2_center_from_aabb2_buffer.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_center_from_aabb2_buffer.js +24 -0
- package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts +4 -7
- package/src/core/geom/2d/aabb/aabb2_compute_area.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_compute_area.js +7 -14
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts +4 -5
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js +7 -24
- package/src/core/geom/2d/aabb/aabb2_compute_intersection.d.ts +15 -0
- package/src/core/geom/2d/aabb/aabb2_compute_intersection.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_compute_intersection.js +42 -0
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts +4 -12
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_compute_overlap.js +7 -42
- package/src/core/geom/2d/aabb/aabb2_contains_point.d.ts +12 -0
- package/src/core/geom/2d/aabb/aabb2_contains_point.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_contains_point.js +17 -0
- package/src/core/geom/2d/aabb/aabb2_from_rectangle.d.ts +8 -0
- package/src/core/geom/2d/aabb/aabb2_from_rectangle.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_from_rectangle.js +29 -0
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts +4 -5
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_from_v2_array.js +7 -33
- package/src/core/geom/2d/aabb/aabb2_from_v2_buffer.d.ts +8 -0
- package/src/core/geom/2d/aabb/aabb2_from_v2_buffer.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_from_v2_buffer.js +33 -0
- package/src/core/geom/2d/aabb/aabb2_intersects_aabb2.d.ts +14 -0
- package/src/core/geom/2d/aabb/aabb2_intersects_aabb2.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_intersects_aabb2.js +21 -0
- package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts +4 -9
- package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_intersects_point.js +7 -17
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts +4 -11
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.d.ts.map +1 -1
- package/src/core/geom/2d/aabb/aabb2_overlap_exists.js +7 -21
- package/src/core/geom/2d/aabb/aabb2_union_array.d.ts +11 -0
- package/src/core/geom/2d/aabb/aabb2_union_array.d.ts.map +1 -0
- package/src/core/geom/2d/aabb/aabb2_union_array.js +35 -0
- package/src/core/geom/2d/bvh/BVH2D.js +5 -5
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts +4 -11
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.d.ts.map +1 -1
- package/src/core/geom/2d/circle/circle_compute_circle_intersection.js +7 -64
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts +4 -9
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.d.ts.map +1 -1
- package/src/core/geom/2d/circle/circle_compute_circle_penetration.js +7 -32
- package/src/core/geom/2d/circle/circle_compute_intersection.d.ts +14 -0
- package/src/core/geom/2d/circle/circle_compute_intersection.d.ts.map +1 -0
- package/src/core/geom/2d/circle/circle_compute_intersection.js +64 -0
- package/src/core/geom/2d/circle/circle_compute_penetration.d.ts +12 -0
- package/src/core/geom/2d/circle/circle_compute_penetration.d.ts.map +1 -0
- package/src/core/geom/2d/circle/circle_compute_penetration.js +32 -0
- package/src/core/geom/2d/circle/circle_contains_point.d.ts +11 -0
- package/src/core/geom/2d/circle/circle_contains_point.d.ts.map +1 -0
- package/src/core/geom/2d/circle/circle_contains_point.js +16 -0
- package/src/core/geom/2d/circle/circle_intersects_point.d.ts +4 -8
- package/src/core/geom/2d/circle/circle_intersects_point.d.ts.map +1 -1
- package/src/core/geom/2d/circle/circle_intersects_point.js +7 -16
- package/src/core/geom/2d/compute_polygon_area_2d.d.ts +4 -5
- package/src/core/geom/2d/compute_polygon_area_2d.d.ts.map +1 -1
- package/src/core/geom/2d/compute_polygon_area_2d.js +7 -34
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_bruteforce.d.ts +17 -0
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_bruteforce.d.ts.map +1 -0
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_bruteforce.js +156 -0
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.d.ts +17 -0
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.d.ts.map +1 -0
- package/src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.js +288 -0
- package/src/core/geom/2d/convex-hull/convex_hull_jarvis_2d.js +2 -2
- package/src/core/geom/2d/convex-hull/convex_hull_monotone_2d.js +3 -3
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts +4 -14
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.d.ts.map +1 -1
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.js +7 -156
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts +4 -14
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts.map +1 -1
- package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +7 -288
- package/src/core/geom/2d/convex-hull/orient2d_indexed.d.ts +10 -0
- package/src/core/geom/2d/convex-hull/orient2d_indexed.d.ts.map +1 -0
- package/src/core/geom/2d/convex-hull/orient2d_indexed.js +22 -0
- package/src/core/geom/2d/convex-hull/orientation3_array.d.ts +4 -7
- package/src/core/geom/2d/convex-hull/orientation3_array.d.ts.map +1 -1
- package/src/core/geom/2d/convex-hull/orientation3_array.js +7 -22
- package/src/core/geom/2d/hash-grid/shg_query_elements_line.js +3 -3
- package/src/core/geom/2d/intersect_ray_2d.d.ts +4 -13
- package/src/core/geom/2d/intersect_ray_2d.d.ts.map +1 -1
- package/src/core/geom/2d/intersect_ray_2d.js +7 -49
- package/src/core/geom/2d/line/line2_compute_segment_point_distance_sqr.d.ts +11 -0
- package/src/core/geom/2d/line/line2_compute_segment_point_distance_sqr.d.ts.map +1 -0
- package/src/core/geom/2d/line/line2_compute_segment_point_distance_sqr.js +39 -0
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts +4 -8
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.d.ts.map +1 -1
- package/src/core/geom/2d/line/line2_distance_to_point_sqr.js +7 -39
- package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.d.ts +23 -0
- package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/line2_segment_intersection_fraction_2d.js +44 -0
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts +4 -11
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_2d.js +7 -35
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts +4 -17
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_array_2d.js +7 -51
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts +4 -7
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_2d.js +7 -15
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts +4 -6
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_compute_line_segment_intersection_vectors_array_2d.js +7 -30
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts +4 -20
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_intersection_fraction_2d.js +4 -41
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts +4 -12
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.d.ts.map +1 -1
- package/src/core/geom/2d/line/line_segment_line_segment_intersection_exists_2d.js +7 -29
- package/src/core/geom/2d/line/ray2_ray2_compute_intersection_array_2d.d.ts +16 -0
- package/src/core/geom/2d/line/ray2_ray2_compute_intersection_array_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/ray2_ray2_compute_intersection_array_2d.js +49 -0
- package/src/core/geom/2d/line/segment2_intersects_segment2_2d.d.ts +15 -0
- package/src/core/geom/2d/line/segment2_intersects_segment2_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/segment2_intersects_segment2_2d.js +29 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_array_2d.d.ts +20 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_array_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_array_2d.js +51 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_to_new_array_2d.d.ts +9 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_to_new_array_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_to_new_array_2d.js +28 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_2d.d.ts +14 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_2d.js +33 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_objects_2d.d.ts +10 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_objects_2d.d.ts.map +1 -0
- package/src/core/geom/2d/line/segment2_segment_compute_intersection_v2_objects_2d.js +13 -0
- package/src/core/geom/2d/polygon/polygon2_clip_halfplane.d.ts +17 -0
- package/src/core/geom/2d/polygon/polygon2_clip_halfplane.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_clip_halfplane.js +50 -0
- package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts +8 -0
- package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts.map +1 -0
- package/src/core/geom/2d/polygon/polygon2_signed_area.js +34 -0
- package/src/core/geom/2d/quad-tree/qt_collect_by_box.js +3 -3
- package/src/core/geom/2d/quad-tree/qt_collect_by_point.js +3 -3
- package/src/core/geom/2d/quad-tree/qt_query_closest_to_point.d.ts +12 -0
- package/src/core/geom/2d/quad-tree/qt_query_closest_to_point.d.ts.map +1 -0
- package/src/core/geom/2d/quad-tree/qt_query_closest_to_point.js +62 -0
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts +4 -9
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.d.ts.map +1 -1
- package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.js +7 -62
- package/src/core/geom/2d/r-tree/StaticR2Tree.js +3 -3
- package/src/core/geom/2d/rectangle_to_aabb.d.ts +4 -5
- package/src/core/geom/2d/rectangle_to_aabb.d.ts.map +1 -1
- package/src/core/geom/2d/rectangle_to_aabb.js +7 -29
- package/src/core/geom/2d/spline2_quadratic_bezier.d.ts +13 -0
- package/src/core/geom/2d/spline2_quadratic_bezier.d.ts.map +1 -0
- package/src/core/geom/2d/spline2_quadratic_bezier.js +26 -0
- package/src/core/geom/2d/spline_bezier2_2d.d.ts +4 -10
- package/src/core/geom/2d/spline_bezier2_2d.d.ts.map +1 -1
- package/src/core/geom/2d/spline_bezier2_2d.js +7 -26
- package/src/core/geom/2d/triangle/tri2_compute_barycentric.d.ts +15 -0
- package/src/core/geom/2d/triangle/tri2_compute_barycentric.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_compute_barycentric.js +48 -0
- package/src/core/geom/2d/triangle/tri2_contains_point.d.ts +14 -0
- package/src/core/geom/2d/triangle/tri2_contains_point.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_contains_point.js +39 -0
- package/src/core/geom/2d/triangle/tri2_signed_area.d.ts +12 -0
- package/src/core/geom/2d/triangle/tri2_signed_area.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_signed_area.js +23 -0
- package/src/core/geom/2d/triangle2d_compute_area.d.ts +4 -9
- package/src/core/geom/2d/triangle2d_compute_area.d.ts.map +1 -1
- package/src/core/geom/2d/triangle2d_compute_area.js +7 -23
- package/src/core/geom/2d/triangle2d_contains_point.d.ts +4 -11
- package/src/core/geom/2d/triangle2d_contains_point.d.ts.map +1 -1
- package/src/core/geom/2d/triangle2d_contains_point.js +7 -39
- package/src/core/geom/2d/triangle2d_get_barycentric.d.ts +4 -12
- package/src/core/geom/2d/triangle2d_get_barycentric.d.ts.map +1 -1
- package/src/core/geom/2d/triangle2d_get_barycentric.js +7 -48
- package/src/core/geom/3d/aabb/AABB3.js +6 -6
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts +4 -6
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_array_intersects_frustum_degree.js +7 -29
- package/src/core/geom/3d/aabb/aabb3_array_near_distance_to_intersection_ray_segment.js +2 -2
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts +4 -4
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_box_surface_area_2.js +7 -10
- package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts +11 -0
- package/src/core/geom/3d/aabb/aabb3_build_frustum.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_build_frustum.js +6 -1
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum.d.ts +13 -0
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum.js +46 -0
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum_array.d.ts +9 -0
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum_array.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_classify_against_frustum_array.js +29 -0
- package/src/core/geom/3d/aabb/aabb3_closest_point_on_surface.d.ts +15 -0
- package/src/core/geom/3d/aabb/aabb3_closest_point_on_surface.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_closest_point_on_surface.js +57 -0
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts +4 -5
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_combined_surface_area.js +7 -21
- package/src/core/geom/3d/aabb/aabb3_compute_clipping_volume_intersection.d.ts +22 -0
- package/src/core/geom/3d/aabb/aabb3_compute_clipping_volume_intersection.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_compute_clipping_volume_intersection.js +298 -0
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts +4 -9
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_compute_half_surface_area.js +7 -19
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts +4 -6
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_compute_projected_area.js +7 -86
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts +4 -9
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_compute_surface_area.js +7 -16
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts +4 -19
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.js +7 -298
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area.d.ts +8 -0
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area.js +59 -0
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts +4 -5
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.js +7 -59
- package/src/core/geom/3d/aabb/aabb3_from_three_geometry.d.ts +7 -0
- package/src/core/geom/3d/aabb/aabb3_from_three_geometry.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_from_three_geometry.js +18 -0
- package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.d.ts +4 -4
- package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.js +7 -18
- package/src/core/geom/3d/aabb/aabb3_from_triangle_group.d.ts +12 -0
- package/src/core/geom/3d/aabb/aabb3_from_triangle_group.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_from_triangle_group.js +46 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area.d.ts +7 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area.js +10 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area_extents.d.ts +12 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area_extents.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_half_surface_area_extents.js +19 -0
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts +4 -10
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_frustum_degree.js +7 -46
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts +4 -15
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_line_segment.js +7 -77
- package/src/core/geom/3d/aabb/aabb3_intersects_ray_segment.d.ts +13 -0
- package/src/core/geom/3d/aabb/aabb3_intersects_ray_segment.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_ray_segment.js +27 -6
- package/src/core/geom/3d/aabb/aabb3_intersects_segment3.d.ts +18 -0
- package/src/core/geom/3d/aabb/aabb3_intersects_segment3.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_intersects_segment3.js +77 -0
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts +4 -17
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_near_distance_to_intersection_ray_segment.js +7 -70
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts +4 -12
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.js +4 -54
- package/src/core/geom/3d/aabb/aabb3_projected_area.d.ts +9 -0
- package/src/core/geom/3d/aabb/aabb3_projected_area.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_projected_area.js +86 -0
- package/src/core/geom/3d/aabb/aabb3_ray_segment_entry_distance.d.ts +38 -0
- package/src/core/geom/3d/aabb/aabb3_ray_segment_entry_distance.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_ray_segment_entry_distance.js +95 -0
- package/src/core/geom/3d/aabb/aabb3_raycast.d.ts +4 -22
- package/src/core/geom/3d/aabb/aabb3_raycast.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_raycast.js +7 -109
- package/src/core/geom/3d/aabb/aabb3_raycast_hit_point.d.ts +25 -0
- package/src/core/geom/3d/aabb/aabb3_raycast_hit_point.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_raycast_hit_point.js +109 -0
- package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.js +2 -2
- package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH_delta.d.ts +7 -1
- package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH_delta.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH_delta.js +8 -5
- package/src/core/geom/3d/aabb/aabb3_surface_area.d.ts +12 -0
- package/src/core/geom/3d/aabb/aabb3_surface_area.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_surface_area.js +16 -0
- package/src/core/geom/3d/aabb/aabb3_transform_oriented_inverse.js +2 -2
- package/src/core/geom/3d/aabb/aabb3_transformed_compute_plane_side.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/aabb3_transformed_compute_plane_side.js +4 -1
- package/src/core/geom/3d/aabb/aabb3_union_half_surface_area.d.ts +8 -0
- package/src/core/geom/3d/aabb/aabb3_union_half_surface_area.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb3_union_half_surface_area.js +21 -0
- package/src/core/geom/3d/aabb/aabb_nd_from_points.d.ts +10 -0
- package/src/core/geom/3d/aabb/aabb_nd_from_points.d.ts.map +1 -0
- package/src/core/geom/3d/aabb/aabb_nd_from_points.js +39 -0
- package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts +4 -7
- package/src/core/geom/3d/aabb/compute_aabb_from_points.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/compute_aabb_from_points.js +7 -39
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts +4 -9
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/compute_triangle_group_aabb3.js +4 -43
- package/src/core/geom/3d/capsule/capsule_intersects_aabb3_closed.d.ts +1 -1
- package/src/core/geom/3d/capsule/capsule_intersects_aabb3_closed.js +3 -3
- package/src/core/geom/3d/circle3_compute_bounding_box.d.ts +14 -0
- package/src/core/geom/3d/circle3_compute_bounding_box.d.ts.map +1 -0
- package/src/core/geom/3d/circle3_compute_bounding_box.js +35 -0
- package/src/core/geom/3d/compute_circle_bounding_box.d.ts +4 -11
- package/src/core/geom/3d/compute_circle_bounding_box.d.ts.map +1 -1
- package/src/core/geom/3d/compute_circle_bounding_box.js +7 -35
- package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts +4 -11
- package/src/core/geom/3d/cone/computeConeBoundingBox.d.ts.map +1 -1
- package/src/core/geom/3d/cone/computeConeBoundingBox.js +7 -58
- package/src/core/geom/3d/cone/computeConePlaneSide.d.ts +4 -16
- package/src/core/geom/3d/cone/computeConePlaneSide.d.ts.map +1 -1
- package/src/core/geom/3d/cone/computeConePlaneSide.js +7 -86
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts +4 -5
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.d.ts.map +1 -1
- package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.js +7 -97
- package/src/core/geom/3d/cone/cone_compute_bounding_box.d.ts +14 -0
- package/src/core/geom/3d/cone/cone_compute_bounding_box.d.ts.map +1 -0
- package/src/core/geom/3d/cone/cone_compute_bounding_box.js +58 -0
- package/src/core/geom/3d/cone/cone_compute_bounding_of_2_cones.d.ts +8 -0
- package/src/core/geom/3d/cone/cone_compute_bounding_of_2_cones.d.ts.map +1 -0
- package/src/core/geom/3d/cone/cone_compute_bounding_of_2_cones.js +97 -0
- package/src/core/geom/3d/cone/cone_compute_plane_side.d.ts +19 -0
- package/src/core/geom/3d/cone/cone_compute_plane_side.d.ts.map +1 -0
- package/src/core/geom/3d/cone/cone_compute_plane_side.js +86 -0
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts +4 -8
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/clipping_volume_matrix4_project.js +7 -45
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts +4 -9
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +7 -112
- package/src/core/geom/3d/frustum/frustum3_compute_closest_point.d.ts +12 -0
- package/src/core/geom/3d/frustum/frustum3_compute_closest_point.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_compute_closest_point.js +110 -0
- package/src/core/geom/3d/frustum/frustum3_from_aabb.d.ts +19 -0
- package/src/core/geom/3d/frustum/frustum3_from_aabb.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_from_aabb.js +60 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project.d.ts +10 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project.js +18 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project_n.d.ts +11 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project_n.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_matrix4_project_n.js +45 -0
- package/src/core/geom/3d/frustum/frustum3_planes_to_flat_from_three.d.ts +7 -0
- package/src/core/geom/3d/frustum/frustum3_planes_to_flat_from_three.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_planes_to_flat_from_three.js +26 -0
- package/src/core/geom/3d/frustum/frustum3_slice_linear_to_points.d.ts +10 -0
- package/src/core/geom/3d/frustum/frustum3_slice_linear_to_points.d.ts.map +1 -0
- package/src/core/geom/3d/frustum/frustum3_slice_linear_to_points.js +96 -0
- package/src/core/geom/3d/frustum/frustum_compute_corners.js +9 -9
- package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts +4 -7
- package/src/core/geom/3d/frustum/frustum_matrix4_project.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/frustum_matrix4_project.js +7 -18
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts +4 -16
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/hexahedron_from_aabb.js +7 -60
- package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/read_three_planes_to_array.js +7 -26
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts +4 -7
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.js +7 -96
- package/src/core/geom/3d/funnel_string_pull.d.ts.map +1 -0
- package/src/{engine/navigation/mesh → core/geom/3d}/funnel_string_pull.js +1 -1
- package/src/core/geom/3d/gjk/gjk.js +4 -4
- package/src/core/geom/3d/gjk/gjk_epa_penetration.js +13 -13
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts +4 -24
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.d.ts.map +1 -1
- package/src/core/geom/3d/line/line3_closest_points_segment_segment.js +4 -85
- package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts.map +1 -1
- package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.js +7 -34
- package/src/core/geom/3d/line/line3_compute_segment_closest_point.d.ts +16 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point.js +34 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_t.d.ts +19 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_t.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_t.js +48 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.d.ts +44 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_segment_closest_point_to_aabb3_t.js +153 -0
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts +4 -41
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.d.ts.map +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_aabb3_t.js +4 -150
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts +4 -16
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.d.ts.map +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_nearest_point_to_point_t.js +7 -48
- package/src/core/geom/3d/line/line3_compute_segment_point_distance_sqr.d.ts +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_point_distance_sqr.js +2 -2
- package/src/core/geom/3d/line/line3_compute_segment_segment_closest_points.d.ts +27 -0
- package/src/core/geom/3d/line/line3_compute_segment_segment_closest_points.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_segment_segment_closest_points.js +88 -0
- package/src/core/geom/3d/line/segment3_point_distance_to_segments.d.ts +11 -0
- package/src/core/geom/3d/line/segment3_point_distance_to_segments.d.ts.map +1 -0
- package/src/core/geom/3d/line/segment3_point_distance_to_segments.js +25 -0
- package/src/core/geom/3d/mat4/allocate_m4.d.ts +4 -3
- package/src/core/geom/3d/mat4/allocate_m4.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/allocate_m4.js +7 -16
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts +4 -9
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.js +7 -55
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts +4 -9
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.js +7 -30
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts +4 -19
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/compose_matrix4_array.js +7 -53
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts +4 -6
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.js +7 -76
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts +4 -30
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +1 -1
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.js +7 -124
- package/src/core/geom/3d/mat4/m4_allocate.d.ts +6 -0
- package/src/core/geom/3d/mat4/m4_allocate.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_allocate.js +16 -0
- package/src/core/geom/3d/mat4/m4_compose.d.ts +22 -0
- package/src/core/geom/3d/mat4/m4_compose.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_compose.js +53 -0
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts +7 -0
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_compute_normal_matrix3.js +7 -0
- package/src/core/geom/3d/mat4/m4_decompose.d.ts +9 -0
- package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_decompose.js +76 -0
- package/src/core/geom/3d/mat4/m4_euler_angles.d.ts +33 -0
- package/src/core/geom/3d/mat4/m4_euler_angles.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_euler_angles.js +124 -0
- package/src/core/geom/3d/mat4/m4_normal_matrix3.d.ts +20 -0
- package/src/core/geom/3d/mat4/m4_normal_matrix3.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_normal_matrix3.js +39 -0
- package/src/core/geom/3d/mat4/m4_transform_direction_v3_buffer.d.ts +12 -0
- package/src/core/geom/3d/mat4/m4_transform_direction_v3_buffer.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_transform_direction_v3_buffer.js +55 -0
- package/src/core/geom/3d/mat4/m4_transform_v3_buffer.d.ts +12 -0
- package/src/core/geom/3d/mat4/m4_transform_v3_buffer.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_transform_v3_buffer.js +30 -0
- package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts +4 -9
- package/src/core/geom/3d/morton/mortonEncode_LUT.d.ts.map +1 -1
- package/src/core/geom/3d/morton/mortonEncode_LUT.js +7 -143
- package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts +4 -9
- package/src/core/geom/3d/morton/mortonEncode_magicbits.d.ts.map +1 -1
- package/src/core/geom/3d/morton/mortonEncode_magicbits.js +7 -20
- package/src/core/geom/3d/morton/v3_morton_encode.d.ts +2 -2
- package/src/core/geom/3d/morton/v3_morton_encode.d.ts.map +1 -1
- package/src/core/geom/3d/morton/v3_morton_encode.js +2 -2
- package/src/core/geom/3d/morton/v3_morton_encode_bounded.d.ts +2 -2
- package/src/core/geom/3d/morton/v3_morton_encode_bounded.d.ts.map +1 -1
- package/src/core/geom/3d/morton/v3_morton_encode_bounded.js +1 -1
- package/src/core/geom/3d/morton/v3_morton_encode_lut.d.ts +12 -0
- package/src/core/geom/3d/morton/v3_morton_encode_lut.d.ts.map +1 -0
- package/src/core/geom/3d/morton/v3_morton_encode_lut.js +143 -0
- package/src/core/geom/3d/morton/v3_morton_encode_magicbits.d.ts +12 -0
- package/src/core/geom/3d/morton/v3_morton_encode_magicbits.d.ts.map +1 -0
- package/src/core/geom/3d/morton/v3_morton_encode_magicbits.js +20 -0
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts +1 -14
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.d.ts.map +1 -1
- package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.js +5 -29
- package/src/core/geom/3d/normal/hemioct/encode_unit_to_hemioct.d.ts +15 -0
- package/src/core/geom/3d/normal/hemioct/encode_unit_to_hemioct.d.ts.map +1 -0
- package/src/core/geom/3d/normal/hemioct/encode_unit_to_hemioct.js +28 -0
- package/src/core/geom/3d/normal/lambert_azimuth/decode_azimuth_to_unit.d.ts +9 -0
- package/src/core/geom/3d/normal/lambert_azimuth/decode_azimuth_to_unit.d.ts.map +1 -0
- package/src/core/geom/3d/normal/{lamber_azimuth/transform.js → lambert_azimuth/decode_azimuth_to_unit.js} +30 -61
- package/src/core/geom/3d/normal/lambert_azimuth/encode_unit_to_azimuth.d.ts +10 -0
- package/src/core/geom/3d/normal/lambert_azimuth/encode_unit_to_azimuth.d.ts.map +1 -0
- package/src/core/geom/3d/normal/lambert_azimuth/encode_unit_to_azimuth.js +19 -0
- package/src/core/geom/3d/normal/spherical/decode_spheremap_to_unit.d.ts +9 -0
- package/src/core/geom/3d/normal/spherical/decode_spheremap_to_unit.d.ts.map +1 -0
- package/src/core/geom/3d/normal/spherical/decode_spheremap_to_unit.js +38 -0
- package/src/core/geom/3d/normal/spherical/{sphere_map_transform.d.ts → encode_unit_to_spheremap.d.ts} +2 -2
- package/src/core/geom/3d/normal/spherical/encode_unit_to_spheremap.d.ts.map +1 -0
- package/src/core/geom/3d/normal/spherical/encode_unit_to_spheremap.js +30 -0
- package/src/core/geom/3d/octahedra/octahedral_uv_to_direction.js +2 -2
- package/src/core/geom/3d/plane/is_point_within_planes.d.ts +4 -10
- package/src/core/geom/3d/plane/is_point_within_planes.d.ts.map +1 -1
- package/src/core/geom/3d/plane/is_point_within_planes.js +7 -46
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection.d.ts +25 -0
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection.js +72 -0
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection_from_three.d.ts +11 -0
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection_from_three.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_compute_3_plane_intersection_from_three.js +27 -0
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts +4 -22
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.d.ts.map +1 -1
- package/src/core/geom/3d/plane/plane3_compute_convex_3_plane_intersection.js +7 -72
- package/src/core/geom/3d/plane/plane3_compute_intersection.d.ts +17 -0
- package/src/core/geom/3d/plane/plane3_compute_intersection.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_compute_intersection.js +76 -0
- package/src/core/geom/3d/plane/plane3_compute_intersection_objects.d.ts +14 -0
- package/src/core/geom/3d/plane/plane3_compute_intersection_objects.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_compute_intersection_objects.js +82 -0
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts +4 -11
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.d.ts.map +1 -1
- package/src/core/geom/3d/plane/plane3_compute_plane_intersection.js +7 -82
- package/src/core/geom/3d/plane/plane3_contains_point_within_set.d.ts +13 -0
- package/src/core/geom/3d/plane/plane3_contains_point_within_set.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_contains_point_within_set.js +46 -0
- package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts +4 -14
- package/src/core/geom/3d/plane/plane3_intersect_plane.d.ts.map +1 -1
- package/src/core/geom/3d/plane/plane3_intersect_plane.js +7 -76
- package/src/core/geom/3d/plane/plane3_matrix4_project.js +4 -4
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts +4 -8
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.d.ts.map +1 -1
- package/src/core/geom/3d/plane/plane3_three_compute_convex_3_plane_intersection.js +7 -27
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts +4 -5
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat3_createFromAxisAngle.js +7 -11
- package/src/core/geom/3d/quaternion/quat3_decode_from_uint32.d.ts +12 -0
- package/src/core/geom/3d/quaternion/quat3_decode_from_uint32.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_decode_from_uint32.js +66 -0
- package/src/core/geom/3d/quaternion/quat3_encode_to_uint32.d.ts +14 -0
- package/src/core/geom/3d/quaternion/quat3_encode_to_uint32.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_encode_to_uint32.js +110 -0
- package/src/core/geom/3d/quaternion/quat3_from_axis_angle.d.ts +8 -0
- package/src/core/geom/3d/quaternion/quat3_from_axis_angle.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_from_axis_angle.js +11 -0
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +4 -9
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +7 -57
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +4 -11
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +7 -110
- package/src/core/geom/3d/ray/Ray3.js +4 -4
- package/src/core/geom/3d/ray/ray3_array_apply_matrix4.js +2 -2
- package/src/core/geom/3d/ray/ray3_array_compose.d.ts +4 -9
- package/src/core/geom/3d/ray/ray3_array_compose.d.ts.map +1 -1
- package/src/core/geom/3d/ray/ray3_array_compose.js +7 -19
- package/src/core/geom/3d/ray/ray3_compose_array.d.ts +12 -0
- package/src/core/geom/3d/ray/ray3_compose_array.d.ts.map +1 -0
- package/src/core/geom/3d/ray/ray3_compose_array.js +19 -0
- package/src/core/geom/3d/ray/ray3_compute_closest_point.d.ts +16 -0
- package/src/core/geom/3d/ray/ray3_compute_closest_point.d.ts.map +1 -0
- package/src/core/geom/3d/ray/ray3_compute_closest_point.js +43 -0
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts +4 -13
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.d.ts.map +1 -1
- package/src/core/geom/3d/ray/ray3_compute_nearest_point_to_point.js +7 -43
- package/src/core/geom/3d/ray/ray3_compute_point_projection_t.d.ts +15 -0
- package/src/core/geom/3d/ray/ray3_compute_point_projection_t.d.ts.map +1 -0
- package/src/core/geom/3d/ray/ray3_compute_point_projection_t.js +31 -0
- package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts +4 -12
- package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts.map +1 -1
- package/src/core/geom/3d/ray/ray3_distance_to_point.js +7 -31
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts +4 -7
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.d.ts.map +1 -1
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.js +7 -35
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction_array.d.ts +10 -0
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction_array.d.ts.map +1 -0
- package/src/core/geom/3d/ray/ray3_shift_origin_along_direction_array.js +35 -0
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts +13 -0
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/AbstractShape3D.js +16 -0
- package/src/core/geom/3d/shape/BoxShape3D.d.ts +1 -0
- package/src/core/geom/3d/shape/BoxShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/BoxShape3D.js +21 -5
- package/src/core/geom/3d/shape/CapsuleShape3D.d.ts +1 -0
- package/src/core/geom/3d/shape/CapsuleShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/CapsuleShape3D.js +23 -4
- package/src/core/geom/3d/shape/ConvexHullShape3D.js +3 -3
- package/src/core/geom/3d/shape/CylinderShape3D.js +2 -2
- package/src/core/geom/3d/shape/MeshShape3D.d.ts +39 -4
- package/src/core/geom/3d/shape/MeshShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/MeshShape3D.js +120 -11
- package/src/core/geom/3d/shape/SphereShape3D.d.ts +1 -0
- package/src/core/geom/3d/shape/SphereShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/SphereShape3D.js +17 -2
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts +7 -3
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/TransformedShape3D.js +3 -1
- package/src/core/geom/3d/shape/Triangle3D.d.ts +1 -1
- package/src/core/geom/3d/shape/Triangle3D.js +5 -5
- package/src/core/geom/3d/shape/shape3_mesh_from_geometry.d.ts +30 -0
- package/src/core/geom/3d/shape/shape3_mesh_from_geometry.d.ts.map +1 -0
- package/src/core/geom/3d/shape/shape3_mesh_from_geometry.js +64 -0
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts +4 -27
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts.map +1 -1
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.js +4 -61
- package/src/core/geom/3d/shape/util/shape3_voxelize_to_grid.d.ts +61 -0
- package/src/core/geom/3d/shape/util/shape3_voxelize_to_grid.d.ts.map +1 -0
- package/src/core/geom/3d/shape/util/shape3_voxelize_to_grid.js +153 -0
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts +4 -58
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.d.ts.map +1 -1
- package/src/core/geom/3d/shape/util/shape3d_voxelize_to_grid.js +7 -153
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts +4 -5
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.js +7 -74
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +2 -2
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts +8 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.js +94 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts +4 -5
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate_bl.js +7 -94
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts +4 -6
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh_compute_K.js +7 -17
- package/src/core/geom/3d/sphere/harmonics/sh_normalization_factor.d.ts +9 -0
- package/src/core/geom/3d/sphere/harmonics/sh_normalization_factor.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh_normalization_factor.js +17 -0
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts +4 -7
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_array_intersects_point.js +7 -15
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts +4 -10
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_array_intersects_ray.js +7 -25
- package/src/core/geom/3d/sphere/sphere_compute_bounding_of_2_spheres.d.ts +8 -0
- package/src/core/geom/3d/sphere/sphere_compute_bounding_of_2_spheres.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_compute_bounding_of_2_spheres.js +74 -0
- package/src/core/geom/3d/sphere/sphere_contains_point.d.ts +13 -0
- package/src/core/geom/3d/sphere/sphere_contains_point.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_contains_point.js +29 -0
- package/src/core/geom/3d/sphere/sphere_fibonacci_point.d.ts +2 -2
- package/src/core/geom/3d/sphere/sphere_fibonacci_point.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_fibonacci_point.js +1 -1
- package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts +4 -10
- package/src/core/geom/3d/sphere/sphere_intersects_point.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_intersects_point.js +7 -29
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts +7 -0
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_matrix4_transform.js +6 -2
- package/src/core/geom/3d/sphere/sphere_packed_contains_point.d.ts +10 -0
- package/src/core/geom/3d/sphere/sphere_packed_contains_point.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_packed_contains_point.js +15 -0
- package/src/core/geom/3d/sphere/sphere_packed_intersects_ray.d.ts +13 -0
- package/src/core/geom/3d/sphere/sphere_packed_intersects_ray.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_packed_intersects_ray.js +25 -0
- package/src/core/geom/3d/sphere/sphere_project.js +2 -2
- package/src/core/geom/3d/sphere/sphere_projected_radius_sqr.d.ts +9 -0
- package/src/core/geom/3d/sphere/sphere_projected_radius_sqr.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_projected_radius_sqr.js +45 -0
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +4 -6
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +7 -45
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts +4 -6
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.js +7 -32
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_buffer_transformed.d.ts +9 -0
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_buffer_transformed.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_buffer_transformed.js +32 -0
- package/src/core/geom/3d/sphere/sphere_spherical_from_cartesian.d.ts +10 -0
- package/src/core/geom/3d/sphere/sphere_spherical_from_cartesian.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_spherical_from_cartesian.js +29 -0
- package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts +4 -7
- package/src/core/geom/3d/sphere/spherical_from_cartesian.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/spherical_from_cartesian.js +7 -29
- package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.js +5 -5
- package/src/core/geom/3d/tetrahedra/compute_tetrahedral_mesh_from_surface.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedral_mesh_from_surface.js +3 -5
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts +4 -12
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_quality.js +4 -19
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts +4 -6
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/compute_tetrahedron_volume.js +7 -18
- package/src/core/geom/3d/tetrahedra/delaunay/compute_delaunay_tetrahedral_mesh.js +2 -2
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts +4 -7
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.js +7 -166
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_fill_cavity.d.ts +10 -0
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_fill_cavity.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_fill_cavity.js +166 -0
- package/src/core/geom/3d/tetrahedra/prototypeTetrahedraBuilder.js +2 -2
- package/src/core/geom/3d/tetrahedra/prototype_tetrahedrize_mesh.js +6 -8
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.js +3 -3
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.d.ts +15 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_quality.js +22 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_volume.d.ts +9 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_volume.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_compute_tet_volume.js +18 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_get_neighbours.d.ts +24 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_get_neighbours.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_get_neighbours.js +39 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.js +12 -12
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts +4 -21
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_tet_get_neighbours.js +7 -39
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_quality.js +5 -5
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js +2 -2
- package/src/core/geom/3d/tetrahedra/triangle/prototype.js +5 -4
- package/src/core/geom/3d/tetrahedra/triangle/trace_triangular_depth_map.js +2 -2
- package/src/core/geom/3d/tetrahedra/triangle/triangle_decode_depth.d.ts +2 -0
- package/src/core/geom/3d/tetrahedra/triangle/triangle_decode_depth.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/triangle/{triangle_encode_rasterized_depth.js → triangle_decode_depth.js} +59 -112
- package/src/core/geom/3d/tetrahedra/triangle/triangle_rasterized_depth_sample_index.d.ts +12 -0
- package/src/core/geom/3d/tetrahedra/triangle/triangle_rasterized_depth_sample_index.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/triangle/triangle_rasterized_depth_sample_index.js +54 -0
- package/src/core/geom/3d/tetrahedra/validate_neighbour.d.ts +10 -0
- package/src/core/geom/3d/tetrahedra/validate_neighbour.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/validate_neighbour.js +70 -0
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts +0 -16
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js +69 -186
- package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts +9 -0
- package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.js +50 -0
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundingSphere.d.ts +4 -4
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundingSphere.d.ts.map +1 -1
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundingSphere.js +7 -37
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundiningBox.d.ts +4 -4
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundiningBox.d.ts.map +1 -1
- package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundiningBox.js +7 -16
- package/src/core/geom/3d/topology/bounds/computeTriangleClusterNormalBoundingCone.d.ts +4 -6
- package/src/core/geom/3d/topology/bounds/computeTriangleClusterNormalBoundingCone.d.ts.map +1 -1
- package/src/core/geom/3d/topology/bounds/computeTriangleClusterNormalBoundingCone.js +7 -87
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_box.d.ts +7 -0
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_box.d.ts.map +1 -0
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_box.js +16 -0
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_sphere.d.ts +7 -0
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_sphere.d.ts.map +1 -0
- package/src/core/geom/3d/topology/bounds/compute_topo_mesh_bounding_sphere.js +37 -0
- package/src/core/geom/3d/topology/bounds/compute_triangle_cluster_normal_bounding_cone.d.ts +9 -0
- package/src/core/geom/3d/topology/bounds/compute_triangle_cluster_normal_bounding_cone.d.ts.map +1 -0
- package/src/core/geom/3d/topology/bounds/compute_triangle_cluster_normal_bounding_cone.js +87 -0
- package/src/core/geom/3d/topology/build_face_graph_from_mesh.d.ts +0 -7
- package/src/core/geom/3d/topology/build_face_graph_from_mesh.d.ts.map +1 -1
- package/src/core/geom/3d/topology/build_face_graph_from_mesh.js +78 -113
- package/src/core/geom/3d/topology/compareEdges.d.ts +6 -1
- package/src/core/geom/3d/topology/compareEdges.d.ts.map +1 -1
- package/src/core/geom/3d/topology/compareEdges.js +7 -16
- package/src/core/geom/3d/topology/compare_edges.d.ts +8 -0
- package/src/core/geom/3d/topology/compare_edges.d.ts.map +1 -0
- package/src/core/geom/3d/topology/compare_edges.js +16 -0
- package/src/core/geom/3d/topology/computeTopoMeshVertexDuplicates.d.ts +4 -6
- package/src/core/geom/3d/topology/computeTopoMeshVertexDuplicates.d.ts.map +1 -1
- package/src/core/geom/3d/topology/computeTopoMeshVertexDuplicates.js +7 -108
- package/src/core/geom/3d/topology/compute_topo_mesh_vertex_duplicates.d.ts +9 -0
- package/src/core/geom/3d/topology/compute_topo_mesh_vertex_duplicates.d.ts.map +1 -0
- package/src/core/geom/3d/topology/compute_topo_mesh_vertex_duplicates.js +108 -0
- package/src/core/geom/3d/topology/expandConnectivityByLocality.js +2 -2
- package/src/core/geom/3d/topology/graph_create_off_mesh_links.d.ts +8 -0
- package/src/core/geom/3d/topology/graph_create_off_mesh_links.d.ts.map +1 -0
- package/src/core/geom/3d/topology/graph_create_off_mesh_links.js +35 -0
- package/src/core/geom/3d/topology/samples/prototypeFloodFill.js +4 -4
- package/src/core/geom/3d/topology/simplify/EdgeCollapseCandidate.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/EdgeCollapseCandidate.js +9 -8
- package/src/core/geom/3d/topology/simplify/collapse_degenerate_edge.js +2 -2
- package/src/core/geom/3d/topology/simplify/collapse_edge.d.ts +11 -0
- package/src/core/geom/3d/topology/simplify/collapse_edge.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/collapse_edge.js +21 -0
- package/src/core/geom/3d/topology/simplify/computeEdgeCollapseCost.d.ts +4 -8
- package/src/core/geom/3d/topology/simplify/computeEdgeCollapseCost.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/computeEdgeCollapseCost.js +7 -82
- package/src/core/geom/3d/topology/simplify/compute_edge_collapse_cost.d.ts +11 -0
- package/src/core/geom/3d/topology/simplify/compute_edge_collapse_cost.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/compute_edge_collapse_cost.js +82 -0
- package/src/core/geom/3d/topology/simplify/compute_face_normal_change_dot_product.js +3 -3
- package/src/core/geom/3d/topology/simplify/decimate_edge_collapse_snap.js +2 -2
- package/src/core/geom/3d/topology/simplify/edge_collapse_quadratic.js +2 -2
- package/src/core/geom/3d/topology/simplify/partial_edge_collapse.d.ts +11 -0
- package/src/core/geom/3d/topology/simplify/partial_edge_collapse.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/{collapseEdge.js → partial_edge_collapse.js} +118 -167
- package/src/core/geom/3d/topology/simplify/prototypeMeshSimplification.js +2 -2
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalties_to_vertex_quadrics.d.ts +9 -0
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalties_to_vertex_quadrics.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalties_to_vertex_quadrics.js +16 -0
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalty_to_vertex_quadrics.d.ts +10 -0
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalty_to_vertex_quadrics.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/quadratic/apply_border_penalty_to_vertex_quadrics.js +47 -0
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadrics.d.ts +9 -0
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadrics.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadrics.js +95 -0
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadratic.d.ts +4 -7
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadratic.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadratic.js +7 -28
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadric.d.ts +10 -0
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadric.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadric.js +28 -0
- package/src/core/geom/3d/topology/simplify/quadratic/deep_copy_vertex_quadrics.d.ts +8 -0
- package/src/core/geom/3d/topology/simplify/quadratic/deep_copy_vertex_quadrics.d.ts.map +1 -0
- package/src/core/geom/3d/topology/simplify/quadratic/deep_copy_vertex_quadrics.js +20 -0
- package/src/core/geom/3d/topology/simplify/simplifyTopoMesh.js +2 -2
- package/src/core/geom/3d/topology/simplify/simplifyTopoMesh2.js +2 -2
- package/src/core/geom/3d/topology/struct/TopoMesh.d.ts +3 -3
- package/src/core/geom/3d/topology/struct/TopoMesh.js +10 -10
- package/src/core/geom/3d/topology/struct/TopoTriangle.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_bridge_islands.js +4 -4
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_cleanup_faceless_references.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_close_boundary_holes.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_face_normals.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts +4 -11
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadratics.js +4 -92
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadrics.d.ts +14 -0
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadrics.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_compute_vertex_quadrics.js +95 -0
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_decouple_islands.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_island_erode.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_face_island_erode.js +6 -8
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_fill_small_holes.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_resolve_t_junctions.js +3 -3
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_simplify.js +6 -6
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_simplify_by_error.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_simplify_by_error.js +45 -10
- package/src/core/geom/3d/topology/struct/binary/io/edge/bt_edge_collapse.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts +14 -0
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_poke.js +6 -2
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts +4 -4
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_kill_only_vert.js +7 -8
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_vertices_by_distance.d.ts +10 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_vertices_by_distance.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_vertices_by_distance.js +165 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts +4 -7
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_merge_verts_by_distance.js +7 -165
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts +4 -19
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_fuse_duplicate_edges.js +4 -145
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts +4 -4
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vert_kill.js +7 -21
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_fuse_duplicate_edges.d.ts +22 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_fuse_duplicate_edges.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_fuse_duplicate_edges.js +148 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill.d.ts +7 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill.js +21 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill_only.d.ts +7 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill_only.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/io/vertex/bt_vertex_kill_only.js +8 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_collect_boundary_segments.d.ts +14 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_collect_boundary_segments.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_collect_boundary_segments.js +29 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_is_boundary.d.ts +11 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_is_boundary.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_is_boundary.js +20 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts +4 -9
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_attached_faces.js +7 -96
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_edge_adjacent_faces.d.ts +12 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_edge_adjacent_faces.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_edge_adjacent_faces.js +74 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_incenter.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts +4 -9
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_neighbour_faces.js +7 -74
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_shared_loop.d.ts +15 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_shared_loop.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_shared_loop.js +48 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.d.ts +12 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_get_vertex_adjacent_faces.js +96 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_island_flood_fill.js +2 -2
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts +4 -12
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_faces_shared_loop.js +4 -45
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_boundary_euclidean_distance_field.d.ts +0 -23
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_boundary_euclidean_distance_field.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_boundary_euclidean_distance_field.js +2 -54
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.d.ts +9 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.d.ts.map +1 -0
- package/src/{engine/navigation/mesh/bvh_build_from_bt_mesh.js → core/geom/3d/topology/struct/binary/query/bt_mesh_build_face_bvh.js} +5 -3
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path.d.ts.map +1 -0
- package/src/{engine/navigation/mesh → core/geom/3d/topology/struct/binary/query}/bt_mesh_face_find_path.js +7 -9
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_face_find_path_polyanya.d.ts.map +1 -0
- package/src/{engine/navigation/mesh → core/geom/3d/topology/struct/binary/query}/bt_mesh_face_find_path_polyanya.js +16 -16
- package/src/{engine/navigation/mesh/bvh_query_nearest_face.d.ts → core/geom/3d/topology/struct/binary/query/bt_mesh_find_nearest_face.d.ts} +3 -3
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_find_nearest_face.d.ts.map +1 -0
- package/src/{engine/navigation/mesh/bvh_query_nearest_face.js → core/geom/3d/topology/struct/binary/query/bt_mesh_find_nearest_face.js} +9 -11
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_sample_interior_grid_points.js +3 -3
- package/src/{engine/navigation/mesh/bvh_segment_penetrates_mesh.d.ts → core/geom/3d/topology/struct/binary/query/bt_mesh_segment_penetrates_surface.d.ts} +3 -3
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_segment_penetrates_surface.d.ts.map +1 -0
- package/src/{engine/navigation/mesh/bvh_segment_penetrates_mesh.js → core/geom/3d/topology/struct/binary/query/bt_mesh_segment_penetrates_surface.js} +4 -4
- package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_walk_boundary_loops.js +3 -3
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts +4 -8
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/query/bt_query_edge_is_boundary.js +4 -17
- package/src/core/geom/3d/topology/tm_edge_kill.js +2 -2
- package/src/core/geom/3d/topology/tm_edge_kill_only.d.ts +7 -0
- package/src/core/geom/3d/topology/tm_edge_kill_only.d.ts.map +1 -0
- package/src/core/geom/3d/topology/tm_edge_kill_only.js +35 -0
- package/src/core/geom/3d/topology/tm_face_area.js +2 -2
- package/src/core/geom/3d/topology/tm_face_kill.js +2 -2
- package/src/core/geom/3d/topology/tm_face_kill_only.d.ts +7 -0
- package/src/core/geom/3d/topology/tm_face_kill_only.d.ts.map +1 -0
- package/src/core/geom/3d/topology/tm_face_kill_only.js +12 -0
- package/src/core/geom/3d/topology/tm_face_normal.js +2 -2
- package/src/core/geom/3d/topology/tm_kill_only_edge.d.ts +4 -4
- package/src/core/geom/3d/topology/tm_kill_only_edge.d.ts.map +1 -1
- package/src/core/geom/3d/topology/tm_kill_only_edge.js +7 -35
- package/src/core/geom/3d/topology/tm_kill_only_face.d.ts +4 -4
- package/src/core/geom/3d/topology/tm_kill_only_face.d.ts.map +1 -1
- package/src/core/geom/3d/topology/tm_kill_only_face.js +7 -12
- package/src/core/geom/3d/topology/tm_kill_only_vert.d.ts +4 -4
- package/src/core/geom/3d/topology/tm_kill_only_vert.d.ts.map +1 -1
- package/src/core/geom/3d/topology/tm_kill_only_vert.js +7 -14
- package/src/core/geom/3d/topology/tm_vert_kill.d.ts +4 -4
- package/src/core/geom/3d/topology/tm_vert_kill.d.ts.map +1 -1
- package/src/core/geom/3d/topology/tm_vert_kill.js +7 -19
- package/src/core/geom/3d/topology/tm_vert_splice.d.ts +4 -9
- package/src/core/geom/3d/topology/tm_vert_splice.d.ts.map +1 -1
- package/src/core/geom/3d/topology/tm_vert_splice.js +7 -64
- package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +2 -2
- package/src/core/geom/3d/topology/tm_vertex_kill.d.ts +7 -0
- package/src/core/geom/3d/topology/tm_vertex_kill.d.ts.map +1 -0
- package/src/core/geom/3d/topology/tm_vertex_kill.js +19 -0
- package/src/core/geom/3d/topology/tm_vertex_kill_only.d.ts +7 -0
- package/src/core/geom/3d/topology/tm_vertex_kill_only.d.ts.map +1 -0
- package/src/core/geom/3d/topology/tm_vertex_kill_only.js +14 -0
- package/src/core/geom/3d/topology/tm_vertex_splice.d.ts +12 -0
- package/src/core/geom/3d/topology/tm_vertex_splice.d.ts.map +1 -0
- package/src/core/geom/3d/topology/tm_vertex_splice.js +64 -0
- package/src/core/geom/3d/topology/tm_weld_duplicate_vertices.js +4 -4
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts +4 -17
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/computeTriangleClosestPointToPointBarycentric.js +7 -167
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts +4 -20
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersection.js +4 -157
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts +4 -22
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.js +4 -93
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts +4 -23
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.js +7 -95
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts +4 -13
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricGeometry.js +7 -55
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts +4 -12
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/compute_triangle_area_3d.js +7 -50
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts +4 -18
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/compute_triangle_normal.js +7 -25
- package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts +4 -10
- package/src/core/geom/3d/triangle/rayTriangleIntersection.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/rayTriangleIntersection.js +7 -37
- package/src/core/geom/3d/triangle/tri3_area.d.ts +15 -0
- package/src/core/geom/3d/triangle/tri3_area.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_area.js +50 -0
- package/src/core/geom/3d/triangle/tri3_closest_point_barycentric.d.ts +20 -0
- package/src/core/geom/3d/triangle/tri3_closest_point_barycentric.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_closest_point_barycentric.js +167 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal.d.ts +16 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal.js +57 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal_v3_objects.d.ts +21 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal_v3_objects.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_compute_normal_v3_objects.js +25 -0
- package/src/core/geom/3d/triangle/tri3_compute_plane_side.d.ts +24 -0
- package/src/core/geom/3d/triangle/tri3_compute_plane_side.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_compute_plane_side.js +39 -0
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts +17 -0
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_compute_signed_volume.js +33 -0
- package/src/core/geom/3d/triangle/tri3_incenter.d.ts +19 -0
- package/src/core/geom/3d/triangle/tri3_incenter.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_incenter.js +60 -0
- package/src/core/geom/3d/triangle/tri3_intersects_clipping_volume.d.ts +17 -0
- package/src/core/geom/3d/triangle/tri3_intersects_clipping_volume.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_intersects_clipping_volume.js +51 -0
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts +20 -0
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.js +38 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection.d.ts +23 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection.js +160 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric.d.ts +25 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric.js +96 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric_edge.d.ts +26 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric_edge.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_barycentric_edge.js +95 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_indexed.d.ts +16 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_indexed.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_indexed.js +55 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_v3_objects.d.ts +13 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_v3_objects.d.ts.map +1 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection_v3_objects.js +37 -0
- package/src/core/geom/3d/triangle/triangle3_incenter.d.ts +4 -16
- package/src/core/geom/3d/triangle/triangle3_incenter.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/triangle3_incenter.js +7 -60
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts +4 -21
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/triangle_compute_plane_side.js +7 -39
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts +4 -14
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/triangle_compute_signed_volume.js +7 -33
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts +4 -14
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/triangle_intersects_clipping_volume.js +7 -51
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts +4 -17
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/triangle_mesh_compute_signed_volume.js +4 -35
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +4 -13
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +7 -57
- package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts +10 -0
- package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -0
- package/src/core/geom/3d/util/aabb3_emit_point_grid.js +42 -0
- package/src/core/geom/3d/util/make_justified_point_grid.d.ts +4 -7
- package/src/core/geom/3d/util/make_justified_point_grid.d.ts.map +1 -1
- package/src/core/geom/3d/util/make_justified_point_grid.js +7 -42
- package/src/core/geom/GEOMETRY_REVIEW_002_API_ISSUES.md +381 -0
- package/src/core/geom/GEOMETRY_REVIEW_002_NAMING.md +684 -0
- package/src/core/geom/Vector3.js +2 -2
- package/src/core/geom/Vector4.d.ts +1 -1
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +0 -10
- package/src/core/geom/mat3/m3_cm_from_translation.d.ts +4 -5
- package/src/core/geom/mat3/m3_cm_from_translation.d.ts.map +1 -1
- package/src/core/geom/mat3/m3_cm_from_translation.js +7 -19
- package/src/core/geom/mat3/m3_cm_invert.d.ts +4 -4
- package/src/core/geom/mat3/m3_cm_invert.d.ts.map +1 -1
- package/src/core/geom/mat3/m3_cm_invert.js +7 -45
- package/src/core/geom/mat3/m3_cm_make_translation.d.ts +8 -0
- package/src/core/geom/mat3/m3_cm_make_translation.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_cm_make_translation.js +19 -0
- package/src/core/geom/mat3/m3_invert.d.ts +7 -0
- package/src/core/geom/mat3/m3_invert.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_invert.js +45 -0
- package/src/core/geom/mat3/m3_make_rotation.d.ts +1 -8
- package/src/core/geom/mat3/m3_make_rotation.d.ts.map +1 -1
- package/src/core/geom/mat3/m3_make_rotation.js +5 -31
- package/src/core/geom/mat3/m3_make_rotation_TBN.d.ts +9 -0
- package/src/core/geom/mat3/m3_make_rotation_TBN.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_make_rotation_TBN.js +31 -0
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts +4 -5
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts.map +1 -1
- package/src/core/geom/mat3/m3_multiply_vec3.js +7 -21
- package/src/core/geom/mat3/m3_scale_columns_by_vec3.d.ts +8 -0
- package/src/core/geom/mat3/m3_scale_columns_by_vec3.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_scale_columns_by_vec3.js +21 -0
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts +4 -9
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts.map +1 -1
- package/src/core/geom/packing/computeBoundingSphereOfSpheres.js +7 -102
- package/src/core/geom/packing/max-rect/MaxRectanglesPacker.js +9 -9
- package/src/core/geom/packing/max-rect/aabb2_validate_packing.d.ts +7 -1
- package/src/core/geom/packing/max-rect/aabb2_validate_packing.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/aabb2_validate_packing.js +2 -2
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts +4 -7
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/cost/costByBestShortSide.js +7 -11
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts +4 -7
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/cost/costByRemainingArea.js +7 -14
- package/src/core/geom/packing/max-rect/cost/cost_by_best_short_side.d.ts +10 -0
- package/src/core/geom/packing/max-rect/cost/cost_by_best_short_side.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/cost/cost_by_best_short_side.js +11 -0
- package/src/core/geom/packing/max-rect/cost/cost_by_remaining_area.d.ts +10 -0
- package/src/core/geom/packing/max-rect/cost/cost_by_remaining_area.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/cost/cost_by_remaining_area.js +14 -0
- package/src/core/geom/packing/max-rect/cutArea.d.ts +4 -4
- package/src/core/geom/packing/max-rect/cutArea.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/cutArea.js +7 -85
- package/src/core/geom/packing/max-rect/cut_area.d.ts +7 -0
- package/src/core/geom/packing/max-rect/cut_area.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/cut_area.js +85 -0
- package/src/core/geom/packing/max-rect/findBestContainer.d.ts +4 -7
- package/src/core/geom/packing/max-rect/findBestContainer.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/findBestContainer.js +7 -80
- package/src/core/geom/packing/max-rect/find_best_container.d.ts +10 -0
- package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/find_best_container.js +80 -0
- package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts +4 -7
- package/src/core/geom/packing/max-rect/packMaxRectangles.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/packMaxRectangles.js +7 -16
- package/src/core/geom/packing/max-rect/packOneBox.d.ts +4 -5
- package/src/core/geom/packing/max-rect/packOneBox.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/packOneBox.js +7 -54
- package/src/core/geom/packing/max-rect/pack_max_rectangles.d.ts +10 -0
- package/src/core/geom/packing/max-rect/pack_max_rectangles.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/pack_max_rectangles.js +16 -0
- package/src/core/geom/packing/max-rect/pack_one_box.d.ts +8 -0
- package/src/core/geom/packing/max-rect/pack_one_box.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/pack_one_box.js +54 -0
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts +4 -3
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/removeRedundantBoxes.js +7 -84
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts +4 -3
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts.map +1 -1
- package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.js +7 -46
- package/src/core/geom/packing/max-rect/remove_redundant_boxes.d.ts +6 -0
- package/src/core/geom/packing/max-rect/remove_redundant_boxes.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/remove_redundant_boxes.js +84 -0
- package/src/core/geom/packing/max-rect/remove_redundant_boxes_from_array.d.ts +6 -0
- package/src/core/geom/packing/max-rect/remove_redundant_boxes_from_array.d.ts.map +1 -0
- package/src/core/geom/packing/max-rect/remove_redundant_boxes_from_array.js +46 -0
- package/src/core/geom/packing/sphere_compute_bounding_of_spheres.d.ts +12 -0
- package/src/core/geom/packing/sphere_compute_bounding_of_spheres.d.ts.map +1 -0
- package/src/core/geom/packing/sphere_compute_bounding_of_spheres.js +102 -0
- package/src/core/geom/random/randomPointInBox.d.ts +4 -5
- package/src/core/geom/random/randomPointInBox.d.ts.map +1 -1
- package/src/core/geom/random/randomPointInBox.js +7 -16
- package/src/core/geom/random/randomPointInCircle.d.ts +4 -6
- package/src/core/geom/random/randomPointInCircle.d.ts.map +1 -1
- package/src/core/geom/random/randomPointInCircle.js +7 -21
- package/src/core/geom/random/randomPointInPoint.d.ts +4 -5
- package/src/core/geom/random/randomPointInPoint.d.ts.map +1 -1
- package/src/core/geom/random/randomPointInPoint.js +7 -11
- package/src/core/geom/random/randomPointInSphere.d.ts +4 -6
- package/src/core/geom/random/randomPointInSphere.d.ts.map +1 -1
- package/src/core/geom/random/randomPointInSphere.js +7 -35
- package/src/core/geom/random/randomPointOnBox.d.ts +4 -5
- package/src/core/geom/random/randomPointOnBox.d.ts.map +1 -1
- package/src/core/geom/random/randomPointOnBox.js +7 -37
- package/src/core/geom/random/randomPointOnSphere.d.ts +4 -6
- package/src/core/geom/random/randomPointOnSphere.d.ts.map +1 -1
- package/src/core/geom/random/randomPointOnSphere.js +7 -26
- package/src/core/geom/random/random_point_in_box.d.ts +8 -0
- package/src/core/geom/random/random_point_in_box.d.ts.map +1 -0
- package/src/core/geom/random/random_point_in_box.js +16 -0
- package/src/core/geom/random/random_point_in_circle.d.ts +9 -0
- package/src/core/geom/random/random_point_in_circle.d.ts.map +1 -0
- package/src/core/geom/random/random_point_in_circle.js +21 -0
- package/src/core/geom/random/random_point_in_point.d.ts +8 -0
- package/src/core/geom/random/random_point_in_point.d.ts.map +1 -0
- package/src/core/geom/random/random_point_in_point.js +11 -0
- package/src/core/geom/random/random_point_in_sphere.d.ts +9 -0
- package/src/core/geom/random/random_point_in_sphere.d.ts.map +1 -0
- package/src/core/geom/random/random_point_in_sphere.js +35 -0
- package/src/core/geom/random/random_point_on_box.d.ts +8 -0
- package/src/core/geom/random/random_point_on_box.d.ts.map +1 -0
- package/src/core/geom/random/random_point_on_box.js +37 -0
- package/src/core/geom/random/random_point_on_sphere.d.ts +9 -0
- package/src/core/geom/random/random_point_on_sphere.d.ts.map +1 -0
- package/src/core/geom/random/random_point_on_sphere.js +26 -0
- package/src/core/geom/vec/vector_copy.d.ts +4 -7
- package/src/core/geom/vec/vector_copy.d.ts.map +1 -1
- package/src/core/geom/vec/vector_copy.js +7 -13
- package/src/core/geom/vec/vector_copy_offset.d.ts +10 -0
- package/src/core/geom/vec/vector_copy_offset.d.ts.map +1 -0
- package/src/core/geom/vec/vector_copy_offset.js +13 -0
- package/src/core/geom/vec/vector_scale_array.d.ts +4 -8
- package/src/core/geom/vec/vector_scale_array.d.ts.map +1 -1
- package/src/core/geom/vec/vector_scale_array.js +7 -31
- package/src/core/geom/vec/vector_scale_offset.d.ts +11 -0
- package/src/core/geom/vec/vector_scale_offset.d.ts.map +1 -0
- package/src/core/geom/vec/vector_scale_offset.js +31 -0
- package/src/core/geom/vec3/v3_add.d.ts +10 -0
- package/src/core/geom/vec3/v3_add.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_add.js +13 -0
- package/src/core/geom/vec3/v3_add_array.d.ts +10 -0
- package/src/core/geom/vec3/v3_add_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_add_array.js +19 -0
- package/src/core/geom/vec3/v3_angle.d.ts +12 -0
- package/src/core/geom/vec3/v3_angle.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_angle.js +23 -0
- package/src/core/geom/vec3/v3_angle_atan2_between.d.ts +4 -9
- package/src/core/geom/vec3/v3_angle_atan2_between.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_angle_atan2_between.js +7 -27
- package/src/core/geom/vec3/v3_angle_between.d.ts +4 -9
- package/src/core/geom/vec3/v3_angle_between.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_angle_between.js +7 -23
- package/src/core/geom/vec3/v3_angle_cos_between.d.ts +4 -9
- package/src/core/geom/vec3/v3_angle_cos_between.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_angle_cos_between.js +7 -35
- package/src/core/geom/vec3/v3_angle_stable.d.ts +12 -0
- package/src/core/geom/vec3/v3_angle_stable.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_angle_stable.js +27 -0
- package/src/core/geom/vec3/v3_array_add_in_place.d.ts +4 -7
- package/src/core/geom/vec3/v3_array_add_in_place.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_add_in_place.js +7 -13
- package/src/core/geom/vec3/v3_array_centroid.d.ts +4 -8
- package/src/core/geom/vec3/v3_array_centroid.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_centroid.js +7 -40
- package/src/core/geom/vec3/v3_array_copy.d.ts +4 -6
- package/src/core/geom/vec3/v3_array_copy.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_copy.js +7 -17
- package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts +4 -11
- package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_displace_in_direction.js +7 -23
- package/src/core/geom/vec3/v3_array_equals.d.ts +4 -6
- package/src/core/geom/vec3/v3_array_equals.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_equals.js +7 -13
- package/src/core/geom/vec3/v3_array_immediate_add.d.ts +4 -7
- package/src/core/geom/vec3/v3_array_immediate_add.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_immediate_add.js +7 -19
- package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts +4 -8
- package/src/core/geom/vec3/v3_array_matrix4_rotate.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_matrix4_rotate.js +7 -22
- package/src/core/geom/vec3/v3_array_normalize.d.ts +4 -6
- package/src/core/geom/vec3/v3_array_normalize.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_normalize.js +7 -32
- package/src/core/geom/vec3/v3_array_scale.d.ts +4 -8
- package/src/core/geom/vec3/v3_array_scale.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_array_scale.js +5 -16
- package/src/core/geom/vec3/v3_centroid_v3_buffer.d.ts +11 -0
- package/src/core/geom/vec3/v3_centroid_v3_buffer.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_centroid_v3_buffer.js +40 -0
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts +4 -19
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_compute_interior_angle.js +7 -26
- package/src/core/geom/vec3/v3_copy_array.d.ts +9 -0
- package/src/core/geom/vec3/v3_copy_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_copy_array.js +17 -0
- package/src/core/geom/vec3/v3_cos_angle.d.ts +12 -0
- package/src/core/geom/vec3/v3_cos_angle.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_cos_angle.js +35 -0
- package/src/core/geom/vec3/v3_displace_in_direction_to_array.d.ts +14 -0
- package/src/core/geom/vec3/v3_displace_in_direction_to_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_displace_in_direction_to_array.js +23 -0
- package/src/core/geom/vec3/v3_dot_array.d.ts +10 -0
- package/src/core/geom/vec3/v3_dot_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_dot_array.js +25 -0
- package/src/core/geom/vec3/v3_dot_array_array.d.ts +4 -7
- package/src/core/geom/vec3/v3_dot_array_array.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_dot_array_array.js +7 -25
- package/src/core/geom/vec3/v3_equals_array.d.ts +9 -0
- package/src/core/geom/vec3/v3_equals_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_equals_array.js +13 -0
- package/src/core/geom/vec3/v3_interior_angle.d.ts +22 -0
- package/src/core/geom/vec3/v3_interior_angle.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_interior_angle.js +26 -0
- package/src/core/geom/vec3/v3_matrix3_rotate.d.ts +3 -3
- package/src/core/geom/vec3/v3_matrix3_rotate.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_matrix3_rotate.js +2 -2
- package/src/core/geom/vec3/v3_matrix4_rotate.d.ts +4 -13
- package/src/core/geom/vec3/v3_matrix4_rotate.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_matrix4_rotate.js +7 -51
- package/src/core/geom/vec3/v3_matrix4_rotate_array.d.ts +11 -0
- package/src/core/geom/vec3/v3_matrix4_rotate_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_matrix4_rotate_array.js +22 -0
- package/src/core/geom/vec3/v3_matrix4_rotate_unit.d.ts +16 -0
- package/src/core/geom/vec3/v3_matrix4_rotate_unit.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_matrix4_rotate_unit.js +51 -0
- package/src/core/geom/vec3/v3_multiply_scalar.d.ts +4 -8
- package/src/core/geom/vec3/v3_multiply_scalar.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_multiply_scalar.js +7 -19
- package/src/core/geom/vec3/v3_normalize_array.d.ts +9 -0
- package/src/core/geom/vec3/v3_normalize_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_normalize_array.js +32 -0
- package/src/core/geom/vec3/v3_orthonormal_matrix_from_normal.d.ts +4 -1
- package/src/core/geom/vec3/v3_orthonormal_matrix_from_normal.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_orthonormal_matrix_from_normal.js +4 -1
- package/src/core/geom/vec3/v3_quat3_apply.d.ts +4 -26
- package/src/core/geom/vec3/v3_quat3_apply.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_quat3_apply.js +5 -37
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts +4 -27
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_quat3_apply_inverse.js +5 -39
- package/src/core/geom/vec3/v3_quaternion_apply.d.ts +29 -0
- package/src/core/geom/vec3/v3_quaternion_apply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_quaternion_apply.js +39 -0
- package/src/core/geom/vec3/v3_quaternion_apply_inverse.d.ts +30 -0
- package/src/core/geom/vec3/v3_quaternion_apply_inverse.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_quaternion_apply_inverse.js +41 -0
- package/src/core/geom/vec3/v3_reflect.d.ts +19 -0
- package/src/core/geom/vec3/v3_reflect.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_reflect.js +24 -0
- package/src/core/geom/vec3/v3_scale.d.ts +11 -0
- package/src/core/geom/vec3/v3_scale.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_scale.js +19 -0
- package/src/core/geom/vec3/v3_scale_array.d.ts +11 -0
- package/src/core/geom/vec3/v3_scale_array.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_scale_array.js +18 -0
- package/src/core/geom/vec3/v3_triple_cross.d.ts +32 -0
- package/src/core/geom/vec3/v3_triple_cross.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_triple_cross.js +45 -0
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts +4 -29
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_triple_cross_product.js +5 -43
- package/src/core/geom/vec4/v4_matrix4_multiply.d.ts +8 -0
- package/src/core/geom/vec4/v4_matrix4_multiply.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_matrix4_multiply.js +42 -0
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts +4 -5
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts.map +1 -1
- package/src/core/geom/vec4/v4_multiply_mat4.js +7 -42
- package/src/core/graph/csr/CSRGraph.d.ts +12 -8
- package/src/core/graph/csr/CSRGraph.d.ts.map +1 -1
- package/src/core/graph/csr/CSRGraph.js +18 -10
- package/src/core/graph/csr/csr_graph_build_distance_field.d.ts +36 -0
- package/src/core/graph/csr/csr_graph_build_distance_field.d.ts.map +1 -0
- package/src/core/graph/csr/csr_graph_build_distance_field.js +112 -0
- package/src/core/graph/csr/csr_graph_find_edge.d.ts +15 -0
- package/src/core/graph/csr/csr_graph_find_edge.d.ts.map +1 -0
- package/src/core/graph/csr/csr_graph_find_edge.js +25 -0
- package/src/core/graph/csr/csr_graph_find_shortest_path.d.ts +20 -0
- package/src/core/graph/csr/csr_graph_find_shortest_path.d.ts.map +1 -0
- package/src/core/graph/csr/csr_graph_find_shortest_path.js +105 -0
- package/src/core/graph/layout/CircleLayout.d.ts.map +1 -1
- package/src/core/graph/layout/CircleLayout.js +2 -4
- package/src/core/graph/layout/box/applyCentralGravityAABB2.js +2 -2
- package/src/core/graph/metis/cluster_mesh_metis.d.ts.map +1 -1
- package/src/core/graph/metis/cluster_mesh_metis.js +8 -1
- package/src/core/graph/metis/mesh_to_metis_graph.d.ts +2 -2
- package/src/core/graph/metis/mesh_to_metis_graph.d.ts.map +1 -1
- package/src/core/graph/metis/mesh_to_metis_graph.js +3 -3
- package/src/core/graph/metis/native/MetisGraph.d.ts +26 -10
- package/src/core/graph/metis/native/MetisGraph.d.ts.map +1 -1
- package/src/core/graph/metis/native/MetisGraph.js +34 -15
- package/src/core/graph/metis/native/bisection/BisectionScratch.d.ts +2 -2
- package/src/core/graph/metis/native/bisection/BisectionScratch.d.ts.map +1 -1
- package/src/core/graph/metis/native/bisection/BisectionScratch.js +4 -2
- package/src/core/graph/metis/native/bisection/compute_2way_params.d.ts.map +1 -1
- package/src/core/graph/metis/native/bisection/compute_2way_params.js +3 -1
- package/src/core/graph/metis/native/metis_partition_kway.d.ts +2 -2
- package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
- package/src/core/graph/metis/native/metis_partition_kway.js +1 -1
- package/src/core/graph/metis/native/refine/compute_kway_params.d.ts.map +1 -1
- package/src/core/graph/metis/native/refine/compute_kway_params.js +20 -8
- package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
- package/src/core/graph/metis/native/refine/fm_kway.js +58 -33
- package/src/engine/EngineHarness.js +2 -2
- package/src/engine/animation/curve/view/AnimationCurveView.js +2 -2
- package/src/engine/asset/loaders/material/planeHash.js +2 -2
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +7 -7
- package/src/engine/control/first-person/prototype_first_person_controller.js +3 -3
- package/src/engine/ecs/terrain/ecs/TerrainSystem.js +6 -6
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +2 -2
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +3 -3
- package/src/engine/ecs/transform/Transform.js +7 -7
- package/src/engine/ecs/transform/TransformSerializationAdapter.js +4 -4
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +2 -2
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +2 -2
- package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +8 -8
- package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.js +4 -6
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +2 -2
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +6 -6
- package/src/engine/graphics/ecs/mesh-v2/render/ShadedGeometryRendererContext.js +3 -3
- package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts +26 -5
- package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2D.js +51 -11
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +1 -0
- package/src/engine/graphics/ecs/trail2d/prototypeTrail2D.js +2 -2
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +186 -0
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/Trail3D.js +430 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.d.ts +9 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.js +18 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts +55 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/Trail3DSystem.js +248 -0
- package/src/engine/graphics/ecs/trail3d/prototypeTrail3D.d.ts +2 -0
- package/src/engine/graphics/ecs/trail3d/prototypeTrail3D.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/prototypeTrail3D.js +76 -0
- package/src/engine/graphics/geometry/buffered/geometry_compute_vertex_normals_indexed.js +4 -4
- package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.js +2 -2
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.js +4 -6
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_overlap_clipping_volume.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_overlap_clipping_volume.js +2 -4
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_raycast.js +2 -2
- package/src/engine/graphics/geometry/buffered/query/query_bvh_geometry_nearest.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/query_bvh_geometry_nearest.js +4 -6
- package/src/engine/graphics/geometry/buffered/v3_array_normalize_many.js +2 -2
- package/src/engine/graphics/geometry/computeMeshSurfaceArea.js +2 -2
- package/src/engine/graphics/geometry/geometry_construct_triangle_normal.js +2 -2
- package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +2 -2
- package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere_radius_only.d.ts.map +1 -1
- package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere_radius_only.js +2 -4
- package/src/engine/graphics/impostors/octahedral/util/sampler2d_build_cutout.js +4 -4
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +8 -8
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +20 -5
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +2 -2
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +10 -10
- package/src/engine/graphics/render/forward_plus/LightManager.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/LightManager.js +8 -13
- package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/assign_cluster.js +1 -2
- package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/computeFrustumCorners.js +9 -11
- package/src/engine/graphics/render/forward_plus/model/SpotLight.js +2 -2
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts +8 -0
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +8 -0
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts +12 -2
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +18 -48
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts +1 -2
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +2 -3
- package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +2 -2
- package/src/engine/graphics/render/forward_plus/testClusterEquality.js +1 -1
- package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +5 -5
- package/src/engine/graphics/render/layers/RenderLayerUtils.d.ts.map +1 -1
- package/src/engine/graphics/render/layers/RenderLayerUtils.js +2 -4
- package/src/engine/graphics/render/make_bvh_visibility_builder.js +3 -3
- package/src/engine/graphics/render/view/CameraView.js +2 -2
- package/src/engine/graphics/sh3/fromCubeRenderTarget.js +2 -2
- package/src/engine/graphics/sh3/gi/prototypeSHGI.js +2 -2
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +4 -4
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +2 -2
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +2 -2
- package/src/engine/graphics/sh3/lpv/depth/sh3_bake_depth.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.js +7 -8
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +20 -6
- package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.d.ts +57 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.js +186 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +166 -51
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.js +44 -25
- package/src/engine/graphics/sh3/path_tracer/REVIEW_001_ACTION_PLAN.md +490 -0
- package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.js +4 -4
- package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.js +10 -2
- package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts +6 -0
- package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.js +14 -0
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +9 -136
- package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.d.ts +2 -1
- package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.js +32 -31
- package/src/engine/graphics/sh3/path_tracer/sampling/getBiasedNormalSample.d.ts +3 -3
- package/src/engine/graphics/sh3/path_tracer/sampling/getBiasedNormalSample.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/sampling/getBiasedNormalSample.js +3 -3
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +144 -133
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +2 -2
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.js +7 -7
- package/src/engine/graphics/texture/sprite/prototypeSpriteCutoutGeometry.js +5 -5
- package/src/engine/graphics/three/expand_aabb_by_transformed_three_object.js +2 -2
- package/src/engine/graphics/trail/TrailSpawnMode.d.ts +19 -0
- package/src/engine/graphics/trail/TrailSpawnMode.d.ts.map +1 -0
- package/src/engine/graphics/trail/TrailSpawnMode.js +20 -0
- package/src/engine/graphics/trail/tube/TubeMaterialX.d.ts +5 -0
- package/src/engine/graphics/trail/tube/TubeMaterialX.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/TubeMaterialX.js +80 -0
- package/src/engine/graphics/trail/tube/TubeX.d.ts +141 -0
- package/src/engine/graphics/trail/tube/TubeX.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/TubeX.js +555 -0
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts +26 -0
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.js +47 -0
- package/src/engine/graphics/trail/tube/TubeXPlugin.d.ts +21 -0
- package/src/engine/graphics/trail/tube/TubeXPlugin.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/TubeXPlugin.js +80 -0
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts +14 -0
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.js +32 -0
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts +26 -0
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/tube_attributes_spec.js +69 -0
- package/src/engine/graphics/trail/tube/tube_frame.d.ts +32 -0
- package/src/engine/graphics/trail/tube/tube_frame.d.ts.map +1 -0
- package/src/engine/graphics/trail/tube/tube_frame.js +83 -0
- package/src/engine/graphics/util/composeMatrix4.js +2 -2
- package/src/engine/navigation/mesh/NavigationMesh.js +6 -6
- package/src/engine/navigation/mesh/PATHFINDING_PLAN.md +1 -1
- package/src/engine/navigation/mesh/build/clip_soup_against_overhangs.d.ts.map +1 -1
- package/src/engine/navigation/mesh/build/clip_soup_against_overhangs.js +5 -51
- package/src/engine/navigation/mesh/build/navmesh_build_topology.d.ts.map +1 -1
- package/src/engine/navigation/mesh/build/navmesh_build_topology.js +19 -23
- package/src/engine/network/CONGESTION_CONTROL.md +87 -0
- package/src/engine/network/NetworkSession.d.ts +7 -1
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.js +144 -0
- package/src/engine/network/README.md +7 -0
- package/src/engine/network/adapters/TransformInterpolationAdapter.js +5 -5
- package/src/engine/network/adapters/TransformReplicationAdapter.js +4 -4
- package/src/engine/network/core/MalformedPacketError.d.ts +24 -0
- package/src/engine/network/core/MalformedPacketError.d.ts.map +1 -0
- package/src/engine/network/core/MalformedPacketError.js +26 -0
- package/src/engine/network/ecs/owner_authorization.d.ts +49 -0
- package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -0
- package/src/engine/network/ecs/owner_authorization.js +55 -0
- package/src/engine/network/orchestrator/NetworkPeer.d.ts +31 -0
- package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/NetworkPeer.js +89 -2
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +38 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +75 -0
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.js +28 -0
- package/src/engine/network/sim/SimActionExecutor.d.ts +46 -1
- package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
- package/src/engine/network/sim/SimActionExecutor.js +68 -0
- package/src/engine/network/sim/Snapshotter.d.ts.map +1 -1
- package/src/engine/network/sim/Snapshotter.js +18 -2
- package/src/engine/network/transport/Channel.d.ts +12 -1
- package/src/engine/network/transport/Channel.d.ts.map +1 -1
- package/src/engine/network/transport/Channel.js +34 -1
- package/src/engine/physics/broadphase/generate_pairs.js +3 -3
- package/src/engine/physics/constraint/solve_constraints.js +3 -3
- package/src/engine/physics/ecs/PhysicsSystem.js +2 -2
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +3 -3
- package/src/engine/physics/inverse_kinematics/two_joint_ik.js +4 -4
- package/src/engine/physics/narrowphase/box_box_manifold.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/box_box_manifold.js +4 -6
- package/src/engine/physics/narrowphase/box_triangle_contact.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/box_triangle_contact.js +4 -6
- package/src/engine/physics/narrowphase/capsule_contacts.js +15 -15
- package/src/engine/physics/narrowphase/capsule_triangle_contact.js +8 -8
- package/src/engine/physics/narrowphase/compute_penetration.js +8 -8
- package/src/engine/physics/narrowphase/convex_convex_manifold.js +9 -9
- package/src/engine/physics/narrowphase/convex_decomposition.js +8 -8
- package/src/engine/physics/narrowphase/mesh_convex_hull.js +3 -3
- package/src/engine/physics/narrowphase/mesh_mesh_tet_manifold.js +3 -3
- package/src/engine/physics/narrowphase/refine_ray_concave.js +5 -5
- package/src/engine/physics/narrowphase/refine_ray_hit.js +5 -5
- package/src/engine/physics/narrowphase/sphere_box_contact.js +5 -5
- package/src/engine/physics/narrowphase/sphere_triangle_contact.js +2 -2
- package/src/engine/physics/queries/overlap_shape.js +3 -3
- package/src/engine/physics/queries/raycast.d.ts.map +1 -1
- package/src/engine/physics/queries/raycast.js +3 -5
- package/src/engine/physics/queries/shape_cast.js +3 -3
- package/src/engine/physics/solver/solve_contacts.js +6 -6
- package/src/engine/physics/vehicle/RaycastVehicle.js +4 -4
- package/src/engine/sound/SoundEngine.js +2 -2
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +32 -1
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitter.js +40 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +33 -8
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +90 -12
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +12 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.js +25 -4
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +1 -1
- package/src/engine/sound/simulation/AcousticSimulator.d.ts +134 -0
- package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -0
- package/src/engine/sound/simulation/AcousticSimulator.js +637 -0
- package/src/engine/sound/simulation/IMPLEMENTATION_PLAN.md +432 -0
- package/src/engine/sound/simulation/PROBE_PLACEMENT.md +250 -0
- package/src/engine/sound/simulation/PROBE_TRANSFER_RESEARCH.md +322 -0
- package/src/engine/sound/simulation/README.md +277 -0
- package/src/engine/sound/simulation/REFLECTION_IR_PLAN.md +261 -0
- package/src/engine/sound/simulation/VISIBILITY_GRAPH_PLAN.md +121 -0
- package/src/engine/sound/simulation/configureAcousticSimulation.d.ts +31 -0
- package/src/engine/sound/simulation/configureAcousticSimulation.d.ts.map +1 -0
- package/src/engine/sound/simulation/configureAcousticSimulation.js +48 -0
- package/src/engine/sound/simulation/core/AcousticMedium.d.ts +60 -0
- package/src/engine/sound/simulation/core/AcousticMedium.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticMedium.js +113 -0
- package/src/engine/sound/simulation/core/AcousticMediumSerializationAdapter.d.ts +22 -0
- package/src/engine/sound/simulation/core/AcousticMediumSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticMediumSerializationAdapter.js +27 -0
- package/src/engine/sound/simulation/core/AcousticOccluderIndex.d.ts +85 -0
- package/src/engine/sound/simulation/core/AcousticOccluderIndex.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticOccluderIndex.js +314 -0
- package/src/engine/sound/simulation/core/AcousticRegionIndex.d.ts +56 -0
- package/src/engine/sound/simulation/core/AcousticRegionIndex.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticRegionIndex.js +159 -0
- package/src/engine/sound/simulation/core/AcousticSolution.d.ts +66 -0
- package/src/engine/sound/simulation/core/AcousticSolution.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticSolution.js +90 -0
- package/src/engine/sound/simulation/core/AcousticSourceState.d.ts +55 -0
- package/src/engine/sound/simulation/core/AcousticSourceState.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticSourceState.js +109 -0
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.d.ts +45 -0
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/AcousticVolumeRegion.js +73 -0
- package/src/engine/sound/simulation/core/OccluderBody.d.ts +57 -0
- package/src/engine/sound/simulation/core/OccluderBody.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/OccluderBody.js +74 -0
- package/src/engine/sound/simulation/core/OcclusionSolver.d.ts +29 -0
- package/src/engine/sound/simulation/core/OcclusionSolver.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/OcclusionSolver.js +119 -0
- package/src/engine/sound/simulation/core/RayHit.d.ts +42 -0
- package/src/engine/sound/simulation/core/RayHit.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/RayHit.js +50 -0
- package/src/engine/sound/simulation/core/VolumeField.d.ts +55 -0
- package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -0
- package/src/engine/sound/simulation/core/VolumeField.js +145 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivity.d.ts +75 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivity.d.ts.map +1 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivity.js +114 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivitySerializationAdapter.d.ts +23 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivitySerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/definition/AcousticDirectivitySerializationAdapter.js +30 -0
- package/src/engine/sound/simulation/definition/AcousticMaterial.d.ts +61 -0
- package/src/engine/sound/simulation/definition/AcousticMaterial.d.ts.map +1 -0
- package/src/engine/sound/simulation/definition/AcousticMaterial.js +122 -0
- package/src/engine/sound/simulation/definition/AcousticMaterialSerializationAdapter.d.ts +23 -0
- package/src/engine/sound/simulation/definition/AcousticMaterialSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/definition/AcousticMaterialSerializationAdapter.js +32 -0
- package/src/engine/sound/simulation/ecs/AcousticBody.d.ts +39 -0
- package/src/engine/sound/simulation/ecs/AcousticBody.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticBody.js +48 -0
- package/src/engine/sound/simulation/ecs/AcousticBodySerializationAdapter.d.ts +24 -0
- package/src/engine/sound/simulation/ecs/AcousticBodySerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticBodySerializationAdapter.js +34 -0
- package/src/engine/sound/simulation/ecs/AcousticProbeFieldSystem.d.ts +39 -0
- package/src/engine/sound/simulation/ecs/AcousticProbeFieldSystem.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticProbeFieldSystem.js +64 -0
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts +44 -0
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.js +75 -0
- package/src/engine/sound/simulation/ecs/AcousticVolume.d.ts +53 -0
- package/src/engine/sound/simulation/ecs/AcousticVolume.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticVolume.js +74 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.d.ts +25 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.js +37 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.d.ts +39 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.d.ts.map +1 -0
- package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.js +66 -0
- package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts +245 -0
- package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/AcousticProbeField.js +574 -0
- package/src/engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.d.ts +24 -0
- package/src/engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.js +60 -0
- package/src/engine/sound/simulation/probe/ProbeFieldPathingSolution.d.ts +48 -0
- package/src/engine/sound/simulation/probe/ProbeFieldPathingSolution.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/ProbeFieldPathingSolution.js +64 -0
- package/src/engine/sound/simulation/probe/ProbeVisibilityRecheck.d.ts +51 -0
- package/src/engine/sound/simulation/probe/ProbeVisibilityRecheck.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/ProbeVisibilityRecheck.js +137 -0
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts +29 -0
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/acoustic_probe_transfer.js +99 -0
- package/src/engine/sound/simulation/probe/acoustic_trace_energy.d.ts +46 -0
- package/src/engine/sound/simulation/probe/acoustic_trace_energy.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/acoustic_trace_energy.js +136 -0
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts +50 -0
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/bakeProbeField.js +169 -0
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts +15 -0
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.js +108 -0
- package/src/engine/sound/simulation/probe/bakeReverbBands.d.ts +32 -0
- package/src/engine/sound/simulation/probe/bakeReverbBands.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/bakeReverbBands.js +114 -0
- package/src/engine/sound/simulation/probe/bakeVisibility.d.ts +48 -0
- package/src/engine/sound/simulation/probe/bakeVisibility.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/bakeVisibility.js +178 -0
- package/src/engine/sound/simulation/probe/echogram_band_rt60.d.ts +17 -0
- package/src/engine/sound/simulation/probe/echogram_band_rt60.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/echogram_band_rt60.js +83 -0
- package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts +23 -0
- package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_delaunay_edges.js +215 -0
- package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts +35 -0
- package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_densify_portals.js +143 -0
- package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts +32 -0
- package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_detect_portals.js +196 -0
- package/src/engine/sound/simulation/probe/probe_edge_visible.d.ts +16 -0
- package/src/engine/sound/simulation/probe/probe_edge_visible.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_edge_visible.js +41 -0
- package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts +28 -0
- package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_place_sdf_cover.js +82 -0
- package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts +26 -0
- package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_refine_connectivity.js +181 -0
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts +100 -0
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_sdf_grid.js +183 -0
- package/src/engine/sound/simulation/probe/probe_visibility_augment.d.ts +30 -0
- package/src/engine/sound/simulation/probe/probe_visibility_augment.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_visibility_augment.js +182 -0
- package/src/engine/sound/simulation/probe/probe_visibility_bridge_components.d.ts +31 -0
- package/src/engine/sound/simulation/probe/probe_visibility_bridge_components.d.ts.map +1 -0
- package/src/engine/sound/simulation/probe/probe_visibility_bridge_components.js +166 -0
- package/src/engine/sound/simulation/prototypeAcousticSolver.d.ts +2 -0
- package/src/engine/sound/simulation/prototypeAcousticSolver.d.ts.map +1 -0
- package/src/engine/sound/simulation/prototypeAcousticSolver.js +1534 -0
- package/src/engine/sound/simulation/render/FoaProbeReverbRenderer.d.ts +80 -0
- package/src/engine/sound/simulation/render/FoaProbeReverbRenderer.d.ts.map +1 -0
- package/src/engine/sound/simulation/render/FoaProbeReverbRenderer.js +354 -0
- package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +75 -0
- package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -0
- package/src/engine/sound/simulation/render/ProbeReverbRenderer.js +231 -0
- package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts +37 -0
- package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -0
- package/src/engine/sound/simulation/render/foaReverbImpulseResponse.js +113 -0
- package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts +26 -0
- package/src/engine/sound/simulation/render/reverbImpulseResponse.d.ts.map +1 -0
- package/src/engine/sound/simulation/render/reverbImpulseResponse.js +76 -0
- package/src/engine/sound/simulation/serialization/populateAcousticSerializationRegistry.d.ts +10 -0
- package/src/engine/sound/simulation/serialization/populateAcousticSerializationRegistry.d.ts.map +1 -0
- package/src/engine/sound/simulation/serialization/populateAcousticSerializationRegistry.js +25 -0
- package/src/engine/sound/sopra/SopraEngine.d.ts +6 -0
- package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
- package/src/engine/sound/sopra/SopraEngine.js +9 -0
- package/src/engine/sound/sopra/definition/EventDescription.d.ts +3 -0
- package/src/engine/sound/sopra/definition/EventDescription.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/EventDescription.js +4 -1
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts +7 -0
- package/src/engine/sound/sopra/runtime/BusGraph.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/BusGraph.js +16 -0
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts +46 -2
- package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
- package/src/engine/sound/sopra/runtime/EventInstance.js +240 -4
- package/src/engine/sound/sopra/util/MockAudioContext.d.ts +4 -0
- package/src/engine/sound/sopra/util/MockAudioContext.d.ts.map +1 -1
- package/src/engine/sound/sopra/util/MockAudioContext.js +9 -0
- package/src/engine/ui/tiles2d/computeTileGridMove.js +2 -2
- package/src/generation/filtering/numeric/complex/CellFilterAngleToNormal.js +2 -2
- package/src/view/elements/progress/RectangularPieProgressView.d.ts.map +1 -1
- package/src/view/elements/progress/RectangularPieProgressView.js +6 -8
- package/src/view/tooltip/TooltipView.js +2 -2
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_aabb.d.ts +0 -9
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_aabb.d.ts.map +0 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_capsule.d.ts.map +0 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_frustum.d.ts +0 -9
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_frustum.d.ts.map +0 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_sphere.d.ts.map +0 -1
- package/src/core/geom/3d/normal/lamber_azimuth/transform.d.ts +0 -18
- package/src/core/geom/3d/normal/lamber_azimuth/transform.d.ts.map +0 -1
- package/src/core/geom/3d/normal/spherical/sphere_map_transform.d.ts.map +0 -1
- package/src/core/geom/3d/normal/spherical/sphere_map_transform.js +0 -77
- package/src/core/geom/3d/tetrahedra/triangle/triangle_encode_rasterized_depth.d.ts +0 -9
- package/src/core/geom/3d/tetrahedra/triangle/triangle_encode_rasterized_depth.d.ts.map +0 -1
- package/src/core/geom/3d/topology/simplify/collapseEdge.d.ts +0 -21
- package/src/core/geom/3d/topology/simplify/collapseEdge.d.ts.map +0 -1
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadratics.d.ts +0 -25
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadratics.d.ts.map +0 -1
- package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadratics.js +0 -177
- package/src/engine/navigation/mesh/bt_mesh_face_find_path.d.ts.map +0 -1
- package/src/engine/navigation/mesh/bt_mesh_face_find_path_polyanya.d.ts.map +0 -1
- package/src/engine/navigation/mesh/build/bvh_build_from_unindexed_triangles.d.ts.map +0 -1
- package/src/engine/navigation/mesh/bvh_build_from_bt_mesh.d.ts +0 -7
- package/src/engine/navigation/mesh/bvh_build_from_bt_mesh.d.ts.map +0 -1
- package/src/engine/navigation/mesh/bvh_query_nearest_face.d.ts.map +0 -1
- package/src/engine/navigation/mesh/bvh_segment_penetrates_mesh.d.ts.map +0 -1
- package/src/engine/navigation/mesh/funnel_string_pull.d.ts.map +0 -1
- /package/src/{engine/navigation/mesh/build → core/bvh2/bvh3}/bvh_build_from_unindexed_triangles.d.ts +0 -0
- /package/src/{engine/navigation/mesh/build → core/bvh2/bvh3}/bvh_build_from_unindexed_triangles.js +0 -0
- /package/src/{engine/navigation/mesh → core/geom/3d}/funnel_string_pull.d.ts +0 -0
- /package/src/{engine/navigation/mesh → core/geom/3d/topology/struct/binary/query}/bt_mesh_face_find_path.d.ts +0 -0
- /package/src/{engine/navigation/mesh → core/geom/3d/topology/struct/binary/query}/bt_mesh_face_find_path_polyanya.d.ts +0 -0
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param {number} result_offset
|
|
5
|
-
* @param {number} a_center_x
|
|
6
|
-
* @param {number} a_center_y
|
|
7
|
-
* @param {number} a_radius
|
|
8
|
-
* @param {number} b_center_x
|
|
9
|
-
* @param {number} b_center_y
|
|
10
|
-
* @param {number} b_radius
|
|
11
|
-
* @returns {boolean} if intersection exists, false otherwise
|
|
2
|
+
* @deprecated Renamed to {@link circle_compute_intersection}. This re-export is kept for backward
|
|
3
|
+
* compatibility (meep is a library; old names are public surface).
|
|
12
4
|
*/
|
|
13
|
-
export
|
|
5
|
+
export const circle_compute_circle_intersection: typeof circle_compute_intersection;
|
|
6
|
+
import { circle_compute_intersection } from "./circle_compute_intersection.js";
|
|
14
7
|
//# sourceMappingURL=circle_compute_circle_intersection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle_compute_circle_intersection.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_circle_intersection.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"circle_compute_circle_intersection.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_circle_intersection.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,oFAA8E;4CANlC,kCAAkC"}
|
|
@@ -1,64 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @param {number} b_center_x
|
|
9
|
-
* @param {number} b_center_y
|
|
10
|
-
* @param {number} b_radius
|
|
11
|
-
* @returns {boolean} if intersection exists, false otherwise
|
|
12
|
-
*/
|
|
13
|
-
export function circle_compute_circle_intersection(
|
|
14
|
-
result,
|
|
15
|
-
result_offset,
|
|
16
|
-
a_center_x, a_center_y, a_radius,
|
|
17
|
-
b_center_x, b_center_y, b_radius
|
|
18
|
-
) {
|
|
19
|
-
|
|
20
|
-
// see https://math.stackexchange.com/a/1033561
|
|
21
|
-
|
|
22
|
-
const abx = a_center_x - b_center_x;
|
|
23
|
-
const aby = a_center_y - b_center_y;
|
|
24
|
-
|
|
25
|
-
const d2 = abx * abx + aby * aby;
|
|
26
|
-
|
|
27
|
-
if (d2 === 0) {
|
|
28
|
-
// centers are at the same coordinate, no intersection possible except for full overlap
|
|
29
|
-
// Continuing would lead to division by 0, so we treat this as no-intersection
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const d = Math.sqrt(d2);
|
|
34
|
-
|
|
35
|
-
if (d > a_radius + b_radius) {
|
|
36
|
-
// no intersection
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (d < Math.abs(a_radius - b_radius)) {
|
|
41
|
-
// one circle is fully within another
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const a_radius2 = a_radius * a_radius;
|
|
46
|
-
const l = (a_radius2 - b_radius * b_radius + d * d) / (2 * d);
|
|
47
|
-
const h = Math.sqrt(a_radius2 - l * l)
|
|
48
|
-
|
|
49
|
-
const l_d = l / d;
|
|
50
|
-
const h_d = h / d;
|
|
51
|
-
|
|
52
|
-
const bax = b_center_x - a_center_x;
|
|
53
|
-
const bay = b_center_y - a_center_y;
|
|
54
|
-
|
|
55
|
-
// compute first root
|
|
56
|
-
result[result_offset] = l_d * bax + h_d * bay + a_center_x;
|
|
57
|
-
result[result_offset + 1] = l_d * bay - h_d * bax + a_center_y;
|
|
58
|
-
|
|
59
|
-
// second root
|
|
60
|
-
result[result_offset + 2] = l_d * bax - h_d * bay + a_center_x;
|
|
61
|
-
result[result_offset + 3] = l_d * bay + h_d * bax + a_center_y;
|
|
62
|
-
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
1
|
+
import { circle_compute_intersection } from "./circle_compute_intersection.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Renamed to {@link circle_compute_intersection}. This re-export is kept for backward
|
|
5
|
+
* compatibility (meep is a library; old names are public surface).
|
|
6
|
+
*/
|
|
7
|
+
export const circle_compute_circle_intersection = circle_compute_intersection;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param {number} ay Center of first circle
|
|
5
|
-
* @param {number} ar Radius of first circle
|
|
6
|
-
* @param {number} bx Center of second circle
|
|
7
|
-
* @param {number} by Center of second circle
|
|
8
|
-
* @param {number} br Radius of second circle
|
|
9
|
-
* @returns {number} positive value means that there is penetration, negative means that circles are separated
|
|
2
|
+
* @deprecated Renamed to {@link circle_compute_penetration}. This re-export is kept for backward
|
|
3
|
+
* compatibility (meep is a library; old names are public surface).
|
|
10
4
|
*/
|
|
11
|
-
export
|
|
5
|
+
export const circle_compute_circle_penetration: typeof circle_compute_penetration;
|
|
6
|
+
import { circle_compute_penetration } from "./circle_compute_penetration.js";
|
|
12
7
|
//# sourceMappingURL=circle_compute_circle_penetration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle_compute_circle_penetration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_circle_penetration.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"circle_compute_circle_penetration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_circle_penetration.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,kFAA4E;2CANjC,iCAAiC"}
|
|
@@ -1,32 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @param {number} br Radius of second circle
|
|
9
|
-
* @returns {number} positive value means that there is penetration, negative means that circles are separated
|
|
10
|
-
*/
|
|
11
|
-
export function circle_compute_circle_penetration(
|
|
12
|
-
ax, ay, ar,
|
|
13
|
-
bx, by, br
|
|
14
|
-
) {
|
|
15
|
-
|
|
16
|
-
const dx = bx - ax;
|
|
17
|
-
const dy = by - ax;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Compute distance between circle centers
|
|
21
|
-
* @type {number}
|
|
22
|
-
*/
|
|
23
|
-
const distance = Math.sqrt(dx * dx + dy * dy);
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Minimum distance between circle centers for them to not overlap
|
|
27
|
-
* @type {number}
|
|
28
|
-
*/
|
|
29
|
-
const minSeparation = ar + br;
|
|
30
|
-
|
|
31
|
-
return minSeparation - distance;
|
|
32
|
-
}
|
|
1
|
+
import { circle_compute_penetration } from "./circle_compute_penetration.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Renamed to {@link circle_compute_penetration}. This re-export is kept for backward
|
|
5
|
+
* compatibility (meep is a library; old names are public surface).
|
|
6
|
+
*/
|
|
7
|
+
export const circle_compute_circle_penetration = circle_compute_penetration;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number[]} result
|
|
4
|
+
* @param {number} result_offset
|
|
5
|
+
* @param {number} a_center_x
|
|
6
|
+
* @param {number} a_center_y
|
|
7
|
+
* @param {number} a_radius
|
|
8
|
+
* @param {number} b_center_x
|
|
9
|
+
* @param {number} b_center_y
|
|
10
|
+
* @param {number} b_radius
|
|
11
|
+
* @returns {boolean} if intersection exists, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
export function circle_compute_intersection(result: number[], result_offset: number, a_center_x: number, a_center_y: number, a_radius: number, b_center_x: number, b_center_y: number, b_radius: number): boolean;
|
|
14
|
+
//# sourceMappingURL=circle_compute_intersection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle_compute_intersection.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_intersection.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,oDAVW,MAAM,EAAE,iBACR,MAAM,cACN,MAAM,cACN,MAAM,YACN,MAAM,cACN,MAAM,cACN,MAAM,YACN,MAAM,GACJ,OAAO,CAqDnB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number[]} result
|
|
4
|
+
* @param {number} result_offset
|
|
5
|
+
* @param {number} a_center_x
|
|
6
|
+
* @param {number} a_center_y
|
|
7
|
+
* @param {number} a_radius
|
|
8
|
+
* @param {number} b_center_x
|
|
9
|
+
* @param {number} b_center_y
|
|
10
|
+
* @param {number} b_radius
|
|
11
|
+
* @returns {boolean} if intersection exists, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
export function circle_compute_intersection(
|
|
14
|
+
result,
|
|
15
|
+
result_offset,
|
|
16
|
+
a_center_x, a_center_y, a_radius,
|
|
17
|
+
b_center_x, b_center_y, b_radius
|
|
18
|
+
) {
|
|
19
|
+
|
|
20
|
+
// see https://math.stackexchange.com/a/1033561
|
|
21
|
+
|
|
22
|
+
const abx = a_center_x - b_center_x;
|
|
23
|
+
const aby = a_center_y - b_center_y;
|
|
24
|
+
|
|
25
|
+
const d2 = abx * abx + aby * aby;
|
|
26
|
+
|
|
27
|
+
if (d2 === 0) {
|
|
28
|
+
// centers are at the same coordinate, no intersection possible except for full overlap
|
|
29
|
+
// Continuing would lead to division by 0, so we treat this as no-intersection
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const d = Math.sqrt(d2);
|
|
34
|
+
|
|
35
|
+
if (d > a_radius + b_radius) {
|
|
36
|
+
// no intersection
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (d < Math.abs(a_radius - b_radius)) {
|
|
41
|
+
// one circle is fully within another
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const a_radius2 = a_radius * a_radius;
|
|
46
|
+
const l = (a_radius2 - b_radius * b_radius + d * d) / (2 * d);
|
|
47
|
+
const h = Math.sqrt(a_radius2 - l * l)
|
|
48
|
+
|
|
49
|
+
const l_d = l / d;
|
|
50
|
+
const h_d = h / d;
|
|
51
|
+
|
|
52
|
+
const bax = b_center_x - a_center_x;
|
|
53
|
+
const bay = b_center_y - a_center_y;
|
|
54
|
+
|
|
55
|
+
// compute first root
|
|
56
|
+
result[result_offset] = l_d * bax + h_d * bay + a_center_x;
|
|
57
|
+
result[result_offset + 1] = l_d * bay - h_d * bax + a_center_y;
|
|
58
|
+
|
|
59
|
+
// second root
|
|
60
|
+
result[result_offset + 2] = l_d * bax - h_d * bay + a_center_x;
|
|
61
|
+
result[result_offset + 3] = l_d * bay + h_d * bax + a_center_y;
|
|
62
|
+
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number} ax Center of first circle
|
|
4
|
+
* @param {number} ay Center of first circle
|
|
5
|
+
* @param {number} ar Radius of first circle
|
|
6
|
+
* @param {number} bx Center of second circle
|
|
7
|
+
* @param {number} by Center of second circle
|
|
8
|
+
* @param {number} br Radius of second circle
|
|
9
|
+
* @returns {number} positive value means that there is penetration, negative means that circles are separated
|
|
10
|
+
*/
|
|
11
|
+
export function circle_compute_penetration(ax: number, ay: number, ar: number, bx: number, by: number, br: number): number;
|
|
12
|
+
//# sourceMappingURL=circle_compute_penetration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle_compute_penetration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_compute_penetration.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,+CARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAuBlB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number} ax Center of first circle
|
|
4
|
+
* @param {number} ay Center of first circle
|
|
5
|
+
* @param {number} ar Radius of first circle
|
|
6
|
+
* @param {number} bx Center of second circle
|
|
7
|
+
* @param {number} by Center of second circle
|
|
8
|
+
* @param {number} br Radius of second circle
|
|
9
|
+
* @returns {number} positive value means that there is penetration, negative means that circles are separated
|
|
10
|
+
*/
|
|
11
|
+
export function circle_compute_penetration(
|
|
12
|
+
ax, ay, ar,
|
|
13
|
+
bx, by, br
|
|
14
|
+
) {
|
|
15
|
+
|
|
16
|
+
const dx = bx - ax;
|
|
17
|
+
const dy = by - ay;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Compute distance between circle centers
|
|
21
|
+
* @type {number}
|
|
22
|
+
*/
|
|
23
|
+
const distance = Math.sqrt(dx * dx + dy * dy);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Minimum distance between circle centers for them to not overlap
|
|
27
|
+
* @type {number}
|
|
28
|
+
*/
|
|
29
|
+
const minSeparation = ar + br;
|
|
30
|
+
|
|
31
|
+
return minSeparation - distance;
|
|
32
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number} cx Center of the circle
|
|
4
|
+
* @param {number} cy Center of the circle
|
|
5
|
+
* @param {number} cr Radius of the circle
|
|
6
|
+
* @param {number} px Point coordinate X
|
|
7
|
+
* @param {number} py Point coordinate Y
|
|
8
|
+
* @returns {boolean}
|
|
9
|
+
*/
|
|
10
|
+
export function circle_contains_point(cx: number, cy: number, cr: number, px: number, py: number): boolean;
|
|
11
|
+
//# sourceMappingURL=circle_contains_point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle_contains_point.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_contains_point.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,0CAPW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAMnB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { v2_distance } from "../../vec2/v2_distance.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {number} cx Center of the circle
|
|
6
|
+
* @param {number} cy Center of the circle
|
|
7
|
+
* @param {number} cr Radius of the circle
|
|
8
|
+
* @param {number} px Point coordinate X
|
|
9
|
+
* @param {number} py Point coordinate Y
|
|
10
|
+
* @returns {boolean}
|
|
11
|
+
*/
|
|
12
|
+
export function circle_contains_point(cx, cy, cr, px, py) {
|
|
13
|
+
const distance = v2_distance(cx, cy, px, py);
|
|
14
|
+
|
|
15
|
+
return distance < cr;
|
|
16
|
+
}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param {number} cy Center of the circle
|
|
5
|
-
* @param {number} cr Radius of the circle
|
|
6
|
-
* @param {number} px Point coordinate X
|
|
7
|
-
* @param {number} py Point coordinate Y
|
|
8
|
-
* @returns {boolean}
|
|
2
|
+
* @deprecated Renamed to {@link circle_contains_point}. This re-export is kept for backward
|
|
3
|
+
* compatibility (meep is a library; old names are public surface).
|
|
9
4
|
*/
|
|
10
|
-
export
|
|
5
|
+
export const circle_intersects_point: typeof circle_contains_point;
|
|
6
|
+
import { circle_contains_point } from "./circle_contains_point.js";
|
|
11
7
|
//# sourceMappingURL=circle_intersects_point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle_intersects_point.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_intersects_point.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"circle_intersects_point.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/circle/circle_intersects_point.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,mEAA6D;sCANvB,4BAA4B"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @param {number} px Point coordinate X
|
|
9
|
-
* @param {number} py Point coordinate Y
|
|
10
|
-
* @returns {boolean}
|
|
11
|
-
*/
|
|
12
|
-
export function circle_intersects_point(cx, cy, cr, px, py) {
|
|
13
|
-
const distance = v2_distance(cx, cx, px, py);
|
|
14
|
-
|
|
15
|
-
return distance < cr;
|
|
16
|
-
}
|
|
1
|
+
import { circle_contains_point } from "./circle_contains_point.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Renamed to {@link circle_contains_point}. This re-export is kept for backward
|
|
5
|
+
* compatibility (meep is a library; old names are public surface).
|
|
6
|
+
*/
|
|
7
|
+
export const circle_intersects_point = circle_contains_point;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* @param {number} point_count
|
|
5
|
-
* @returns {number}
|
|
2
|
+
* @deprecated Renamed to {@link polygon2_signed_area}. This re-export is kept for backward
|
|
3
|
+
* compatibility (meep is a library; old names are public surface).
|
|
6
4
|
*/
|
|
7
|
-
export
|
|
5
|
+
export const compute_polygon_area_2d: typeof polygon2_signed_area;
|
|
6
|
+
import { polygon2_signed_area } from "./polygon/polygon2_signed_area.js";
|
|
8
7
|
//# sourceMappingURL=compute_polygon_area_2d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute_polygon_area_2d.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/2d/compute_polygon_area_2d.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compute_polygon_area_2d.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/2d/compute_polygon_area_2d.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,kEAA4D;qCANvB,mCAAmC"}
|
|
@@ -1,34 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @
|
|
5
|
-
*
|
|
6
|
-
*/
|
|
7
|
-
export
|
|
8
|
-
let sum = 0;
|
|
9
|
-
|
|
10
|
-
for (let i = 0; i < point_count - 1; i++) {
|
|
11
|
-
const i2 = i * 2;
|
|
12
|
-
|
|
13
|
-
const x0 = points[i2];
|
|
14
|
-
const y0 = points[i2 + 1];
|
|
15
|
-
|
|
16
|
-
const x1 = points[i2 + 2];
|
|
17
|
-
const y1 = points[i2 + 3];
|
|
18
|
-
|
|
19
|
-
sum += x0 * y1 - y0 * x1;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const first_x = points[0];
|
|
23
|
-
const first_y = points[1];
|
|
24
|
-
|
|
25
|
-
const last_x = points[point_count * 2 - 2];
|
|
26
|
-
const last_y = points[point_count * 2 - 1];
|
|
27
|
-
|
|
28
|
-
if (first_x !== last_x || first_y !== last_y) {
|
|
29
|
-
// doesn't wrap around, let's close the loop ourselves
|
|
30
|
-
sum += last_x * first_y - last_y * first_x;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return sum * 0.5;
|
|
34
|
-
}
|
|
1
|
+
import { polygon2_signed_area } from "./polygon/polygon2_signed_area.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Renamed to {@link polygon2_signed_area}. This re-export is kept for backward
|
|
5
|
+
* compatibility (meep is a library; old names are public surface).
|
|
6
|
+
*/
|
|
7
|
+
export const compute_polygon_area_2d = polygon2_signed_area;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute a bounding polygon with a fixed given number of vertices such that the area would be minimal
|
|
3
|
+
* Uses combinatorial sets of edges to find the subset, which when extending those edges produces poly with minimum area
|
|
4
|
+
* NOTE: very very slow as it's O(n^k) where n is number of edges and k is number of points on the desired bounding polygon
|
|
5
|
+
*
|
|
6
|
+
* @param {number[]|Float32Array} output result will be written here
|
|
7
|
+
* @param {number} output_offset offset into output array where to write the result
|
|
8
|
+
* @param {number} output_point_count number of points to comprise bounding polygon
|
|
9
|
+
* @param {number[]} input_points Points to be bounded, must be an ordered loop. Must form a convex hull
|
|
10
|
+
* @param {number} input_point_count number of points in the input to consider
|
|
11
|
+
* @returns {number} number of points added to the output
|
|
12
|
+
*
|
|
13
|
+
* @see 2014 "Implementation of linear minimum area enclosing triangle algorithm" Ovidiu Pârvu & David Gilbert
|
|
14
|
+
* @see https://github.com/MagnusTiberius/humus3/blob/9d43412d6e6be869e224817f0a966fe48a1af40f/Util/ConvexHull.cpp#L281
|
|
15
|
+
*/
|
|
16
|
+
export function convex_hull_fixed_count_2d_bruteforce(output: number[] | Float32Array, output_offset: number, output_point_count: number, input_points: number[], input_point_count: number): number;
|
|
17
|
+
//# sourceMappingURL=convex_hull_fixed_count_2d_bruteforce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convex_hull_fixed_count_2d_bruteforce.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_bruteforce.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;GAcG;AACH,8DAVW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,sBACN,MAAM,gBACN,MAAM,EAAE,qBACR,MAAM,GACJ,MAAM,CA0IlB"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
//
|
|
2
|
+
|
|
3
|
+
import { array_copy } from "../../../collection/array/array_copy.js";
|
|
4
|
+
import { UintArrayForCount } from "../../../collection/array/typed/uint_array_for_count.js";
|
|
5
|
+
import { polygon2_signed_area } from "../polygon/polygon2_signed_area.js";
|
|
6
|
+
import { ray2_ray2_compute_intersection_array_2d } from "../line/ray2_ray2_compute_intersection_array_2d.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Compute a bounding polygon with a fixed given number of vertices such that the area would be minimal
|
|
10
|
+
* Uses combinatorial sets of edges to find the subset, which when extending those edges produces poly with minimum area
|
|
11
|
+
* NOTE: very very slow as it's O(n^k) where n is number of edges and k is number of points on the desired bounding polygon
|
|
12
|
+
*
|
|
13
|
+
* @param {number[]|Float32Array} output result will be written here
|
|
14
|
+
* @param {number} output_offset offset into output array where to write the result
|
|
15
|
+
* @param {number} output_point_count number of points to comprise bounding polygon
|
|
16
|
+
* @param {number[]} input_points Points to be bounded, must be an ordered loop. Must form a convex hull
|
|
17
|
+
* @param {number} input_point_count number of points in the input to consider
|
|
18
|
+
* @returns {number} number of points added to the output
|
|
19
|
+
*
|
|
20
|
+
* @see 2014 "Implementation of linear minimum area enclosing triangle algorithm" Ovidiu Pârvu & David Gilbert
|
|
21
|
+
* @see https://github.com/MagnusTiberius/humus3/blob/9d43412d6e6be869e224817f0a966fe48a1af40f/Util/ConvexHull.cpp#L281
|
|
22
|
+
*/
|
|
23
|
+
export function convex_hull_fixed_count_2d_bruteforce(
|
|
24
|
+
output, output_offset, output_point_count,
|
|
25
|
+
input_points, input_point_count
|
|
26
|
+
) {
|
|
27
|
+
|
|
28
|
+
if (output_point_count >= input_point_count) {
|
|
29
|
+
// special case, input polygon is smaller or equal to in cardinality to what's desired
|
|
30
|
+
array_copy(input_points, 0, output, output_offset, input_point_count * 2);
|
|
31
|
+
|
|
32
|
+
return input_point_count;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
The following code iterated k-size sets of elements in the set of edges
|
|
37
|
+
@see https://stackoverflow.com/questions/29910312/algorithm-to-get-all-the-combinations-of-size-n-from-an-array-java
|
|
38
|
+
@see https://en.wikipedia.org/wiki/Combination
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
const edge_count = input_point_count;
|
|
42
|
+
const k = output_point_count;
|
|
43
|
+
|
|
44
|
+
const ArrayConstructor = UintArrayForCount(k);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {number[]}
|
|
49
|
+
*/
|
|
50
|
+
const s = new ArrayConstructor(k);
|
|
51
|
+
|
|
52
|
+
let combos = 0;
|
|
53
|
+
let combos_valid = 0;
|
|
54
|
+
|
|
55
|
+
const intersections = new Float64Array(k * 2);
|
|
56
|
+
let best_area = Infinity;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param {number[]|Uint16Array} subset
|
|
61
|
+
*/
|
|
62
|
+
function process_combination(subset) {
|
|
63
|
+
combos++;
|
|
64
|
+
|
|
65
|
+
for (let i = 0; i < k; i++) {
|
|
66
|
+
// pick point indices to represent a line
|
|
67
|
+
const i0 = subset[i];
|
|
68
|
+
const i1 = subset[(i + 1) % k];
|
|
69
|
+
|
|
70
|
+
const i0_2 = i0 << 1;
|
|
71
|
+
|
|
72
|
+
const a0x = input_points[i0_2];
|
|
73
|
+
const a0y = input_points[i0_2 + 1];
|
|
74
|
+
|
|
75
|
+
const a1 = (i0 + 1) % input_point_count;
|
|
76
|
+
|
|
77
|
+
const a1_2 = a1 << 1;
|
|
78
|
+
|
|
79
|
+
const a1x = input_points[a1_2];
|
|
80
|
+
const a1y = input_points[a1_2 + 1];
|
|
81
|
+
|
|
82
|
+
const i1_2 = i1 << 1;
|
|
83
|
+
|
|
84
|
+
const b0x = input_points[i1_2];
|
|
85
|
+
const b0y = input_points[i1_2 + 1];
|
|
86
|
+
|
|
87
|
+
const b1 = (i1 + 1) % input_point_count;
|
|
88
|
+
|
|
89
|
+
const b1_2 = b1 << 1;
|
|
90
|
+
|
|
91
|
+
const b1x = input_points[b1_2];
|
|
92
|
+
const b1y = input_points[b1_2 + 1];
|
|
93
|
+
|
|
94
|
+
const a_dir_x = a1x - a0x;
|
|
95
|
+
const a_dir_y = a1y - a0y;
|
|
96
|
+
|
|
97
|
+
const b_dir_x = b1x - b0x;
|
|
98
|
+
const b_dir_y = b1y - b0y;
|
|
99
|
+
|
|
100
|
+
if (!ray2_ray2_compute_intersection_array_2d(
|
|
101
|
+
intersections, i << 1,
|
|
102
|
+
a0x, a0y, a_dir_x, a_dir_y,
|
|
103
|
+
b0x, b0y, b_dir_x, b_dir_y
|
|
104
|
+
)) {
|
|
105
|
+
// invalid combination, edges do not meet
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// we got intersection points, lets compute area
|
|
111
|
+
const area = polygon2_signed_area(intersections, k);
|
|
112
|
+
|
|
113
|
+
if (area < best_area) {
|
|
114
|
+
array_copy(intersections, 0, output, output_offset, k << 1);
|
|
115
|
+
best_area = area;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
combos_valid++;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
for (let i = 0; (s[i] = i) < k - 1; i++) {
|
|
123
|
+
// populate initial set
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
process_combination(s);
|
|
127
|
+
|
|
128
|
+
for (; ;) {
|
|
129
|
+
let i;
|
|
130
|
+
|
|
131
|
+
for (i = k - 1; i >= 0 && s[i] === edge_count - k + i; i--) {
|
|
132
|
+
// find position of item that can be incremented
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (i < 0) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
s[i]++; // increment this item
|
|
140
|
+
|
|
141
|
+
for (++i; i < k; i++) {
|
|
142
|
+
// fill up remaining items
|
|
143
|
+
s[i] = s[i - 1] + 1;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
process_combination(s);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// console.log(`combinations: ${combos}, valid: ${combos_valid} (${(combos_valid * 100 / combos).toFixed(2)}%)`);
|
|
150
|
+
if(combos_valid === 0){
|
|
151
|
+
// no valid combinations
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return output_point_count;
|
|
156
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relaxes existing convex hull by removing edges until desired cardinality of the hull is reached
|
|
3
|
+
* The algorithm reaches the similar solution as the one proposed by humus, but arrives at a solution much faster as it doesn't need to consider every combination of edges
|
|
4
|
+
* The algorithm is greedy, and thus it can lead to suboptimal cuts, especially on lower number of output vertices
|
|
5
|
+
*
|
|
6
|
+
* @author Alex Goldring
|
|
7
|
+
* @copyright Company Named Limited (c) 2026
|
|
8
|
+
*
|
|
9
|
+
* @param {number[]|Float32Array} output result will be written here
|
|
10
|
+
* @param {number} output_offset offset into output array where to write the result
|
|
11
|
+
* @param {number} output_point_count number of points to comprise bounding polygon
|
|
12
|
+
* @param {number[]} input_points Points to be bounded, must be an ordered loop
|
|
13
|
+
* @param {number} input_point_count number of points in the input to consider
|
|
14
|
+
* @returns {number} actual number of points, this can be lower because input polygon has too few points
|
|
15
|
+
*/
|
|
16
|
+
export function convex_hull_fixed_count_2d_relaxation(output: number[] | Float32Array, output_offset: number, output_point_count: number, input_points: number[], input_point_count: number): number;
|
|
17
|
+
//# sourceMappingURL=convex_hull_fixed_count_2d_relaxation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convex_hull_fixed_count_2d_relaxation.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/convex-hull/convex_hull_fixed_count_2d_relaxation.js"],"names":[],"mappings":"AAmLA;;;;;;;;;;;;;;GAcG;AACH,8DAPW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,sBACN,MAAM,gBACN,MAAM,EAAE,qBACR,MAAM,GACJ,MAAM,CA+FlB"}
|