# Dither — component for generative & ascii (react)

> **For AI agents:** find the right skill in one call — `curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"` returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the use-case page.

Grey noise waves pushed through a retro ordered dither, the pixel grid shimmering as the pattern rolls

- **Install:** `npx shadcn@latest add @react-bits/Dither-JS-CSS`
- **Registry:** react-bits · **Framework:** react · **License:** MIT + Commons Clause
- **Docs and preview:** https://reactbits.dev/backgrounds/dither
- **Source:** https://github.com/DavidHDev/react-bits/blob/main/src/content/Backgrounds/Dither/Dither.jsx
- **Example:** https://skills.varg.ai/previews/lib-react-bits-dither.mp4?v=227365 (Captured from the library’s own demo page (React Bits))
- **Time:** Drive from the frame. Runs on its own clock (requestAnimationFrame, timers, springs or CSS). Drive it from frame / fps before rendering, or the render drifts.
- **Runs:** local render, free
- **Aspect:** any

## Prompt that renders it frame-exact

Use Dither from React Bits (https://reactbits.dev/backgrounds/dither, MIT + Commons Clause: OK to render into video). Install with `npx shadcn@latest add @react-bits/Dither-JS-CSS` and put it full-frame behind tech or retro-computing titles, or use it as a texture panel. Set waveColor and backgroundColor (RGB in 0–1), colorNum 2–4 for a hard 1-bit look, pixelSize 2–4 (bigger cells survive compression better), ditherMode and waveSpeed. Set its state.time to frame / fps instead of adding the requestAnimationFrame delta (the shader multiplies it by waveSpeed), and set enableMouseInteraction={false}, clickRipple={false} and intro={false}.

## Used in

- [Math animation](https://skills.varg.ai/video/math-animation.md)
- [Whiteboard & hand-drawn](https://skills.varg.ai/video/whiteboard.md)
- [Live-coded music video](https://skills.varg.ai/video/live-code-music.md)
- [Shader loop](https://skills.varg.ai/video/shader-loop.md)
- [Generative art loop](https://skills.varg.ai/video/generative-loop.md)
- [ASCII & retro looks](https://skills.varg.ai/video/ascii-retro.md)

## More generative & ascii

- [ASCII Render Pass](https://skills.varg.ai/component/hf.ascii-render-pass.md) — `npx hyperframes add ascii-render-pass`
- [ASCII Trail Reveal](https://skills.varg.ai/component/hf.ascii-trail-reveal.md) — `npx hyperframes add ascii-trail-reveal`
- [Fractal Noise](https://skills.varg.ai/component/hf.fractal-noise.md) — `npx hyperframes add fractal-noise`
- [Gabor Noise](https://skills.varg.ai/component/hf.gabor-noise.md) — `npx hyperframes add gabor-noise`
- [Worley Noise](https://skills.varg.ai/component/hf.worley-noise.md) — `npx hyperframes add worley-noise`
- [ASCII Render](https://skills.varg.ai/component/remocn.ascii-render.md) — `npx shadcn@latest add @remocn/ascii-render`
