@woosh/meep-engine 2.163.11 → 2.165.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/binary/BitImage2.d.ts +91 -0
- package/src/core/binary/BitImage2.d.ts.map +1 -0
- package/src/core/binary/BitImage2.js +242 -0
- 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/oriented-box/min_area_rect_2d.d.ts +22 -0
- package/src/core/geom/2d/oriented-box/min_area_rect_2d.d.ts.map +1 -0
- package/src/core/geom/2d/oriented-box/min_area_rect_2d.js +69 -0
- package/src/core/geom/2d/packing/skyline.d.ts +116 -0
- package/src/core/geom/2d/packing/skyline.d.ts.map +1 -0
- package/src/core/geom/2d/packing/skyline.js +258 -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_rasterize_conservative.d.ts +18 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -0
- package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +86 -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/atlas/ATLAS_PORT_PLAN.md +486 -0
- package/src/core/geom/3d/atlas/BFF_PLAN.md +174 -0
- package/src/core/geom/3d/atlas/Chart.d.ts +58 -0
- package/src/core/geom/3d/atlas/Chart.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/Chart.js +77 -0
- package/src/core/geom/3d/atlas/REVIEW_02.md +392 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts +73 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_bench_lib.js +315 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.d.ts +17 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_chart_type.js +16 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts +25 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_compute_charts.js +188 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.d.ts +17 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_extract_chart.js +107 -0
- package/src/core/geom/3d/atlas/atlas_generate.d.ts +39 -0
- package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_generate.js +43 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts +84 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_test_fixtures.js +266 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.d.ts +25 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/atlas_write_chart_uvs.js +36 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.d.ts +22 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_dihedrals.js +62 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.d.ts +9 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_edge_lengths.js +33 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.d.ts +9 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/data/atlas_build_face_areas.js +50 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.d.ts +27 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/io/atlas_mesh_weld_colocals.js +39 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.d.ts +22 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/io/bt_loop_uv.js +57 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.d.ts +36 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/pack/ChartPlacement.js +46 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts +62 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/pack/atlas_pack_charts.js +551 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts +22 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.js +73 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts +37 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.js +270 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts +23 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.js +224 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.d.ts +14 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_ortho.js +38 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.d.ts +22 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_chart_stretch_metric.js +86 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.d.ts +20 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/atlas_piecewise_resegment.js +183 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.d.ts +27 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/param/fit_plane_basis.js +66 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.d.ts +31 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/RegionGraph.js +40 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.d.ts +23 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_build_region_graph.js +136 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts +24 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.js +77 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts +27 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_merge_charts.js +113 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts +44 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts.js +275 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts +22 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -0
- package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.js +199 -0
- 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_point_segment_point_distance_unfolded.d.ts +32 -0
- package/src/core/geom/3d/line/line3_compute_point_segment_point_distance_unfolded.d.ts.map +1 -0
- package/src/core/geom/3d/line/line3_compute_point_segment_point_distance_unfolded.js +64 -0
- 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_from_rotation_translation_scale.d.ts +20 -0
- package/src/core/geom/3d/mat4/m4_from_rotation_translation_scale.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_from_rotation_translation_scale.js +66 -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.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +15 -13
- 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 +75 -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.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/decimate_edge_collapse_snap.js +6 -5
- 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/Quadric3.d.ts.map +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/Quadric3.js +4 -3
- 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 +51 -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 +12 -12
- package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts +0 -2
- package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/TopoTriangle.js +4 -4
- 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 +22 -41
- 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_cotangent.d.ts +20 -0
- package/src/core/geom/vec3/v3_cotangent.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_cotangent.js +29 -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_multiply.d.ts +19 -0
- package/src/core/geom/vec3/v3_matrix3_multiply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_matrix3_multiply.js +30 -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.d.ts +16 -0
- package/src/core/geom/vec3/v3_multiply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_multiply.js +19 -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/core/math/linalg/cg/cg_solve.d.ts +24 -0
- package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -0
- package/src/core/math/linalg/cg/cg_solve.js +106 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.d.ts +21 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.d.ts.map +1 -0
- package/src/core/math/linalg/cg/cg_solve_normal_equations.js +59 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.d.ts +19 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.d.ts.map +1 -0
- package/src/core/math/linalg/eigen/matrix_symmetric_3x3_eigen.js +117 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.d.ts +50 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/SparseMatrixCSR.js +88 -0
- package/src/core/math/linalg/sparse/spm_matvec.d.ts +9 -0
- package/src/core/math/linalg/sparse/spm_matvec.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/spm_matvec.js +22 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.d.ts +12 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.d.ts.map +1 -0
- package/src/core/math/linalg/sparse/spm_matvec_transpose.js +29 -0
- package/src/core/math/physics/mie/MIE_PARTICLES_STANDARD_PRECOMPUTED.d.ts +39 -0
- package/src/core/math/physics/mie/MIE_PARTICLES_STANDARD_PRECOMPUTED.js +22 -1
- package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.js +32 -9
- package/src/core/math/physics/mie/compute_mie_phase.d.ts +2 -3
- package/src/core/math/physics/mie/compute_mie_phase.d.ts.map +1 -1
- package/src/core/math/physics/mie/compute_mie_phase.js +1 -3
- package/src/core/math/physics/mie/lorenz_mie_coefs.d.ts +0 -1
- package/src/core/math/physics/mie/lorenz_mie_coefs.d.ts.map +1 -1
- package/src/core/math/physics/mie/lorenz_mie_coefs.js +0 -7
- 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/attachment/TransformAttachmentBinding.js +3 -3
- package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +2 -2
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/Terrain.js +4 -3
- package/src/engine/ecs/terrain/ecs/TerrainSystem.js +6 -6
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +4 -4
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +12 -11
- package/src/engine/ecs/transform/Transform.js +7 -7
- package/src/engine/ecs/transform/TransformSerializationAdapter.js +4 -4
- package/src/engine/graphics/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics/GraphicsEngine.js +2 -1
- 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 +10 -10
- package/src/engine/graphics/ecs/decal/v2/prototypeDecalSystem.js +2 -2
- 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 +4 -4
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +6 -7
- package/src/engine/graphics/ecs/mesh-v2/render/ShadedGeometryRendererContext.js +3 -3
- package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
- package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.js +8 -7
- 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/MikkT/AvgTSpace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/AvgTSpace.js +11 -6
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js +2 -3
- package/src/engine/graphics/geometry/MikkT/CalcTexArea.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/CalcTexArea.js +3 -4
- package/src/engine/graphics/geometry/MikkT/DegenEpilogue.js +4 -4
- package/src/engine/graphics/geometry/MikkT/EvalTspace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/EvalTspace.js +11 -8
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js +7 -8
- package/src/engine/graphics/geometry/MikkT/GenerateTSpaces.js +8 -8
- package/src/engine/graphics/geometry/MikkT/InitTriInfo.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/InitTriInfo.js +30 -25
- package/src/engine/graphics/geometry/MikkT/MikkTSpace.js +7 -7
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.d.ts +0 -1
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/NormalizeSafe.js +6 -4
- package/src/engine/graphics/geometry/MikkT/STSpace.d.ts +0 -2
- package/src/engine/graphics/geometry/MikkT/STSpace.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/STSpace.js +3 -3
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.d.ts +0 -2
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.d.ts.map +1 -1
- package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.js +0 -1
- 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/ImpostorBaker.d.ts +0 -2
- package/src/engine/graphics/impostors/octahedral/ImpostorBaker.d.ts.map +1 -1
- package/src/engine/graphics/impostors/octahedral/ImpostorBaker.js +4 -3
- 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/grid/HemiOctahedralUvEncoder.js +2 -2
- package/src/engine/graphics/impostors/octahedral/grid/UvEncoder.d.ts +17 -7
- package/src/engine/graphics/impostors/octahedral/util/sampler2d_build_cutout.js +4 -4
- package/src/engine/graphics/impostors/voxel/VoxelImpostorBaker.js +2 -2
- 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/particles/particular/engine/utils/volume/ParticleVolume.js +3 -3
- package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +4 -3
- package/src/engine/graphics/render/forward_plus/LightManager.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/LightManager.js +10 -15
- 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/Decal.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/model/Decal.js +3 -3
- package/src/engine/graphics/render/forward_plus/model/SpotLight.js +2 -2
- package/src/engine/graphics/render/forward_plus/prototype/prototypeLightManager.js +4 -3
- 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/render/visibility/hiz/prototypeHiZ.js +6 -4
- package/src/engine/graphics/sh3/fromCubeRenderTarget.js +2 -2
- package/src/engine/graphics/sh3/gi/prototypeSHGI.js +2 -2
- package/src/engine/graphics/sh3/lightmap/ARTIFACTS_PLAN.md +146 -0
- package/src/engine/graphics/sh3/lightmap/CODE_REVIEW.md +121 -0
- package/src/engine/graphics/sh3/lightmap/LIGHTMAPPER_REVIEW.md +183 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts +90 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js +678 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.d.ts +32 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_build_geometry.js +155 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.d.ts +49 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_denoise.js +136 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.d.ts +19 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_dilate.js +89 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.d.ts +54 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_gather.js +168 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts +30 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.js +145 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.d.ts +38 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/lightmap_seam_fix.js +152 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.d.ts +2 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lightmap/prototypeLightmapBaker.js +186 -0
- 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 +22 -8
- 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 +46 -27
- 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/prepare_scene_gltf.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.js +6 -4
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +12 -139
- 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 +145 -133
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +2 -2
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.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/input/devices/KeyboardDevice.d.ts +61 -14
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +41 -15
- package/src/engine/input/devices/isHTMLElementFocusable.d.ts.map +1 -1
- package/src/engine/input/devices/isHTMLElementFocusable.js +2 -9
- 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 +1652 -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
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { BinaryTopology, NULL_POINTER } from "../topology/struct/binary/BinaryTopology.js";
|
|
2
|
+
import { bt_mesh_from_unindexed_geometry } from "../topology/struct/binary/io/bt_mesh_from_unindexed_geometry.js";
|
|
3
|
+
import { bt_mesh_simplify_by_error } from "../topology/struct/binary/io/bt_mesh_simplify_by_error.js";
|
|
4
|
+
import { CHART_TYPE } from "./atlas_chart_type.js";
|
|
5
|
+
import { atlas_compute_charts } from "./atlas_compute_charts.js";
|
|
6
|
+
import { atlas_pack_charts } from "./pack/atlas_pack_charts.js";
|
|
7
|
+
import { atlas_chart_stretch_metric } from "./param/atlas_chart_stretch_metric.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Test/bench-only shared library for the atlas metrics benches. NOT imported by
|
|
11
|
+
* production code. Provides deterministic geometry generators (triangle soups),
|
|
12
|
+
* a rich per-run metric panel (chart count, stretch distribution incl. the
|
|
13
|
+
* high-distortion tail, chart-type histogram, seam length, packing utilization),
|
|
14
|
+
* and an A/B runner so a candidate option can be measured against the baseline
|
|
15
|
+
* with a directional gate.
|
|
16
|
+
*
|
|
17
|
+
* The metrics here are the standing instrument for validating the REVIEW_02.md
|
|
18
|
+
* "top opportunities": LSCM stretch tail (-> ARAP/cone-fit), chart count + seam
|
|
19
|
+
* length (-> mergeCharts), and packing utilization (-> best-fit placement).
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
// ─── Geometry generators (deterministic triangle soups) ──────────────────────
|
|
23
|
+
function pushTri(soup, ax, ay, az, bx, by, bz, cx, cy, cz) {
|
|
24
|
+
soup.push(ax, ay, az, bx, by, bz, cx, cy, cz);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Quad as two triangles; skips degenerate (coincident-vertex) triangles. */
|
|
28
|
+
function pushQuad(soup, a, b, c, d) {
|
|
29
|
+
if (!(same(a, b) || same(b, c) || same(a, c))) pushTri(soup, a[0], a[1], a[2], b[0], b[1], b[2], c[0], c[1], c[2]);
|
|
30
|
+
if (!(same(a, c) || same(c, d) || same(a, d))) pushTri(soup, a[0], a[1], a[2], c[0], c[1], c[2], d[0], d[1], d[2]);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function same(a, b) {
|
|
34
|
+
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Flat n×n plane in z=0. Single planar region => one chart, zero stretch. */
|
|
38
|
+
export function soup_plane(n) {
|
|
39
|
+
const soup = [];
|
|
40
|
+
const v = (i, j) => [i / n, j / n, 0];
|
|
41
|
+
for (let j = 0; j < n; j++) for (let i = 0; i < n; i++) pushQuad(soup, v(i, j), v(i + 1, j), v(i + 1, j + 1), v(i, j + 1));
|
|
42
|
+
return soup;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Deterministic gently-bumpy terrain (curved, smooth, no RNG). */
|
|
46
|
+
export function soup_terrain(n, amplitude) {
|
|
47
|
+
const h = (i, j) => amplitude * (Math.sin(i * 0.35) * Math.cos(j * 0.4) + 0.5 * Math.sin(i * 0.8 + j * 0.25));
|
|
48
|
+
const v = (i, j) => [i / n, j / n, h(i, j)];
|
|
49
|
+
const soup = [];
|
|
50
|
+
for (let j = 0; j < n; j++) for (let i = 0; i < n; i++) pushQuad(soup, v(i, j), v(i + 1, j), v(i + 1, j + 1), v(i, j + 1));
|
|
51
|
+
return soup;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Dense bumpy terrain decimated by the production simplifier -> irregular, over-segmenting asset. */
|
|
55
|
+
export function soup_decimated_terrain(n, amplitude, error) {
|
|
56
|
+
const mesh = build_mesh(soup_terrain(n, amplitude));
|
|
57
|
+
bt_mesh_simplify_by_error(mesh, error);
|
|
58
|
+
return topology_to_soup(mesh);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** UV sphere (fanned poles, no degenerate tris). Smooth closed surface. */
|
|
62
|
+
export function soup_uv_sphere(rings, sectors) {
|
|
63
|
+
const soup = [];
|
|
64
|
+
const north = [0, 1, 0], south = [0, -1, 0];
|
|
65
|
+
const pos = (i, s) => {
|
|
66
|
+
const phi = (i / rings) * Math.PI, th = (s / sectors) * 2 * Math.PI;
|
|
67
|
+
return [Math.sin(phi) * Math.cos(th), Math.cos(phi), Math.sin(phi) * Math.sin(th)];
|
|
68
|
+
};
|
|
69
|
+
const vtx = (i, s) => (i === 0 ? north : i === rings ? south : pos(i, s));
|
|
70
|
+
for (let i = 0; i < rings; i++) for (let s = 0; s < sectors; s++) {
|
|
71
|
+
pushQuad(soup, vtx(i, s), vtx(i + 1, s), vtx(i + 1, s + 1), vtx(i, s + 1));
|
|
72
|
+
}
|
|
73
|
+
return soup;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Upper hemisphere cap (intrinsic positive curvature -> MUST distort under any flattening). */
|
|
77
|
+
export function soup_hemisphere(rings, sectors) {
|
|
78
|
+
const soup = [];
|
|
79
|
+
const north = [0, 1, 0];
|
|
80
|
+
const pos = (i, s) => {
|
|
81
|
+
const phi = (i / rings) * (Math.PI / 2), th = (s / sectors) * 2 * Math.PI;
|
|
82
|
+
return [Math.sin(phi) * Math.cos(th), Math.cos(phi), Math.sin(phi) * Math.sin(th)];
|
|
83
|
+
};
|
|
84
|
+
const vtx = (i, s) => (i === 0 ? north : pos(i, s));
|
|
85
|
+
for (let i = 0; i < rings; i++) for (let s = 0; s < sectors; s++) {
|
|
86
|
+
pushQuad(soup, vtx(i, s), vtx(i + 1, s), vtx(i + 1, s + 1), vtx(i, s + 1));
|
|
87
|
+
}
|
|
88
|
+
return soup;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Open cylinder side (no caps): a DEVELOPABLE surface — should flatten to a flat strip with ~zero stretch. */
|
|
92
|
+
export function soup_cylinder_open(radial, rings, height, radius) {
|
|
93
|
+
const soup = [];
|
|
94
|
+
const v = (i, s) => {
|
|
95
|
+
const y = -height / 2 + (i / rings) * height, th = (s / radial) * 2 * Math.PI;
|
|
96
|
+
return [radius * Math.cos(th), y, radius * Math.sin(th)];
|
|
97
|
+
};
|
|
98
|
+
for (let i = 0; i < rings; i++) for (let s = 0; s < radial; s++) pushQuad(soup, v(i, s), v(i + 1, s), v(i + 1, s + 1), v(i, s + 1));
|
|
99
|
+
return soup;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** Open cone side (no base): DEVELOPABLE — flattens to a circular sector with ~zero stretch. */
|
|
103
|
+
export function soup_cone_open(radial, rings, height, radius) {
|
|
104
|
+
const soup = [];
|
|
105
|
+
const apex = [0, height, 0];
|
|
106
|
+
const v = (i, s) => {
|
|
107
|
+
const t = i / rings, th = (s / radial) * 2 * Math.PI;
|
|
108
|
+
return [t * radius * Math.cos(th), (1 - t) * height, t * radius * Math.sin(th)];
|
|
109
|
+
};
|
|
110
|
+
const vtx = (i, s) => (i === 0 ? apex : v(i, s));
|
|
111
|
+
for (let i = 0; i < rings; i++) for (let s = 0; s < radial; s++) pushQuad(soup, vtx(i, s), vtx(i + 1, s), vtx(i + 1, s + 1), vtx(i, s + 1));
|
|
112
|
+
return soup;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Torus: irregular, curved charts (a packing stress fixture). */
|
|
116
|
+
export function soup_torus(rings, sides, R, rr) {
|
|
117
|
+
const soup = [];
|
|
118
|
+
const v = (i, j) => {
|
|
119
|
+
const u = (i / rings) * 2 * Math.PI, w = (j / sides) * 2 * Math.PI;
|
|
120
|
+
const cx = R + rr * Math.cos(w);
|
|
121
|
+
return [cx * Math.cos(u), rr * Math.sin(w), cx * Math.sin(u)];
|
|
122
|
+
};
|
|
123
|
+
for (let i = 0; i < rings; i++) for (let j = 0; j < sides; j++) pushQuad(soup, v(i, j), v(i + 1, j), v(i + 1, j + 1), v(i, j + 1));
|
|
124
|
+
return soup;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** Grid of unit cubes (each cube => 6 charts at 90°; a chart-count fixture). */
|
|
128
|
+
export function soup_cube_field(count) {
|
|
129
|
+
const soup = [];
|
|
130
|
+
const corners = [[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0, 0, 1], [1, 0, 1], [1, 1, 1], [0, 1, 1]];
|
|
131
|
+
const quads = [[0, 1, 5, 4], [1, 2, 6, 5], [2, 3, 7, 6], [3, 0, 4, 7], [3, 2, 1, 0], [4, 5, 6, 7]];
|
|
132
|
+
const side = Math.ceil(Math.cbrt(count));
|
|
133
|
+
for (let n = 0; n < count; n++) {
|
|
134
|
+
const ox = (n % side) * 2, oy = (Math.floor(n / side) % side) * 2, oz = Math.floor(n / (side * side)) * 2;
|
|
135
|
+
const c = corners.map((p) => [ox + p[0], oy + p[1], oz + p[2]]);
|
|
136
|
+
for (const q of quads) pushQuad(soup, c[q[0]], c[q[1]], c[q[2]], c[q[3]]);
|
|
137
|
+
}
|
|
138
|
+
return soup;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export function build_mesh(soup) {
|
|
142
|
+
const mesh = new BinaryTopology();
|
|
143
|
+
bt_mesh_from_unindexed_geometry(mesh, soup);
|
|
144
|
+
return mesh;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function topology_to_soup(mesh) {
|
|
148
|
+
const soup = [];
|
|
149
|
+
const a = [0, 0, 0];
|
|
150
|
+
const faces = mesh.faces;
|
|
151
|
+
for (let f = 0; f < faces.size; f++) {
|
|
152
|
+
if (!faces.is_allocated(f)) continue;
|
|
153
|
+
let l = mesh.face_read_loop(f);
|
|
154
|
+
const start = l;
|
|
155
|
+
const verts = [];
|
|
156
|
+
do {
|
|
157
|
+
mesh.vertex_read_coordinate(a, 0, mesh.loop_read_vertex(l));
|
|
158
|
+
verts.push(a[0], a[1], a[2]);
|
|
159
|
+
l = mesh.loop_read_next(l);
|
|
160
|
+
} while (l !== start);
|
|
161
|
+
if (verts.length === 9) soup.push(...verts);
|
|
162
|
+
}
|
|
163
|
+
return soup;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// ─── Metrics ─────────────────────────────────────────────────────────────────
|
|
167
|
+
/** Charts whose worst (L∞) per-triangle stretch exceeds this count as the "high-distortion tail". */
|
|
168
|
+
export const TAIL_STRETCH = 2.0;
|
|
169
|
+
|
|
170
|
+
function percentile(sorted, p) {
|
|
171
|
+
if (sorted.length === 0) return 0;
|
|
172
|
+
return sorted[Math.min(sorted.length - 1, Math.floor(p * sorted.length))];
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Per-run chart-quality metrics. `charts` are finalized charts (each with
|
|
177
|
+
* `surface_area`, `parametric_area`, `type`, and solved `uv`).
|
|
178
|
+
*
|
|
179
|
+
* @param {Chart[]} charts
|
|
180
|
+
* @returns {object} chart_count, ortho/lscm/piecewise counts, area-weighted
|
|
181
|
+
* mean_stretch, max_stretch, p50/p90/p99 of per-chart worst stretch,
|
|
182
|
+
* tail_count + tail_area_frac (charts above TAIL_STRETCH), degenerate count.
|
|
183
|
+
*/
|
|
184
|
+
export function chart_metrics(charts) {
|
|
185
|
+
let total_area = 0, weighted_mean_sum = 0, max_stretch = 0, degenerate = 0;
|
|
186
|
+
let tail_count = 0, tail_area = 0;
|
|
187
|
+
const per_chart_max = [];
|
|
188
|
+
const types = { ortho: 0, lscm: 0, piecewise: 0, bff: 0 };
|
|
189
|
+
|
|
190
|
+
for (const c of charts) {
|
|
191
|
+
if (c.type === CHART_TYPE.ORTHO) types.ortho++;
|
|
192
|
+
else if (c.type === CHART_TYPE.LSCM) types.lscm++;
|
|
193
|
+
else if (c.type === CHART_TYPE.PIECEWISE) types.piecewise++;
|
|
194
|
+
else if (c.type === CHART_TYPE.BFF) types.bff++;
|
|
195
|
+
|
|
196
|
+
const m = atlas_chart_stretch_metric(c);
|
|
197
|
+
if (!Number.isFinite(m.mean_stretch) || !Number.isFinite(m.max_stretch)) {
|
|
198
|
+
degenerate++;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
const area = c.surface_area;
|
|
202
|
+
total_area += area;
|
|
203
|
+
weighted_mean_sum += m.mean_stretch * area;
|
|
204
|
+
per_chart_max.push(m.max_stretch);
|
|
205
|
+
if (m.max_stretch > max_stretch) max_stretch = m.max_stretch;
|
|
206
|
+
if (m.max_stretch > TAIL_STRETCH) { tail_count++; tail_area += area; }
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
per_chart_max.sort((a, b) => a - b);
|
|
210
|
+
return {
|
|
211
|
+
chart_count: charts.length,
|
|
212
|
+
types,
|
|
213
|
+
mean_stretch: total_area > 0 ? weighted_mean_sum / total_area : 0,
|
|
214
|
+
max_stretch,
|
|
215
|
+
p50_stretch: percentile(per_chart_max, 0.5),
|
|
216
|
+
p90_stretch: percentile(per_chart_max, 0.9),
|
|
217
|
+
p99_stretch: percentile(per_chart_max, 0.99),
|
|
218
|
+
tail_count,
|
|
219
|
+
tail_area_frac: total_area > 0 ? tail_area / total_area : 0,
|
|
220
|
+
degenerate,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/** Total 3D length of edges cut between different charts (texture seams) + fraction of interior length. */
|
|
225
|
+
export function seam_metrics(mesh, charts) {
|
|
226
|
+
const face_chart = new Int32Array(mesh.faces.size).fill(-1);
|
|
227
|
+
for (let ci = 0; ci < charts.length; ci++) {
|
|
228
|
+
const c = charts[ci];
|
|
229
|
+
for (let t = 0; t < c.triangle_count; t++) face_chart[c.tri_face[t]] = ci;
|
|
230
|
+
}
|
|
231
|
+
const v1 = [0, 0, 0], v2 = [0, 0, 0];
|
|
232
|
+
let seam_len = 0, interior_len = 0;
|
|
233
|
+
const edges = mesh.edges;
|
|
234
|
+
for (let e = 0; e < edges.size; e++) {
|
|
235
|
+
if (!edges.is_allocated(e)) continue;
|
|
236
|
+
const l1 = mesh.edge_read_loop(e);
|
|
237
|
+
if (l1 === NULL_POINTER) continue;
|
|
238
|
+
const l2 = mesh.loop_read_radial_next(l1);
|
|
239
|
+
if (l2 === l1) continue; // boundary edge, not a cut
|
|
240
|
+
mesh.vertex_read_coordinate(v1, 0, mesh.edge_read_vertex1(e));
|
|
241
|
+
mesh.vertex_read_coordinate(v2, 0, mesh.edge_read_vertex2(e));
|
|
242
|
+
const len = Math.hypot(v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2]);
|
|
243
|
+
interior_len += len;
|
|
244
|
+
if (face_chart[mesh.loop_read_face(l1)] !== face_chart[mesh.loop_read_face(l2)]) seam_len += len;
|
|
245
|
+
}
|
|
246
|
+
return { seam_len, seam_pct: interior_len > 0 ? (seam_len / interior_len) * 100 : 0, interior_len };
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// ─── Pipeline + A/B runner ───────────────────────────────────────────────────
|
|
250
|
+
/**
|
|
251
|
+
* Run the full pipeline once and return the metric panel. Always rebuilds the
|
|
252
|
+
* mesh from the soup so packing-only A/Bs are independent (pack mutates uv).
|
|
253
|
+
*
|
|
254
|
+
* @param {number[]} soup triangle soup
|
|
255
|
+
* @param {object} [computeOpts] atlas_compute_charts options
|
|
256
|
+
* @param {object} [packOpts] atlas_pack_charts options
|
|
257
|
+
* @returns {object} flattened metric panel
|
|
258
|
+
*/
|
|
259
|
+
export function measure(soup, computeOpts = {}, packOpts = {}) {
|
|
260
|
+
const mesh = build_mesh(soup);
|
|
261
|
+
const computed = atlas_compute_charts(mesh, computeOpts);
|
|
262
|
+
const packed = atlas_pack_charts(computed.charts, packOpts);
|
|
263
|
+
const cm = chart_metrics(computed.charts);
|
|
264
|
+
const sm = seam_metrics(mesh, computed.charts);
|
|
265
|
+
return {
|
|
266
|
+
...cm,
|
|
267
|
+
seam_len: sm.seam_len,
|
|
268
|
+
seam_pct: sm.seam_pct,
|
|
269
|
+
utilization: packed.utilization,
|
|
270
|
+
pages: packed.page_count,
|
|
271
|
+
atlas: `${packed.atlas_width}x${packed.atlas_height}`,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/** Median wall-clock of `fn` over a time budget, with warmup. */
|
|
276
|
+
export function time_median(fn, budget_ms = 2000, warmup = 2) {
|
|
277
|
+
for (let i = 0; i < warmup; i++) fn();
|
|
278
|
+
const samples = [];
|
|
279
|
+
const start = performance.now();
|
|
280
|
+
while (performance.now() - start < budget_ms) {
|
|
281
|
+
const t0 = performance.now();
|
|
282
|
+
fn();
|
|
283
|
+
samples.push(performance.now() - t0);
|
|
284
|
+
}
|
|
285
|
+
samples.sort((a, b) => a - b);
|
|
286
|
+
return percentile(samples, 0.5);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* A/B: measure baseline vs candidate on the same fixture and return both panels
|
|
291
|
+
* plus per-key deltas. The caller asserts the expected direction (the gate).
|
|
292
|
+
*
|
|
293
|
+
* @param {number[]} soup
|
|
294
|
+
* @param {{compute?:object, pack?:object}} a baseline options
|
|
295
|
+
* @param {{compute?:object, pack?:object}} b candidate options
|
|
296
|
+
* @returns {{base:object, cand:object, delta:object}}
|
|
297
|
+
*/
|
|
298
|
+
export function ab(soup, a, b) {
|
|
299
|
+
const base = measure(soup, a.compute, a.pack);
|
|
300
|
+
const cand = measure(soup, b.compute, b.pack);
|
|
301
|
+
const delta = {};
|
|
302
|
+
for (const k of ["chart_count", "mean_stretch", "max_stretch", "p90_stretch", "p99_stretch", "tail_count", "tail_area_frac", "seam_len", "seam_pct", "utilization"]) {
|
|
303
|
+
delta[k] = cand[k] - base[k];
|
|
304
|
+
}
|
|
305
|
+
return { base, cand, delta };
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/** Compact one-line metric panel for console output. */
|
|
309
|
+
export function fmt(m) {
|
|
310
|
+
return `charts ${m.chart_count} (O${m.types.ortho}/L${m.types.lscm}/P${m.types.piecewise}/B${m.types.bff})` +
|
|
311
|
+
` stretch mean ${m.mean_stretch.toFixed(3)} max ${m.max_stretch.toFixed(1)} p90 ${m.p90_stretch.toFixed(2)} p99 ${m.p99_stretch.toFixed(2)}` +
|
|
312
|
+
` tail ${m.tail_count} (${(m.tail_area_frac * 100).toFixed(1)}% area)` +
|
|
313
|
+
` seam ${m.seam_len.toFixed(2)} (${m.seam_pct.toFixed(1)}%)` +
|
|
314
|
+
` util ${(m.utilization * 100).toFixed(1)}% ${m.atlas} x${m.pages}`;
|
|
315
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a chart's UVs were produced. Typed constant (no stringly-typed states),
|
|
3
|
+
* mirroring xatlas `ChartType`.
|
|
4
|
+
* @readonly
|
|
5
|
+
*/
|
|
6
|
+
export const CHART_TYPE: Readonly<{
|
|
7
|
+
/** Orthographic projection accepted (planar or near-planar). */
|
|
8
|
+
ORTHO: 0;
|
|
9
|
+
/** Least-squares conformal map. */
|
|
10
|
+
LSCM: 1;
|
|
11
|
+
/** Single-triangle fallback after ortho and LSCM both failed validity. */
|
|
12
|
+
PIECEWISE: 2;
|
|
13
|
+
/** Boundary-first flattening: intrinsic low-distortion boundary + conformal
|
|
14
|
+
* interior, the rescue for a chart whose LSCM free boundary self-intersects. */
|
|
15
|
+
BFF: 3;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=atlas_chart_type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas_chart_type.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/atlas/atlas_chart_type.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;IACI,gEAAgE;;IAEhE,mCAAmC;;IAEnC,0EAA0E;;IAE1E;qFACiF;;GAElF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a chart's UVs were produced. Typed constant (no stringly-typed states),
|
|
3
|
+
* mirroring xatlas `ChartType`.
|
|
4
|
+
* @readonly
|
|
5
|
+
*/
|
|
6
|
+
export const CHART_TYPE = Object.freeze({
|
|
7
|
+
/** Orthographic projection accepted (planar or near-planar). */
|
|
8
|
+
ORTHO: 0,
|
|
9
|
+
/** Least-squares conformal map. */
|
|
10
|
+
LSCM: 1,
|
|
11
|
+
/** Single-triangle fallback after ortho and LSCM both failed validity. */
|
|
12
|
+
PIECEWISE: 2,
|
|
13
|
+
/** Boundary-first flattening: intrinsic low-distortion boundary + conformal
|
|
14
|
+
* interior, the rescue for a chart whose LSCM free boundary self-intersects. */
|
|
15
|
+
BFF: 3,
|
|
16
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute UV charts for a mesh (xatlas `ComputeCharts`): condition the mesh,
|
|
3
|
+
* segment it, and parameterize each chart. The returned charts carry their own
|
|
4
|
+
* vertex/triangle tables and per-chart UVs (local, unpacked) in `chart.uv`, ready
|
|
5
|
+
* for {@link atlas_pack_charts}. UVs are NOT written onto the mesh here — that is
|
|
6
|
+
* the explicit {@link atlas_write_chart_uvs} step (kept separate so charts from
|
|
7
|
+
* several meshes can be packed together before being actualized).
|
|
8
|
+
*
|
|
9
|
+
* @param {BinaryTopology} mesh mutated in place (welding, normals) but not its loop UVs
|
|
10
|
+
* @param {object} [options]
|
|
11
|
+
* @param {boolean} [options.weld] colocal-weld the input first (default true)
|
|
12
|
+
* @param {object} [options.segment] overrides for atlas_segment_charts
|
|
13
|
+
* @param {object} [options.lscm] overrides for atlas_chart_parameterize_lscm
|
|
14
|
+
* @returns {{charts: Chart[], face_chart: Int32Array, chart_count: number}}
|
|
15
|
+
*/
|
|
16
|
+
export function atlas_compute_charts(mesh: BinaryTopology, options?: {
|
|
17
|
+
weld?: boolean;
|
|
18
|
+
segment?: object;
|
|
19
|
+
lscm?: object;
|
|
20
|
+
}): {
|
|
21
|
+
charts: Chart[];
|
|
22
|
+
face_chart: Int32Array;
|
|
23
|
+
chart_count: number;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=atlas_compute_charts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas_compute_charts.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/atlas/atlas_compute_charts.js"],"names":[],"mappings":"AAiHA;;;;;;;;;;;;;;GAcG;AACH;IAL6B,IAAI,GAAtB,OAAO;IACU,OAAO,GAAxB,MAAM;IACW,IAAI,GAArB,MAAM;;YACK,OAAO;gBAAc,UAAU;iBAAe,MAAM;EA6DzE"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { bt_mesh_compute_face_normals } from "../topology/struct/binary/io/bt_mesh_compute_face_normals.js";
|
|
2
|
+
import { CHART_TYPE } from "./atlas_chart_type.js";
|
|
3
|
+
import { atlas_extract_chart } from "./atlas_extract_chart.js";
|
|
4
|
+
import { atlas_build_edge_dihedrals } from "./data/atlas_build_edge_dihedrals.js";
|
|
5
|
+
import { atlas_build_edge_lengths } from "./data/atlas_build_edge_lengths.js";
|
|
6
|
+
import { atlas_build_face_areas } from "./data/atlas_build_face_areas.js";
|
|
7
|
+
import { atlas_mesh_weld_colocals } from "./io/atlas_mesh_weld_colocals.js";
|
|
8
|
+
import { atlas_chart_param_validity } from "./param/atlas_chart_param_validity.js";
|
|
9
|
+
import { atlas_chart_parameterize_bff } from "./param/atlas_chart_parameterize_bff.js";
|
|
10
|
+
import { atlas_chart_parameterize_lscm } from "./param/atlas_chart_parameterize_lscm.js";
|
|
11
|
+
import { atlas_chart_parameterize_ortho } from "./param/atlas_chart_parameterize_ortho.js";
|
|
12
|
+
import { atlas_chart_stretch_metric } from "./param/atlas_chart_stretch_metric.js";
|
|
13
|
+
import { atlas_piecewise_resegment } from "./param/atlas_piecewise_resegment.js";
|
|
14
|
+
import { atlas_build_region_graph } from "./segment/atlas_build_region_graph.js";
|
|
15
|
+
import { atlas_compute_planar_regions } from "./segment/atlas_compute_planar_regions.js";
|
|
16
|
+
import { atlas_merge_charts } from "./segment/atlas_merge_charts.js";
|
|
17
|
+
import { atlas_segment_charts } from "./segment/atlas_segment_charts.js";
|
|
18
|
+
import { atlas_segment_charts_atomic } from "./segment/atlas_segment_charts_atomic.js";
|
|
19
|
+
|
|
20
|
+
/** Ortho is accepted only below these stretch bounds (xatlas thresholds). */
|
|
21
|
+
const ORTHO_MEAN_STRETCH_MAX = 1.1;
|
|
22
|
+
const ORTHO_MAX_STRETCH_MAX = 1.25;
|
|
23
|
+
|
|
24
|
+
/** The BFF rescue keeps a chart whole instead of exploding it into piecewise pieces,
|
|
25
|
+
* accepted only when its whole-chart map is near-isometric in the mean — bounded
|
|
26
|
+
* just above the ortho mean gate (measured rescues are ~1.0). This bounds AVERAGE
|
|
27
|
+
* distortion, not the worst triangle or shape compactness, so it is a chart-COUNT
|
|
28
|
+
* win at comparable mean stretch, not a strict per-metric improvement; charts above
|
|
29
|
+
* the bound fall through to piecewise's compact, individually ortho-valid pieces.
|
|
30
|
+
* Measured net effect is Pareto-positive (decimated terrain: −6 charts, mean and
|
|
31
|
+
* p99 stretch both down). */
|
|
32
|
+
const BFF_MAX_MEAN_STRETCH = 1.25;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Whether a parameterization validity report describes a bijective (no-overlap,
|
|
36
|
+
* consistent-winding) UV map: no flipped triangles, no self-intersection, no
|
|
37
|
+
* degenerate (zero-area) UV triangles.
|
|
38
|
+
*
|
|
39
|
+
* @param {{mixed_winding: boolean, self_intersects: boolean, zero_area_count: number}} validity from atlas_chart_param_validity
|
|
40
|
+
* @returns {boolean}
|
|
41
|
+
*/
|
|
42
|
+
function is_bijective(validity) {
|
|
43
|
+
return !validity.mixed_winding && !validity.self_intersects && validity.zero_area_count === 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Finalize a chart: record its type and 3D/UV areas, then append.
|
|
48
|
+
*
|
|
49
|
+
* @param {Chart} chart the chart from {@link atlas_extract_chart}, with solved UVs
|
|
50
|
+
* @param {number} type one of {@link CHART_TYPE}
|
|
51
|
+
* @param {Chart[]} out finished charts accumulator, appended to
|
|
52
|
+
*/
|
|
53
|
+
function finalize(chart, type, out) {
|
|
54
|
+
const s = atlas_chart_stretch_metric(chart);
|
|
55
|
+
chart.type = type;
|
|
56
|
+
chart.surface_area = s.geom_area;
|
|
57
|
+
chart.parametric_area = s.param_area;
|
|
58
|
+
out.push(chart);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Parameterize one segmentation chart, appending one or more finished charts to
|
|
63
|
+
* `out`: orthographic if it passes the stretch gate, otherwise LSCM if the
|
|
64
|
+
* chart has a boundary, otherwise region-grow piecewise re-segmentation into
|
|
65
|
+
* connected, ortho-valid sub-charts.
|
|
66
|
+
*
|
|
67
|
+
* @param {Chart} chart the chart from {@link atlas_extract_chart}; its `uv` is solved in place
|
|
68
|
+
* @param {object} [lscm_options] overrides for {@link atlas_chart_parameterize_lscm}
|
|
69
|
+
* @param {Chart[]} out finished charts accumulator, appended to
|
|
70
|
+
*/
|
|
71
|
+
function parameterize_chart(chart, lscm_options, out) {
|
|
72
|
+
atlas_chart_parameterize_ortho(chart);
|
|
73
|
+
const ortho_validity = atlas_chart_param_validity(chart);
|
|
74
|
+
const ortho_stretch = atlas_chart_stretch_metric(chart);
|
|
75
|
+
|
|
76
|
+
if (
|
|
77
|
+
is_bijective(ortho_validity) &&
|
|
78
|
+
ortho_stretch.mean_stretch <= ORTHO_MEAN_STRETCH_MAX &&
|
|
79
|
+
ortho_stretch.max_stretch <= ORTHO_MAX_STRETCH_MAX
|
|
80
|
+
) {
|
|
81
|
+
finalize(chart, CHART_TYPE.ORTHO, out);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (atlas_chart_parameterize_lscm(chart, lscm_options)) {
|
|
86
|
+
if (is_bijective(atlas_chart_param_validity(chart))) {
|
|
87
|
+
finalize(chart, CHART_TYPE.LSCM, out);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Rescue a disk chart whose LSCM free boundary self-intersected by flattening
|
|
93
|
+
// it whole with boundary-first flattening (BFF), instead of exploding it into
|
|
94
|
+
// piecewise sub-charts — but only when the result is bijective AND near
|
|
95
|
+
// isometric (else piecewise's compact pieces are the better outcome). BFF runs
|
|
96
|
+
// only on charts that already failed ortho and LSCM, so it is free on clean
|
|
97
|
+
// meshes (no chart reaches here) and ~0 cost where LSCM was already failing.
|
|
98
|
+
if (atlas_chart_parameterize_bff(chart, lscm_options)) {
|
|
99
|
+
if (
|
|
100
|
+
is_bijective(atlas_chart_param_validity(chart)) &&
|
|
101
|
+
atlas_chart_stretch_metric(chart).mean_stretch <= BFF_MAX_MEAN_STRETCH
|
|
102
|
+
) {
|
|
103
|
+
finalize(chart, CHART_TYPE.BFF, out);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Fallback: region-grow into connected, ortho-valid sub-charts.
|
|
109
|
+
for (const piece of atlas_piecewise_resegment(chart)) {
|
|
110
|
+
finalize(piece, CHART_TYPE.PIECEWISE, out);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Compute UV charts for a mesh (xatlas `ComputeCharts`): condition the mesh,
|
|
116
|
+
* segment it, and parameterize each chart. The returned charts carry their own
|
|
117
|
+
* vertex/triangle tables and per-chart UVs (local, unpacked) in `chart.uv`, ready
|
|
118
|
+
* for {@link atlas_pack_charts}. UVs are NOT written onto the mesh here — that is
|
|
119
|
+
* the explicit {@link atlas_write_chart_uvs} step (kept separate so charts from
|
|
120
|
+
* several meshes can be packed together before being actualized).
|
|
121
|
+
*
|
|
122
|
+
* @param {BinaryTopology} mesh mutated in place (welding, normals) but not its loop UVs
|
|
123
|
+
* @param {object} [options]
|
|
124
|
+
* @param {boolean} [options.weld] colocal-weld the input first (default true)
|
|
125
|
+
* @param {object} [options.segment] overrides for atlas_segment_charts
|
|
126
|
+
* @param {object} [options.lscm] overrides for atlas_chart_parameterize_lscm
|
|
127
|
+
* @returns {{charts: Chart[], face_chart: Int32Array, chart_count: number}}
|
|
128
|
+
*/
|
|
129
|
+
export function atlas_compute_charts(mesh, options = {}) {
|
|
130
|
+
const weld = options.weld ?? true;
|
|
131
|
+
|
|
132
|
+
if (weld) {
|
|
133
|
+
atlas_mesh_weld_colocals(mesh);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
bt_mesh_compute_face_normals(mesh);
|
|
137
|
+
|
|
138
|
+
const face_areas = atlas_build_face_areas(mesh);
|
|
139
|
+
const edge_lengths = atlas_build_edge_lengths(mesh);
|
|
140
|
+
const edge_dihedrals = atlas_build_edge_dihedrals(mesh);
|
|
141
|
+
|
|
142
|
+
// Region-atomic segmentation (default) grows whole coplanar regions as
|
|
143
|
+
// units; set options.segment.atomic = false for the face-granular twin.
|
|
144
|
+
const atomic = options.segment?.atomic ?? true;
|
|
145
|
+
let segmentation;
|
|
146
|
+
if (atomic) {
|
|
147
|
+
const regions = atlas_compute_planar_regions(mesh, edge_dihedrals);
|
|
148
|
+
const region_graph = atlas_build_region_graph(
|
|
149
|
+
mesh, regions.region_of_face, regions.region_count, face_areas, edge_lengths, edge_dihedrals
|
|
150
|
+
);
|
|
151
|
+
segmentation = atlas_segment_charts_atomic(region_graph, regions.region_of_face, options.segment);
|
|
152
|
+
} else {
|
|
153
|
+
segmentation = atlas_segment_charts(mesh, face_areas, edge_lengths, edge_dihedrals, options.segment);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
let face_chart = segmentation.face_chart;
|
|
157
|
+
let chart_count = segmentation.chart_count;
|
|
158
|
+
|
|
159
|
+
// Optional: merge adjacent near-coplanar charts (xatlas mergeCharts) to undo
|
|
160
|
+
// over-segmentation from the greedy growth. Off by default; the merged charts
|
|
161
|
+
// are re-extracted + re-parameterized below.
|
|
162
|
+
if (options.segment?.merge) {
|
|
163
|
+
const merged = atlas_merge_charts(mesh, face_chart, chart_count, face_areas, options.segment);
|
|
164
|
+
face_chart = merged.face_chart;
|
|
165
|
+
chart_count = merged.chart_count;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Bucket faces by chart in one pass so each extraction touches only its own
|
|
169
|
+
// faces, instead of re-scanning every face once per chart (O(charts × faces)).
|
|
170
|
+
const chart_faces = [];
|
|
171
|
+
for (let c = 0; c < chart_count; c++) {
|
|
172
|
+
chart_faces.push([]);
|
|
173
|
+
}
|
|
174
|
+
const faces = mesh.faces;
|
|
175
|
+
for (let f = 0; f < faces.size; f++) {
|
|
176
|
+
if (!faces.is_allocated(f)) continue;
|
|
177
|
+
const c = face_chart[f];
|
|
178
|
+
if (c >= 0) chart_faces[c].push(f);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const charts = [];
|
|
182
|
+
for (let c = 0; c < chart_count; c++) {
|
|
183
|
+
const chart = atlas_extract_chart(mesh, face_chart, c, chart_faces[c]);
|
|
184
|
+
parameterize_chart(chart, options.lscm, charts);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return { charts, face_chart, chart_count };
|
|
188
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract a single chart from a segmented mesh into a {@link Chart} for
|
|
3
|
+
* parameterization and packing (xatlas chart construction). `boundary_edges` is
|
|
4
|
+
* flat pairs of chart-local vertex indices forming the chart outline; `uv` is
|
|
5
|
+
* zero-filled for the solver.
|
|
6
|
+
*
|
|
7
|
+
* @param {BinaryTopology} mesh
|
|
8
|
+
* @param {Int32Array} face_chart from atlas_segment_charts (face -> chart id, -1 if none)
|
|
9
|
+
* @param {number} chart_id
|
|
10
|
+
* @param {number[]} [face_list] the chart's face ids; when omitted they are found
|
|
11
|
+
* by scanning the whole mesh. The multi-chart driver precomputes one bucket per
|
|
12
|
+
* chart so it does not re-scan all faces once per chart (O(charts × faces)).
|
|
13
|
+
* @returns {Chart}
|
|
14
|
+
*/
|
|
15
|
+
export function atlas_extract_chart(mesh: BinaryTopology, face_chart: Int32Array, chart_id: number, face_list?: number[]): Chart;
|
|
16
|
+
import { Chart } from "./Chart.js";
|
|
17
|
+
//# sourceMappingURL=atlas_extract_chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas_extract_chart.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/atlas/atlas_extract_chart.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AACH,sEAPW,UAAU,YACV,MAAM,cACN,MAAM,EAAE,GAGN,KAAK,CAmFjB;sBA1GqB,YAAY"}
|