thimni 0.3.4

efficient SDF collision without discretizatio, neural nets, or interval arithmetic
Documentation
# thimni
[![crates.io](https://img.shields.io/crates/v/thimni)](https://crates.io/crates/thimni)
[![Docs](https://img.shields.io/docsrs/thimni)](https://docs.rs/thimni)

a library for SDF collision

the core algorithm provides efficient SDF collision, whose memory usage does not scale with complexity of SDFs, by exploiting isotropy of hyperspheres

## performance
benchmarked on Ryzen 7 2700

|benchmark | average speed|
|:--------:|:------------:|
|[1000 random spheres]benches/spheres.rs| 5.5 milliseconds|
|[100 random menger sponges in a sphere with radius 10]benches/sponges.rs| 1.43 milliiseconds|

## features
- can use any vector type implementing the [Vector trait]https://docs.rs/thimni/latest/thimni/vector/trait.Vector.html, with implementations for glam::Vec2 and glam::Vec3 provided
- SDFs treated as black boxes (i.e. anything that takes a position, returns a number, and can be bounded by an AABB, can implement [the SDF trait]https://docs.rs/thimni/latest/thimni/sdf/trait.SDF.html)
- arbitrarily combined SDFs
- binary collision between arbitrary SDFs of the same dimension
- penetration depth approximation
- raycasting

## the core algorithm
[this devlog](https://0x177.codeberg.page/sdf_collision.html) contains details on how the algorithm works 

## DEMO
[this devlog](https://0x177.codeberg.page/coll_demo_pub.html) contains a link to a demo i made for this algorithm, consisting of a destructable fractal and a capsule representing the player.