thimni 0.3.2

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 (and most likely novel) algorithm provides efficient SDF collision, whose memory usage does not scale with complexity of SDFs, by exploiting isotropy of hyperspheres

## performance
benchmarked on i7-7700HQ 

|benchmark | average speed|
|:--------:|:------------:|
|[1000 random spheres colliding]benches/spheres.rs| 5 milliseconds|
|[100 random menger sponges colliding]benches/sponges.rs| 100 milliseconds|

## 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
- monte carlo penertration depth approximation
- raycasting

## the core algorithm
[this devlog](https://0x177.codeberg.page/sdf_collision.html) contains details on how the core 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.