[![Crates.io Version](https://badgers.space/crates/version/remesh)](https://crates.io/crates/remesh)
[![Docs.rs Latest](https://badgers.space/badge/docs.rs/latest/blue)](https://docs.rs/remesh)
![Build Status](https://ci.codeberg.org/api/badges/15498/status.svg)
[![dependency status](https://deps.rs/crate/remesh/0.0.5/status.svg)](https://deps.rs/crate/remesh/0.0.5)
[![license](https://img.shields.io/crates/l/remesh.svg?maxAge=2592000)](https://codeberg.org/eadf/remesh_rs#license)
[![MSRV](https://img.shields.io/badge/rustc-1.87+-lightgray.svg?logo=rust)](https://www.rust-lang.org)
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/eadf)
# remesh

A Rust implementation of **Isotropic Remeshing**.

## Blender Add-on

You can use this Rust library as a Blender add-on via the [hallr plugin](https://github.com/eadf/hallr).

## 🚧 Work in Progress 🚧

This library is experimental (v0.0.X).  
APIs and functionality may change at any time.

## Todo

- [ ] Smooth + projection sometimes causes overlaps
- [ ] Add a cascade collapse degenerate triangle phase
- [ ] Add a restriction so that only neighboring edges are re-checked in edge flip phase.
- [ ] Some configuration parameters does not have a corresponding .with_X() method yet.
- [x] Add a fix-mildly-non-manfold-mesh mode
- [x] Add a QEM mode


### Minimum Supported Rust Version (MSRV)

The minimum supported version of Rust for `remesh` is `1.87.0`.

## License

Licensed under either:

- **Apache License, Version 2.0**  
  ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- **MIT License**  
  ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)

at your option.

## Contribution

Unless explicitly stated otherwise, any contribution intentionally submitted  
for inclusion in the project by you, as defined in the Apache-2.0 license,  
shall be dual-licensed as above, without any additional terms or conditions.
