GithubHelp home page GithubHelp logo

cyberflamego / flux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sandydoo/flux

0.0 2.0 0.0 2.78 MB

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

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

License: MIT License

HTML 4.51% JavaScript 1.18% Rust 60.04% GLSL 10.21% Nix 4.06% Elm 19.99%

flux's Introduction

Flux

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

Launch in browser  ·  Watch recording  ·  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.

Reviews

“You’re the first person I’ve seen take this much of an interest in how we made Drift and it looks like you nailed it… minus maybe one or two little elements that give it some extra magic 😉 Great work!” — anonymous Apple employee

Screensavers

I’m working on wrapping Flux into native screensavers for MacOS, Windows, and Linux. The source code for that is at sandydoo/flux-screensavers. Follow me on Twitter for updates.

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.

flux's People

Contributors

sandydoo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.