On color : I recently realised (or read somewhere) about the simplest color wheel- if you divide a circle into 6 segments and paint the primaries : {R, Y, B} in non-neighbouring segments, then the ones in between are the secondaries: {R+Y=O, R+B=P, Y+B=G}. Then if you combine primaries and the 'opposite' secondary, you get brown/grey like colors.
Also, I get quite good combinations (palettes) by using a mixture of the same colors, like a red and a green and then a mix of the two to make a grey.
I've thinking about using https://github.com/scrtwpns/pigment-mixing to go from a desired RGB output to the {RGB1, RGB2, percentage) inputs somehow. Would have to be quite rough estimate though, as mixing real paints in exact proportions seems hard.