I struggle to make sense of the LIGHT shader variable on my own, or the whole lighting thing to be honest.
From fiddling around, it looks like LIGHT might be a sort of accumulator, where I must calculate and add illumination from a light source as a result of my light() function. But then, LIGHT_COLOR is writeable too, and changing that still affects how the sprite is rendered, as well as changing other LIGHT_ variables does. So the actual lighting calculation still happens under the hood, and the LIGHT is just another input to it - only it is required for some reason, and is poorly documented.
Looking for some insight into how things work inside, and are supposed to be used to create custom lighting.