The veil was scrolling the streak texture upward, so rain climbed toward the
cloud. The scroll was driven by UV.y, and on a QuadMesh UV.y runs opposite to the
column's own height: 0 at the cloud and 1 at the ground, while VERTEX.y + 0.5 is
0 at the ground and 1 at the cloud. A one-shot probe that rendered the vertex
height into red and UV.y into green settled the orientation, so the scroll now
uses the vertex height and increasing the offset provably moves the pattern
toward the ground.
- The column now reads as water rather than speckle: longer streaks in the rain
texture, a heavier weight just under the cloud that thins as it falls, and a
softer horizontal edge.
- Density is the single dial. Hundreds of columns overlap inside VEIL_RANGE, so
per-column alpha is very low; the value is a compromise between ordinary rain
reading clearly and a storm turning into a white-out, and is marked as the
knob to turn.
WEATHER_RESEARCH.md records the UV orientation trap alongside the three
Compatibility-renderer findings already there.