Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_internal/Cargo.toml
6595 views
1
[package]
2
name = "bevy_internal"
3
version = "0.17.0-dev"
4
edition = "2024"
5
description = "An internal Bevy crate used to facilitate optional dynamic linking via the 'dynamic_linking' feature"
6
homepage = "https://bevy.org"
7
repository = "https://github.com/bevyengine/bevy"
8
license = "MIT OR Apache-2.0"
9
keywords = ["game", "engine", "gamedev", "graphics", "bevy"]
10
categories = ["game-engines", "graphics", "gui", "rendering"]
11
12
[features]
13
trace = [
14
"bevy_app/trace",
15
"bevy_asset?/trace",
16
"bevy_core_pipeline?/trace",
17
"bevy_anti_alias?/trace",
18
"bevy_ecs/trace",
19
"bevy_log/trace",
20
"bevy_pbr?/trace",
21
"bevy_render?/trace",
22
"bevy_winit?/trace",
23
]
24
trace_chrome = ["bevy_log/tracing-chrome"]
25
trace_tracy = ["bevy_render?/tracing-tracy", "bevy_log/tracing-tracy"]
26
trace_tracy_memory = ["bevy_log/trace_tracy_memory", "trace", "trace_tracy"]
27
detailed_trace = ["bevy_ecs/detailed_trace", "bevy_render?/detailed_trace"]
28
29
sysinfo_plugin = ["bevy_diagnostic/sysinfo_plugin"]
30
31
# Enables compressed KTX2 UASTC texture output on the asset processor
32
compressed_image_saver = ["bevy_image/compressed_image_saver"]
33
34
# For ktx2 supercompression
35
zlib = ["bevy_image/zlib"]
36
zstd = ["bevy_image/zstd"]
37
zstd_rust = ["bevy_image/zstd_rust"]
38
zstd_c = ["bevy_image/zstd_c"]
39
40
# Image format support (HDR and PNG enabled by default)
41
basis-universal = ["bevy_image/basis-universal"]
42
bmp = ["bevy_image/bmp"]
43
ff = ["bevy_image/ff"]
44
gif = ["bevy_image/gif"]
45
ico = ["bevy_image/ico"]
46
jpeg = ["bevy_image/jpeg"]
47
png = ["bevy_image/png"]
48
pnm = ["bevy_image/pnm"]
49
qoi = ["bevy_image/qoi"]
50
tga = ["bevy_image/tga"]
51
tiff = ["bevy_image/tiff"]
52
webp = ["bevy_image/webp"]
53
dds = ["bevy_image/dds"]
54
exr = ["bevy_image/exr"]
55
hdr = ["bevy_image/hdr"]
56
ktx2 = ["bevy_image/ktx2"]
57
58
# Enable SPIR-V passthrough
59
spirv_shader_passthrough = ["bevy_render/spirv_shader_passthrough"]
60
61
# Statically linked DXC shader compiler for DirectX 12
62
# TODO: When wgpu switches to DirectX 12 instead of Vulkan by default on windows, make this a default feature
63
statically-linked-dxc = ["bevy_render/statically-linked-dxc"]
64
65
# Forces the wgpu instance to be initialized using the raw Vulkan HAL, enabling additional configuration
66
raw_vulkan_init = ["bevy_render/raw_vulkan_init"]
67
68
# Include tonemapping LUT KTX2 files.
69
tonemapping_luts = [
70
"bevy_core_pipeline?/tonemapping_luts",
71
"ktx2",
72
"bevy_image/zstd",
73
]
74
75
# Include SMAA LUT KTX2 Files
76
smaa_luts = ["bevy_anti_alias?/smaa_luts", "ktx2", "bevy_image/zstd"]
77
78
# Include Bluenoise texture for environment map generation.
79
bluenoise_texture = ["bevy_pbr?/bluenoise_texture", "ktx2", "bevy_image/zstd"]
80
81
# NVIDIA Deep Learning Super Sampling
82
dlss = ["bevy_anti_alias/dlss", "bevy_solari?/dlss"]
83
84
# Forcibly disable DLSS so that cargo build --all-features works without the DLSS SDK being installed. Not meant for users.
85
force_disable_dlss = [
86
"bevy_anti_alias?/force_disable_dlss",
87
"bevy_solari?/force_disable_dlss",
88
]
89
90
# Audio format support (vorbis is enabled by default)
91
flac = ["bevy_audio/flac"]
92
mp3 = ["bevy_audio/mp3"]
93
vorbis = ["bevy_audio/vorbis"]
94
wav = ["bevy_audio/wav"]
95
symphonia-aac = ["bevy_audio/symphonia-aac"]
96
symphonia-all = ["bevy_audio/symphonia-all"]
97
symphonia-flac = ["bevy_audio/symphonia-flac"]
98
symphonia-isomp4 = ["bevy_audio/symphonia-isomp4"]
99
symphonia-vorbis = ["bevy_audio/symphonia-vorbis"]
100
symphonia-wav = ["bevy_audio/symphonia-wav"]
101
102
# Shader formats
103
shader_format_glsl = [
104
"bevy_shader/shader_format_glsl",
105
"bevy_pbr?/shader_format_glsl",
106
]
107
shader_format_spirv = [
108
"bevy_shader/shader_format_spirv",
109
"bevy_render?/shader_format_spirv",
110
]
111
shader_format_wesl = ["bevy_shader/shader_format_wesl"]
112
113
serialize = [
114
"bevy_a11y?/serialize",
115
"bevy_color?/serialize",
116
"bevy_ecs/serialize",
117
"bevy_image?/serialize",
118
"bevy_input/serialize",
119
"bevy_math/serialize",
120
"bevy_scene?/serialize",
121
"bevy_time/serialize",
122
"bevy_transform/serialize",
123
"bevy_ui?/serialize",
124
"bevy_window?/serialize",
125
"bevy_winit?/serialize",
126
"bevy_platform/serialize",
127
"bevy_render/serialize",
128
]
129
multi_threaded = [
130
"std",
131
"bevy_asset?/multi_threaded",
132
"bevy_ecs/multi_threaded",
133
"bevy_render?/multi_threaded",
134
"bevy_tasks/multi_threaded",
135
]
136
async-io = ["std", "bevy_tasks/async-io"]
137
138
# Display server protocol support (X11 is enabled by default)
139
wayland = ["bevy_winit/wayland"]
140
x11 = ["bevy_winit/x11"]
141
142
# Android activity support (choose one)
143
android-native-activity = ["bevy_winit/android-native-activity"]
144
android-game-activity = ["bevy_winit/android-game-activity"]
145
146
# Transmission textures in `StandardMaterial`:
147
pbr_transmission_textures = [
148
"bevy_pbr?/pbr_transmission_textures",
149
"bevy_gltf?/pbr_transmission_textures",
150
]
151
152
# Clustered Decal support
153
pbr_clustered_decals = ["bevy_pbr?/pbr_clustered_decals"]
154
155
# Light Texture support
156
pbr_light_textures = [
157
"bevy_pbr?/pbr_clustered_decals",
158
"bevy_pbr?/pbr_light_textures",
159
]
160
161
# Multi-layer material textures in `StandardMaterial`:
162
pbr_multi_layer_material_textures = [
163
"bevy_pbr?/pbr_multi_layer_material_textures",
164
"bevy_gltf?/pbr_multi_layer_material_textures",
165
]
166
167
# Anisotropy texture in `StandardMaterial`:
168
pbr_anisotropy_texture = [
169
"bevy_pbr?/pbr_anisotropy_texture",
170
"bevy_gltf?/pbr_anisotropy_texture",
171
]
172
173
# Percentage-closer soft shadows
174
experimental_pbr_pcss = ["bevy_pbr?/experimental_pbr_pcss"]
175
176
# Specular textures in `StandardMaterial`:
177
pbr_specular_textures = [
178
"bevy_pbr?/pbr_specular_textures",
179
"bevy_gltf?/pbr_specular_textures",
180
]
181
182
# Optimise for WebGL2
183
webgl = [
184
"bevy_core_pipeline?/webgl",
185
"bevy_anti_alias?/webgl",
186
"bevy_pbr?/webgl",
187
"bevy_render?/webgl",
188
"bevy_gizmos?/webgl",
189
"bevy_sprite_render?/webgl",
190
]
191
192
webgpu = [
193
"bevy_core_pipeline?/webgpu",
194
"bevy_anti_alias?/webgpu",
195
"bevy_pbr?/webgpu",
196
"bevy_render?/webgpu",
197
"bevy_gizmos?/webgpu",
198
"bevy_sprite_render?/webgpu",
199
]
200
201
# Enable systems that allow for automated testing on CI
202
bevy_ci_testing = ["bevy_dev_tools/bevy_ci_testing", "bevy_render?/ci_limits"]
203
204
# Enable animation support, and glTF animation loading
205
animation = [
206
"bevy_animation",
207
"bevy_mesh",
208
"bevy_color",
209
"bevy_gltf?/bevy_animation",
210
]
211
212
bevy_shader = ["dep:bevy_shader"]
213
bevy_image = ["dep:bevy_image", "bevy_color", "bevy_asset"]
214
bevy_sprite = ["dep:bevy_sprite", "bevy_camera", "bevy_gizmos?/bevy_sprite"]
215
bevy_text = [
216
"dep:bevy_text",
217
"bevy_image",
218
"bevy_sprite?/bevy_text",
219
"bevy_sprite_render?/bevy_text",
220
]
221
bevy_ui = ["dep:bevy_ui", "bevy_text", "bevy_sprite"]
222
bevy_mesh = ["dep:bevy_mesh", "bevy_image"]
223
bevy_window = ["dep:bevy_window", "dep:bevy_a11y", "bevy_image"]
224
bevy_winit = ["dep:bevy_winit", "bevy_window"]
225
bevy_camera = ["dep:bevy_camera", "bevy_mesh", "bevy_window"]
226
bevy_scene = ["dep:bevy_scene", "bevy_asset"]
227
bevy_light = ["dep:bevy_light", "bevy_camera"]
228
bevy_render = [
229
"dep:bevy_render",
230
"bevy_camera",
231
"bevy_shader",
232
"bevy_color/wgpu-types",
233
"bevy_color/encase",
234
"bevy_gizmos?/bevy_render",
235
]
236
bevy_core_pipeline = ["dep:bevy_core_pipeline", "bevy_render"]
237
bevy_anti_alias = ["dep:bevy_anti_alias", "bevy_core_pipeline"]
238
bevy_post_process = ["dep:bevy_post_process", "bevy_core_pipeline"]
239
bevy_pbr = [
240
"dep:bevy_pbr",
241
"bevy_light",
242
"bevy_core_pipeline",
243
"bevy_gizmos?/bevy_pbr",
244
]
245
bevy_sprite_render = [
246
"dep:bevy_sprite_render",
247
"bevy_sprite",
248
"bevy_core_pipeline",
249
"bevy_gizmos?/bevy_sprite_render",
250
]
251
bevy_ui_render = ["dep:bevy_ui_render", "bevy_sprite_render", "bevy_ui"]
252
bevy_solari = ["dep:bevy_solari", "bevy_pbr"]
253
bevy_gizmos = ["dep:bevy_gizmos", "bevy_camera"]
254
bevy_gltf = ["dep:bevy_gltf", "bevy_scene", "bevy_pbr"]
255
256
# Used to disable code that is unsupported when Bevy is dynamically linked
257
dynamic_linking = ["bevy_diagnostic/dynamic_linking"]
258
259
# Enable using a shared stdlib for cxx on Android.
260
android_shared_stdcxx = ["bevy_audio/android_shared_stdcxx"]
261
262
# Enable AccessKit on Unix backends (currently only works with experimental
263
# screen readers and forks.)
264
accesskit_unix = ["bevy_winit/accesskit_unix"]
265
266
# Enable assertions to check the validity of parameters passed to glam
267
glam_assert = ["bevy_math/glam_assert"]
268
269
# Enable assertions in debug builds to check the validity of parameters passed to glam
270
debug_glam_assert = ["bevy_math/debug_glam_assert"]
271
272
default_font = ["bevy_text?/default_font"]
273
274
# Enables downloading assets from HTTP sources
275
http = ["bevy_asset?/http"]
276
277
# Enables downloading assets from HTTPS sources
278
https = ["bevy_asset?/https"]
279
280
# Enable caching downloaded assets on the filesystem. NOTE: this cache currently never invalidates entries!
281
web_asset_cache = ["bevy_asset?/web_asset_cache"]
282
283
# Enables the built-in asset processor for processed assets.
284
asset_processor = ["bevy_asset?/asset_processor"]
285
286
# Enables watching the filesystem for Bevy Asset hot-reloading
287
file_watcher = ["bevy_asset?/file_watcher"]
288
289
# Enables watching embedded files for Bevy Asset hot-reloading
290
embedded_watcher = ["bevy_asset?/embedded_watcher"]
291
292
# Enable system stepping support
293
bevy_debug_stepping = [
294
"bevy_ecs/bevy_debug_stepping",
295
"bevy_app/bevy_debug_stepping",
296
]
297
298
# Enables the meshlet renderer for dense high-poly scenes (experimental)
299
meshlet = ["bevy_pbr?/meshlet"]
300
301
# Enables processing meshes into meshlet meshes for bevy_pbr
302
meshlet_processor = ["bevy_pbr?/meshlet_processor"]
303
304
# Provides a collection of developer tools
305
bevy_dev_tools = ["dep:bevy_dev_tools"]
306
307
# Enable support for the Bevy Remote Protocol
308
bevy_remote = ["dep:bevy_remote", "serialize"]
309
310
# Provides picking functionality
311
bevy_picking = ["dep:bevy_picking"]
312
313
# Provides a mesh picking backend
314
bevy_mesh_picking_backend = [
315
"bevy_picking",
316
"bevy_picking/bevy_mesh_picking_backend",
317
]
318
319
# Provides a sprite picking backend
320
bevy_sprite_picking_backend = [
321
"bevy_picking",
322
"bevy_sprite/bevy_sprite_picking_backend",
323
]
324
325
# Provides a UI picking backend
326
bevy_ui_picking_backend = ["bevy_picking", "bevy_ui/bevy_ui_picking_backend"]
327
328
# Provides a UI debug overlay
329
bevy_ui_debug = ["bevy_ui_render?/bevy_ui_debug"]
330
331
# Enable built in global state machines
332
bevy_state = ["dep:bevy_state"]
333
334
# Enables source location tracking for change detection, which can assist with debugging
335
track_location = ["bevy_ecs/track_location"]
336
337
# Enable function reflection
338
reflect_functions = [
339
"bevy_reflect/functions",
340
"bevy_app/reflect_functions",
341
"bevy_ecs/reflect_functions",
342
]
343
344
# Enable automatic reflect registration using inventory.
345
reflect_auto_register = [
346
"bevy_reflect/auto_register_inventory",
347
"bevy_app/reflect_auto_register",
348
"bevy_ecs/reflect_auto_register",
349
]
350
351
# Enable automatic reflect registration without inventory. See `reflect::load_type_registrations` for more info.
352
reflect_auto_register_static = [
353
"bevy_reflect/auto_register_static",
354
"bevy_app/reflect_auto_register",
355
"bevy_ecs/reflect_auto_register",
356
]
357
358
# Enable documentation reflection
359
reflect_documentation = ["bevy_reflect/documentation"]
360
361
# Enable custom cursor support
362
custom_cursor = ["bevy_window/custom_cursor", "bevy_winit/custom_cursor"]
363
364
# Experimental support for nodes that are ignored for UI layouting
365
ghost_nodes = ["bevy_ui/ghost_nodes"]
366
367
# Allows access to the `std` crate. Enabling this feature will prevent compilation
368
# on `no_std` targets, but provides access to certain additional features on
369
# supported platforms.
370
std = [
371
"bevy_a11y?/std",
372
"bevy_app/std",
373
"bevy_color?/std",
374
"bevy_diagnostic/std",
375
"bevy_ecs/std",
376
"bevy_input/std",
377
"bevy_input_focus?/std",
378
"bevy_math/std",
379
"bevy_platform/std",
380
"bevy_reflect/std",
381
"bevy_state?/std",
382
"bevy_time/std",
383
"bevy_transform/std",
384
"bevy_window?/std",
385
]
386
387
# `critical-section` provides the building blocks for synchronization primitives
388
# on all platforms, including `no_std`.
389
critical-section = [
390
"bevy_a11y?/critical-section",
391
"bevy_app/critical-section",
392
"bevy_diagnostic/critical-section",
393
"bevy_ecs/critical-section",
394
"bevy_input/critical-section",
395
"bevy_input_focus?/critical-section",
396
"bevy_platform/critical-section",
397
"bevy_reflect/critical-section",
398
"bevy_state?/critical-section",
399
"bevy_time/critical-section",
400
]
401
402
# Uses the `libm` maths library instead of the one provided in `std` and `core`.
403
libm = [
404
"bevy_color?/libm",
405
"bevy_input/libm",
406
"bevy_input_focus?/libm",
407
"bevy_math/libm",
408
"bevy_transform/libm",
409
"bevy_window?/libm",
410
]
411
412
# Uses `async-executor` as a task execution backend.
413
# This backend is incompatible with `no_std` targets.
414
async_executor = [
415
"std",
416
"bevy_tasks/async_executor",
417
"bevy_ecs/async_executor",
418
"bevy_transform/async_executor",
419
]
420
421
# Enables use of browser APIs.
422
# Note this is currently only applicable on `wasm32` architectures.
423
web = ["bevy_app/web", "bevy_platform/web", "bevy_reflect/web"]
424
425
hotpatching = ["bevy_app/hotpatching", "bevy_ecs/hotpatching"]
426
427
debug = ["bevy_utils/debug"]
428
429
[dependencies]
430
# bevy (no_std)
431
bevy_app = { path = "../bevy_app", version = "0.17.0-dev", default-features = false, features = [
432
"bevy_reflect",
433
] }
434
bevy_derive = { path = "../bevy_derive", version = "0.17.0-dev", default-features = false }
435
bevy_diagnostic = { path = "../bevy_diagnostic", version = "0.17.0-dev", default-features = false }
436
bevy_ecs = { path = "../bevy_ecs", version = "0.17.0-dev", default-features = false, features = [
437
"bevy_reflect",
438
] }
439
bevy_input = { path = "../bevy_input", version = "0.17.0-dev", default-features = false, features = [
440
"bevy_reflect",
441
] }
442
bevy_math = { path = "../bevy_math", version = "0.17.0-dev", default-features = false, features = [
443
"bevy_reflect",
444
"nostd-libm",
445
] }
446
bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-features = false, features = [
447
"alloc",
448
] }
449
bevy_ptr = { path = "../bevy_ptr", version = "0.17.0-dev", default-features = false }
450
bevy_reflect = { path = "../bevy_reflect", version = "0.17.0-dev", default-features = false, features = [
451
"smallvec",
452
] }
453
bevy_time = { path = "../bevy_time", version = "0.17.0-dev", default-features = false, features = [
454
"bevy_reflect",
455
] }
456
bevy_transform = { path = "../bevy_transform", version = "0.17.0-dev", default-features = false, features = [
457
"bevy-support",
458
"bevy_reflect",
459
] }
460
bevy_utils = { path = "../bevy_utils", version = "0.17.0-dev", default-features = false }
461
bevy_tasks = { path = "../bevy_tasks", version = "0.17.0-dev", default-features = false }
462
463
# bevy (std required)
464
bevy_log = { path = "../bevy_log", version = "0.17.0-dev", optional = true }
465
466
# bevy (optional)
467
bevy_a11y = { path = "../bevy_a11y", optional = true, version = "0.17.0-dev", features = [
468
"bevy_reflect",
469
] }
470
bevy_animation = { path = "../bevy_animation", optional = true, version = "0.17.0-dev" }
471
bevy_asset = { path = "../bevy_asset", optional = true, version = "0.17.0-dev" }
472
bevy_audio = { path = "../bevy_audio", optional = true, version = "0.17.0-dev" }
473
bevy_color = { path = "../bevy_color", optional = true, version = "0.17.0-dev", default-features = false, features = [
474
"alloc",
475
"bevy_reflect",
476
] }
477
bevy_core_pipeline = { path = "../bevy_core_pipeline", optional = true, version = "0.17.0-dev" }
478
bevy_post_process = { path = "../bevy_post_process", optional = true, version = "0.17.0-dev" }
479
bevy_core_widgets = { path = "../bevy_core_widgets", optional = true, version = "0.17.0-dev" }
480
bevy_anti_alias = { path = "../bevy_anti_alias", optional = true, version = "0.17.0-dev" }
481
bevy_dev_tools = { path = "../bevy_dev_tools", optional = true, version = "0.17.0-dev" }
482
bevy_gilrs = { path = "../bevy_gilrs", optional = true, version = "0.17.0-dev" }
483
bevy_gizmos = { path = "../bevy_gizmos", optional = true, version = "0.17.0-dev", default-features = false }
484
bevy_gltf = { path = "../bevy_gltf", optional = true, version = "0.17.0-dev" }
485
bevy_feathers = { path = "../bevy_feathers", optional = true, version = "0.17.0-dev" }
486
bevy_image = { path = "../bevy_image", optional = true, version = "0.17.0-dev" }
487
bevy_shader = { path = "../bevy_shader", optional = true, version = "0.17.0-dev" }
488
bevy_mesh = { path = "../bevy_mesh", optional = true, version = "0.17.0-dev" }
489
bevy_camera = { path = "../bevy_camera", optional = true, version = "0.17.0-dev" }
490
bevy_light = { path = "../bevy_light", optional = true, version = "0.17.0-dev" }
491
bevy_input_focus = { path = "../bevy_input_focus", optional = true, version = "0.17.0-dev", default-features = false, features = [
492
"bevy_reflect",
493
] }
494
bevy_pbr = { path = "../bevy_pbr", optional = true, version = "0.17.0-dev" }
495
bevy_picking = { path = "../bevy_picking", optional = true, version = "0.17.0-dev" }
496
bevy_remote = { path = "../bevy_remote", optional = true, version = "0.17.0-dev" }
497
bevy_render = { path = "../bevy_render", optional = true, version = "0.17.0-dev" }
498
bevy_scene = { path = "../bevy_scene", optional = true, version = "0.17.0-dev" }
499
bevy_solari = { path = "../bevy_solari", optional = true, version = "0.17.0-dev" }
500
bevy_sprite = { path = "../bevy_sprite", optional = true, version = "0.17.0-dev" }
501
bevy_sprite_render = { path = "../bevy_sprite_render", optional = true, version = "0.17.0-dev" }
502
bevy_state = { path = "../bevy_state", optional = true, version = "0.17.0-dev", default-features = false, features = [
503
"bevy_app",
504
"bevy_reflect",
505
] }
506
bevy_text = { path = "../bevy_text", optional = true, version = "0.17.0-dev" }
507
bevy_ui = { path = "../bevy_ui", optional = true, version = "0.17.0-dev" }
508
bevy_ui_render = { path = "../bevy_ui_render", optional = true, version = "0.17.0-dev" }
509
bevy_window = { path = "../bevy_window", optional = true, version = "0.17.0-dev", default-features = false, features = [
510
"bevy_reflect",
511
] }
512
bevy_winit = { path = "../bevy_winit", optional = true, version = "0.17.0-dev", default-features = false }
513
514
[target.'cfg(target_os = "android")'.dependencies]
515
bevy_android = { path = "../bevy_android", version = "0.17.0-dev", default-features = false }
516
517
[lints]
518
workspace = true
519
520
[package.metadata.docs.rs]
521
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
522
all-features = true
523
524