I fixed the selection box issue and the control points are included. There actually are control points associated with the line segments of the curve but they are not used and not displayed.
I have been adding code to allow for editing of curves in the context of a mechanism. When some element in a mechanism are selected and the selection is rotated, the code rotates the elements from their original positions to their new rotated positions, not from the previous step of the rotation. This keeps the numeric rounding errors to a minimum and only when the rotation if finished the mouse button released do the elements all get changed to their new positions. I’m adding the same original-point/new-point code to the curves and it’s a lot to type. There’s nothing clever in it, just adding original and new points and then adding functions to do the rotation or the stretch that might be mouse driven. Oh, and moving to a new location doing a drag with the mouse is also handled in the same way. Once the mouse button is released, there’s functions to change the original points to the new point locations. It’s all rather unexciting work and no one ever sees it. But it’s necessary to make the program work well.