New concept: minor brush

The idea originated from a bug I once encountered, and now I see people talking about “watercolor edge”. So I remembered it and came up with a series of ideas for it

What is “minor brush ”
Contains settings for multiple brushes within a single pixel brush. They each have their own settings and can be configured with different shapes, colors, and degrees of dispersion. They blend themselves from bottom to top (like layers) before rendering to the canvas.It is not tied to a range like a masked brush.

What is it used for?
For example, we have a “major brush”, and then we set a “minor brush” a few pixels larger, and then let the brightness of the “minor brush” decrease, so that we get a brush with a “watercolor edge”.
To expand on this: we can make blurred edges, edges with noise, and add randomness beyond the brush, without breaking the major brush settings and without having to make a new brush tip.

Or when we make pattern brushes: we can do this-the flowers are concentrated in the center, the bees are densely gathered around, and the butterflies are farther and sparsely distributed in the distance…

Also, the data of multibrush will not be saved in the brush, but through the “minor brush”, this can be done

Is there any problem?
If we want to make them blend like layers. Then blending modes are needed. This is independent of the blending mode of the brush applied to the layer.
Then, if “majorbrush” is translucent, wouldn’t it blend with “minorbrush”? I found a blending mode to solve this:

This is a csp blending mode for brushes, called “ReplaceAlpha”. It can cover opaque colors with translucent colors. (I guess its principle is to only output the color and alpha of the upper layer )In this way, we can make “majorbrush” always maintain a major position


  • Regarding the “source” of the color: I would like to add “plain color (background)”, “plain color (designated)” and “gradient (designated)”
  • The order between “majorbrush” and “minorbrushs” can be adjusted
  • Each “minorbrush” can be exported as a separate pixel brush

Oooooh, that actually looks pretty cool. And we already have the option of “animated” brushes when you use several different tips, so that could be considered somewhat similar in terms of performance, right?
And it would be really cool if there was a check box for something like “use the same tip as the major brush” and a slider to extend it just to make an edge.


Indeed, I previously ignored the possibility that “majorbrush” might be random. In this way it is independent of “minorbrush”.

It should be slower than “animated” brushes. The “animated” brushes just extract different dab patterns. The “minorbrush” requires independent operations. It’s performance should be equivalent to multibrush, but it usually has only two, and it doesn’t have properties like smearing. So you shouldn’t have to worry about lag.

1 Like

Well, I think a brush like this would mostly be used for simple tasks so even if it’s a little slow on large areas it’s okay. I mean, you don’t need to do a lot of strokes with this as with a regular paintbrush, in a painted style.

So, this is what we tried to implement when we originally implemented masked brushes, the concept was called ‘stacked brushes’ and we couldn’t get it to work, so we implemented the photoshop style masked brushes instead.

It sounds sad :sob:Perhaps one day, when the “node brush” appears, it will become feasible. But that is a distant future…

It actually did work fine, but it wasn’t the same as photoshop’s dual brush, and in the end, my work was scrapped and replaced by masked brushes, which are a clone of photoshop’s dual brush. And no, that didn’t make happy… I’m not going to resurrect that old code in any case.


Oh, so sorry they didn’t bring it in then. That would be a great feature. :sob: A masked brushes is also needed, but I don’t understand why it was impossible to leave both features. They are very different and have different purposes and effects. Although, if they were in conflict with each other, then I can understand.

1 Like

Yeah, well, it’s not so much a matter of “they”… I’m the project maintainer, but that doesn’t automatically mean I get to overrule the other developers in the project.

1 Like

Yes, I totally understand that. I meant the team Krita as a whole. Forgive me if I speak badly, I didn’t want to offend anyone, it’s just that English is not my native language.

1 Like