What problem does it solve? Static water surfaces in games look lifeless when rain, footsteps, bullets, or fish fail to disturb them. This Skill implements impact-triggered, expanding ripple rings on a water plane in Summer Engine (Godot 4.6+), with correct normal distortion so ripples actually refract reflections. ## Core Features & Use Cases - Ring-buffer ripple shader: A spatial shader tracks up to 16 simultaneous ripples as (origin, time, amplitude) tuples, displacing vertices and compositing ripple normals over a scrolling base water normal map. - One-call GDScript API: The WaterRippleSurface controller exposes add_ripple(world_pos, amplitude) so rain systems, footstep callbacks, and projectile impacts spawn ripples with a single call. - Named variants: Cookbook presets for puddle-shallow, lake-calm, lava-glow, and blood-pool retune speed, lifetime, wavelength, and color. - Use Case: When the player walks through a puddle, call puddle.add_ripple(global_position, 0.5) from the footstep callback to spawn an expanding refractive ring at the exact contact point. ## Quick Start Ask your agent to add impact ripples to the water plane in the main scene using the vfx-water-ripple recipe, then verify with summer_play and the debugger.