Light

A lamp above the page: raised elements cast soft shadows whose penumbra widens with distance, their bevels catch the light, and the rest of the page falls into shade.

Appearance
Sound
Shortcuts
<Fx effect="light" preset="Reading lamp" />

Features

  • Raised elements cast soft shadows whose penumbra widens with distance, traced through their distance field.
  • Rim light on the bevels facing the lamp; the lamp can follow the pointer.

Use it for

  • A reading lamp over a shelf.
  • Spotlight onboarding.

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="light" />
</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
color Colourcolor0xffd9a8
intensity Intensity0 to 52.2
ambient Darkness0 to 10.72
range Range60 to 900340
softness Softness0.2 to 31
height Height20 to 400120
size Source size2 to 4014

Accessibility

Source

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