Sobre o projeto

O jBox2D fornece bindings da linguagem Java para o motor de física 2D Box2D, permitindo o uso em desktop (Windows, Linux, macOS), Android e plataformas web. Ele suporta múltiplos backends nativos, incluindo JNI, Java FFM (Foreign Function & Memory API), TeaVM C e WebAssembly. A biblioteca oferece APIs core neutras de plataforma e artefatos específicos de runtime para cada ambiente de destino. A integração com libGDX está incluída como um artefato jBox2D, enquanto o suporte ao libfdx é fornecido através de uma extensão separada publicada pelo projeto libFDX. Os bindings são gerados a partir de um contrato WebIDL para manter um alinhamento próximo com o Box2D upstream. Aplicações de exemplo portam demos oficiais do Box2D e rodam em todas as plataformas suportadas usando frontends libGDX ou libfdx, que suportam OpenGL, WebGPU e Vulkan onde disponível. A API segue o modelo de propriedade baseado em handles do Box2D e inclui conversores que evitam alocações temporárias durante loops de renderização. A documentação abrange a compilação a partir do código-fonte, a execução de exemplos e a revisão do contrato de binding. Embora funcional e em desenvolvimento ativo, as APIs podem mudar entre versões. Licenciado sob Apache 2.0; o Box2D upstream é licenciado sob MIT.