@Absinthe couldn't resist this one:
I swear I tried to do it for square only but it seems to work for rectangles too.
In true c++ fashion it comes with a bunch of illegible library code, which I had to extend with a couple of extra abominable appendages to accommodate this toy.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!