This geometry nodes setup generates procedural rivers with built-in object collision capabilities. It provides modifier controls for adjusting wave speed, intensity, and frequency, as well as water depth and overarching level of detail. Users can define a collection of objects to act as collision obstacles, adjusting their influence over the water surface directly from the modifier panel. The system also exposes output attributes for edge angles and wave speed, which can be mapped to custom shader networks to drive foam or flow effects.