The logic to turn a flat set of rings into polygons-with-holes lives only inside polygonize (methods/polygonize.jl hole-assignment loop, recently touched in #339), and it (a) splits exterior/hole by winding direction rather than even-odd containment depth, and (b) assumes native coordinate space.
A reusable public helper — rings → Vector{Polygon} by containment depth, with a pluggable contains-predicate / coordinate space — would be generally useful. As a concrete use case, an in-review GeoMakie PR (MakieOrg/GeoMakie.jl#381) needs depth-parity nesting evaluated in projected space (so seam pieces adjacent on the sphere but at opposite map edges separate) and reimplements it; released GeoMakie does not have or need this.
In scope for GeometryOps, or downstream glue?
The logic to turn a flat set of rings into polygons-with-holes lives only inside
polygonize(methods/polygonize.jlhole-assignment loop, recently touched in #339), and it (a) splits exterior/hole by winding direction rather than even-odd containment depth, and (b) assumes native coordinate space.A reusable public helper —
rings → Vector{Polygon}by containment depth, with a pluggable contains-predicate / coordinate space — would be generally useful. As a concrete use case, an in-review GeoMakie PR (MakieOrg/GeoMakie.jl#381) needs depth-parity nesting evaluated in projected space (so seam pieces adjacent on the sphere but at opposite map edges separate) and reimplements it; released GeoMakie does not have or need this.In scope for GeometryOps, or downstream glue?