This is an attempt by Nina Paley (art) and Atul Varma (code) to tinker with procedural art.
 
 
 
Go to file
Atul Varma 045e96d34d
Add a 'disable gradients' toggle. (#148)
This adds a toggle to disable gradients, fixing #140.

On the Mandala page, this changes how our permalinks are structured, but does so in a backwards-compatible way, thanks to [Avro schema evolution][1].  Now the `s` querystring argument is prefixed with a schema version, the latest being `v2`.  If this prefix is missing, it's assumed to be the very first schema version, `v1`, and interpreted accordingly.

[1]: https://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html
2021-06-06 17:49:49 -04:00
.github/workflows Use eslint. (#133) 2021-05-28 10:17:45 -04:00
.vscode Add .vscode dir. 2021-02-03 18:54:57 -05:00
assets Fix broken build (delete hill_BWgradient SVGs) 2021-06-05 10:23:31 -04:00
dist Use esbuild instead of Parcel. (#131) 2021-05-28 07:34:17 -04:00
lib Add a 'disable gradients' toggle. (#148) 2021-06-06 17:49:49 -04:00
vendor Add a 'disable gradients' toggle. (#148) 2021-06-06 17:49:49 -04:00
.babelrc Always permalink to Mandalas. (#99) 2021-04-24 08:46:32 -04:00
.eslintrc Use eslint. (#133) 2021-05-28 10:17:45 -04:00
.gitignore Use esbuild instead of Parcel. (#131) 2021-05-28 07:34:17 -04:00
.prettierignore Run prettier during CI. (#85) 2021-04-07 19:39:55 -04:00
CODE_OF_CONDUCT.md Convert code of conduct to markdown. 2021-05-25 15:00:31 -04:00
LICENSE.md Clarify some license stuff. 2021-04-25 09:41:02 -04:00
README.md Add documentation on type checking. (#146) 2021-06-05 10:36:04 -04:00
build-avro-typescript.js Always permalink to Mandalas. (#99) 2021-04-24 08:46:32 -04:00
build-vocabulary.js Always permalink to Mandalas. (#99) 2021-04-24 08:46:32 -04:00
package-lock.json Set page <title> to same value as <h1> (#147) 2021-06-06 09:37:45 -04:00
package.json Set page <title> to same value as <h1> (#147) 2021-06-06 09:37:45 -04:00
tsconfig.json Use esbuild instead of Parcel. (#131) 2021-05-28 07:34:17 -04:00

README.md

This is an attempt by Nina Paley (art) and Atul Varma (code) to tinker with procedural art.

Right now there is no particular goal other than to explore various ideas. The project consists of a web site with multiple pages, each of which is an experiment of some kind.

It can be viewed online or iterated on locally using the instructions below.

Quick start

This requires NodeJS. It was started with NodeJS 14.15.4, but hopefully it should work with any recent version.

After cloning the repository and entering it, run:

npm run watch

then visit http://localhost:1234.

Running tests

To run tests interactively, run:

npm run test:watch

Type checking

To make sure that everything type-checks okay, run:

npm run typecheck

Note that you may want to install a TypeScript plugin for your favorite editor. Aside from telling you what type errors you have in real-time, editor integration also provides code autocompletion and other affordances that can greatly improve your productivity. For more details, see Atul's Fun with TypeScript series of videos.

Code style

All code styling is managed by Prettier.

To format the code automatically, run:

npm run prettier:fix

You can alternatively install a Prettier extension for your editor; see its website for more details.

Deployment

To deploy the project to GitHub Pages, run:

npm run deploy