That definitely is in the right direction but there is a gotcha. As the solids are flipping sequentially there will be many frames when both sources are visible. If a solid has more than 0 transparency it will see both sources projected on to it.
I’m hoping there is a way via expressions to have a solid accept only a specific light, similar to how Trapcode’s Lux behaves.