Rost
← All components
effect

Paper effect

A sheet of dots behind a hero. It reacts to the cursor, buttons and clicks, can sketch components on itself, and never moves on its own.

Not in code yetContract: reviewGuidance: agreedContract on GitHub

When to use

  • Behind the home hero, and only there. It's the site's signature, and using it twice waters it down.

When not to use

  • Behind dense content or forms. At small sizes the dots fight with the text.

Behaviour

The dots only ever react, through the lens, the ripple and the pen described in the parts. They never animate on their own. Everything snaps to the 16px grid. When nothing happens it's one still frame, and it only runs while the hero is on screen.

Accessibility

  • Decorative: the canvas is aria-hidden="true" and never takes focus.
  • Motion: with prefers-reduced-motion you get the still sheet, and none of the movement.

Where it's used

Values

Straight from the contract. Each value sits next to its token, because six tokens here all come out as #3a3a3a and the colour alone can't tell you which one is right.

Never changes

PartPropertyValueToken
sheetpitch16pxspacing/gap/medium
sheetdot-opacity0.16opacity/soft
sheetbackground#060805non-interactive/background/primary
dotradius1pxon purpose: Tuned to the 16px grid. Nothing else would use it.
lensradius210pxon purpose: Tuned by eye for how the lens moves. Only the paper uses it.
lenspush9pxon purpose: Tuned by eye for how the lens moves. Only the paper uses it.
lensaccent#00d669actions/primary/default/background
lenscursorradius 210px, power 1.0on purpose: Tuned by eye: how wide the lens is, and how fast it fades. Only the paper uses it.
lenshaloradius 240px, power 1.3on purpose: Tuned by eye: how wide the lens is, and how fast it fades. Only the paper uses it.
lenspressradius 330px, power 1.7on purpose: Tuned by eye: how wide the lens is, and how fast it fades. Only the paper uses it.
penink-opacity0.32opacity/mild
penstroke-width2pxspacing/outline/medium
pencadence2s between sketches, each one 3.2s from first line to goneon purpose: How often the pen draws. There are no motion tokens yet.