Expand description
exact-poly — integer polygon geometry for deterministic computation. All coordinates are i64 fixed-point (SCALE=1_000_000 units = 1 meter). No float arithmetic. WASM bindings in src/wasm/.
Modules§
- aabb
- area
- bayazit
- Exact-integer Bayazit convex decomposition.
- constants
- On-chain protocol constants matching polygon.move:31-42. These are HARDCODED — no Config struct, no runtime parameters.
- containment
- Polygon containment checking.
- decompose
- ear_
clip - exact_
partition - Exact vertex partition — uses only original polygon vertices, no Steiner points.
- hertel_
mehlhorn - overlap
- Convex parts area overlap detection.
- primitives
- Fundamental integer geometry primitives. All coordinates are i64 (fixed-point). All intermediate computations use i128. ZERO floating point. ZERO epsilon. Exact integer arithmetic throughout.
- ring
- Ring (closed polygon) utility functions.
- sat
- shared_
edge - Shared edge detection and collinear contact classification. Ported from polygon.move::has_exact_shared_edge, edges_match_exactly, segments_contact, and shared_edge_relation.
- signed
- Signed arithmetic for geometry computations.
- spatial
- Point-in-polygon and segment intersection for convex polygons.
- topology
- types
- Core types for exact-poly integer polygon geometry. All coordinates are i64 (fixed-point, SCALE=1_000_000 units = 1 meter). No float arithmetic anywhere in this library.
- validate_
onchain - Full on-chain validation pipeline for polygon decompositions.
- validation
- Part validation matching polygon.move on-chain rules. All validation functions must produce identical results to the Move contract.
- wasm