1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! 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.
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;
pub use point_on_surface;
pub use ;