Skip to content

Indra-db/flecs-ecs-rs

Repository files navigation

Flecs ECS Rust API

Generic badge License CI Flecs C/C++ Docs Discord Badge

Hello there! Welcome to my Rust wrapper around the ECS library called Flecs. This project endeavors to offer Rust developers an intuitive and streamlined interface to harness the full potential of Flecs, the most advanced open source Entity Component System (ECS) library available today.

⚠️ Status: Alpha release happening this month

The project is at a stage where the core functionality of Flecs has been ported successfully and is available to use today. While you're encouraged to explore, test, and provide feedback, please be aware of potential bugs and breaking changes as we continue to refine the API and add new features.

This library has not been advertized nor published yet on crates.io or other platforms until it's ready for a full alpha release.

The progress

For detailed feature progress, please visit the issues page.

  • Core library
  • Addons (most important ones are done!) + Rules
  • Documentation codebase documented with C++ alias. missing 30% is adding Rust syntax to Flecs docs site.
  • Test suite (entity operations + query operations are fully tested)
  • Examples Click me for more info - of the current supported features, all examples are done ✔️

The Aim

The plan is to match feature parity of the C++ API, starting with the core library (done!) while also being fully documented and tested.

Contributions

If you're excited about this project and would like to contribute, or if you've found any bugs, please feel free to raise an issue or submit a pull request. We'd love to have your involvement!

License

MIT license, matching Flecs.

Acknowledgements

A big shoutout to Sander Mertens and all contributors to Flecs for their excellent work on the original library. This project wouldn't be possible without them.


Thank you for stopping by, and stay tuned for updates as we progress on this exciting journey to bridge Rust and Flecs!