caustics

Light through a moving surface, dancing on what is under it: the single strongest "this is underwater" cue after the colour (tosijs-3d#16, board #198). b3d-water turns it on with caustics; this module is the mechanism.

It is the projected-texture technique, the same one cloud-shadows uses: a material plugin samples a tiling caustic pattern by WORLD position, so it lands on terrain, hulls, the player, anything, with no per-mesh setup. Only below the water surface; projected along the sun, so the pattern slants as the sun does; two layers scrolling at different rates combined with min, which is what makes caustics shimmer rather than slide; and fading with depth, and with the fog, because a fully fogged fragment must stay fog.

The pattern is a pure function (causticPattern): a seeded cellular (Worley) field on a torus, so it tiles by construction, bright along the cell EDGES the way real caustic networks are. No file, no network.