Crate specs [−] [src]
SPECS Parallel ECS
This library provides an ECS variant designed for parallel execution and convenient usage. It is highly flexible when it comes to actual component data and the way it is stored and accessed.
Structs
AtomicBitSet |
This is similar to a |
BitSet |
A |
BitSetAnd |
|
CreateEntities |
Entity creation iterator. Will yield new empty entities infinitely. Useful for bulk entity construction, since the locks are only happening once. |
Entities |
A custom entity guard used to hide the the fact that Generations is lazily created and updated. For this to be useful it must be joined with a component. This is because the Generation table includes every possible Generation of Entities even if they have never been |
Entity |
|
EntityBuilder |
Helper builder for entities. |
Generation |
Index generation. When a new entity is placed at an old index,
it bumps the |
HashMapStorage |
HashMap-based storage. Best suited for rare components. |
JoinIter |
|
Planner |
System execution planner. Allows running systems via closures, distributes the load in parallel using a thread pool. |
RunArg |
System closure run-time argument. |
Storage |
A wrapper around the masked storage and the generations vector.
Can be used for safe lookup of components, insertions and removes.
This is what |
SystemInfo |
System information package, where the system itself is accompanied by its name and priority. |
VecStorage |
Vec-based storage, stores the generations of the data in order to match with given entities. Supposed to have maximum performance for the components mostly present in entities. |
World |
The |
Traits
BitSetLike |
A generic interface for |
Component |
Abstract component type. Doesn't have to be Copy or even Clone. |
Join |
The purpose of the |
System |
Generic system that runs through the entities and do something with their components, with an ability to add new entities and delete existing ones. |
UnprotectedStorage |
Used by the framework to quickly join componets |
Type Definitions
Index |
|
Priority |
System scheduling priority. Higehr priority systems are started earlier than lower-priority ones. |