Summary: Store a ‘user’ name for each brush, as well as its actual name on disk, so that users can identify brushes by how they use them rather than the name their creator decided on.
As I use MyPaint, I’ve observed a difference between what brushes are called and how I use them.
For example tanda/acrylic_3_paint isn’t “acrylic_3_paint”, in my mind, it’s ‘gesture sketching’.
That situation makes it unduly hard to remember which brush I want, especially since there are a LOT of nice brushes – way more than I can load into the 9 quick access slots . However, I don’t want to go and change their name permanently, because that would make updates hard to figure out (I know this from experience
I have attempted to use groups to alleviate this, but it doesn’t really work. IMO this is because the name change should apply universally - If I say that I think of Kaerhon’s classic_sk brush as a brush for ‘mass/volume sketching’, then I want to see it described as mass/volume sketching -everywhere- (not just implicitly, by for example, being in the mass/volume group). It’s also partially because using groups to manage this would create a lot of micromanagement (30-50 groups, each with only a few brushes). Not a good fit.
This is a problem that other software, like Krita and GIMP, have attempted to solve via tagging + search. Putting aside the additional complexity of that solution, I think it suffers from the same problem as groups – the user doesn’t necessarily think in terms of ontologically neat groupings, rather, they are more likely to think in terms of a more vague ‘feel’ which is only captured by a specific individual phrase. Therefore its utility is unduly limited.
So I’m here to propose the idea, that perhaps we need to allow two names for a brush. One which is a ‘symbolic’ name – the actual filename, like it is currently. The other is a ‘screen’ or ‘user’ name, which the user sets in accordance with how they think of or use the brush.
These screen names would be stored in the mypaint config directory, not in the brush file, since the value of the information is entirely subjective.