Overview
c-ecs is a compact entity-component-system library for small games, toys, and embedded-style programs where allocation and runtime machinery need to stay predictable.
It ships as a single C99 header, uses caller-owned memory, and leans on compile-time capacities instead of heap allocation. The goal is to make the common ECS workflow feel straightforward without bringing in a framework-sized dependency.
Features
- Drop-in
cecs.hsingle-header library - No heap allocation or external dependencies
- Compile-time capacities for entities, components, resources, and systems
- Type-aware macros for component storage and queries
- Inline query iteration without callback indirection
- Small presets for constrained targets
Technology Stack
- C99
- Make-based test and benchmark targets
- Nix flake for reproducible development shells