Convert a winding-robust mesh footprint outline (from the Rust
meshOutline2d binding) into band-classified construction-projection lines
(issue #979). The whole element is classified by its axis extent
(axisMin/axisMax) — below the cut → solid, above → dashed. Contours are
already in drawing 2D space, so they're emitted as closed loops verbatim.
This is the winding-robust alternative to the normal-based silhouette path:
it draws the true projected footprint even when the source mesh is wound
inconsistently (common for ifc-lite roofs/stairs/site).
Convert a winding-robust mesh footprint outline (from the Rust
meshOutline2dbinding) into band-classified construction-projection lines (issue #979). The whole element is classified by its axis extent (axisMin/axisMax) — below the cut → solid, above → dashed. Contours are already in drawing 2D space, so they're emitted as closed loops verbatim.This is the winding-robust alternative to the normal-based silhouette path: it draws the true projected footprint even when the source mesh is wound inconsistently (common for ifc-lite roofs/stairs/site).