Each frame goes through Canny edge detection, then a nearest-neighbor
algorithm connects all the edge pixels into one unbroken path — like
drawing each frame without lifting the pen.
The viewer is built with React + Three.js with post-processing glow
effects to mimic a real CRT oscilloscope.
araniwa•3h ago
Source Code: https://github.com/ad-sho-loko/bad-apple-on-oscilloscope
Each frame goes through Canny edge detection, then a nearest-neighbor algorithm connects all the edge pixels into one unbroken path — like drawing each frame without lifting the pen.
The viewer is built with React + Three.js with post-processing glow effects to mimic a real CRT oscilloscope.
Inspired by this tweet: https://x.com/AhmedShahnab/status/2035330016725336065
Tech stack: - Python (OpenCV) for frame processing - React + Three.js + R3F for rendering - Cloudflare Pages for hosting