Files
OneCAD/crates/ui-egui/tests/scenarios/alias_plain_drag_box_selects.json
T
bherbruckandClaude Opus 5.5 611422e4df Alias navigation preset uses Shift+Alt with LMB/MMB/RMB (Fixes #304) (#306)
Navigation presets are now a table of bindings (button, required modifier
keys, camera mode) instead of string matches. The Alias preset binds
Shift+Alt+left to orbit, Shift+Alt+middle to pan and Shift+Alt+right to
zoom. A left press with a binding's keys is latched until release, so that
drag neither box-selects nor drags sketch geometry; plain left drags behave
as before. Shift only requests snapping when the binding without Shift
still orbits.

The scenario harness sends Alt with ui.drag/ui.click, and camera checks can
assert panned/zoomed since the last camera step. The user guide notes Alt+drag
grabs by KDE and GNOME and how to free them.


Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 10:33:53 -04:00

17 lines
843 B
JSON

[
{"note": "Alias preset (#304): a plain left drag still box-selects sketch geometry; the same drag with Shift+Alt orbits and selects nothing."},
{"call": "ui.prefs", "params": {"nav": "alias"}},
{"start": "sketch.create"},
{"click": {"plane": "XY"}},
{"call": "engine.execute", "params": {"command": "sketch.line", "params": {"points": [[10, 10], [30, 10]]}}},
{"call": "ui.view", "params": {"view": "top"}},
{"expect": {"camera": {"yaw_deg": 0, "pitch_deg": 90}}},
{"drag": [{"sketch": [5, 4]}, {"sketch": [40, 20]}], "steps": 10},
{"debug": 1},
{"expect": {"selection": 3, "camera": {"yaw_deg": 0, "pitch_deg": 90}}},
{"key": "Escape"},
{"expect": {"selection": 0}},
{"drag": [{"sketch": [5, 4]}, {"sketch": [40, 20]}], "steps": 10, "shift": true, "alt": true},
{"expect": {"selection": 0, "sketching": true}}
]