This document will serve as an overview of the toolbar design we want to implement for Blender 2.8. It's split into two parts: MVP (minimal viable product) and Extras (Things we can add after the basics are working)
- Should be consistent across all our modes
- Should be clear which tool is active
- Should clearly separate Active Tools from Commands
- Blender should still be useable, even when toolbar is closed
Phase 1: Minimum Viable Product
These are the items that we will need to create a useable, working toolbar design for Object and Edit & Pose modes.
As outlined in T54582, we are going to split apart some of the functionality we currently have in the toolbar in Blender 2.79. Specifically, Operator 'redo' functionality goes to the Top Bar command section. Second, all tool settings go in the main top bar. That means that sculpt & paint brush settings will no longer reside in the toolbar.
Instead, the toolbar will become a simple list of tools, one of which is active.
While the tabs in Blender 2.79 and earlier allowed is a way to group items in the toolbar, they also made it wider, taking up more screen space. We want to support an icon-only view for the toolbar, and to having large tabs makes that impractical. The tabs take up almost as much space as the icons themselves.
For this reason, we will replace the tabs with a menu at the top of the toolbar instead.
The toolbar will have no tool settings - they belong in the top bar. This way, users can still adjust the active tool, even if the toolbar is completely hidden, and the toolbar can stay simple and small.
For Edit Mode, we show a list of tools, one of which is active. For all active tools, we will require an icon.
In order to save space, users can make the toolbar narrower. This will snap to the correct size to fit with the icons. As users move the cursor over the icons, we display an instant tooltip on rollover, so users can be certain they've picked the correct tool.
We support nesting, so that similar tools can be grouped. This makes it possible to give the toolbar a manageable length.
Each mode has an array of Commands too. As described in T54582, Commands are entirely separate from Active Tools. For this reason, we don't want to mix them in the UI. However, we can still support having commands in the toolbar - we will simply provide an additional 'tab', like so:
We want users to be able to have access to the Grease Pencil annotation tool in all our modes. We can do this by making Grease Pencil work as an active tool. Users set their toolbar to Annotation to see these.
- Pose Mode (with Pose Sculpting)
Phase 2: Extras
Once we have the basics working above, we can move to phase 2. This phase is about unifying all our toolbars to work in the same, consistent way. Sculpt, Paint, Weight & Draw Modes all use ID blocks for for tools, and so they are technically implemented differently. Making them more consistent requires more work.
Note: We would like to re-design the icons here, by unifying the icon language so that Sculpt, Texture Paint, Draw, Vertex Paint modes all have a consistent visual language and style.
Texture Paint Mode
Note: We probably would want more icons here for various Brush presets.
Currently, Blender sorts sculpt & paint tools alphabetically. Clearly, that's not very useful. Users might want to keep their most often used tools at the top, while keeping seldom use ones at the bottom.
For this reason, users will need a way to re-order items in the toolbar. We plan to solve this by detecting the difference between a drag and a click. Dragging will let users re-order items.
A big part of making the toolbar work is to have good, readable tool icons. So far, we've worked with icon designer Aslam Cader on this. The icons themselves are a seperate topic, here: T54662.
In Sculpt, Paint, Draw etc modes, Blender stores tools a ID blocks, which are actually presets . You can create multiple instances of the same tool, but with different preset settings, and quickly switch between them.
To edit these ID blocks, we'll let users do this by right-clicking on tool icons to set the per-tool ID block, like so:
- Vertex Paint
- Grease Pencil
- Draw Mode (From Grease Pencil branch)
Won't happen any time soon, but worth considering:
- Ability to drag brushes from Asset Browser to toolbar
- Ability for Addons to define their own toolbar categories (equivalent to the old tabs), to separate them from built-in ones.
- Let users define custom toolbar categories (equivalent to the old tabs)
- Could be useful for favourite brushes or categorising them if you have lots and lots of them
- A way for users to add any Command to the toolbar, either by right-clicking on an menu item or by dragging it from menu
Description will be updated to represent current state of the design.