{"id":16221564,"url":"https://github.com/amethyst/specs-physics","last_synced_at":"2025-04-09T13:10:57.377Z","repository":{"id":57668065,"uuid":"189386437","full_name":"amethyst/specs-physics","owner":"amethyst","description":"nphysics integration for the Specs entity component system","archived":false,"fork":false,"pushed_at":"2020-05-04T12:46:13.000Z","size":300,"stargazers_count":96,"open_issues_count":8,"forks_count":30,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-02T07:58:14.620Z","etag":null,"topics":["ecs","physics","physics-engine","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/amethyst.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}},"created_at":"2019-05-30T09:36:38.000Z","updated_at":"2025-03-14T00:26:16.000Z","dependencies_parsed_at":"2022-09-07T15:41:58.260Z","dependency_job_id":null,"html_url":"https://github.com/amethyst/specs-physics","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspecs-physics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspecs-physics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspecs-physics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst%2Fspecs-physics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amethyst","download_url":"https://codeload.github.com/amethyst/specs-physics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045245,"owners_count":21038554,"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":["ecs","physics","physics-engine","rust","rust-lang"],"created_at":"2024-10-10T12:08:54.636Z","updated_at":"2025-04-09T13:10:57.342Z","avatar_url":"https://github.com/amethyst.png","language":"Rust","readme":"# specs-physics\n\n[![Build Status][bi]][bl] [![Crates.io][ci]][cl] ![MIT/Apache][li] [![Docs.rs][di]][dl]\n\n[bi]: https://travis-ci.com/bamling/specs-physics.svg?branch=master\n[bl]: https://travis-ci.com/bamling/specs-physics\n\n[ci]: https://img.shields.io/crates/v/specs-physics.svg\n[cl]: https://crates.io/crates/specs-physics/\n\n[li]: https://img.shields.io/crates/l/specs-physics.svg\n\n[di]: https://docs.rs/specs-physics/badge.svg\n[dl]: https://docs.rs/specs-physics/\n\n**specs-physics** aims to be an easily usable and extendable [nphysics](https://www.nphysics.org/) physics engine integration for applications and games that utilise the [Specs ECS](https://slide-rs.github.io/specs/).\n\nThe dream is to *simply* create `Entity`s with a set of configurable `Component`s and have most of your physics covered, be it collision/proximity detection, velocity and acceleration or gravity.\n\n\n### Examples\n\nFull examples can be found under [src/examples](https://github.com/bamling/specs-physics/tree/master/examples). If anything is missing or unclear, feel free to open an issue or give me a poke!\n\n## Contributing \n\nI'd appreciate any kind of contribution to this project, be it feature requests, bugs/issues, pull requests, documentation, tests or examples! \n\nPlease just try to format any code changes according to the [rustfmt.toml](https://github.com/bamling/specs-physics/blob/master/rustfmt.toml) rules. They're not exactly set in stone and I'm open for suggestions, but let's try to keep things tidy!\n\n## Current Roadmap\n\nFull *TODO* sheet can be found in [this nphysics issue][todo]\n\n- [x] RigidBody Components\n- [x] Collider Components\n- [x] Proximity and Contact EventChannels\n- [x] External force property\n- [x] `log` based logging\n- [ ] Handling Body Activation \u0026 Sleeping\n- [ ] Multibody-based Component Joints\n- [ ] Force generator inversion of control\n- [ ] Time scale and simulation pausing\n\nInvestigating:\n\n- [ ] Proximity \u0026 Curve-based external force utility\n- [ ] Constraint-based Joints\n- [ ] Kinematics\n\n[todo]: https://github.com/rustsim/nphysics/issues/149\n\n## License\n\nDistributed under the MIT License. See [LICENSE](https://github.com/bamling/specs-physics/blob/master/LICENSE) for more information.\n\n## Acknowledgments\n\nThis project is heavily inspired by [nphysics-ecs-dumb](https://github.com/distransient/nphysics-ecs-dumb); they did most of the heavy lifting, I'm just building up on what they have started!\n\n**Special thanks to:**\n- [distransient](https://github.com/distransient)\n- [jojolepro](https://github.com/jojolepro)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst%2Fspecs-physics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famethyst%2Fspecs-physics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst%2Fspecs-physics/lists"}