feat(input): lock the next point to a typed <angle

Typing <angle at a point prompt (e.g. <30) now fixes the direction of
the next point from the last one until a point is placed: the cursor
moves along that direction, and a bare number entered next is the
distance along it. The angle is read in the drawing's angle base and
direction and turned into the current UCS. Works from the command line
and from scripts or the automation token input alike.

Fixes #1464

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-13 14:21:50 +03:00
1 parent 29c0d1df9a
commit 0eec9c450f
28 files changed
+77 -1

No files matched your search

+4
View File
@@ -1218,6 +1218,9 @@ pub(super) struct OpenCADStudio {
/// osnap hits included — projects onto this ray from `last_point` (or the
/// grip origin). Cleared when Shift releases.
axis_lock_dir: Option<glam::DVec3>,
/// A direction typed as `<angle` at a point prompt: the next point stays
/// on it until a point is placed.
angle_override: Option<glam::DVec3>,
/// Inline rename state: (original_name, current_edit_value).
layout_rename_state: Option<(String, String)>,
/// Timestamp of the previous viewport left-click release (for double-click detection).
@@ -4775,6 +4778,7 @@ impl OpenCADStudio {
text_inline: None,
snap_override_popup: None,
axis_lock_dir: None,
angle_override: None,
layout_rename_state: None,
last_vp_click_time: None,
last_vp_click_pos: None,