geometry-overlay
Part of the boost_geometry workspace — a Rust port of Boost.Geometry. Most users should depend on the facade crate, which re-exports this one; depend on this crate directly only for a slimmer build.
Boolean-overlay engine — the segment-intersection kernel and the machinery built on top of it.
Mirrors boost/geometry/algorithms/detail/overlay/. Overlay is the
engine behind intersection, union, difference,
sym_difference, and (indirectly) buffer, is_valid, relate,
crosses, overlaps, touches, point_on_surface, and
merge_elements. Boost concentrates all of it under one detail
directory; the port gives it its own crate because the algorithmic
surface is too dense to share a crate with anything else.
The build order is strict:
- [
predicate] — OVL1: the robust predicate layer every overlay operation eventually calls (orientation, in-circle, segment-segment intersection, coordinate-range gate). - turn graph → traversal → output assembly → the four overlay free functions land in later phases, each behind the same strict ordering.
Robustness
v1 uses exact input arithmetic with no rescale — the predicates
compute directly on the f64 inputs and the
[predicate::range_guard] refuses inputs outside the safe
arithmetic range rather than silently returning a wrong sign,
leaving a slot for a future rescale policy.
License
BSL-1.0 — see LICENSE.