Expand description
Shipyard is an Entity Component System focused on usability and speed.
The user guide is a great place to learn all about Shipyard!
§Features
- parallel (default) — enables workload threading and add parallel iterators
- extended_tuple — extends implementations from the default 10 to 32 tuple size at the cost of 4X build time
- proc (default) — re-exports macros from
shipyard_proc, mainly to deriveComponent - serde1 — adds (de)serialization support with serde
- std (default) — lets Shipyard use the standard library
- thread_local — adds methods and types required to work with
!Sendand!Synccomponents - tracing — reports workload and system execution
Modules§
- advanced
- Items that do not need to be present in lib.rs.
- all_
storages - Contains all storages present in the
World. - borrow
- Allows access to helper types needed to implement
Borrow. - error
- All error types.
- iter
- Contains all items related to storage iteration.
- memory_
usage - Module describing internal memory usage.
- scheduler
- Stores systems from all workloads and their scheduling.
- sparse_
set - Default component storage.
- track
- Module related to storage tracking, like insertion or modification.
- views
- Contains all view types used to borrow components in a
World. - world
- Contains all data this library will manipulate.
Structs§
- AllStorages
View - Shared view over
AllStorages. - AllStorages
View Mut - Exclusive view over
AllStorages. - Entities
View - Shared view over
Entitiesstorage. - Entities
View Mut - Exclusive view over
Entitiesstorage. - Entity
Id - Entity handle.
- Unique
Storage - Unique storage.
- Unique
View - Shared view over a unique component storage.
- Unique
View Mut - Exclusive view over a unique component storage.
- View
- Shared view over a component storage.
- ViewMut
- Exclusive view over a component storage.
- Workload
- Holds information to schedule a group of systems.
- World
Worldcontains all data this library will manipulate.
Traits§
- AddComponent
- Adds components to an existing entity.
- AddDistinct
Component - Adds components to an existing entity only if not already present.
- AddEntity
- Creates a new entity with the given components.
- Component
thread_local - Indicates that a
structorenumcan be store in theWorld. - Contains
- Checks if an entity has some components.
- Delete
- Deletes components from an entity.
- Get
- Retrieves components based on their type and entity id.
- Into
Iter - Creates view iterators.
- Into
Workload - Turns a collection of systems into a
Workload - Remove
- Removes components from an entity.
- Unique
thread_local - Indicates that a
structorenumcan be store a single time in theWorld.
Derive Macros§
- Borrow
proc - Group of views that can be borrowed from
AllStorages. - Borrow
Info proc - Group of views that can be scheduled in workloads.
- Component
proc - Multiple instances can be stored in the
World. - Into
Iter proc - Creates an iterator for a group of views.
- Label
proc - Flags a system or workload.
- Unique
proc - Single instance can be stored in the
World. - World
Borrow proc - Group of views that can be borrowed from
World.