The Spline type works from control points that are marked as either corner
or smooth. Each point can optionally carry explicit left or right tangent
angles.
Spline.Solve() walks the control-point list segment by segment.
TwoParamSpline.TwoParamSpline.InitialThs() seeds tangent angles from neighboring chord
directions.TwoParamSpline.IterDumb() refines those angles iteratively so adjacent
segment curvatures stay coherent.The result of Solve() is a set of computed left and right tangent angles on
the working control points.
Spline.ComputeCurvatureBlending() adds a second pass for smooth joints.
The blended curvature values are later used to choose between a raw cubic shape and a curvature-adjusted quintic shape.
MyCurve.Render() and preserves the baseline two-control
representation.MyCurve.Render4() and inserts additional
control points derived from Hermite-based curvature correction.