Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_ecs/Cargo.toml
6595 views
1
[package]
2
name = "bevy_ecs"
3
version = "0.17.0-dev"
4
edition = "2024"
5
description = "Bevy Engine's entity component system"
6
homepage = "https://bevy.org"
7
repository = "https://github.com/bevyengine/bevy"
8
license = "MIT OR Apache-2.0"
9
keywords = ["ecs", "game", "bevy"]
10
categories = ["game-engines", "data-structures"]
11
rust-version = "1.86.0"
12
13
[features]
14
default = ["std", "bevy_reflect", "async_executor", "backtrace"]
15
16
# Functionality
17
18
## Enables multithreading support. Schedules will attempt to run systems on
19
## multiple threads whenever possible.
20
multi_threaded = ["bevy_tasks/multi_threaded", "dep:arrayvec"]
21
22
## Adds serialization support through `serde`.
23
serialize = ["dep:serde", "bevy_platform/serialize", "indexmap/serde"]
24
25
## Adds runtime reflection support using `bevy_reflect`.
26
bevy_reflect = ["dep:bevy_reflect"]
27
28
## Extends reflection support to functions.
29
reflect_functions = ["bevy_reflect", "bevy_reflect/functions"]
30
reflect_auto_register = ["bevy_reflect", "bevy_reflect/auto_register"]
31
32
## Enables automatic backtrace capturing in BevyError
33
backtrace = ["std"]
34
35
# Debugging Features
36
37
## Enables `tracing` integration, allowing spans and other metrics to be reported
38
## through that framework.
39
trace = ["std", "dep:tracing", "bevy_utils/debug"]
40
41
## Enables a more detailed set of traces which may be noisy if left on by default.
42
detailed_trace = ["trace"]
43
44
## Provides system stepping support, allowing them to be paused, stepped, and
45
## other debug operations which can help with diagnosing certain behaviors.
46
bevy_debug_stepping = []
47
48
## Provides more detailed tracking of the cause of various effects within the ECS.
49
## This will often provide more detailed error messages.
50
track_location = []
51
52
# Executor Backend
53
54
## Uses `async-executor` as a task execution backend.
55
## This backend is incompatible with `no_std` targets.
56
async_executor = ["std", "bevy_tasks/async_executor"]
57
58
# Platform Compatibility
59
60
## Allows access to the `std` crate. Enabling this feature will prevent compilation
61
## on `no_std` targets, but provides access to certain additional features on
62
## supported platforms.
63
std = [
64
"bevy_reflect?/std",
65
"bevy_utils/parallel",
66
"bevy_utils/std",
67
"bitflags/std",
68
"concurrent-queue/std",
69
"fixedbitset/std",
70
"indexmap/std",
71
"serde?/std",
72
"nonmax/std",
73
"arrayvec?/std",
74
"log/std",
75
"bevy_platform/std",
76
]
77
78
## `critical-section` provides the building blocks for synchronization primitives
79
## on all platforms, including `no_std`.
80
critical-section = [
81
"bevy_platform/critical-section",
82
"bevy_reflect?/critical-section",
83
]
84
85
hotpatching = ["dep:subsecond"]
86
87
[dependencies]
88
bevy_ptr = { path = "../bevy_ptr", version = "0.17.0-dev" }
89
bevy_reflect = { path = "../bevy_reflect", version = "0.17.0-dev", features = [
90
"smallvec",
91
], default-features = false, optional = true }
92
bevy_tasks = { path = "../bevy_tasks", version = "0.17.0-dev", default-features = false }
93
bevy_utils = { path = "../bevy_utils", version = "0.17.0-dev", default-features = false }
94
bevy_ecs_macros = { path = "macros", version = "0.17.0-dev" }
95
bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-features = false, features = [
96
"alloc",
97
] }
98
99
bitflags = { version = "2.3", default-features = false }
100
fixedbitset = { version = "0.5", default-features = false }
101
serde = { version = "1", default-features = false, features = [
102
"alloc",
103
"serde_derive",
104
], optional = true }
105
thiserror = { version = "2", default-features = false }
106
derive_more = { version = "2", default-features = false, features = [
107
"from",
108
"display",
109
"into",
110
"as_ref",
111
] }
112
nonmax = { version = "0.5", default-features = false }
113
arrayvec = { version = "0.7.4", default-features = false, optional = true }
114
smallvec = { version = "1", default-features = false, features = [
115
"union",
116
"const_generics",
117
] }
118
indexmap = { version = "2.5.0", default-features = false }
119
variadics_please = { version = "1.1", default-features = false }
120
tracing = { version = "0.1", default-features = false, optional = true }
121
log = { version = "0.4", default-features = false }
122
bumpalo = "3"
123
subsecond = { version = "0.7.0-alpha.1", optional = true }
124
slotmap = { version = "1.0.7", default-features = false }
125
126
concurrent-queue = { version = "2.5.0", default-features = false }
127
[target.'cfg(not(all(target_has_atomic = "8", target_has_atomic = "16", target_has_atomic = "32", target_has_atomic = "64", target_has_atomic = "ptr")))'.dependencies]
128
concurrent-queue = { version = "2.5.0", default-features = false, features = [
129
"portable-atomic",
130
] }
131
132
[dev-dependencies]
133
rand = "0.9"
134
static_assertions = "1.1.0"
135
serde_test = "1.0"
136
137
[[example]]
138
name = "events"
139
path = "examples/events.rs"
140
141
[[example]]
142
name = "resources"
143
path = "examples/resources.rs"
144
145
[[example]]
146
name = "change_detection"
147
path = "examples/change_detection.rs"
148
149
[lints]
150
workspace = true
151
152
[package.metadata.docs.rs]
153
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
154
all-features = true
155
156