Buggy p5.js sketch/toy, feel free to pull it apart. Might come back to it some day but probably not in JS and probably not any time soon.