This project is a continuation of the C++ CavalierContours library rewritten in Rust with the goal of building out more functionality, better documentation, and creating a stable C FFI. This project has all of the functionality of the C++ repository except for simultaneous/multi polyline island offsetting. There is a lot more code documentation, test coverage, and some additional functions for working with polylines. For tracking progress and contributing checkout the project GitHub issues.
This library uses no unsafe code (#![forbid(unsafe_code)]
is applied) in the main
cavalier_contours
crate. Unsafe is used in the cavalier_contours_ffi
crate for C bindings.
This project is compiled to wasm to create an interactive web demo page for visualing and testing.
I recommend the official rust book here.
Visual Studio Code + rust-analyzer extension work great for editing.
If you're looking for something specific to work on check the project issues labeled good first issue
.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.