Page MenuHome

Toolbar Design
Closed, ResolvedPublic

Description

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)

Goals:

  • 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.

Scope

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.

Tabs

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.

Tool Settings

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.


Edit Mode

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.

Commands

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:

Hair Mode

Wide:

Narrow:

Grease Pencil

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.

Pending

  • 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.

Sculpt Mode

Wide:

Narrow:

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

Wide:

Narrow:

Note: We probably would want more icons here for various Brush presets.

Re-ordering tools

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.

Icons

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.

Editing Tools

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:

Pending

  • Vertex Paint
  • Grease Pencil
  • Draw Mode (From Grease Pencil branch)

Extracurricular

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.

Details

Type
Design

Event Timeline

William Reynish (billreynish) triaged this task as Normal priority.
  • Brushes are data-blocks, it's not well defined exactly how these could expand into a toolbar since it's blend file data which may change loading each file (where as we might want toolbar to be stored in workspace?).
  • For development, it would be nice to nail down an MVP, we can agree on, after other things like re-ordering can be added but I think it's best to document these as an extended feature-set.

I'd recommend having a look at ZBrush's tool palette. There are potentially dozens (or even hundreds) of useful brushes that could exist in an artist's toolset. I can't imagine them collapsing nicely into anything resembling a quick toolbar. In fact, one of my biggest gripes with the current interface is how difficult it becomes to load and then navigate a full arsenal of alphas and custom brushes.

Dalai Felinto (dfelinto) closed this task as Resolved.Apr 23 2018, 1:20 PM

I recommend this can use “A” key to unfold the tools group, like the old behavior. hot key much quickly than hold LMB.