Crates.io | rs-ecs |
lib.rs | rs-ecs |
version | 0.7.7 |
source | src |
created_at | 2021-05-11 19:15:25.594905 |
updated_at | 2024-01-28 22:02:58.414196 |
description | reasonably simple entity component system |
homepage | |
repository | https://github.com/adamreichold/rs-ecs |
max_upload_size | |
id | 396231 |
size | 128,792 |
A reasonably simple entity component system (ECS) developed for use in the simulation models of project group EcoEpi at the Helmholtz Centre for Environmental Research. The design is based on hecs but has a significantly reduced API surface.
It also has a few changes and additions specific to our use case:
QueryRef::map
method. This can be useful to efficiently traverse graph-like relations between entities.World::transfer
method. We use this to completely remove entities from the simulation while keeping their full dynamic state around for later inspection.Cloner
to collect clone and copy methods for all component types.World::exchange
method combines removing some and then adding other components for a given entity. This can be used to optimise type-level state machines.QueryRef::par_iter
method. The method is optional, implemented using Rayon and enabled by the rayon
Cargo feature.Licensed under
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.