Crate shipyard

Crate shipyard 

Source
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 derive Component
  • 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 !Send and !Sync components
  • 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§

AllStoragesView
Shared view over AllStorages.
AllStoragesViewMut
Exclusive view over AllStorages.
EntitiesView
Shared view over Entities storage.
EntitiesViewMut
Exclusive view over Entities storage.
EntityId
Entity handle.
UniqueStorage
Unique storage.
UniqueView
Shared view over a unique component storage.
UniqueViewMut
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
World contains all data this library will manipulate.

Traits§

AddComponent
Adds components to an existing entity.
AddDistinctComponent
Adds components to an existing entity only if not already present.
AddEntity
Creates a new entity with the given components.
Componentthread_local
Indicates that a struct or enum can be store in the World.
Contains
Checks if an entity has some components.
Delete
Deletes components from an entity.
Get
Retrieves components based on their type and entity id.
IntoIter
Creates view iterators.
IntoWorkload
Turns a collection of systems into a Workload
Remove
Removes components from an entity.
Uniquethread_local
Indicates that a struct or enum can be store a single time in the World.

Derive Macros§

Borrowproc
Group of views that can be borrowed from AllStorages.
BorrowInfoproc
Group of views that can be scheduled in workloads.
Componentproc
Multiple instances can be stored in the World.
IntoIterproc
Creates an iterator for a group of views.
Labelproc
Flags a system or workload.
Uniqueproc
Single instance can be stored in the World.
WorldBorrowproc
Group of views that can be borrowed from World.