fix(commands): finish the world-XY coordinate migration (#54)

The drawing plane is world XY, but break, join, rectangular array, the
stretch/window move, the spline preview wire and several doc comments
still used the stale "Y-up XZ" mapping (world Z = DXF Y). That made
those commands operate against a constant-elevation axis: arc/circle/
line/spline break and join picked the wrong points, rectangular array
stepped rows along the Z (elevation) axis, window-stretch tested the
wrong window bound, and the spline wire drew in the wrong plane.

Map every drawing-plane coordinate through .y (elevation on .z),
matching the entity builders, the inquiry commands and the central
transform. Stale Y-up comments updated to avoid future confusion.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-04 10:39:24 +03:00
commit c7a7f2f742
9 changed files with 35 additions and 34 deletions

View file

@ -252,7 +252,7 @@ pub(super) struct OpenCADStudio {
update_notice_body: Option<String>,
/// In-memory clipboard: cloned entities waiting to be pasted.
clipboard: Vec<acadrust::EntityType>,
/// Centroid of the clipboard entities (XZ plane, Y-up).
/// Centroid of the clipboard entities (world XY plane).
clipboard_centroid: glam::Vec3,
/// True while the Shift key is held — drives subtractive pick (Shift+click
/// removes the picked entity from the selection). Tracked from keyboard