Skip to content

dgtized/shimmers

Repository files navigation

shimmers

CI

Shimmering quil sketches; a few particle simulations, video processing experiments, randomly generated L-systems, 3d transformations, and cellular automata.

https://dgtized.github.io/shimmers

Note: Some sketches require camera input, so it will prompt for video permissions, but it's not transmitting the video anywhere, just processing it locally.

Install

Install JDK and Clojure CLI Tools

$ npm install # overrides p5.js to current version over cljsjs coordinates
$ bin/install-bb

Usage

$ bin/repl

This launches a figwheel REPL that will update after saving any changes.

https://localhost:9500 shows main app, http://localhost:9500/figwheel-extra-main/tests shows test results.

Emacs & Cider

My preferred development environment is Emacs using Cider to communicate with the ClojureScript browser REPL. This should start using cider-jack-in-cljs presuming Emacs and Cider are already configured.

The .dir-locals.el configuration also enables a couple convenience functions in shimmers.el. It binds f8 to shimmers-visit-sketch, which will change the current sketch in the browser to reflect the current sketch file buffer in Emacs. It also adds shimmers-visit-tests that opens a browser window to the test runner.

Testing

Tests are verified in continuous integration using Github Actions but can also be run locally using:

$ bin/ci

Release

Push to github will build a release automatically. It's using bb build to create a build in static-site, and then uploads the new build to github pages using actions.

License

This source repository is released under the AGPL 3.0 free software license.

See LICENSE for details.

Copyright © 2020-2024 Charles L.G. Comstock