Sequential channeling in Node Editor (no PBR workflow) I'm trying to make a functional sequential channeling/masking without any external media. To make my point clear, I made this quick .blend where a traffic light goes to red &gt; yellow &gt; green when the input value rises.
This is the effect I've got so far:

This is my node setup:

And this is the desired output:

I know that in a PBR workflow I could just make an image for channeling/masking the output colors via UV mapping, but I wonder if I can achieve the same effect without external data
Objective:

Achieve the desired sequential effect with different color output on each element (see example above)

Rules:

No external media or UVs for channeling/masking (PBR workflow)
No external add-ons or plug-ins
No animation/keyframe use

Extra points for:

Optimizing node setup
Finding and explaining a better way to achieve the desired effect
Is there a binary value input? like an ON/OFF for each individual element instead of setting a math conditional by numeric values?

Thanks in advance for your help!
Edit: here's the original .blend file
You can use &quot;texture coordinate&quot; input node and a &quot;color ramp&quot;.
The X output is between 0 and 1. So if we split the color ramp in three constant steps at 0, 0.3333 and 0.6666 we'll have the color we want for the good disk.
For the grey part, we just compare the input value (0, 0.1, 0.2, 0.3) to X clamped into 0 and 0.3.