Rise

A vertical ramp whose top edge waves and drifts, dark above to bright below.

Preview

Installation

pnpm add astro-dither

Or copy the source into your project: npx astro-dither add effect

Usage

---
import { DitherEffect } from "astro-dither";
---

<DitherEffect effect="rise" cell={4} palette={["#000000", "#00b2ff", "#d6efff"]} />

A colour field that rises from the bottom of the surface. height sets where the edge sits, wave gives it a slow sine sway, and grain roughens it with fractal noise. Above the edge the tone drops to the first palette colour; below it the ramp reaches the brightest stops, with specks of noise near full brightness. Made for footers and section backgrounds.

The props group like this:

Shape: height, wave, grain. Look: palette runs dark to bright, top to bottom. Motion: speed drifts the edge.

Examples

Footer band

Chunky cells in navy to blue under a big wordmark.

Tide line

A low edge with a stronger wave and heavy grain.

Props

PropTypeDefaultDescription
heightnumber0.72Where the edge sits, 0 to 1. Higher means more of the surface is bright. 0 to 1.
wavenumber0.05How far the edge sways in a slow sine. 0 to 0.2.
grainnumber0.3How much fractal noise roughens the edge. 0 to 0.6.
palettestring[]the effect's2 to 8 colours, paper first, brightest last. transparent works.
cellnumber2Size of one dither cell in CSS pixels, 1 to 8.
matrix2 | 4 | 8 | "noise"8The Bayer threshold size, or noise for a random look.
speednumber1Playback speed. 0 draws one still frame.
classstringundefinedClasses on the surface element, for size and position.

Notes

  • Decorative and aria-hidden. Put real text on top of it, not inside it.
  • With reduced motion it draws one still frame at 3s and stops.
  • It pauses when scrolled out of view or when the tab is hidden.
  • It shares one WebGL context with every other ordered effect on the page.