Skip to content
← writing

Ordered dithering and a CRT mask, on a canvas

canvas
dither
retro
frontend

Ask your agent to implement this

Read the full writeup at https://seangeng.com/writing/ordered-dithering-and-a-crt-mask.md and implement it in my project.

It covers: Ordered dithering and a CRT mask, on a canvas. A Bayer 4×4 ordered dither that fakes more shades than you have, plus an animated CRT subpixel mask for the shimmering-phosphor look. Both are small canvas passes, no shaders. Pulled out of ai-arena.

Requirements:
- Follow the technique/approach exactly as described in the writeup.
- Adapt names, colors, and styling to my project's existing conventions.
- If it's a component, make it reusable with sensible props and TypeScript types.
- Keep it accessible: semantic HTML, keyboard support, and respect prefers-reduced-motion.
- When done, tell me which files you created or changed and how to use it.

Paste into Claude Code, Codex, Cursor, or any agent. view raw .md download source .zip