a simple and kind of inefficient ECS module for C3
Find a file
2025-12-31 11:38:14 +03:00
examples Fixed erroneous spaces and tabs 2025-11-23 21:00:55 +03:00
src Added optional destroy function for component groups 2025-12-31 11:38:14 +03:00
test Added optional destroy function for component groups 2025-12-31 11:38:14 +03:00
.envrc Initial commit 2025-07-17 17:53:56 +03:00
.gitignore Updated .gitignore 2025-09-21 21:12:29 +03:00
flake.lock Upgraded nix flake 2025-11-24 21:01:56 +03:00
flake.nix Added example using raylib 2025-10-17 21:10:33 +03:00
LICENSE Updated LICENSE 2025-08-13 20:17:28 +03:00
manifest.json Converted C3 project to library 2025-09-22 19:19:27 +03:00
project.json Re-added project.json to run tests 2025-10-04 13:00:27 +03:00
README.md Added TODO.md 2025-11-23 20:59:45 +03:00
TODO.md Updated TODO.md 2025-12-28 11:46:23 +03:00

c3-ecs

a simple and kind of inefficient ECS module for C3

installation

  • clone to the library directory of your project
  • add "ecs" to the dependencies field in your project.json
  • use ecs::world module

usage

  • to learn how to use this library, i'd recommend checking the source code; it's only ~700 LOC!
  • check the examples directory for inspiration

running examples

# in project root
cd examples/
ls
# ... pick an example
cd $whichever_example
c3c run

contributing

feel free to open PRs for optimizing code, asking questions, improving documentation, adding examples, etc.

roadmap

see TODO.md