Each frame is drawn directly onto an HTML Canvas element using randomised pixel values — no external libraries or texture files needed. The result is authentic, never-repeating static.
A requestAnimationFrame loop throttled to your chosen speed keeps CPU usage minimal, while the pixelated render hint preserves the classic chunky TV grain even at large sizes.
The static layer is entirely self-contained and plays nicely stacked over images, video, or any other Framer content.