← Live page Hero ripple All tests
00

The brief

Cursor-driven ripples for a dark hero field. The first ten are technique surveys — most read as spotlights, hairline rings, or binary cell pops, which is why they feel cheap. 11 and 12 are the premium pass: soft refractive optics and a viscous height field, no expanding rings, no white flashlight.

Move the pointer across each stage. Prefer reduced motion is respected — the stages go still.

01

CSS radial wash

A single radial-gradient parked on --rx/--ry, mixed so lightly into the ground that it only reads as a warmer patch under the hand.

02

Soft DOM ring

One absolutely positioned disc that follows the pointer with a long ease, opacity so low it almost is not there.

03

Canvas gaussian blob

A 2D canvas paints a low-alpha circle each frame and fades the buffer, so the trail dissolves instead of snapping off.

04

SVG displacement

An feDisplacementMap nudged by the pointer — the field itself warps a few pixels, no highlight drawn on top.

05

Expanding ring pulse

On pointer move, a hairline ring is born and scales out while fading — like a drop in still water, almost not drawn.

06

Conic sheen

A conic-gradient centred on the pointer, spun a few degrees as you move — a gloss rather than a ripple.

07

Grid of dim cells

A field of tiny squares; cells near the pointer lift a few percent in opacity. No continuous shape, just a soft neighbourhood.

08

Stacked delayed washes

Three CSS radials on staggered transitions, so the wash trails the hand by a breath instead of locking to it.

09

WebGL soft metaball

A minimal fragment shader draws one low-contrast blob that eases toward the pointer. Falls back to the CSS wash if WebGL is missing.

10

Noise grain breathe

A fixed noise tile whose opacity peaks under the pointer — the surface seems to wake locally without any geometric ripple.

11

Viscous refraction premium

WebGL. Pointer motion drops soft impulses into a damped wave field; the shader refracts a warm grain by the surface normals — liquid optics, not a drawn ring. Idle when the field is still.

12

Height-field fluid premium

Canvas 2D wave equation on a low-res buffer with heavy viscosity. Grid aspect locks to the stage so cells stay square in world space — wavefronts read circular, not oval. Lit by grazing light. Settles and sleeps. Tweak below; values persist in this browser.