V14.23 so no blueprints.
So, i put a bunch of wires and lights together and made this thing:
The map has 13 individual blocks, one of them being a 2-way block, which is represented with the big double line in the middle. I couldn't figure out how to get the LEDs to not overlap each other's signals easily. Perhaps in a future version, although I kinda like being able to see which direction a train is going.
Programming is relatively simple. All combinators are arithmetic. The Rail Signal, when attached to a circuit network, outputs 3 signals. Top row of signals are all additive. Red + 0 = B; Yellow + 1 = B; Green + 2 = B. The second row are all multipliers, and multiply the two signals against each other, so that when two of the three signals are 0, it turns those 2 off and only one of the signals gets output to the circuit network.
As for wiring, the RYG rail signals go on the input of all 6. Red B outputs to only the Red B multiplier, etc, and the output of all 3 multipliers goes out to the network.
The Decoder is even more simple. 3 Deciders that check the signal coming in. If N = 1 = Red; if N = 2 = Yellow; if N = 3 = Green.
Hook all the lights up in blocks, Use Colors if Anything > 0.
I feel like the encoder could be improved upon, but I'm not seeing a way how right now. Let me know if you see a way to shrink this down some. Cheers and if you end up using it, enjoy.