{"id":28088975,"url":"https://github.com/libgdx/gdx-box2d","last_synced_at":"2025-05-13T12:52:54.740Z","repository":{"id":269965319,"uuid":"908925770","full_name":"libgdx/gdx-box2d","owner":"libgdx","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-28T15:15:06.000Z","size":568,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-28T16:24:17.462Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libgdx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2024-12-27T10:02:53.000Z","updated_at":"2025-04-28T15:15:10.000Z","dependencies_parsed_at":"2025-02-02T17:25:55.963Z","dependency_job_id":"4e4440d5-4a1e-403d-b2ba-9b558e525913","html_url":"https://github.com/libgdx/gdx-box2d","commit_stats":null,"previous_names":["berstanio/gdx-box2d","libgdx/gdx-box2d"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgdx%2Fgdx-box2d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgdx%2Fgdx-box2d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgdx%2Fgdx-box2d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libgdx%2Fgdx-box2d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libgdx","download_url":"https://codeload.github.com/libgdx/gdx-box2d/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253947846,"owners_count":21988945,"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":"2025-05-13T12:52:54.177Z","updated_at":"2025-05-13T12:52:54.728Z","avatar_url":"https://github.com/libgdx.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## gdx-box2d\n\nThis project contains java bindings for the v3.1.0 release of [Box2D](https://github.com/erincatto/box2d).  \nThe project is build from commit [0f2b0246f39594e93fcc8dde0fe0bb1b20b403f9](https://github.com/erincatto/box2d/tree/0f2b0246f39594e93fcc8dde0fe0bb1b20b403f9).\n\n## Installation\n\nThe current version is: `3.1.0-0`\n\ngdx-box2d provides the following artifacts:\n- `com.badlogicgames.gdx:gdx-box2d:$version`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-desktop`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-ios`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-arm64-v8a`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-armeabi-v7a`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-x86`\n- `com.badlogicgames.gdx:gdx-box2d-platform:$version:natives-x86_64`\n\nAdditionally, the following utility artifact is provided:\n- `com.badlogicgames.gdx:gdx-box2d-utils:$version`\n\n## Usage\n\nAt first, you need to call `com.badlogic.gdx.box2d.Box2d#initialize`. This will load the shared libraries and set up the native code.  \nAfter that, `com.badlogic.gdx.box2d.Box2d` provides all entry points into Box2D.\n\n### Closure\nClosures can be allocated with `ClosureObject#fromClosure`.\n\n### Memory handling\nStructs and Pointer are part of the java GC cycle. If a struct/pointer gets allocated in java, it will be freed once the GC collects the java object.  \nAll pointer types provide constructors to make them not freed by GC. You need to free those manually.  \nClosures always need to be freed manually.  \nIf a box2d method returns a pointer, it will not be registered for GC.  \n\n\u003e [!NOTE]\n\u003e For more information on the bindings see the [documentation](https://github.com/libgdx/gdx-jnigen/blob/master/RUNTIME.MD#the-runtime).\n\n\n## Java 8\nThe project needs java 8 language features to build. However, it doesn't use any java 8 APIs and is therefor still safe to use with mobiVM.\n\n## Deviation from box2d\nThe following changes have been applied that are more than sole bindings:\n- On initialization a custom routine for assertion handling gets installed. This will throw the assertion as an `Box2DAssertionError`.  \n    The behaviour can be overwritten with `b2SetAssertFcn`, see the box2d docs for more infos.\n\n\n## Supported OS\n\nWindows:\n- i686\n- x86_64\n\nMacOS:\n- x86_64\n- arm64\n\nLinux:\n- arm\n- arm64\n- x86_64\n- riscv64\n\niOS:\n- arm64 iphoneos\n- arm64 iphonesimulator\n- x86_64 iphonesimulator\n\nAndroid:\n- arm64-v8a\n- armeabi-v7a\n- x86\n- x86_64\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibgdx%2Fgdx-box2d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibgdx%2Fgdx-box2d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibgdx%2Fgdx-box2d/lists"}