Vector maths is complicated. I'm trying to expand strokes to paths, but in a way that I can work with them for things like clipping masks, but also output three different weights and still end up with the same number of points on each one.

Currently I'm generating loads of points. I'd like to do it with fewer, but I'm getting stuck trying to meet all the correctness requirements…

@amyworrall When I do this by hand, I overlay a copy of the original shape on top of the complex modified shape. Then I nudge the original points to make them line up with the modified lines.