Hello everyone! I’ll be working on improving the Outliner again this summer for the Google Summer of Code. Last year was amazing, and I’m excited to see what great changes we can make this year! Many of the goals for this summer’s project come from last year’s great suggestions, thanks for all the great ideas!
Design Task: ⚓ T77408 Continued Outliner Improvements Design
I’ve created this topic for two reasons; the first is to get feedback and suggestions on the proposed plans. A build will be made for testing, but it is also important to get feedback on the proposed plans before coding begins. The second reason is to get ideas for other smaller issues to fix, similar to last year. Last year there were so many great ideas for suggestions, and this year it would be great to see more feedback on the current proposal as well. Feel free to suggest new ideas though.
For more detailed plans, read the full project proposal on the wiki: User:Zachman/GSoC2020/Proposal - Blender Developer Wiki. Links to development tasks are included.
- Decoupling of selection, activation, and interaction mode toggling. (D5817) Currently, selection/activation of outliner elements is tightly coupled, e.g. clicking mesh data selects the object and toggles edit mode, or selecting a collection always makes it the active collection. By separating these behaviors the way is opened for further improvements, including those listed below.
- Properties editor “syncing”. (T63991) Continuing the previous example, if clicking mesh data no longer toggles edit mode, that action can be used to switch to the mesh data tab in the properties editor. This will work for other datablocks like modifiers or materials too.
- Mode toggling and activation column. (T68498) 2.80 introduced multi-object editing, but there is still not an efficient way to add and remove objects from edit mode. A new column can be added to the outliner to bring objects in and out of edit mode. For other data types, this column can be used for activation (e.g. activation of scenes and collections).
- Item sorting. (T68502) Currently collections are sorted manually, and objects are either sorted by creation order, or alphabetically. Options will be added to sort objects manually as well. There is room for other sorting modes as well such as sorting by object type, or sorting modifiers and constraints.
- Context Menu improvements. The context menu is currently messy, and full of undocumented and unsupported operators. Additionally, it does not operate on the right click target which could make it more intuitive to use.
- Other ideas. I would like to make other smaller changes including creating a new collection from the selection, drag and drop improvements, and others.