Work in Progress of a full Box2D ecosystem for the web. This includes TypeScript ports of:
This monorepo is in it's early stage, so to get started, you'll have to taka a look at the testbed project for now.
Most important commands to execute from the root folder (you need yarn installed):
yarn
-> install dependenciesyarn build
-> build all projectsyarn build:libs
-> build only the librariesyarn build:testbed
-> build the testbedyarn credit "<username>" <type>
-> Add user to all contributors list. Use quotes, as otherwise wrong people get added.yarn start
-> Run testbed locallyyarn start:fresh
-> Run testbed locally after building all libraries freshlyyarn bench
-> Run the benchmark using node.jsyarn bench:web
-> Start a webserver for running the benchmarks using a browser,yarn lint
-> Run linters, formatters, etc.yarn lint:fix
-> Run linters, formatters, etc. and autofix if possible
@box2d is a full-blown ecosystem for box2d for the JavaScript/TypeScript world. It can be used both in the browser and in node.js
Check out demos and compare performance here: https://lusito.github.io/box2d.ts/
Fair Warning: The whole @box2d ecosystem is in an early stage, so it will probably change a lot before we release the first stable version (1.0.0).
Other packages included in the ecosystem:
- Benchmark: Based on bench2d by joelgwebber
- Controllers: From the LiquidFun project
- Particles: Also from the LiquidFun project
- Lights: ported from LibGDX
- DebugDraw: Debug drawing using a canvas
- Testbed: A set of demos, partially ports of the original projects, partially new ones.
We're looking for contributors to make this the best place to start with box2d on the web. Check out the project page for more information: https://github.com/Lusito/box2d.ts
Thanks goes to these wonderful people (emoji key):
Erin Catto 💻 |
Isaac Burns 💻 📦 |
Maxime Veber 💻 |
finscn 💻 |
lusito 💻 🚧 |
Daniel Zhang 🤔 |
This project follows the all-contributors specification. Contributions of any kind welcome!