Selection history
Add "previous" and "next" object selection browsing buttons in the ui. These buttons allow you to cycle through your last selections of objects (selection history, just like back and forward in web browser). These are super useful when you need to edit two or three objects back and forth or edit modifier helper objects and modified object one after another. In object mode these can be used to move between your selected objects or multiple object selections but also in edit mode this can be used to move between selections.
In edit mode for example you start marking edges or verts for bevelling but halfway through your complex selection you notice an error that you need to fix before you can bevel. Same thing with object selections. Or if you need to select multiple objects for an operation but notice an issue halfway through. You can fix the issue and go back to your selection with these buttons. You can also switch between complex selections back and forth while doing stuff to the object selections. No need to start your selection from zero again. This system also doubles as saved selections (no need to use vertex groups as workaround either for saving selections and which has its own limitations).
These could be just buttons like these: [<] [>] or: [prev] and [next]. But I'd like to have the names of the prev and next objects also there as text. Maybe as instant tooltips when you hover over each of the buttons? In the images I added a special third button for the drop down list so you can quickly find the exact object further down or up the list. Also if you press "," when hovering over any of the items in the drop down list your view focuses to it (like it normally does in blender with ","). Although you could as well add eyeball icons to each so you can focus to them with the mouse click and don't have to use keyboard shortcut. I also added highlighting so you can easily mouse over the different items on the list and switch to the right one easier so you don't need to go though the list. This is important because naming the selections is not easy so you end up with items called objects: 7 or vertices: 50 for example.
Naturally you'd want some kind of keyboard shortcuts as well. I don't think mouse rocker gestures are good here as you don't want to accidentally initiate the mouse gesture and end up editing wrong set of vertices for example. I don't know if control+Left arrow and control+Right arrow are available? To get the list, press control+Left arrow+Right arrow
All that being said there are couple of possible issues. The selection staying the same but active changes? Naturally you'd want the highlighting to distinguish the active object as well. Similarly you'd want to record the active object/vertice/edge/face as well. Layers and collections I don't see an issue. I see it more of a positive feature that if you go back to object on different/hidden layer/collection then the collection or layer is unhidden automatically as this is less work for the user. Like if you go back with undo your vert/edge/face selection also changes based on what was selected.
Pics below. Don't look at the pics too closely. The purpose is to convey an idea. The numbers don't really add up either in the image. And there is no active highlighting.
1 Comment
I'd love if Blender tracked a correct order of selection history. I've experimented with writing a python addon to track object selection history and it works great if you're manually adding and subtracting from your selection but there is one huge roadblock standing in the way: When you Ctrl+Z to Undo then all of the object locations/pointers/references in memory get invalidated. It's impossible to store an object reference over time, which is absurd.
This needs a fix within Blender itself, either by always having persistent object references or simply having the devs write a proper selection history internally and exposing it like context.selected_objects_ordered or something.