coaurora

An aurora background that is, internally, a Store comonad.

// the whole picture is a pipeline of comonadic extends
picture = extract . extend dither . extend blur . extend curtains $ positions

// and a fragment shader IS that comonad — gl_FragCoord is the focus,
// the shader is `peek`, running it per-fragment is `extend`.
import { aurora } from 'coaurora'
aurora()                       // this page, right now
  .set({ tilt: 30, speed: 0.8 })