Water, air, fire and earth for the web. Five small effect packages that work with plain HTML, any framework, or a script tag.

npm install @elementalfx/weather

The snow is the weather package, settling on the letters. Move the pointer to push the wind.

Ripples

Water ripples on any image, video or CSS background, rendered with WebGL.

Click or drag across the water.

@elementalfx/ripples, about 10 KB gzipped


      

Weather

Snow, rain, fog, lightning, leaves and embers on one shared wind. Snow settles on the elements you choose and melts away when it stops.

Snow piles up on the rooftops. Move the pointer to push the wind around.

@elementalfx/weather, about 14 KB gzipped


      

Fluid

A real fluid simulation on the GPU: a living background behind your content, or a smoke trail that follows the cursor.

Drag through it

It keeps flowing on its own. Your pointer stirs it.

@elementalfx/fluid, about 9 KB gzipped


      

Gravity

Elements come loose, fall and pile up. Grab them and throw them around, then fly everything back into place. It has its own small physics engine.

Shop Journal About

Gear for the long way round

Packs, shells and stoves tested on real trips, and repaired for free when they wear out.

WaterproofUltralightRepairable

Drop the page, then drag the pieces. Escape puts it all back.

Or type ↑ ↑ ↓ ↓ ← → ← → B A anywhere to drop this whole page.

@elementalfx/gravity, about 12 KB gzipped with the engine


      

Dissolve

Make any element crumble into dust, burn away, melt or fade, then bring it back the same way. The real element stays on the page the whole time; an SVG filter hides it piece by piece.

Click a card. It comes back on its own a moment later.

@elementalfx/dissolve, about 7 KB gzipped


      

React

Components and hooks for every effect. They render on the server, start after mount, and update the running effect when options change.

Install the React package with the effects you use. Each effect has its own entry point.

npm install @elementalfx/react @elementalfx/dissolve