// the find
sandydoo/flux
An open-source tribute to the macOS Drift screensaver
A reverse-engineered reimplementation of Apple's Drift screensaver, running in the browser via Rust/WASM and as a native desktop app. The author reverse-engineered the visual behavior from scratch since Apple's source is closed — it's a fluid simulation using Navier-Stokes-style advection with noise injection, rendered via WebGL/OpenGL. For developers interested in graphics programming or fluid simulation, this is a clean worked example.
The shader collection is thorough and well-separated — advection, pressure solving, divergence, noise injection each get their own file rather than one giant shader. There are two distinct rendering backends (a legacy OpenGL path in flux-gl with GLSL shaders, and a newer wgpu path in flux/ with WGSL compute shaders), which shows real evolution of the codebase rather than abandonment. The Elm frontend for the web demo is a reasonable choice given Elm's strengths for interactive UIs with lots of parameters. Nix flake for reproducible builds is a genuine convenience for contributors.
The repo has a structural mess: two parallel implementations (flux-gl with OpenGL/WebGL and flux/ with wgpu) exist side by side with no clear documentation on which is canonical or what the migration plan is — a new contributor has no idea where to start. The README is almost purely a landing page; there's no technical writeup of how the simulation actually works, which is a missed opportunity given that the author clearly did serious detective work to reconstruct the algorithm. Build instructions are sparse and assume familiarity with the full Rust/wasm-pack/Nix toolchain. No configuration API documentation anywhere — settings.rs exists but you'd have to read the source to know what's tunable.