Module mesh_bridge

Module mesh_bridge 

Source
Expand description

Bridge between the pure-Rust kernel (which works on Tri = [[f64;3];3]) and ifc-lite’s Mesh (f32 positions/normals/indices). subtract/union/ intersection here are what the ClippingProcessor seam calls.

Enums§

BatchSubtract
What subtract_many made of a cutter group.

Functions§

intersection
a ∩ b as a Mesh.
intersection_tris
a ∩ b as the kernel’s own exact f64 triangles, WITHOUT the Mesh round-trip.
mesh_to_tris
Mesh → the kernel’s triangle list (f32 → f64, snapped to the reconcile grid). Panic-free: an out-of-range index OR a non-finite (NaN/Inf) coord drops that triangle rather than indexing past the end or crashing BigRational::from_float deep in the predicates (the two empirically-found reachable panic sites).
subtract
host − cutter as a Mesh.
subtract_many
host − (∪ cutters) as a Mesh — the batched void-group subtract.
tris_to_mesh
The kernel’s triangle list → a Mesh (per-face flat normals, f64 → f32).
union
a ∪ b as a Mesh.
union_many
Retain the existing mutually reconciled N-ary union. Cutter consumers validate this result before deciding whether another candidate is needed.
union_with_conformity
Like union, but also reports arrangement conformity (unrecovered == 0). Diagnostics only (#3353); union() computes and discards this same signal.