New Input: Base Brush Radius

I just merged this with master:

https://github.com/mypaint/libmypaint/pull/104

Basically, you can feed back the base brush size into any mypaint setting. There are many uses for this, the most obvious being to control hardness and pixel feathering so that your brush doesn’t disappear when it gets too small. A somewhat unexpected benefit is being able to make a brush where the dab size doesn’t really get much bigger, but instead more dabs are drawn-- effectively making a “high definition” brush that looks more or less the same even when scaled to very large sizes.

This can be a huge deal, because many brushes right now are basically designed for a particular resolution or zoom level (I know Deevad designed his brushes for 50% zoom). I think there are many candidate brushes that could benefit from this setting to make the brush scale bigger and smaller more consistently. I’ve been using this input for a lot of my brushes and found it to be a necessity.

Important to note, this is the “base” brush size, the one controlled with the slider and the key shortcuts. NOT the “actual” brush size that may or may not be controlled by other inputs like pressure.

Looks good so far. To help complement this you could also add brush dynamic to the dabs settings. So that as pressure is applied to the brush, it can increase or decrease the dab density.

The dabs-per-xxx stuff is all static right now (can’t add dynamics) and I’ve never been sure why. That would be nice though.

Oh, this goes hand-in-hand with New input: GridMap (canvas texture, etc) by briend · Pull Request #72 · mypaint/libmypaint · GitHub to let you make pretty cool scalable “texture” brushes. I have a couple halftone brushes in my repo that use this. It’s pretty awesome to be able to shrink a brush down to sub-pixel size and then up to HUGE without anything breaking :-). The trick is to introduce feather and reduce hardness as the brush gets bigger.