With the new properties and tweaks added to the sculpt brush code it is
now possible to have more than one meaningful brush preset per tool.
This patch refactors the way default brushes are reset and introduces a
BKE_brush_sculpt_presets function (similar the
BKE_brush_gpencil_presets) that creates a default library of brushes for
sculpt mode. This can be used with the Reset Sculpt Brushes operator
from the Sculpt menu.
The main purpose is to create a default set of brushes that can cover
most use cases by using the tools we have available. This way users
don't have to deal with the brush properties of each tool if they want
to achieve a specific effect that should be easily available by default.
It should be possible to choose these preconfigured brushes from a global
brush palette (implemented in D7616). By doing this change, we reduce the
amount of tools icons in the toolbar by merging them into categories
(the current blue/red/yellow categories) and we will expose all the
functionality of the brush tools from a single place in the UI. (This is
for a later patch).
The default brush set created in the new BKE_brush_sculpt_presets is not
final and it is currently incomplete, but it does not break any preset or
brush default value as it is in the patch. Getting the default brush set
right will require more experimentation and design iterations, but those
patches will just be changes to the values in that function.