path offsetting / corner rounding...
this took longer than expected

@phos curious to hear about the context of this, but I love everything about it.
Will keep it as a reference for the next time someone says report generation is boring.

ps. about the bowtie shape, why not a list of two disconnected contours?

@MisterHW I am writing a toolpath generator for WireEDM, (wire that cuts through metal guided by a robot). all cuts start from the edge of the material, as the wire cannot start in a solid block. the exception is using a pre-drilled hole and manually threading the wire through it, but this a manual operation the user has to want.

All this part of the program does is offset a polyline a given amount, and handle corners and cut off segments accordingly which turned out to take a few hours longer than expected due to there being quite a few edge cases to work through