Great to finally see Box3D released! Glad to see some healthy physics simulation options, next to Jolt, PhysX and https://github.com/newton-physics/newton (using MuJoCo Warp, which I've been pushing at NVIDIA).
I got bifocal monthly contact lenses (-7, +2 and correction for astigmatism). It has been such a relief to read screen/phone without needing to wear reading glasses while still seeing far away). The daily soft lenses didn't correct as well as the firmer monthly ones.
Very nice project. If you like this, the Pupper quadruped robot project by Stanford University is also interesting, with RL training pipeline as well and well-documented open source instructions for 3d printing etc. https://pupper-v3-documentation.readthedocs.io/en/latest/gui...
It is common for header-only libraries: you need to include this header in one c++ using the macro for linking (don't use that macro in other c++ files to avoid duplicate symbols). In C++, you can declare a function as many times as you want, but you can only define it (write the actual body) once in the entire project.
I highly recommend starting with the very affordable and well documented Lerobot SO101
arms. You can 3d print or buy parts and actuators, camera.
Lots of tutorials and training policies, data collection and simulations.
https://huggingface.co/docs/lerobot/en/so101
Indeed, magic. How about the Commodore 64, there was a game (Eindeloos, Radarsoft, 1985) within 64kb that has a huge map. Someone recently (after 40 years!) extracted the map (500 screens) and the png alone is 800kb. See the story an zoom in and try finding the little heart in the map!
https://adayinthelifeof.nl/2025/03/07/endless.html
Yes, an amazing and detailed post, enjoyed all of it. In AI, it is common to use jit compilers (pytorch, jax, warp, triton, taichi, ...) that compile to cuda (or rocm, cpu, tpu, ...).
You could write renderers like that, rasterizers or raytracers.
(A new simple raytracer that compiles to cuda, used for robotics reinforcement learning, renders at up to 1 million fps at low resolution, 64x64, with textures, shadows)
Pretty complex project, brings up C64 assembly programming memories (with some freeze cartridge with monitor to enter asm OP codes).
It would be interesting to see all the actual LLM queries to get those results.