{"id":13732112,"url":"https://github.com/louis-langholtz/PlayRho","last_synced_at":"2025-05-08T06:31:25.243Z","repository":{"id":48497493,"uuid":"96907873","full_name":"louis-langholtz/PlayRho","owner":"louis-langholtz","description":"An interactive physics engine \u0026 library.","archived":false,"fork":false,"pushed_at":"2024-02-28T04:39:44.000Z","size":207307,"stargazers_count":111,"open_issues_count":32,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-02-28T05:31:09.904Z","etag":null,"topics":["box2d","collision-detection","collision-handling","cplusplus","cpp17","game-2d","physics-2d","physics-engine","physics-simulation-library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/louis-langholtz.png","metadata":{"files":{"readme":"README.md","changelog":"Changes.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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}},"created_at":"2017-07-11T15:22:02.000Z","updated_at":"2024-04-14T18:29:44.283Z","dependencies_parsed_at":"2023-02-09T23:15:34.306Z","dependency_job_id":"4384255c-8d88-4e7e-926f-7c2c671b7ccb","html_url":"https://github.com/louis-langholtz/PlayRho","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis-langholtz%2FPlayRho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis-langholtz%2FPlayRho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis-langholtz%2FPlayRho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis-langholtz%2FPlayRho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/louis-langholtz","download_url":"https://codeload.github.com/louis-langholtz/PlayRho/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213757415,"owners_count":15634168,"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":["box2d","collision-detection","collision-handling","cplusplus","cpp17","game-2d","physics-2d","physics-engine","physics-simulation-library"],"created_at":"2024-08-03T02:01:46.684Z","updated_at":"2024-11-14T23:31:14.416Z","avatar_url":"https://github.com/louis-langholtz.png","language":"C++","funding_links":[],"categories":["Physics","C++"],"sub_categories":[],"readme":"\u003c!--\n  This is written for GitHub Flavored Markdown.\n  See: https://github.github.com/gfm/\n--\u003e\n\n# PlayRho\n\n[![linux](https://github.com/louis-langholtz/PlayRho/actions/workflows/linux.yml/badge.svg)](https://github.com/louis-langholtz/PlayRho/actions/workflows/linux.yml)\n[![macos](https://github.com/louis-langholtz/PlayRho/actions/workflows/macos.yml/badge.svg)](https://github.com/louis-langholtz/PlayRho/actions/workflows/macos.yml)\n[![windows](https://github.com/louis-langholtz/PlayRho/actions/workflows/windows.yml/badge.svg)](https://github.com/louis-langholtz/PlayRho/actions/workflows/windows.yml)\n[![API Documentation](https://github.com/louis-langholtz/PlayRho/actions/workflows/docs.yml/badge.svg)](https://github.com/louis-langholtz/PlayRho/actions/workflows/docs.yml)\n[![CodeQL](https://github.com/louis-langholtz/PlayRho/actions/workflows/codeql.yml/badge.svg)](https://github.com/louis-langholtz/PlayRho/actions/workflows/codeql.yml)\n[![Coverage Status](https://coveralls.io/repos/github/louis-langholtz/PlayRho/badge.svg?branch=master)](https://coveralls.io/github/louis-langholtz/PlayRho?branch=master)\n[![latest packaged version(s)](https://repology.org/badge/latest-versions/playrho.svg?header=latest%20packaged)](https://repology.org/project/playrho/versions)\n[![Ask questions at StackOverflow with the tag playrho](https://img.shields.io/badge/stackoverflow-playrho-blue.svg)](https://stackoverflow.com/questions/tagged/playrho)\n\n*A way to play with physical behaviors like the conservation of momentum.*\n\n## Overview\n\nPlayRho is a real-time oriented, platform independent, physics engine and library.\nIt's currently best suited for interactive 2-D games or demos.\nThe project's name is the composition of the verb *play* with the noun *rho*, where *rho* is the Greek letter often used to represent physical quantities like momentum.\n\nPlayRho started off as a port by Louis Langholtz of the Box2D 2.3.2 physics engine to [\"modern C++\"](https://msdn.microsoft.com/en-us/library/hh279654.aspx).\nIt's evolved into a derivative work by Louis and other contributors to the code base.\nLike its predecessor, PlayRho is also [licensed](LICENSE.txt) under a [Zlib License](https://opensource.org/licenses/Zlib).\nMany other open source physics engines exist, like: [Bullet Physics](http://bulletphysics.org/) and [Chipmunk](https://chipmunk-physics.net).\n\nThe PlayRho library component itself requires only a standards compliant C++17 compiler and standard library implementation.\nIt's continuous integration backed and unit test proven to compile and work on at least Linux, macOS, and Windows.\nSee the status badges above for up-to-date status of builds, tests, documentation, code-security, and more.\n\nBy design, new development is done in the default/master branch, merged in by pull requests, and then possibly backported to a release branch if not API breaking.\nWhile the master branch is intended to always be buildable and runnable, its interface is not meant to be stable and it's not meant for use unless you're specifically looking to help develop this project.\nFor use in projects, choose from a more stable [tagged release](https://github.com/louis-langholtz/PlayRho/releases) or a release branch.\n\n## General Goals\n\n- Supporting value semantics over reference semantics. Values are in and pointers are out!\n- Conforming to the [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines), particularly in regards to things like: [avoiding non-constant global variables](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Ri-global), [preferring concrete types](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-concrete), and [preferring pure functions](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-pure).\n- Using and supporting newer features of the C++ language standards up to [C++17](https://en.wikipedia.org/wiki/C%2B%2B17).\n- Openness to contributions including pull requests with new features.\n- Providing a [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) backed, [build automation](https://en.wikipedia.org/wiki/Build_automation) supported, [unit test](https://en.wikipedia.org/wiki/Unit_testing) validated, and [benchmark](https://en.wikipedia.org/wiki/Benchmark_(computing)) assessed, project.\n\n## Additional Resources:\n\n- [Changes Document](Changes.md): provides a run-down of changes between releases.\n- [Building \u0026 Installation Document](INSTALL.md): information on how to build and install this project.\n- [API Documentation](http://louis-langholtz.github.io/PlayRho/API/index.html): application programming interface (API) pages for this project.\n- [Issues Web Interface](https://github.com/louis-langholtz/PlayRho/issues): for bugs reports or feature requests associated with this project.\n- [stackoverflow.com playrho tag](https://stackoverflow.com/questions/tagged/playrho): for questions and answers on this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouis-langholtz%2FPlayRho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flouis-langholtz%2FPlayRho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouis-langholtz%2FPlayRho/lists"}