Keyde aims to provide minimal yet fast implementations of spacial query structures.
Currently, keyde provides a: - Kd-tree
Keyde provides a Point
trait that is implemented for arrays of sizes 1 to 4,
tuples of 2 and 3 dimension as well as for all the basic 1D types (u8, i8, isize..)
By enabling optional features such as glam
, you can get an implementation for that crate's
default Vec3, Vec4, Vec2 and Vec3A types.
Keyde wants to suppoort more linear algebra crates, so feel free to make a PR and add your favorite one.
See src/point_implementations.rs
for inspiration.
Key things that differ keyde's kd-tree implementation from others:
- No recursion, only iterative implementations
- No cloning of your data, everything is refered to by indices into your data
- Provides KdTreeStrategy
to choose sorting strategy which might help you find a
creation/querying-strategy that is more optimal for your particular data layout