This is a d3.js simulation of the classic Spirograph toy.
The application draws an SVG of a
path elements rather than just one with a stroke and no fill.
It's designed this way so that the resulting SVGs can be converted to
3D-printable files using the
paths2openscad Inksacpe extension.
This works better with simpler curves and thicker lines: