1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36[package]
name = "gecs"
version = "0.4.0"
authors = ["recatek"]
description = "A generated entity component system."
edition = "2024"
repository = "https://github.com/recatek/gecs"
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = ["ecs", "entity"]
categories = ["data-structures", "game-engines"]
[package.metadata.docs.rs]
all-features = true
[features]
default = []
# Allow archetypes to have up to 32 components (default is 16). Worsens compile times.
32_components = []
# Wrap rather than panic when a version number overflows (4,294,967,295 max). Yields some small perf gains when
# creating/destroying entities, but has a (probabilistically insignificant) risk of allowing reuse of stale handles.
wrapping_version = []
# Adds event tracking for entity creation/destruction. Has the following perf consequences:
# - Adds additional allocation overhead to the ECS world for each per-archetype event queue.
# - Every entity creation or destruction pushes an event to an archetype's event queue.
# - Event queues will accumulate indefinitely and must be regularly drained using clear_events.
events = ['gecs_macros/events']
[dependencies]
gecs_macros = { version = "0.4.0", path = "macros", default-features = false }
seq-macro = { version = "0.3.6" } # For building "variadic" storage