I've implemented a new way to generate gradients between palette colors,
and I have been trying out some different color interpolation methods.
None of them really work that well so I started reading about it and it
actually seems to be a very complicated thing to mix colors realistically.
Here are the methods I tried:

The first one converts the colors to HSL color space and performs the interpolation there. It works nice for similar hues but breaks down for large hue differences.
The second one is simple RGB interpolation which results in very desaturated colors in the middle.
The last one is an attempt to combine the first two, but is pretty similar to RGB.
I'm not sure if I should spend time on this, but it would be nice to get it right. It might also prove useful if I decide to implement more advanced brushes with color mixing.
What do you think, is it good enough? Does anyone have any insight into this problem?