An ode to the macOS Drift screensaver that runs in the browser.
Launch in browser · Watch recording · Follow me on Twitter · Support my work
I’ve been enamoured of the Drift screensaver ever since it came out with macOS Catalina. It’s mesmerizing. I feel like it’s become an instant classic, and, dare I say, it might stand to dethrone the venerable Flurry screensaver. Hats off to the folk at Apple responsible for this gem 🙌.
This is an attempt at capturing that magic and bottling it up in a more portable vessel. This isn’t a port though. The source code for the original is locked up in a spaceship somewhere in Cupertino. Instead, consider this a delicate blend of detective work and artistic liberty.
Build a new release in the result
folder:
nix build
Or open a development shell with all the neccessary tools:
nix develop
cd web
yarn serve
There’s a few things you’re going to have to install.
- rustc with
wasm32-unknown-unknown
as a target - cargo
- wasm-pack
- node
- pnpm or yarn
- elm
How you get these dependencies depends on the operating system you’re running. Here’s an example for macOS and Linux using rustup:
rustup toolchain install stable
rustup target wasm32-unknown-unknown
cd web
pnpm install
Run a development server from the web
folder:
pnpm serve
Build a release:
pnpm build