Yes, there’s a clone called DarkHorse. It’s almost identical to a ZebraLight. I doubt I’ll end up actually using it on any of my lights, but it’s a nice example for reference.
I’m not a big fan of those either; that’s why I did the discrete / stair-step mode differently in my Narsil-like UI. It works exactly the same as smooth ramping, except it’s not smooth. Instead, it has however many steps you want, evenly spaced between your preferred lowest and highest levels. The same actions do the same things in either mode though, and switching between them is easy.
No, it’s not really intended for everyone to make their own UI. What it does, mostly, is it reduces the time to create a UI from ~50 hours down to ~5 hours. But to be a universal thing customizable by all, it would need to take that time down to like 5 minutes… and it doesn’t.
I’ll probably add that as a compile-time option later, but it’s not there yet. I don’t have a FW3A yet or a compatible driver to use for development.
My quick light-sensing test used a tiny25, but it’s a power-switch light and FSM doesn’t work on tiny25. FSM adds like 1.8k of overhead, or a bit more with thermal regulation enabled, so it’s not tiny25-friendly at all. However, above that base size, it seems to make the resulting firmware smaller overall. Like, I’ve got most of the Meteor M43 UI cloned and I still have almost half the ROM left. That’s a bit satisfying, since the Meteor’s firmware author insists that the only way to make the Meteor’s features fit (on the same MCU) is to use assembly code, because C is far too bloated for use on attiny MCUs. But the C version seems like it’ll be smaller.