forked from 1b-agent/opencadstudio-upstream
#1688 accepted any degree (falling back to 3 on a malformed value) and overwrote the degree the codec had clamped to the control-point count, so a two-point default spline stored degree 3 against a degree-1 knot vector. Reject a non-integer or out-of-range degree, too few control points for the degree, a knot vector that is not control_points + degree + 1 non-decreasing values, and weights that are not one positive value per control point. Co-Authored-By: Claude Opus 5.5 <[email protected]>