Enhancing navigation in graphic view #37

Open
opened 2025-01-29 04:41:32 +00:00 by glen · 5 comments
Owner

We had a discussion recently about whether there should be separate concepts of "selected" and "focused" or not, and it didn't quite seem to settle in my recollection (maybe add an issue or wiki page about this point as appropriate), so in this issue I just going to use the nonce agnostic term "foclected" for one or both or either or whatever.

Just as there is a need for keyboard navigation in the entity table view to change what is currently foclected, there is a need for keyboard change of what's foclected in the graphic view when that view is focused. For example, currently when a small sphere is inside a big sphere, there is no way to foclect it via a mouse click -- the larger containing sphere always soaks up the mouse clicks. This was a big frustrating, and in the end the only way I could find to select the inner sphere was to select it in the entity list view, and then Tab until the graphic view was focused.

I made the title more general because another approach is to have more involved mouse gestures, e.g. a right click popping up a dropdown list of all objects the eye ray through the mouse pointer intersects, allow for more refined navigation in the graphic view. Ultimately, we likely want to implement both approaches.

We had a discussion recently about whether there should be separate concepts of "selected" and "focused" or not, and it didn't quite seem to settle in my recollection (maybe add an issue or wiki page about this point as appropriate), so in this issue I just going to use the nonce agnostic term "foclected" for one or both or either or whatever. Just as there is a need for keyboard navigation in the entity table view to change what is currently foclected, there is a need for keyboard change of what's foclected in the graphic view when that view is focused. For example, currently when a small sphere is inside a big sphere, there is no way to foclect it via a mouse click -- the larger containing sphere always soaks up the mouse clicks. This was a big frustrating, and in the end the only way I could find to select the inner sphere was to select it in the entity list view, and then Tab until the graphic view was focused. I made the title more general because another approach is to have more involved mouse gestures, e.g. a right click popping up a dropdown list of all objects the eye ray through the mouse pointer intersects, allow for more refined navigation in the graphic view. Ultimately, we likely want to implement both approaches.
Author
Owner

See also #26.

See also #26.
Collaborator

currently when a small sphere is inside a big sphere, there is no way to foclect it via a mouse click -- the larger containing sphere always soaks up the mouse clicks. [...] another approach is to have more involved mouse gestures, e.g. a right click popping up a dropdown list of all objects the eye ray through the mouse pointer intersects, allow for more refined navigation in the graphic view.

In Inkscape, [alt] + click and [alt] + scroll both cycle through the objects under the cursor in depth order, which I find really convenient. The 3d situation is trickier, because the same surface can cross through the cursor ray multiple times at different depths, but maybe a similar gesture can still work well.

> currently when a small sphere is inside a big sphere, there is no way to foclect it via a mouse click -- the larger containing sphere always soaks up the mouse clicks. [...] another approach is to have more involved mouse gestures, e.g. a right click popping up a dropdown list of all objects the eye ray through the mouse pointer intersects, allow for more refined navigation in the graphic view. In Inkscape, *[alt] + click* and *[alt] + scroll* both cycle through the objects under the cursor in depth order, which I find really convenient. The 3d situation is trickier, because the same surface can cross through the cursor ray multiple times at different depths, but maybe a similar gesture can still work well.
Author
Owner

Some gesture like that is certainly a reasonable idea. In the end, it may be good to have multiple methods that all help with the situation.

Some gesture like that is certainly a reasonable idea. In the end, it may be good to have multiple methods that all help with the situation.
Collaborator

Should we put this in demo, alpha, or beta? I expect implementation to require a lot of careful thought and fiddling, but not much open-ended design work.

Should we put this in *demo*, *alpha*, or *beta*? I expect implementation to require a lot of careful thought and fiddling, but not much open-ended design work.
Author
Owner

Not demo. I think at least partially in alpha -- there needs to be some surefire way to navigate to a particular item for alpha, even if not ideal/refined/all the options we'd want for beta.

Not demo. I think at least partially in alpha -- there needs to be some surefire way to navigate to a particular item for alpha, even if not ideal/refined/all the options we'd want for beta.
Vectornaut added the
todo
label 2025-02-07 19:26:11 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: glen/dyna3#37
No description provided.