Skip to main content

rust_motion_paths/
lib.rs

1//! Rust Motion Paths — SVG path parsing, metrics, and stroke evolution utilities.
2//!
3//! Ported from `@remotion/paths`:
4//! - [`parse_path`] / [`serialize_instructions`]
5//! - [`get_length`] / [`get_instructions_length`]
6//! - [`evolve_path`] / [`evolve_path_with_length`]
7//! - [`translate_path`] / [`scale_path`]
8//! - [`get_point_at_length`]
9//! - [`approximate_path_length`]
10//! - [`interpolate_path`]
11
12pub mod bounding_box;
13pub mod evolve_path;
14pub mod interpolate;
15pub mod length;
16pub mod parser;
17pub mod point_at_length;
18pub mod subpaths;
19pub mod tangent;
20pub mod transform;
21pub mod types;
22
23pub use bounding_box::{get_bounding_box, get_instructions_bounding_box};
24pub use evolve_path::{evolve_path, evolve_path_with_length};
25pub use interpolate::{approximate_path_length, interpolate_path};
26pub use length::{arc_segment_length, get_instructions_length, get_length};
27pub use parser::{parse_path, serialize_instructions, PathParseError};
28pub use point_at_length::get_point_at_length;
29pub use subpaths::get_subpaths;
30pub use tangent::{get_tangent_angle_at_length, get_tangent_at_length};
31pub use transform::{reset_path, reverse_path, rotate_path, scale_path, translate_path, warp_path};
32pub use types::{BoundingBox, EvolvedPath, Instruction, Point};