and here it goes, i’ve spent a few hours on the first prototype and then delayed tidying up the source code for a few weeks because i’m an irresponsible human being without any sense of time and also because i forgot
anyway, here’s the link — lots of stuff still not implemented but i’ll keep going later