Jondolf

@jondolf.bsky.social

University student and software enthusiast, working on Avian Physics for #bevyengine. https://github.com/avianphysics/avian

Previously, Avian has supported f64 with a feature flag that changes almost everything to double-precision. This changes with my f64 overhaul. In short: Use f64 only for world-space values that degrade in precision far from the origin. This approach is inspired by Jolt. github.com/avianphysics...

Minimal Use of `f64` for Large Worlds by Jondolf · Pull Request #1027 · avianphysics/avian

Objective Related to #439. Avian supports both f32 and f64 by using type aliases like Scalar and Vector that choose the appropriate type based on the active feature configuration. When f64 is enabl...

github.com

I’m happy to announce the release of a new open source 3D physics engine called Box3D. I’ve been working on this project for a few years now, but it represents over 20 years of experience writing physics engines for games. Read more here: box2d.org/posts/2026/0...

Announcing Box3D

I’m happy to announce the release of Box3D, an open source 3D physics engine. It is now available on GitHub. Box3D repository You can think of Box3D as a fork of Box2D, extended with many features nee...

box2d.org

Jolt Physics just hit 10K GitHub stars! What started in 2014 as a CPU vs GPU ray casting experiment became a full physics engine in 2021. Seeing what you’re building with it is amazing. Thank you!

Bild

A quick blog post on some recent changes and improvements to Avian's development, including new release and migration guide processes, a GitHub organization, and a dedicated Avian Dev Discord server. Also a brief update on plans for the 0.5 and 0.6 releases 😉 joonaa.dev/blog/10/evol...

Today, I finally merged simulation islands for Avian! Islands are graph-like structures where bodies are connected via contacts or joints. They are used for sleeping and waking, which is crucial for reducing CPU overhead for large scenes with many dynamic bodies. github.com/Jondolf/avia...

Persistent Simulation Islands by Jondolf · Pull Request #809 · Jondolf/avian

Objective Closes #578. Sleeping and waking are crucial for reducing CPU overhead for large game worlds. Up until now, Avian has used basic per-body sleeping that only allows sleeping for dynamic bo...

github.com

Implemented some overengineered physics diagnostics for Avian to monitor various timers and counters in real-time, along with a pretty UI overlay for displaying them. This is very useful for profiling and optimizing Avian itself, but will also let users see what time is being spent on.

Over the past week, I've been cooking up lots of improvements to Avian's narrow phase. Contact hooks, a contact graph, bit sets for efficiently processing contact state changes, and overall better and more performant contact pair management.

Heya BlueSky! I'm a university student and the author of the ECS-driven Avian physics engine for @bevyengine.org. I'll likely be posting some progress updates and cool showcases here every now and then. In fact, there's one coming right up!