Issues with the tool system


I have seen around the place many people discuss the advantages and issues of the tools as they exist right now and thought it would be good to generate a discussion about it in a single place.

The new tools are quite a controversial topic at the moment since it disturbs a lot of older workflows by introducing what I’ve seen called “sticky” behaviour for the tools. Essentially, you use the hotkey, make your action, then confirm and since the tool is still activated, it stays around and creates unexpected behaviour. It used to be that blender would just revert to the “no tool selected-placing cursor instead” behaviour.

I believe a nice middle ground could be reached by making use of a system I have found in Toonboom harmony: a “tool active while shortcut pressed” system which reverts to your previous tool once the shortcut has been released. Essentially a “confirm on release” setting in the shortcut window much like the one that already exists, but more generalised and reliable.

This would be the perfect behaviour for these one time actions like grab, place cursor, extrude, etc which are usually one time actions made in select mode. A one time “onRelease” action could trigger the tool fully as is current and a held key action could trigger a “active while held” behaviour after a minimum time threshold. People who need to specify an axis constraint or other shortcut combination could simply use the first behaviour.

As my specialty is grease pencil, I also wanted to point out a few ways the tools system has made things worse for grease pencil users.

While drawing or editing grease pencil, the new separation between draw and edit stroke mode would go against this new proposed system. As some tools would require being in a different edit mode to be called by hotkey. This creates a “hotkey to change mode”-“hotkey to change tool” double action which slows down workflow. This could be easily fixed if “draw” was a tool and not a mode. The different tools available in draw mode being nothing more than brush settings anyway, and lasso select as well as cursor placement being currently broken in draw mode.

Finally, I want to also mention a couple bugs with shortcuts as they pertain to tools in their current implementation.

First, there is a bug in the way shortcuts are coded which creates an unexpected behaviour when using a custom modifier on a mouse action. If two shortcuts exist, say a tweak plus a classic modifier (such as alt or ctrl) and another with the same combination and a custom modifier as well (such as a letter key), the custom modifier will be ignored as of its low priority. The expected behaviour should be that all keys take precedent over mouse actions, and that letter keys work like other modifiers.

Another bug appears when setting a shortcut to a transform action with a specific value and the “confirm on release” setting. (For example a nudge action that moves an object a certain amount of points by pressing the arrow keys) Here the confirm on release gets ignored as the tool stays active and moving the mouse will still take the selected object along. This used to work in 2.79 and I imagine it was introduced by the tools system.

Thank you for reading this post and I hope to generate some discussion about the tools as they now are a big part of the way blender works.