fix(dynin): read a comma-separated second point as cartesian, not W/H

A rectangle's opposite corner is entered through Width/Height dynamic
fields, whose sign is taken from the cursor quadrant on commit. Typing
"50,50" is a cartesian coordinate pair, not two cursor-signed
dimensions, but the comma advance kept the Width/Height roles so the
committed corner mirrored into whatever quadrant the cursor sat in.

Key off `dyn_user_reshaped` (set only by `,`, never by Tab) to treat a
comma-separated entry as a literal cartesian coordinate for every field,
in both the point resolver and the live dyn-box display. Tab-separated
entry still reads as signed Width/Height dimensions.

Closes #269

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-07-04 22:27:59 +03:00
1 parent 62680883cd
commit 450dbf79ac
3 files changed
+25 -6

No files matched your search

+7 -1
View File
@@ -524,7 +524,13 @@ impl OpenCADStudio {
{
format!("{lv:.4}")
}
_ => dyn_component_value(f, w, base, &tab.ucs_xform()),
_ => dyn_component_value(
f,
w,
base,
&tab.ucs_xform(),
self.dyn_user_reshaped,
),
};
crate::ui::overlay::DynBox {
label: f.role.label().to_string(),