Skip to main content

Crate exact_poly

Crate exact_poly 

Source
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