//! Adaptive (constant-engagement) clearing, 3D pocket clearing and rest
//! roughing (lane C6). Everything here works on the planar engine's exact
//! regions (`crate::planar`): the material left at a Z level is a region, the
//! tool-centre feasible set is a region, and the radial engagement of the
//! tool at a position is the exact angular measure of the tool circle inside
//! the remaining material ([`engagement`](mod@engagement)).
//!
//! - [`engagement`](mod@engagement): the engagement model (row 1): a uniform grid over the
//! material boundary, exact circle/boundary crossings classified by the
//! boundary's orientation, angular interval arithmetic, and the current
//! pass's own swept stadiums subtracted so the tool never "sees" material
//! it has already removed.
//! - [`clear`]: the level clearing solver (row 2): fronts grown from the
//! cleared tool-centre set by the optimal load, trochoidal loops where the
//! front's engagement would exceed the limit, exact material bookkeeping
//! per pass and a coverage certificate.
//! - [`dilate`]: dilation and erosion of regions by a disc and swept regions
//! of chains, from unions of single-segment capsules with area checks.
//! - [`levels`]: Z levels with flat-area detection, part shadows, stock
//! slices (box, cylinder, mesh, simulated dexel stock) and rest regions
//! (rows 3 to 5).
//!
//! Written from the engagement-angle literature (trochoidal milling and
//! constant-engagement pocketing) without reference to other CAM code.
pub use ;
pub use ;
pub use ;