Skip to content

v0.3.0 Trait and API Overhaul

Latest

Choose a tag to compare

@dorianprill dorianprill released this 22 Jan 13:54
a08fd8f

Breaking changes

  • Refactored Point trait bounds and curve trait requirements; downstream implementations may need updates.
  • Removed the old Spline trait.
  • BSpline arc length and distance helpers are now fallible and return Result when evaluation can fail outside the knot domain.

Added

  • Generic Bezier and BSpline root finding via the FindRoot helper.
  • BSpline basis functions (with derivatives) and bounding box support.
  • BezierPath and BSplinePath types for multi-segment paths.
  • nalgebra feature adapter for SVector integration.
  • New examples: B-spline 1D interpolation, generic Bezier quarter-circle, arc-length sampling, and tangent/normal/curvature sampling.

Changed

  • Upgraded to Rust 2024 edition and pinned a nightly toolchain for const-generic features.
  • Improved arc-length and distance approximation routines across curve types.
  • Plotters example renamed/excluded from tests; example documentation expanded.

Fixed

  • Corrected De Casteljau and line math edge cases.
  • Fixed B-spline derivative edge cases, knot span search, and out-of-bounds handling.
  • Addressed clippy lint warnings and rustdoc issues; expanded CI coverage.