#![cfg_attr(not(feature = "std"), no_std)]
#![deny(missing_docs)]
#![deny(missing_debug_implementations)]
#[cfg(any(feature = "std", feature = "alloc"))]
extern crate alloc;
pub mod bezier;
pub mod draw;
pub(crate) mod math;
#[cfg(any(feature = "std", feature = "alloc"))]
pub mod morph;
#[cfg(any(feature = "std", feature = "alloc"))]
pub mod motion;
#[cfg(any(feature = "std", feature = "alloc"))]
pub mod poly;
#[cfg(any(feature = "std", feature = "alloc"))]
pub mod svg;
pub use bezier::{CubicBezierCurve, PathEvaluate, QuadBezier};
pub use draw::{DrawSvg, DrawValues};
#[cfg(any(feature = "std", feature = "alloc"))]
pub use bezier::CatmullRomSpline;
#[cfg(any(feature = "std", feature = "alloc"))]
pub use morph::{MorphPath, resample};
#[cfg(any(feature = "std", feature = "alloc"))]
pub use motion::{MotionPath, MotionPathTween, MotionPathTweenBuilder};
#[cfg(any(feature = "std", feature = "alloc"))]
pub use poly::{CompoundPath, EllipticalArc, LineSegment, PathCommand, PathSegment, PolyPath};
#[cfg(any(feature = "std", feature = "alloc"))]
pub use svg::{SvgPathError, SvgPathParser};