forked from 1b-agent/opencadstudio-upstream
The solid fill band of a wide LwPolyline / Polyline2D was built from absolute WCS vertex coordinates cast straight to f32, then handed to a HatchModel with world_origin = [0, 0]. At UTM-scale coordinates (~1e6) f32 resolves to ~0.06, so the half-width offset collapsed and the relative-to-eye fill shader cancelled `boundary - eye` to noise — the band rendered as a string of squares. (Exploding the polyline drops the width, hence no band and a clean line, which is why that "fixed" it.) Build the band relative to a world_origin (the first vertex) in f64 and store the small f32 offsets, mirroring how baked hatch fills keep precision. Same class of bug as the on-create hatch-fill fix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>