apecs 0.2.4

An asyncronous and parallel entity-component system
Documentation

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?)