GSoC 2019: Outliner Branch Testing

No you can’t solve that problem with just the blue line highlight.

The synced selection is a big a step forward in making the outliner easier to read. But there are at least two different cases remaining that need highlighting. Highlighting to show something is selected ( blue bar ) and highlighting something without marking it as selected, as it’s the case here. It’s needed as layers are now gone and collections introduce a hierarchy. Collections as Parent in the tree should be highlighted to be able to see that childobject of collections are selected ( especially with collapsed collections). But it makes a difference if the collection itself is selected or not. So you cant select a parenting collection if you select an object by default.
And if you mark it blue and dont select it, you are back into a state where inconsistency between marking and selection arises.

Having that blue bar for selection indication and the textcolor for any kind of marking makes more sense to me.

This was a change in master that has been reverted. We are working on edit mode toggling and that was a quick fix that ended up not working.

@Imre @Debuk row highlighting for collections would not work, but highlighting the name is a good idea.

2 Likes

In the latest build, clicking on the icon to go into edit mode is working beautifully…

7 Likes

@natecraddock, @TheRedWaxPolice, what a relief I got scared😅.

My point was that better less (but clearly visible) highlights than so many. The most important thing is that any highlight should be easily noticeable. It’s really annoying when one works on a big project and needs to search for the selected object in the outliner because it is barely visible. This is a base issue in Blender not just in the Outliner.
Just an example: Working on an animation, you select a curve in the Graph Editor. This kind of highlighting is really hard to notice. The Z Location is currently selected on the picture.
I know, that you work on the Outliner not on the Graph editor, I just wanted to show you what I mean. As Blender becomes a professional 3D software, the expectations are also higher and higher:)

And many thanks again for your work! I tried the latest build and it’s amazing!
Cheers!

press + and - to extend or close the tree is peace of mind :rainbow:

1 Like

Hi there,
I found two issues with the outliner:

1- If I click on an object but then I click outside the outliner or in the viewport, the object although is not selected (blue row highlight) I still can go into edit mode by pressing Tab. I think this shouldn’t happen, the object when clicked away should be deselected completely:

2- This leads me to another issue, when using the marquee tool in the outliner to select different objects than the previously one, this one don’t get deselected leading to confusing behaviour:

@jc4d @natecraddock Hi jc4d, what you always have as an additonal object in your selection is the Active Object.
And yes the Box-Selection in the outliner currently does not change the active object at all. ( the one with the gray marker behind the object icon) As you said, it’s confusing. For box selection the Active Object should be the first selected element of the new box selection.

Generally I think it would be no problem to allow that the active object gets deselected too.
I think deselecting everything should also remove the active object marker completely. It’s possible to have an outliner with no selected object anyhow, eg. after deletion of the active object, no other one gets marked as active.

( Edit: I posted that the active object does not change always. Seems that was my fault. Somehow “Sync selection” was disabled again. Sorry for that)

@jc4d @Debuk The behavior with the active object is intentional. The same behavior exists in the 3D view (A select on nothing leaves the last active object as active, box select does not change active).

@natecraddock If this is an intended behaviour, what is the reason behind it? Any other application when you select away from that object everything gets deselected. But if you are just following the 3D viewport then this conversation has to be taken to another place since is not related with the outliner per se.

Also, I agree with @Debuk here, if I use the Box-selection then first object that goes inside should become the active one. Can this be done?

2 Likes

It seems there is a bug with the outliner highlights in master. If you change the theme color and reopen blender the theme color is resetting to the default theme color.

1 Like

@natecraddock Just played a bit with overhauled Outliner and must say that things get better, but some bits are still confusing. You claim that the selection is fully synchronised. Well - it’s not. When I click on an object in the Outliner, syncing goes as supposed. Selection of objects in the 3D View editor changes according to action performed in the Outliner. When I select the ObData icon on the other hand, 3D View editor switches to the Edit Mode - that’s still super fine. The problem is with the action that I must perform to exit the Edit Mode… I have to click the very ObData again, while I expect that selection of any of Objects will switch me back to the Object Mode with the selected Object in the Outliner and in the 3D View. But it doesn’t work as expected. The selected ObData in the 3D View is still in Edit Mode and I can select different Objects in the Outliner with no synchronisation with the 3D View. It’s super weird and counter intuitive. Really bad UX - isn’t it @billrey?

