Physical dynamics reverse-engineer engine.
physicsSolver is the engine behind pbrAudioShaders and pbrAudioRender. It takes your 3D animation sequences and reconstructs the hidden physics, like forces, collisions and contact events, that standard frame rates miss. The output is audio-force data that drives physically-based sound synthesis, bringing your animations to life with physically based audio.
Why physicsSolver?
3D animations are typically rendered at 24 or 30 frames per second. That’s fine for visuals, but audio needs far more detail. A collision or scraping sound happens in milliseconds the details are lost between frames.

physicsSolver bridges this gap by analyzing motion as a continuous signal, not discrete frames, detecting collisions at sub-frame precision.
physicsSolver generate audio-force data from the reconstructed forces that occurred between your animation frames that pbrAudioShaders engines use to synthetize realistic sounds.

How It Works
Think of physicsSolver as a forensic physicist for your scene. It takes your animation frames and asks: What happened in the gaps?
Detect the Invisible: It finds the exact moments of impact, rolling, scraping, and sliding that standard frame rates miss.
Reconstruct the Forces: Using the physics laws and Hertzian contact theory, it calculates the forces, contact geometry, and material interactions at each event.
Generate Audio-Force Tracks: It synthesizes continuous, high-resolution force signals (impact envelopes, friction noise, rolling textures) as 32-bit float RAW audio files.
Create a Contact Score: Every collision, scrape, and slide is logged in a structured timeline, ready for the pbrAudioShaders synthesis engines.
