Some information about the "caching": it's more a svg2lay-like precomputation rather than a cache. It computes all elements at startup and on resizing, rendering is just putting a bunch of images together with 1-bit alpha.

Minus w.r.t svg2lay: it does not (yet) handle images, because nanosvg doesn't. That's annoying for the konami lcds. It doesn't handle text either, but that won't change, we can't reasonably embed fonts and text can be converted to paths anyway.

Plus w.r.t svg2lay: it handles interactions between elements (touching, superpositions, alpha-blending, etc) by computing a tree of image deltas. bzaxxon can theorically be done in one svg now.