JS port of primitive.lol
JavaScript HTML CSS
Latest commit 47d7b49 Jan 4, 2017 @ondras committed on GitHub Update README.md
Failed to load latest commit information.
css styling, README Nov 29, 2016
js smileys, clipping path Nov 23, 2016
.gitignore xml serializer Nov 23, 2016
README.md Update README.md Jan 4, 2017
index.html styling, README Nov 29, 2016
license.txt license Nov 25, 2016
logo.png initial Nov 23, 2016
package.json license Nov 25, 2016
rollup.config.js initial Nov 23, 2016



A JavaScript re-creation of the primitive.lol application.

How does it look?

Check out the Masterpieces gallery for several cool samples.

Try it now!

At a dedicated demo page


Written in client-side JavaScript, uses Rollup for JS bundling and LESS for CSS pre-processing.

  1. git clone git@github.com:ondras/primitive.js.git
  2. npm install
  3. npm run css
  4. npm run js

About the algorithm

Most of the ideas are shared with the original app, described at https://github.com/fogleman/primitive/. Rasterization is done via HTML5 , which is very flexible but prohibits reasonable parallelization. Web Worker support is available but not used at all, as it does not currently bring any performance improvement. This might change in the future.




There are no major missing features nor a roadmap. The UI needs some polishing w.r.t. UX. If you think your feature/bugfix/contribution might be worthwhile, please ask before diving into the code. Performance improvements (measurable) are welcome.