kyroath / flux

An ode to the macOS Drift screensaver that runs in the browser

Home Page:https://flux.sandydoo.me/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flux

An ode to the macOS Drift screensaver that runs in the browser.

Launch in browser  ·  Follow me on Twitter  ·  Support my work


Backstory

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

Using Nix

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

Manual build

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

License

MIT © Sander Melnikov.

About

An ode to the macOS Drift screensaver that runs in the browser

https://flux.sandydoo.me/

License:MIT License


Languages

Language:Rust 59.4%Language:Elm 20.0%Language:GLSL 10.3%Language:HTML 4.8%Language:Nix 4.3%Language:JavaScript 1.2%