1. The documentation is sorely lacking.
2. Which makes the inheritance hierarchy (which is already a little unintuitive) really hard to grok.
3. There's this weird home-rolled way of doing default property inheritance that took me a long time to wrap my head around.
In the end, I ended up coding a short interactive thing[1] for my blog using Paper.js. It's a great idea, but could really use some love and maybe a stronger philosophy to guide development. Right now it feels more like a few hacks thrown together.
[1] http://mitchgordon.me/math/2019/03/18/multiplying-complex-nu...