Cannon.js is a JavaScript physics engine that simulates rigid body physics: gravity, collisions, friction, constraints (joints, hinges, springs). You define physical bodies (boxes, spheres, cylinders), set their properties (mass, friction, velocity), and Cannon simulates how they interact. Cannon powers physics in 3D web games, architectural visualizations, simulations, and interactive 3D experiences. It integrates with Three.js, Babylon.js, and other 3D libraries. It runs on the GPU via WebGL, so it's performant for web.