Click to place • Scroll to resize • Right-click to cancel
| Space | Play / Pause simulation |
| → | Step one frame |
| R | Reset scene to saved state |
| C | Clear all bodies |
| 1-6 | Select tool (Select/Circle/Rect/Wall/Spring/Launch) |
| G | Toggle gravity (0 ↔ 980) |
| T | Toggle trails |
| Delete | Delete selected body |
| N | New scene |
| E | Export scene JSON |
| ? | Show this help |
| Esc | Cancel / Close |
| Click | Place body / Select body |
| Drag | Move body (select mode) / Draw wall |
| Scroll | Resize spawn preview |
| Right-click | Cancel tool / Delete body |
| 🚀 Drag | Launch mode: drag to set velocity vector |
| 🔗 Click | Spring mode: click two bodies to connect |
Semi-implicit Euler integration. Elastic collisions with configurable restitution. Circle-circle, circle-wall, and circle-boundary collision detection. Springs use Hooke's law with damping. Gravity, air resistance, and bounce are adjustable.