axiolid-mesh-boolean-boolmesh
boolmesh-backed MeshBoolean provider.
| Latest release | 0.3.7 (2026-11-07) |
| crates.io | axiolid-mesh-boolean-boolmesh |
| Facade | axiolid feature portable-provider |
| Layer | providers (provider.mesh) |
| API documentation | rustdoc · docs.rs |
| Source | crates/providers/mesh/boolmesh/ |
Overview
A MeshBoolean provider for closed, outward-oriented triangle meshes: union, intersection, difference, and symmetric difference composed from those. The algorithm is absorbed from the boolmesh crate into a private module (ADR 0014, ADR 0047); this crate adds the conversion, an orientation gate on every input, result checks, and batch overrides (subtract_many fuses disjoint cutters, union_many reduces as a balanced tree). It also offers subtract_boxes_analytic, an opt-in closed-form path for axis-aligned box cutters in an axis-aligned box. Register it with axiolid-dispatch or call it directly.
Design notes
- Results carry attribute channels but no normals; derive normals from the topology you want.
- The general path is
Determinism::Topological. Use the analytic box path when you need byte-identical output across processes. - The
parallelfeature threads inside one solve and is off by default;parallel-batchruns independentunion_manypairs concurrently with output identical to the sequential path.
Features
Default: none.
| Feature | Enables |
|---|---|
parallel | rayon |
parallel-batch | rayon |
Depends on
Changes
Latest release, 0.3.7 (2026-11-07):
Added
- The package now ships
LICENSE(a symlink to the repository root), so the licence text travels with the archive (#358).
Changed
- The minimum supported Rust version is now 1.99 (was 1.88), and the workspace builds on Rust 1.99.1 (#349).
Full history: crates/providers/mesh/boolmesh/CHANGELOG.md