SIECS
SIECS is a small archetype ECS library with a compact C23 API, C++23 wrapper, reflection, modules, and an optional REST explorer for tools.
The public user API is exposed by:
The public header is <siecs.h> in all supported language integrations.
The current API is centered around:
| Concept | Role |
|---|---|
| World | Owns all ECS storage. Create with ecs_init(), destroy with ecs_fini(). |
| Entity | ecs_entity_t handle created by ecs_new(). |
| Component | Registered data type identified by ecs_component_t. |
| Query | Cached matcher over archetype tables. |
| Iterator | Batch iterator returned by ecs_query_iter(). |
| System | Scheduled query callback run by ecs_progress(). |
| Observer | Callback triggered for built-in or custom events. |
| Module | Import unit that groups components, systems, and observers. |
| Relation | Component that stores an entity target, such as ChildOf. |
| Resource | One typed value stored on the world, not on entities. |
What to read first
Section titled “What to read first”- Getting started for a complete minimal program.
- ECS theory for the storage and iteration model.
- Components and resources for data modeling.
- Queries for iteration with
ecs_iter_t. - Systems for scheduled logic.
- Observers and events for
EcsOnAdd,EcsOnRemove,EcsOnSet, and custom events. - Performance guide before writing hot-path code.
- API reference for the public symbols.