Waves

Bands of colour stacked like a coastline or a dune field, each front shading the band behind it just above its crest.

<Fx effect="waves" preset="Sea" />

Features

  • Bands stacked like a coastline or dunes, each front shading the band behind it.

Use it for

  • Sea and desert scenes.
  • Section dividers.

Installation

  1. Get runets.
    git clone https://github.com/ziyam-khan/runets
  2. Copy these files into your project, keeping their folders.
  3. Install what they use.
    pnpm add react

Usage

import { Fx } from 'runets'

<div className="card"> {/* position: relative */}
  <Fx effect="waves" />
</div>

API

PropTypeWhat it does
effectstringThe effect’s id, as in the address of this page.
presetstringOne of the presets above; the first by default.
paramsParamsAny parameter from the table, over the preset.
place'under' | 'over'Under the parent’s content (fills, halos) or over it (sparkles, glass). Default under.
radiusnumberCorner radius in points; the parent’s own border radius by default.
backdropstring | PaintWhat glass and distortion read: an image URL, or a function that paints a canvas the size of the parent.
maskPaintAn alpha mask for mask glow and text sheen.
hotbooleanDrives heat: the layer lights in 60 ms and cools over half a second instead of cutting off.
triggernumberChange it to fire a one-shot now (ping, ripple, burst, shockwave, zap).
wakenumberChange it to redraw for a second when something the layer reads, such as its occluders, moves on its own.
shape(time, w, h) => RectThe effect’s shape inside the parent, per frame: a lens that drifts.

Parameters

NameRangeDefault
colors Colourscolors5 colours
amplitude Amplitude0 to 0.250.05
frequency Frequency0.2 to 61.6
speed Speed0 to 20.4
angle Angle-3.141592653589793 to 3.1415926535897930
softness Softness0 to 0.10.006
border Border0 to 240
intensity Intensity0 to 11

Accessibility

Source

The code is in src/fx/glsl/surface.ts in runets, MIT licensed.