feat(edit): STRETCH crossing window selects objects implicitly (#338)
Bare STRETCH used to need a separate object-selection round before the crossing window. Now the window itself picks the objects: with no prior selection the command emits StretchWindow, the host gathers entities whose world AABB touches the window (locked layers excluded) and restarts at the base-point step. Over-selection is harmless since only points inside the window move. The noun-verb flow (select first, then STRETCH) is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
5383c64d5d
commit
dc10c5dfba
4 changed files with 94 additions and 15 deletions
|
|
@ -908,6 +908,10 @@ pub enum CmdResult {
|
|||
scale: f32,
|
||||
angle: f32,
|
||||
},
|
||||
/// Implicit STRETCH selection: the crossing window was drawn with no prior
|
||||
/// selection, so the host resolves which entities it touches and restarts
|
||||
/// the command at the base-point step with them. (#338)
|
||||
StretchWindow { win_min: DVec3, win_max: DVec3 },
|
||||
/// Stretch entities: move only vertices/endpoints inside the crossing window.
|
||||
StretchEntities {
|
||||
handles: Vec<Handle>,
|
||||
|
|
|
|||
Loading…
Reference in a new issue