apecs
Asyncronous Parallel Entity Component System
apecs
is an entity-component system that supports syncronous and asyncronous, possibly
short-lived systems.
Goals
- productivity
- flexibility
- don't be too magical / explicit API (within reason)
- only pay for what you use
- well rounded performance, competitive with inspirational ECS libraries
- like
specs
, bevy_ecs
, hecs
, legion
, shipyard
Features
- fetch resources from the world asyncronously
- async systems, ie systems that end and/or change over time (for scenes, stories, etc)
- sync systems with failure
- futures
- system data derive macros
- efficient (in space or iteration) component storages
- joins / queries
- parallel joins / queries (inner parallelism)
- parallel system scheduling (outer parallelism)
- tracked storage (components created, updated, modified)
- insert plugins/bundles (groups of systems and resources)
- schedule: system dependencies
- schedule: barriers
Roadmap
- schedule: local thread systems (maybe not necessary?)
- wasm
- make range storage faster
- archtypal storage (why should an ecs only have one or the other?)