
This is Crater, the official mascot of crater.rs!
Quick Start
Use crater.rs as command-line tool
Install
> cargo install crater-rs
Verify installation
> crater --version
... whatever the current version is ...
Run
For a few example input files, see crater_examples.
> crater marching-cubes -i ./crater_examples/blended.yml -o blended.stl
Citations
- A. Ricci. "A constructive geometry for computer graphics" (1973)
- Vadim Shapiro. "Theory of R-Functions: A Primer" (1988)
- P.A. Fayolle and A. Pasko "An Evolutionary Approach to the Extraction of Object Construction Trees from 3D Point Clouds"
- A. Pasko, et. al. "Function Representation in Geometric Modeling: Concepts, Implementation and Applications"
Appendix: Maintainer Release Guide
crater.rs uses the wonderful cargo-release for automatic release. There is a release CI/CD job which accomplishes the following:
- Configures
gitto allow for direct push-from-ci (viaoath) - Invokes
cargo-release. This does the following automatically:- Run
./scripts/pre-release.shwhich:- runs some end-to-end tests and generates artifacts in
./artifacts - runs
git-cliff(config:cliff.toml) to generate a new changelog
- runs some end-to-end tests and generates artifacts in
- Updates version numbers in all known locations
- Publish to
crates.io - Commit the new content as a "chore" (and skip ci), and add
git tag - Push to the current branch (i.e.,
main)
- Run
As a Maintainer of this repo, when an MR lands, the release job should become available for manual action. Start this job with BUMP_LEVEL=(patch|minor|major) to officially release.