mankyKitty / fantastic-waddle

Generative Art Experiments using Haskell, GHCJS, and Reflex (FRP)
19 stars 4 forks source link

Generative Art Experiment

image

Inspired by Xavier Ho's presentation at 2018 Lambda Jam, and this article by Benjamin Kovach, this repo contains a demonstration of the new reflex-dom-svg and reflex-dom-canvas libraries.

This is all built using [nix] and the [obelisk] builder from [obsidian systems]. This repo is in a high state of flux and is heavily influencing further development of the aforementioned libraries. It is part show-case, part testing, and part cookbook.

If you want to build this package you will need to use nix, as the dependency requirements for GHCJS and some of the dependencies can get a bit wild.

To compile to JS and use the provided index.html (Recommended).

$ git clone https://github.com/mankyKitty/fantastic-waddle
$ cd fantastic-waddle
$ nix build -f release.nix minifiedFrontend

To open the page in a browser:

$ <browser> $(pwd)/index.html &

To run a server using obelisk:

$ ob run

This will build everything and give you a locally running server to host the examples. The manner in which Reflex orchestrates the instructions to the frontend is not terribly efficient for the purposes of animation at this scale. So some brittleness is expected.