Behaviour of 3D view left-click select

Curious about the following, as it was present in 2.7 and is the same in 2.8: selecting an object with LMB (or adding to the selection with Shift+LMB) is dependent on all objects visible under the mouse cursor. But this translates into somewhat confusing behaviour depending on the current selection and view, especially for new users.

See this scene setup:

  • Repeatedly left-clicking on the cube will cycle the selection among the three objects, with only one object selected at a time. This can be pretty useful if you have a cluttered scene where you can’t get a view of only a single object.
  • However, this cycling is a separate state that isn’t immediately activated. For example, if the cube is currently selected and you rotate the 3D view away and back again to the view in the picture, left-clicking on the cube will not cycle the selection to the upper plane. The first click on the cube leaves the cube selected, only the second click cycles to the upper plane. However, if no object is currently selected and you rotate away and back the first click on the cube selects it, while the second click selects the upper plane, i.e. it’s cycling immediately.
  • When adding to the selection with Shift+LMB the active object is cycled, with the current active object added to the set of selected objects. Again, pretty useful
  • However, if there is only a single object under the mouse, Shift+LMB toggles the selection state of the object, i.e. deselecting if it was selected
  • The most confusing part is that when you select an object with Shift+LMB and it is the only object under the cursor this is remembered for that selection. So if you later change the view to have multiple objects under the cursor Shift+LMB on the same selected object will deselect it.

Is this all by concious design? There must be some really logic behind this.

And what’s the easiest way to deselect and object using the mouse? You can’t always rotate the view to a position in which an object is the only one under the mouse cursor.

Finally, I see some references on the web to a “select menu” (e.g. here). I see it in the command search window, but it doesn’t seem to do anything in 2.8 other than display an empty menu? Strange, it now seems to work correctly when using Alt+LMB, no idea why it appeared empty earlier.