perplexdotgg · Codeberg.org

Bounce is a 3D physics library for the web, written in Typescript for JS and TS projects

  • TypeScript 99.8%
  • JavaScript 0.2%
Repository files (latest commit first)
Filename Latest commit message Latest commit date

Hamza Kubba 02a359a312 v1.10.0

- BREAKING CHANGE: world.castRay now uses RaycastResult instead of CastResult, which has much fewer fields (only what's needed for raycasting). result.contactPointA and result.bodyA are now result.contactPoint and result.body
- Resolves #6, now world.castRay takes a boolean `computeNormals` 6th parameter (default false), when set to true the normals are computed during the raycasting process. result.normal is now set when this boolean is set to true
- Resolves #7, now world.castShape correctly resets the earlyOutFraction, this had caused castShape to typically fail after succeeding one time in a session
- Improved ray casting performance by minimizing re-computations of the ray's center and extents
- Other minor cleanups and improvements
Special thanks to digitalbreed for the detailed bug reports!

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

npm version repo license PRs Welcome

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 Examples

Community Examples

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

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!

Read the original on codeberg.org ↗