forked from 1b-agent/opencadstudio-upstream
DistCommand stored the first point as Vec3 and ran on_point through `let pt = pt.as_vec3();`, downcasting the f64 picked point to f32 before computing distance/deltas. At survey-scale coordinates (eastings ~5e5) f32's 24-bit mantissa gives ~0.03–0.06 unit resolution, so a snapped endpoint measured slightly off — matching the report in #193. Store `first` as DVec3 and keep the math in f64; cast to f32 only for the visual preview wire vertices. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>