On the D4v2 hardware, it’s not very feasible. It would need three PWM channels to control the three colors, and it doesn’t have that except maybe on the red LED. So without that, it’s limited to only off, low, and high.
However, on hardware designed for smooth color fades, I have a completely different firmware which lets users design their own color patterns. It’s based on the concept of a music synthesizer, where you build sounds (or color patterns) by adding together basic waveforms in various combinations.
The idea is that it drives a lightsaber blade, and each person can have their own custom lightsaber color and pattern. Basically, pick two points in colorspace, set up an oscillation between them, and add another oscillation on top to modify the brightness. It’s fairly simple as far as these things go, but I kept it simple because it’s hard to control a full-featured synth with only one button. Usually those things are covered in knobs.
If you want a gentle but erratic slow green fade, it can do that. If you want an unstable red lightning-ish crackle, it can do that. If you want a rapid shimmer between blueish and reddish purple so it’s hard to even tell what color it is, that’s possible too. Want a blazing orange with a slow white sparkle on top like a sunset? Check. Want it to strobe with alternating red and blue like police sirens? That’s possible too. Or if you want it to make rainbows while spinning the blade in the air, that’s an option.
It shows the changes in real time, so the user basically just has to keep holding or clicking until it looks right, then move on to the next option. It allows people to save up to 12 modes.
Then during use, pressing or holding the button sends it into overdrive so it gets brighter in a momentary sort of way, then fades back to normal. This is useful when doing blade clashes or pretending to deflect blaster shots. And turning it off is intentionally difficult (click, release, hold for 3 seconds), to avoid accidentally doing it in the middle of a battle.