bolt-quadtree

Crates.iobolt-quadtree
lib.rsbolt-quadtree
version0.1.3
created_at2026-01-19 06:30:35.232503+00
updated_at2026-01-23 21:16:30.853113+00
descriptionHigh-performance loose quadtree for 2D collision queries.
homepage
repositoryhttps://github.com/GarlicBreadGamesLabs/bolt-quadtree
max_upload_size
id2053856
size400,803
(Stovoy)

documentation

README

bolt-quadtree

High-performance loose quadtree implementation in Rust.

Crates

  • Rust crate: bolt-quadtree (library name quadtree)

Rust usage

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(())
}

License

MIT. See LICENSE.

Commit count: 82

cargo fmt