Expand description
Full on-chain validation pipeline for polygon decompositions.
Replicates the exact sequence of checks that polygon.move::prepare_geometry
and index.move::register perform. If validate_decomposition returns Ok,
the decomposition WILL pass on-chain registration (modulo spatial overlap
with existing parcels, which requires on-chain state).
Check order matches on-chain:
- Part count within limits
- Per-part validation (vertex count, convexity, edge lengths)
- Area > 0
- Area conservation (sum of parts == original)
- Internal overlap check (no parts overlap each other)
- Multipart topology (connectivity, boundary graph, boundary compactness)
Compactness is a boundary-level invariant (step 6), not a per-part one —
see the validation module docs for the rationale that mirrors polygon.move.
Structs§
- Validation
Check - A single validation check result.
- Validation
Report - Full validation report for a polygon decomposition.
Functions§
- validate_
decomposition - Run the full on-chain validation pipeline on a polygon and its decomposition.