A fast entity component system (ECS) for C & C++
Pluggable storages
Allow custom storage plugins configurable per component to address performance and usability issues with the current table-based storage, such as stable pointer requirements, fragmentation, and expensive movement of large components.
Currently, iterating over EcsEnum
and EcsBitmask
constants does not preserve registration order. To improve documentation and code generation, add a vector storing constants in registration order.
Multi-threaded stats
The Flecs stats addon and explorer are not multi-threading (MT) safe; values become inaccurate with multiple threads. Enhancements are needed to support per-thread and aggregated statistics, including wall-clock and CPU time measurements, along with explorer integration.
Enable systems to iterate over multiple queries. Currently, systems can only access queries through components, which prevents the scheduler from optimizing read/write operations.
Improves module system usability by correcting module destructor order and enabling parent module imports from child entities.