https://mathematica.stackexchange.com/questions/6706/how-can-i-calculate-a-jigsaw-puzzle-cut-path
https://www.w3schools.com/tags/canvas_quadraticcurveto.asp
https://www.w3schools.com/tags/canvas_beziercurveto.asp
https://github.com/WebSVG/voronoi
reverse engineer implementation in ~1500 lines: https://codepen.io/Dillo/pen/QWKLYab?editors=0010
problems:
Tiling paperjs has a voronoi func? use splines select area from image