https://github.com/eadf/hallr
Blender add-on written in Rust
https://github.com/eadf/hallr
blender-addon mesh-generation rust-lang voronoi
Last synced: 8 months ago
JSON representation
Blender add-on written in Rust
- Host: GitHub
- URL: https://github.com/eadf/hallr
- Owner: eadf
- License: agpl-3.0
- Created: 2023-10-29T15:29:47.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-10T22:02:15.000Z (over 2 years ago)
- Last Synced: 2025-02-01T12:11:13.938Z (over 1 year ago)
- Topics: blender-addon, mesh-generation, rust-lang, voronoi
- Language: Rust
- Homepage:
- Size: 287 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://stand-with-ukraine.pp.ua)
# Hallr
[](https://github.com/eadf/hallr/actions/workflows/rust_test.yml)
[](https://github.com/sponsors/eadf)
Hallr is a Blender add-on written in Rust and Python. Python is used for the blender add-on system glue, sending and receiving data to the rust implementation.
**This project is a work in progress**, so expect frequent changes to its functionality and API.
## Usage
For Blender instructions, refer to the [wiki](https://github.com/eadf/hallr/wiki).
## Gallery
For some images generated by this add-on, see the [release](https://github.com/eadf/hallr/releases) page and the [wiki](https://github.com/eadf/hallr/wiki)
### Installing Hallr
You can download pre-built ZIP files from the GitHub Releases section. This ZIP file is the pre-packaged Hallr add-on, which can be drag-and-dropped directly into Blender.
The ZIP file contains dynamic libraries compiled for multiple platforms:
- macOS (ARM)
- Linux (amd64)
- Windows (amd64)
All releases are built automatically by GitHub workflows.
To build the add-on locally, use the following command:
```bash
python3 build_script.py
```
Once the build is complete, simply drag and drop the generated `hallr.zip` file into Blender to install it.
### Developer Mode
For a faster development workflow, you can enable developer mode:
```bash
python3 build_script.py --dev_mode
```
Then, open and run the `blender_addon_exported/__init__.py` file inside Blender. In this mode, Blender will automatically use the latest compiled Rust library, so you only need to recompile your Rust code to see changes take effect the next time you run an operation.
For this purpose, the Rust tool watchexec works exceptionally well for automatically recompiling when source files change.
## Contributing
We welcome contributions from the community! Feel free to submit pull requests or report issues on our [GitHub repository](https://github.com/eadf/hallr).
### Minimum Supported Rust Version (MSRV)
The minimum supported version of Rust for `hallr` is `1.85.1`.
## License
Hallr is licensed under **AGPL-3.0-or-later**.
## Acknowledgments
This project would not be possible without the following Rust crates:
* fast-surface-nets (v0.2) — Dual-licensed under MIT or Apache 2.0.
* saft (v0.34) — Licensed under either the MIT or Apache 2.0 license.
* ilattice (v0.4) — Licensed under the MIT license.
* logos (v0.15) — Dual-licensed under MIT or Apache 2.0.
* thiserror (v2.0) — Licensed under either the MIT or Apache 2.0 license.
* ahash (v0.8) — Dual-licensed under MIT or Apache 2.0.
* rustc-hash (v2.1) — Dual-licensed under MIT or Apache 2.0.
* smallvec (v1.15) — Dual-licensed under MIT or Apache 2.0.
* rayon (v1.10) — Dual-licensed under MIT or Apache 2.0.
* itertools (v0.14) — Dual-licensed under MIT or Apache 2.0.
* vob (v3.0) — Licensed under the MIT license.
* earcutr (v0.5) — Licensed under the ISC license.
* ryu (v1.0) — Licensed under either the Apache 2.0 or Boost Software License 1.0.
* rustc-hash (v2.1) — Dual-licensed under MIT or Apache 2.0.