You should probably use
kuon/elm-hsluv
. See the note below.
The HCL colorspace (also known as CIELUV LCh) is designed such that when you change the hue, the perceived lightness doesn't change.
This package deals with that (conversion from/to RGB and the core Color
type).
Note that not all argument combinations (hue, chroma, luminance) result in a color inside the gamut. For a colorspace that has similar perceived brightness when changing hues, look at HSLuv
.
These colors have been generated for chroma 1 and luminance 0.5.