Spline is structured around a small set of geometry responsibilities that
can be reused without any Avalonia dependency.
Vec2 provides the package's basic 2D vector type.MathUtils and Polynomial support low-level numerical operations.CubicBezier and TwoCubics model Bezier control geometry and segment
transformations.BezierPath represents rendered output as commands and also supports
distance-based hit testing.Spline, TwoParamCurve, MyCurve, and TwoParamSpline form the spline
solving and rendering pipeline.CurveGrid stores an interpolated grid of curve masters for the tuner
workflow.PolylineUtils provides headless simplification and resampling utilities for
converting traced input into spline control points.The package intentionally excludes:
Those responsibilities stay in samples/DemoSpline, which acts as the
interactive host for the library.
Most consumers only need to:
Spline.CP control pointsSplineSolve()ComputeCurvatureBlending()Render() or RenderSvg()