Getting the corners working was tricky:
…required a “split curves” node-group which wasn’t easy to implement…
example where I’m splitting the curves for angles less than pi/4 (here straight is pi/2 or 1, normalized):
… works by using the subdivide curve node to add 1 or 2 cuts depending on whether the current and next vertex satisfy the selection condition:
… then it converts it to a mesh, deletes the “split” vertices and then resets the remaining vertices based on captured next and previous positions depending on whether the next vertex satisfied the condition or not, then converts it back to curve… didn’t expect this to be so difficult.
Anyway, I’m close to starting cleanup for release of version one.