A JavaScript re-creation of the primitive.lol application.
Check out the Masterpieces gallery for several cool samples. There is also a dedicated Electron-based port that works as a regular desktop application.
Written in client-side JavaScript, uses Rollup for JS bundling and LESS for CSS pre-processing.
git clone [email protected]:ondras/primitive.js.git && cd primitive.js
npm install
npm start
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.