fix(selection): individual picks accumulate; Shift+click removes
Single-click picking cleared the selection first (exclusive), so clicking a second object dropped the first (issue #47). Plain clicks now add to the selection and Shift+click removes the picked entity; empty-space click and Esc still clear. Shift state is tracked from keyboard ModifiersChanged events since mouse click messages carry no modifiers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e4668c66e7
commit
1b3760913e
4 changed files with 33 additions and 2 deletions
|
|
@ -3808,6 +3808,13 @@ impl Scene {
|
|||
self.bump_geometry();
|
||||
}
|
||||
|
||||
/// Remove a single entity from the selection (Shift+click subtractive pick).
|
||||
pub fn deselect_entity(&mut self, handle: Handle) {
|
||||
if self.selected.remove(&handle) {
|
||||
self.bump_geometry();
|
||||
}
|
||||
}
|
||||
|
||||
pub fn selected_entities(&self) -> Vec<(Handle, &EntityType)> {
|
||||
self.selected
|
||||
.iter()
|
||||
|
|
|
|||
Loading…
Reference in a new issue