Bounce is a 3D physics library for the web, written in Typescript for JS and TS projects
- TypeScript 99.8%
- JavaScript 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
2026-08-10 16:07:06 -04:00 | |
| docs | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| src | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| tests | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| .gitignore | 1.1.0 - Allow array inputs for vec3 and quat. Added docs to the git repo. | 2025-12-16 15:53:54 -05:00 |
| .npmignore | 1.1.0 - Allow array inputs for vec3 and quat. Added docs to the git repo. | 2025-12-16 15:53:54 -05:00 |
| LICENSE | 1.0.0 | 2025-10-22 17:48:41 -04:00 |
| package-lock.json | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| package.json | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| pnpm-lock.yaml | 1.0.0 | 2025-10-22 17:48:41 -04:00 |
| README.md | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
| tsconfig.json | v1.8.0 | 2026-03-23 19:26:18 -04:00 |
| vite.config.js | v1.10.0 | 2026-08-10 16:07:06 -04:00 |
Bounce · Premium 3D Physics for the Web
Bounce is a fast and determinstic 3D physics library for Typescript and Javascript projects. Bounce is written in pure Typsescript (no WebAssembly).
Links
- Official Bounce website with demos, API and more info: https://perplex.gg/bounce
- Documentation (markdown): https://codeberg.org/perplexdotgg/bounce/src/branch/main/docs/documentation.md
- NPM Package: https://www.npmjs.com/package/@perplexdotgg/bounce
- Reference character controller implementation: https://codeberg.org/perplexdotgg/bounce-character-controller
Official Examples
- Bounce + Three.js simple example (w/ Vite + Typescript): https://codeberg.org/perplexdotgg/bounce-simple-example
- Bounce + Three.js character controller example (w/ Vite + Typescript): https://codeberg.org/perplexdotgg/bounce-character-controller-example
- Bounce + Three.js MECS example, tower defense simulation: https://codeberg.org/perplexdotgg/mecs-tower-defense-example
Community Examples
- Bounce + Three.js, vanilla JS example by Mameson: https://mameson.com/experiment/glsl/bounce_example/bounce_example.html (for code, just view source, it's very readable)
- Bounce + Three.js, vanilla JS, official Three.js example by mrdoob: https://threejs.org/examples/#webgpu_postprocessing_ssgi_ballpool
Credits and Acknowledgments
Bounce was created by:
- Durai Ziyaee - 90% of the code, physics R&D
- Hamza Kubba - 10% of the code, funding, direction, project management, QA, website
- Your name here? - Contributions are welcome!
Although Bounce is mostly original code, it is inspired by and draws heavily from:
- Jolt
- Rapier
- Box2D
- Godot
- gl-matrix
Roadmap
- Creating a dedicated documentation site (markdown docs)
- Fixing any reported bugs. Please file an issue if you run into problems.
- Want to see something here? Please create an issue.
How to contribute
If you like this project and would like to support our work, please consider contributing code via pull requests, or donating via open collective. Contributions are greatly appreciated!