Back colour.
Belly colour.
x = eye z, y = eye y, z = radius (mesh units).
Iris colour.
Fin colour.
x = mouth line y, y = mouth length (in s), z = body depth.
x = countershade, y = shade line.
Spot colour.
x = density, y = size, z = region min, w = region max.
x = wetness, y = snow, z = burn, w = damage.
Stripe colour.
x = region min, y = region max, z = edge darkness.
x = count, y = width, z = direction, w = wobble.
x = iridescence, y = metalness, z = roughness.
x = amplitude, y = wave number (rad per body length), z = fin flutter.
The fish material: swimming as vertex animation and the colour pattern, both in TSL, no textures.
Geometry attribute
fauna= (s, h, part, w) (seebuildFishMesh). Per-instance attributes:faunaMotion= (tail-beat phase, amplitude scale, turning bend, fin phase) andfaunaLook= (hue shift, brightness, pattern phase, random). Body wave: lateral offsetA(s)·sin(k·s − phase)withAgrowing toward the tail, plusbend·s²while turning; paired fins flutter on their own phase.