Liquid metal

A polished conductor in a photo studio: a domed slab whose surface flows and pools, Fresnel to white at grazing angles, a little thin-film colour where it bends hardest.

<Fx effect="liquid-metal" preset="Chrome" />

Features

  • A domed slab or a tube border reflecting a photo studio.
  • Flowing, pooling surface; Fresnel to white at grazing angles.
  • Chrome, gold, rose gold and gunmetal presets.

Use it for

  • Awards and accepted badges.
  • Premium keys and tags.

On this site

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="liquid-metal" />
</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
tint Tintcolor0xe9ecf0
light Lightcolor0xffffff
flow Flow0 to 1.50.6
scale Scale16 to 480100
speed Speed0 to 20.35
bevel Bevel0 to 4814
dome Dome0 to 10.55
angle Angle-3.141592653589793 to 3.141592653589793-0.12
iridescence Iridescence0 to 10.08
contrast Contrast0.5 to 21
anchor Anchorworld, elementworld
border Border0 to 240
intensity Intensity0 to 11

Accessibility

Source

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