| Crates.io | bolt-quadtree |
| lib.rs | bolt-quadtree |
| version | 0.1.3 |
| created_at | 2026-01-19 06:30:35.232503+00 |
| updated_at | 2026-01-23 21:16:30.853113+00 |
| description | High-performance loose quadtree for 2D collision queries. |
| homepage | |
| repository | https://github.com/GarlicBreadGamesLabs/bolt-quadtree |
| max_upload_size | |
| id | 2053856 |
| size | 400,803 |
High-performance loose quadtree implementation in Rust.
bolt-quadtree (library name quadtree)use quadtree::quadtree::{EntityTypeUpdate, QuadTree};
use quadtree::shapes::{Rectangle, ShapeEnum};
fn main() -> quadtree::QuadtreeResult<()> {
let bounds = Rectangle::new(0.0, 0.0, 100.0, 100.0);
let mut tree = QuadTree::new(bounds)?;
tree.insert(1, ShapeEnum::Rectangle(Rectangle::new(10.0, 10.0, 5.0, 5.0)), None)?;
tree.insert(2, ShapeEnum::Circle(quadtree::shapes::Circle::new(20.0, 20.0, 3.0)), None)?;
let mut hits = Vec::new();
tree.collisions(ShapeEnum::Rectangle(Rectangle::new(10.0, 10.0, 2.0, 2.0)), &mut hits)?;
tree.relocate(1, ShapeEnum::Rectangle(Rectangle::new(30.0, 30.0, 5.0, 5.0)), EntityTypeUpdate::Preserve)?;
Ok(())
}
MIT. See LICENSE.