Skip to main content

axiolid_decimate/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Edge-collapse mesh decimation with a bounded, reported deviation (#75).
4//!
5//! # The contract
6//!
7//! A simplification that cannot state what it preserved is not a
8//! simplification, it is damage. Every reduction here reports the deviation
9//! it actually introduced, measured against the input surface, and refuses
10//! to exceed the caller's bound.
11//!
12//! # What is never done
13//!
14//! A collapse that would invert a triangle, create a non-manifold edge, or
15//! open the boundary is rejected rather than performed. Decimation must not
16//! manufacture the defects `axiolid-heal` exists to find and fix.
17
18pub mod collapse;
19
20pub use collapse::{decimate, DecimateError, DecimateReport, DecimateTarget};