Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_ecs/Cargo.toml
9374 views
1
[package]
2
name = "bevy_ecs"
3
version = "0.19.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.89.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"]
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"]
40
41
# Enable collecting debug information about systems and components to help with diagnostics
42
debug = ["bevy_utils/debug", "bevy_reflect?/debug"]
43
44
## Enables a more detailed set of traces which may be noisy if left on by default.
45
detailed_trace = ["trace"]
46
47
## Provides system stepping support, allowing them to be paused, stepped, and
48
## other debug operations which can help with diagnosing certain behaviors.
49
bevy_debug_stepping = []
50
51
## Provides more detailed tracking of the cause of various effects within the ECS.
52
## This will often provide more detailed error messages.
53
track_location = []
54
55
# Executor Backend
56
57
## Uses `async-executor` as a task execution backend.
58
## This backend is incompatible with `no_std` targets.
59
async_executor = ["std", "bevy_tasks/async_executor"]
60
61
# Platform Compatibility
62
63
## Allows access to the `std` crate. Enabling this feature will prevent compilation
64
## on `no_std` targets, but provides access to certain additional features on
65
## supported platforms.
66
std = [
67
"bevy_reflect?/std",
68
"bevy_utils/parallel",
69
"bevy_utils/std",
70
"bitflags/std",
71
"concurrent-queue/std",
72
"fixedbitset/std",
73
"indexmap/std",
74
"serde?/std",
75
"nonmax/std",
76
"arrayvec/std",
77
"log/std",
78
"bevy_platform/std",
79
]
80
81
## `critical-section` provides the building blocks for synchronization primitives
82
## on all platforms, including `no_std`.
83
critical-section = [
84
"bevy_platform/critical-section",
85
"bevy_reflect?/critical-section",
86
]
87
88
hotpatching = ["dep:subsecond"]
89
90
[dependencies]
91
bevy_ptr = { path = "../bevy_ptr", version = "0.19.0-dev" }
92
bevy_reflect = { path = "../bevy_reflect", version = "0.19.0-dev", features = [
93
"smallvec",
94
"indexmap",
95
], default-features = false, optional = true }
96
bevy_tasks = { path = "../bevy_tasks", version = "0.19.0-dev", default-features = false }
97
bevy_utils = { path = "../bevy_utils", version = "0.19.0-dev", default-features = false }
98
bevy_ecs_macros = { path = "macros", version = "0.19.0-dev" }
99
bevy_platform = { path = "../bevy_platform", version = "0.19.0-dev", default-features = false, features = [
100
"alloc",
101
] }
102
103
bitflags = { version = "2.3", default-features = false }
104
fixedbitset = { version = "0.5", default-features = false }
105
serde = { version = "1", default-features = false, features = [
106
"alloc",
107
"serde_derive",
108
], optional = true }
109
thiserror = { version = "2", default-features = false }
110
derive_more = { version = "2", default-features = false, features = [
111
"from",
112
"display",
113
"into",
114
"as_ref",
115
] }
116
nonmax = { version = "0.5", default-features = false }
117
arrayvec = { version = "0.7.4", default-features = false }
118
smallvec = { version = "1", default-features = false, features = [
119
"union",
120
"const_generics",
121
] }
122
indexmap = { version = "2.5.0", default-features = false }
123
variadics_please = { version = "1.1", default-features = false }
124
tracing = { version = "0.1", default-features = false, optional = true }
125
log = { version = "0.4", default-features = false }
126
bumpalo = "3"
127
subsecond = { version = "0.7.0-rc.0", optional = true }
128
slotmap = { version = "1.0.7", default-features = false }
129
130
concurrent-queue = { version = "2.5.0", default-features = false }
131
[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]
132
concurrent-queue = { version = "2.5.0", default-features = false, features = [
133
"portable-atomic",
134
] }
135
136
[dev-dependencies]
137
rand = "0.9"
138
static_assertions = "1.1.0"
139
serde_test = "1.0"
140
141
[[example]]
142
name = "events"
143
path = "examples/events.rs"
144
145
[[example]]
146
name = "resources"
147
path = "examples/resources.rs"
148
149
[[example]]
150
name = "change_detection"
151
path = "examples/change_detection.rs"
152
153
[lints]
154
workspace = true
155
156
[package.metadata.docs.rs]
157
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
158
all-features = true
159
features = ["bevy_reflect/auto_register_static"]
160
161