{"id":13732107,"url":"https://github.com/erincatto/Box2D","last_synced_at":"2025-05-08T06:31:18.388Z","repository":{"id":28701656,"uuid":"32222044","full_name":"erincatto/box2d","owner":"erincatto","description":"Box2D is a 2D physics engine for games","archived":false,"fork":false,"pushed_at":"2024-09-30T04:29:44.000Z","size":15937,"stargazers_count":8150,"open_issues_count":8,"forks_count":1529,"subscribers_count":264,"default_branch":"main","last_synced_at":"2024-10-02T22:16:31.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://box2d.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erincatto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["erincatto"],"patreon":"Box2D","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-03-14T16:52:46.000Z","updated_at":"2024-10-02T05:02:31.000Z","dependencies_parsed_at":"2023-02-12T18:30:23.945Z","dependency_job_id":"eb206440-4db1-4f5e-b594-662fa5a74bac","html_url":"https://github.com/erincatto/box2d","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erincatto%2Fbox2d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erincatto%2Fbox2d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erincatto%2Fbox2d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erincatto%2Fbox2d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erincatto","download_url":"https://codeload.github.com/erincatto/box2d/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224333090,"owners_count":17293977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:01:46.558Z","updated_at":"2025-05-08T06:31:18.383Z","avatar_url":"https://github.com/erincatto.png","language":"C","readme":"![Box2D Logo](https://box2d.org/images/logo.svg)\n\n# Build Status\n[![Build Status](https://github.com/erincatto/box2d/actions/workflows/build.yml/badge.svg)](https://github.com/erincatto/box2d/actions)\n\n# Box2D \nBox2D is a 2D physics engine for games.\n\n[![Box2D Version 3.0 Release Demo](https://img.youtube.com/vi/dAoM-xjOWtA/0.jpg)](https://www.youtube.com/watch?v=dAoM-xjOWtA)\n\n## Features\n\n### Collision\n- Continuous collision detection\n- Contact events\n- Convex polygons, capsules, circles, rounded polygons, segments, and chains\n- Multiple shapes per body\n- Collision filtering\n- Ray casts, shape casts, and overlap queries\n- Sensor system\n\n### Physics\n- Robust _Soft Step_ rigid body solver\n- Continuous physics for fast translations and rotations\n- Island based sleep\n- Revolute, prismatic, distance, mouse joint, weld, and wheel joints\n- Joint limits, motors, springs, and friction\n- Joint and contact forces\n- Body movement events and sleep notification\n\n### System\n- Data-oriented design\n- Written in portable C17\n- Extensive multithreading and SIMD\n- Optimized for large piles of bodies\n\n### Samples\n- OpenGL with GLFW and enkiTS\n- Graphical user interface with imgui\n- Many samples to demonstrate features and performance\n\n## Building for Visual Studio\n- Install [CMake](https://cmake.org/)\n- Ensure CMake is in the user `PATH`\n- Run `create_sln.bat`\n- Open and build `build/box2d.sln`\n\n## Building for Linux\n- Run `build.sh` from a bash shell\n- Results are in the build sub-folder\n\n## Building for Xcode\n- Install [CMake](https://cmake.org)\n- Add Cmake to the path in .zprofile (the default Terminal shell is zsh)\n    - export PATH=\"/Applications/CMake.app/Contents/bin:$PATH\"\n- mkdir build\n- cd build\n- cmake -G Xcode ..\n- Open `box2d.xcodeproj`\n- Select the samples scheme\n- Build and run the samples\n\n## Building and installing\n- mkdir build\n- cd build\n- cmake ..\n- cmake --build . --config Release\n- cmake --install . (might need sudo)\n\n## Compatibility\nThe Box2D library and samples build and run on Windows, Linux, and Mac.\n\nYou will need a compiler that supports C17 to build the Box2D library.\n\nYou will need a compiler that supports C++20 to build the samples.\n\nBox2D uses SSE2 and Neon SIMD math to improve performance. This can be disabled by defining `BOX2D_DISABLE_SIMD`.\n\n## Documentation\n- [Manual](https://box2d.org/documentation/)\n- [Migration Guide](https://github.com/erincatto/box2d/blob/main/docs/migration.md)\n\n## Community\n- [Discord](https://discord.gg/NKYgCBP)\n\n## Contributing\nPlease do not submit pull requests. Instead, please file an issue for bugs or feature requests. For support, please visit the Discord server.\n\n# Giving Feedback\nPlease file an issue or start a chat on discord. You can also use [GitHub Discussions](https://github.com/erincatto/box2d/discussions).\n\n## License\nBox2D is developed by Erin Catto and uses the [MIT license](https://en.wikipedia.org/wiki/MIT_License).\n\n## Sponsorship\nSupport development of Box2D through [Github Sponsors](https://github.com/sponsors/erincatto).\n\nPlease consider starring this repository and subscribing to my [YouTube channel](https://www.youtube.com/@erin_catto).\n\n## External ports, wrappers, and bindings (unsupported)\n- Beef bindings - https://github.com/EnokViking/Box2DBeef\n- C++ bindings - https://github.com/HolyBlackCat/box2cpp\n- WASM - https://github.com/Birch-san/box2d3-wasm\n","funding_links":["https://github.com/sponsors/erincatto","https://patreon.com/Box2D"],"categories":["Physics"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferincatto%2FBox2D","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferincatto%2FBox2D","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferincatto%2FBox2D/lists"}