From 14e8cf583fb5614ef80135d2f5d56301cc3cb595 Mon Sep 17 00:00:00 2001 From: sjat Date: Thu, 11 Jun 2026 11:36:37 +0200 Subject: [PATCH] docs: record segment-subdivision fix in design spec --- .../specs/2026-06-11-wide-angle-distortion-design.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/superpowers/specs/2026-06-11-wide-angle-distortion-design.md b/docs/superpowers/specs/2026-06-11-wide-angle-distortion-design.md index 50d361f..9511912 100644 --- a/docs/superpowers/specs/2026-06-11-wide-angle-distortion-design.md +++ b/docs/superpowers/specs/2026-06-11-wide-angle-distortion-design.md @@ -88,8 +88,16 @@ calibration independent of display/canvas size. ## Data flow +> **Correction (found in live testing):** the warp bends a path only at its *vertices*. A +> straight G0/G1 move is a 2-point segment, so warping just its endpoints draws a straight +> chord and hides the curvature entirely (measured ~320px of bow on bed-spanning lines +> collapsed to nothing). `projectSegments` therefore **subdivides each segment in work space +> (~20mm steps) before warping**, so the rendered polyline follows the curve. Arcs were +> already flattened to dense vertices and are unaffected. + ``` G-code (mm) + → subdivide segments to ~20mm in work space → applyAlignment (per-job rotate/translate, mm) → applyPolyWarp forward (mm → normalized image) → scale to canvas px → draw overlay