Real sync will change the selected data and switch the mode according to selected data type:

  • Click on the Mesh ObData = enter Edit Mode with selected ObData, make active the Object that just selected ObData is linked to. (it works like that now - good)
  • Choose different ObData = stay within Edit Mode but with other data selected, make active the Object that just selected ObData is linked to. (it works like that now - good)
  • Select a Camera = switch back to the Object Mode, change selected Object and make this very Object active. (that’s what a user expects from true synced selection)
4 Likes

Thanks for testing, I understand your points and why it is confusing. Right now we do have syncing for objects, bones, and sequences in the outliner. The edit mode toggling you are describing is actually not changed from 2.80 behavior; however, we are working on a revised method for mode toggling. I hope to get mode toggling fixed for 2.81 so syncing is even better than it is now.

We’re still deciding exactly how it will be done, but discussion is found on d.b.o, ⚙ D5497 Outliner: hold Alt to activate/edit data and https://developer.blender.org/T68498. Essentially we want to make properties sync when selecting obdata. So clicking the mesh data would open the mesh data tab in the properties editor. Before this properties sync to work though, we need a better and smarter way of toggling modes. So, thanks for the feedback :slight_smile:

4 Likes

Thx for the info.
I mentioned already in the T68498 task, that we could remove ObData block icons from the Outliner since they duplicate information. From an artist’s point of view, such hierarchy depiction isn’t crucial. But we’ll get the Properties syncing soon (hope so! :wink: ), so clicking the ObData will open proper tab in the Properties editor. Why not to go further and allow drag’n’drop linkin’ of ObData blocks? Drag one and drop on an Object of the same kind to link the very ObData to this Object and replace its current ObData (the confirmation pop-up should follow, of course). It’s already possible to relink ObData in the ObData Properties tab, so the d’n’d route of such action seems obvious.

BTW - bones syncing doesn’t work the way I described above… Actually it’s the same as with Mesh ObData - Blender stays in Pose / armature Edit Mode of previously chosen Armature despite I make other Objects selection in the Outliner. Build 22.20.16.4836

3 Likes

This is bad already.
Clicking on the icons should be for making something active or mode switching etc… Properties editor syncing must happen to anything that you have selected in the outliner/viewport, no need to click the icon for that.

So that the property editor always changes tab depending on the viewport/outliner selection?

You misunderstood me - I was talking about selecting things in the Outliner and You make it by clicking a data block’s icon or its name.

Hi @natecraddock, Thanks for improving the outliner.

Since a few days, in the latest 2.81 master builds, I’ve worked on a scene where clicking on an object name in the Outliner doesn’t select the object in the scene. Only clicking on the object itself in the 3D viewport selects it.

I can share the scene with you, but I’d rather not do it publicly. What’s the best way to share it privately with you?

I don’t have time to read through and see if this has been suggested, but I keep being stung by this.

If an object is in edit mode, it would be nice if when you select another object in the outliner, it exits edit mode and selects the new object. I guess exiting edit mode isn’t 100% necessary, but in cases where you select something that doesn’t have an edit mode (lights and cameras) exiting edit mode would be required.

The current behavior is mainly weird when you have a large scene and try to make a mutliselection in the Outliner. In the outliner interface, it looks like the multiselection happened - multiple objects are highlighted. But in fact, you are still in edit mode in some other object that sometimes may be off-screen in both the Outliner and the 3d View.

4 Likes

Active and selected are distinct concepts, even within the 3D view. If an object in the 3D view is active, but not selected, it will not be moved, rotated, or scaled for instance. So a deselect all in the outliner really does deselect all, but it doesn’t deactivate. The concept of an “active” item is actually common, yet hidden in other applications. Look at a file browser for instance, selecting many folders/files with ctrl+click will select the items, but a shift+click to select a range of items will operate from the last ctrl+clicked item (the active file/folder).

In Blender having an active object is important. The active object determines which object is the parent, and which are the children when parenting inthe 3D view. You can even parent to a not selected, but active object.

Simply put, selecting with just a ctrl+LMB or just LMB in the outliner will activate. Box, range, and walk select don’t activate. Box select could activate the first object in the list, it would be very simple to do. But to keep consistency with the UI, activation will be limited to the click to activate.