forked from 1b-agent/opencadstudio-upstream
The hatch fill polygon (`hatch_model_from_dxf`) handled `BoundaryEdge:: Polyline` vertex bulges correctly — sampling arcs between v0 → v1 when v0.z (bulge) was non-zero. The wire outline path (`legacy_geometry::Hatch`) just pushed (x, y) for every vertex and ignored v.z, so any bulged boundary segment drew as a straight chord even though the fill underneath was correctly curved. Mirror the bulge-arc tessellation into the wire path, reusing the shared `arc_segments` helper from this module. Polyline edges now emit the arc start vertex + sampled arc points + the trailing endpoint, with a NaN separator added between distinct edges so connected boundaries don't draw spurious chords from one edge's last point to the next edge's first. Co-Authored-By: Claude Opus 4.7 <[email protected]>