feat: Dynamic Input overlay (DYNMODE / F12)

- overlay.rs: dynamic_input_overlay() canvas widget draws a semi-transparent
  coordinate tooltip near the cursor; shows X/Y in absolute mode or
  dist/angle relative to last_point when a command base point exists
- statusbar: DYN toggle pill with F12 tooltip (calls ToggleDynInput)
- app/mod.rs: dyn_input: bool field (default true), ToggleDynInput message
- view.rs: builds DYN label and pushes overlay into viewport_stack when
  dyn_input=true and a command is active
- document.rs: last_cursor_screen: iced::Point — updated on every ViewportMove
- ROADMAP.md: Dynamic Input overlay marked ✅

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-08 00:12:09 +03:00
1 parent f80d694818
commit 51e6c4b359
7 files changed
+127 -2

No files matched your search

+5
View File
@@ -28,6 +28,7 @@ impl StatusBar {
polar_mode: bool,
polar_increment_deg: f32,
show_grid: bool,
dyn_input: bool,
layouts: Vec<String>,
current_layout: String,
// If `Some((original, edit_value))`, the named tab shows a text input.
@@ -82,6 +83,10 @@ impl StatusBar {
"Orthogonal Mode\nF8"
),
polar_pill(polar_mode, polar_increment_deg),
tip(
toggle_pill("DYN", dyn_input, Message::ToggleDynInput),
"Dynamic Input\nF12"
),
osnap_btn(osnap_active, snapper.snap_enabled, popup_open),
status_pill(space_label),
status_pill(scale_label),