ECS
Zenyx should be backed by an ECS. ECS is a data-driven architecture for games which allows massive optimisations of cache and parallelisation as each system operating on data has to declare its dependencies beforehand.
Currently, we are planning to use sparse sets for the backing datastructure of components. So the first task would be to implement efficient sparse sets for the core engine. A nice feature while doing this would be per backing array allocators as this helps to reduce copying when adding and resizing components.
No due date
40% Completed
WIP: feat(ecs): add basic sparse set per component ECS
All checks were successful
Build Zenyx ⚡ / 🧪 Run Cargo Tests (push) Successful in 4m9s
Build Zenyx ⚡ / 🧪 Run Cargo Tests (pull_request) Successful in 4m14s
Build Zenyx ⚡ / 🏗️ Build x86_64-unknown-linux-gnu (push) Successful in 8m12s
Build Zenyx ⚡ / 🏗️ Build aarch64-unknown-linux-gnu (push) Successful in 9m13s
Build Zenyx ⚡ / 🏗️ Build x86_64-pc-windows-msvc (push) Successful in 9m11s
Build Zenyx ⚡ / 🏗️ Build aarch64-pc-windows-msvc (push) Successful in 9m27s
Build Zenyx ⚡ / 🏗️ Build aarch64-pc-windows-msvc (pull_request) Successful in 7m51s
Build Zenyx ⚡ / 🏗️ Build x86_64-pc-windows-msvc (pull_request) Successful in 8m39s
Build Zenyx ⚡ / 🏗️ Build x86_64-unknown-linux-gnu (pull_request) Successful in 8m28s
Build Zenyx ⚡ / 🏗️ Build aarch64-unknown-linux-gnu (pull_request) Successful in 9m7s