Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/Cargo.toml
9308 views
1
[package]
2
name = "bevy"
3
version = "0.19.0-dev"
4
edition = "2024"
5
categories = ["game-engines", "graphics", "gui", "rendering"]
6
description = "A refreshingly simple data-driven game engine and app framework"
7
exclude = ["assets/", "tools/", ".github/", "crates/", "examples/wasm/assets/"]
8
homepage = "https://bevy.org"
9
keywords = ["game", "engine", "gamedev", "graphics", "bevy"]
10
license = "MIT OR Apache-2.0"
11
repository = "https://github.com/bevyengine/bevy"
12
documentation = "https://docs.rs/bevy"
13
rust-version = "1.92.0"
14
15
[workspace]
16
resolver = "2"
17
members = [
18
# All of Bevy's official crates are within the `crates` folder!
19
"crates/*",
20
# Several crates with macros have "compile fail" tests nested inside them, also known as UI
21
# tests, that verify diagnostic output does not accidentally change.
22
# TODO: Use a glob pattern once they are fixed in `dependabot-core`
23
# TODO: See https://github.com/bevyengine/bevy/issues/17876 for context.
24
"crates/bevy_derive/compile_fail",
25
"crates/bevy_ecs/compile_fail",
26
"crates/bevy_reflect/compile_fail",
27
# Examples of compiling Bevy for mobile platforms.
28
"examples/mobile",
29
# Examples of using Bevy on no_std platforms.
30
"examples/no_std/*",
31
# Examples of compiling Bevy with automatic reflect type registration for platforms without `inventory` support.
32
"examples/reflection/auto_register_static",
33
# Examples of large bevy scenes.
34
"examples/large_scenes/bistro",
35
"examples/large_scenes/caldera_hotel",
36
# Mipmap generator for testing large bevy scenes with mips and texture compression.
37
"examples/large_scenes/mipmap_generator",
38
# Benchmarks
39
"benches",
40
# Internal tools that are not published.
41
"tools/*",
42
# Bevy's error codes. This is a crate so we can automatically check all of the code blocks.
43
"errors",
44
]
45
exclude = [
46
# Integration tests are not part of the workspace
47
"tests-integration",
48
]
49
50
[workspace.lints.clippy]
51
doc_markdown = "warn"
52
manual_let_else = "warn"
53
match_same_arms = "warn"
54
redundant_closure_for_method_calls = "warn"
55
redundant_else = "warn"
56
semicolon_if_nothing_returned = "warn"
57
type_complexity = "allow"
58
undocumented_unsafe_blocks = "warn"
59
unwrap_or_default = "warn"
60
needless_lifetimes = "allow"
61
too_many_arguments = "allow"
62
nonstandard_macro_braces = "warn"
63
print_stdout = "warn"
64
print_stderr = "warn"
65
66
ptr_as_ptr = "warn"
67
ptr_cast_constness = "warn"
68
ref_as_ptr = "warn"
69
70
# see: https://github.com/bevyengine/bevy/pull/15375#issuecomment-2366966219
71
too_long_first_doc_paragraph = "allow"
72
73
std_instead_of_core = "warn"
74
std_instead_of_alloc = "warn"
75
alloc_instead_of_core = "warn"
76
77
allow_attributes = "warn"
78
allow_attributes_without_reason = "warn"
79
80
[workspace.lints.rust]
81
missing_docs = "warn"
82
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docsrs_dep)'] }
83
unsafe_code = "deny"
84
unsafe_op_in_unsafe_fn = "warn"
85
unused_qualifications = "warn"
86
87
# Unfortunately, cargo does not currently support overriding workspace lints
88
# inside a particular crate. See https://github.com/rust-lang/cargo/issues/13157
89
#
90
# We require an override for cases like `std_instead_of_core`, which are intended
91
# for the library contributors and not for how users should consume Bevy.
92
# To ensure examples aren't subject to these lints, below is a duplication of the
93
# workspace lints, with the "overrides" applied.
94
#
95
# [lints]
96
# workspace = true
97
98
[lints.clippy]
99
doc_markdown = "warn"
100
manual_let_else = "warn"
101
match_same_arms = "warn"
102
redundant_closure_for_method_calls = "warn"
103
redundant_else = "warn"
104
semicolon_if_nothing_returned = "warn"
105
type_complexity = "allow"
106
undocumented_unsafe_blocks = "warn"
107
unwrap_or_default = "warn"
108
needless_lifetimes = "allow"
109
too_many_arguments = "allow"
110
nonstandard_macro_braces = "warn"
111
112
ptr_as_ptr = "warn"
113
ptr_cast_constness = "warn"
114
ref_as_ptr = "warn"
115
116
too_long_first_doc_paragraph = "allow"
117
118
std_instead_of_core = "allow"
119
std_instead_of_alloc = "allow"
120
alloc_instead_of_core = "allow"
121
122
allow_attributes = "warn"
123
allow_attributes_without_reason = "warn"
124
125
[lints.rust]
126
missing_docs = "warn"
127
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docsrs_dep)'] }
128
unsafe_code = "deny"
129
unsafe_op_in_unsafe_fn = "warn"
130
unused_qualifications = "warn"
131
132
[features]
133
default = ["2d", "3d", "ui"]
134
135
# PROFILE: The default 2D Bevy experience. This includes the core Bevy framework, 2D functionality, Bevy UI, scenes, audio, and picking.
136
2d = [
137
"default_app",
138
"default_platform",
139
"2d_bevy_render",
140
"ui",
141
"scene",
142
"audio",
143
"picking",
144
]
145
146
# PROFILE: The default 3D Bevy experience. This includes the core Bevy framework, 3D functionality, Bevy UI, scenes, audio, and picking.
147
3d = [
148
"default_app",
149
"default_platform",
150
"3d_bevy_render",
151
"ui",
152
"scene",
153
"audio",
154
"picking",
155
]
156
157
# PROFILE: The default Bevy UI experience. This includes the core Bevy framework, Bevy UI, scenes, audio, and picking.
158
ui = [
159
"default_app",
160
"default_platform",
161
"ui_api",
162
"ui_bevy_render",
163
"scene",
164
"audio",
165
"picking",
166
]
167
168
# COLLECTION: Enable this feature during development to improve the development experience. This adds features like asset hot-reloading and debugging tools. This should not be enabled for published apps!
169
dev = [
170
"debug", # TODO: rename this to something more specific ... this is a "debug ECS names" feature
171
"bevy_dev_tools",
172
"file_watcher",
173
]
174
175
# COLLECTION: Features used to build audio Bevy apps.
176
audio = ["bevy_audio", "vorbis"]
177
178
# COLLECTION: Features used to compose Bevy scenes.
179
scene = ["bevy_scene"]
180
181
# COLLECTION: Enables picking functionality.
182
picking = ["bevy_picking", "mesh_picking", "sprite_picking", "ui_picking"]
183
184
# COLLECTION: The core pieces that most apps need. This serves as a baseline feature set for other higher level feature collections (such as "2d" and "3d"). It is also useful as a baseline feature set for scenarios like headless apps that require no rendering (ex: command line tools, servers, etc).
185
default_app = [
186
"async_executor",
187
"bevy_asset",
188
"bevy_input_focus",
189
"bevy_log",
190
"bevy_state",
191
"bevy_window",
192
"custom_cursor",
193
"reflect_auto_register",
194
]
195
196
# COLLECTION: These are platform support features, such as OS support/features, windowing and input backends, etc.
197
default_platform = [
198
"std",
199
"android-game-activity",
200
"android_shared_stdcxx",
201
"bevy_gilrs",
202
"bevy_winit",
203
"default_font",
204
"multi_threaded",
205
"webgl2",
206
"x11",
207
"wayland",
208
"sysinfo_plugin",
209
]
210
211
# COLLECTION: Default scene definition features. Note that this does not include an actual renderer, such as bevy_render (Bevy's default render backend).
212
common_api = [
213
"bevy_animation",
214
"bevy_camera",
215
"bevy_color",
216
"bevy_gizmos",
217
"bevy_image",
218
"bevy_mesh",
219
"bevy_shader",
220
"bevy_material",
221
"bevy_text",
222
"hdr",
223
"png",
224
]
225
226
# COLLECTION: Features used to build 2D Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
227
2d_api = ["common_api", "bevy_sprite"]
228
229
# COLLECTION: Bevy's built-in 2D renderer, built on top of `bevy_render`.
230
2d_bevy_render = [
231
"2d_api",
232
"bevy_render",
233
"bevy_core_pipeline",
234
"bevy_post_process",
235
"bevy_sprite_render",
236
"bevy_gizmos_render",
237
]
238
239
# COLLECTION: Features used to build 3D Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
240
3d_api = [
241
"common_api",
242
"bevy_light",
243
"bevy_mikktspace",
244
"ktx2",
245
"morph_animation",
246
"morph",
247
"smaa_luts",
248
"tonemapping_luts",
249
"zstd_rust",
250
]
251
252
# COLLECTION: Bevy's built-in 3D renderer, built on top of `bevy_render`.
253
3d_bevy_render = [
254
"3d_api",
255
"bevy_render",
256
"bevy_core_pipeline",
257
"bevy_gizmos_render",
258
"bevy_anti_alias",
259
"bevy_gltf",
260
"bevy_pbr",
261
"bevy_post_process",
262
"gltf_animation",
263
]
264
265
# COLLECTION: Features used to build UI Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
266
ui_api = ["default_app", "common_api", "bevy_ui"]
267
268
# COLLECTION: Bevy's built-in UI renderer, built on top of `bevy_render`.
269
ui_bevy_render = [
270
"ui_api",
271
"bevy_render",
272
"bevy_core_pipeline",
273
"bevy_ui_render",
274
]
275
276
# COLLECTION: Recommended defaults for no_std applications.
277
default_no_std = ["libm", "critical-section", "bevy_color", "bevy_state"]
278
279
# Provides an implementation for picking meshes
280
mesh_picking = ["bevy_internal/mesh_picking"]
281
282
# Provides an implementation for picking sprites
283
sprite_picking = ["bevy_internal/sprite_picking"]
284
285
# Provides an implementation for picking UI
286
ui_picking = ["bevy_internal/ui_picking"]
287
288
# Provides a debug overlay for bevy UI
289
bevy_ui_debug = ["bevy_internal/bevy_ui_debug"]
290
291
# Force dynamic linking, which improves iterative compile times
292
dynamic_linking = ["dep:bevy_dylib", "bevy_internal/dynamic_linking"]
293
294
# Enables system information diagnostic plugin
295
sysinfo_plugin = ["bevy_internal/sysinfo_plugin"]
296
297
# Provides animation functionality
298
bevy_animation = ["bevy_internal/bevy_animation"]
299
300
# Provides asset functionality
301
bevy_asset = ["bevy_internal/bevy_asset"]
302
303
# Provides audio functionality
304
bevy_audio = ["bevy_internal/bevy_audio"]
305
306
# Provides shared color types and operations
307
bevy_color = ["bevy_internal/bevy_color"]
308
309
# Provides cameras and other basic render pipeline features
310
bevy_core_pipeline = ["bevy_internal/bevy_core_pipeline"]
311
312
# Provides post process effects such as depth of field, bloom, chromatic aberration.
313
bevy_post_process = ["bevy_internal/bevy_post_process"]
314
315
# Provides various anti aliasing solutions
316
bevy_anti_alias = ["bevy_internal/bevy_anti_alias"]
317
318
# Adds gamepad support
319
bevy_gilrs = ["gamepad", "bevy_internal/bevy_gilrs"]
320
321
# [glTF](https://www.khronos.org/gltf/) support
322
bevy_gltf = ["bevy_internal/bevy_gltf"]
323
324
# Adds PBR rendering
325
bevy_pbr = ["bevy_internal/bevy_pbr"]
326
327
# Provides picking functionality
328
bevy_picking = ["bevy_internal/bevy_picking"]
329
330
# Provides rendering functionality
331
bevy_render = ["bevy_internal/bevy_render"]
332
333
# Provides scene functionality
334
bevy_scene = ["bevy_internal/bevy_scene"]
335
336
# Provides raytraced lighting (experimental)
337
bevy_solari = ["bevy_internal/bevy_solari"]
338
339
# Provides sprite functionality
340
bevy_sprite = ["bevy_internal/bevy_sprite"]
341
342
# Provides sprite rendering functionality
343
bevy_sprite_render = ["bevy_internal/bevy_sprite_render"]
344
345
# Provides text functionality
346
bevy_text = ["bevy_internal/bevy_text"]
347
348
# A custom ECS-driven UI framework
349
bevy_ui = ["bevy_internal/bevy_ui"]
350
351
# Provides rendering functionality for bevy_ui
352
bevy_ui_render = ["bevy_internal/bevy_ui_render"]
353
354
# Windowing layer
355
bevy_window = ["bevy_internal/bevy_window"]
356
357
# winit window and input backend
358
bevy_winit = ["bevy_internal/bevy_winit"]
359
360
# Load and access image data. Usually added by an image format
361
bevy_image = ["bevy_internal/bevy_image"]
362
363
# Provides a mesh format and some primitive meshing routines.
364
bevy_mesh = ["bevy_internal/bevy_mesh"]
365
366
# Provides vertex tangent generation for use with bevy_mesh.
367
bevy_mikktspace = ["bevy_internal/bevy_mikktspace"]
368
369
# Provides camera and visibility types, as well as culling primitives.
370
bevy_camera = ["bevy_internal/bevy_camera"]
371
372
# Provides light types such as point lights, directional lights, spotlights.
373
bevy_light = ["bevy_internal/bevy_light"]
374
375
# Provides shaders usable through asset handles.
376
bevy_shader = ["bevy_internal/bevy_shader"]
377
378
# Provides materials.
379
bevy_material = ["bevy_internal/bevy_material"]
380
381
# Adds support for gizmos
382
bevy_gizmos = ["bevy_internal/bevy_gizmos"]
383
384
# Adds support for rendering gizmos
385
bevy_gizmos_render = ["bevy_internal/bevy_gizmos_render"]
386
387
# Provides a collection of developer tools
388
bevy_dev_tools = ["bevy_internal/bevy_dev_tools"]
389
390
# Provides a collection of prebuilt camera controllers
391
bevy_camera_controller = ["bevy_internal/bevy_camera_controller"]
392
393
# Enables the free cam from bevy_camera_controller
394
free_camera = ["bevy_internal/free_camera"]
395
396
# Enables the pan camera from bevy_camera_controller
397
pan_camera = ["bevy_internal/pan_camera"]
398
399
# Enable the Bevy Remote Protocol
400
bevy_remote = ["bevy_internal/bevy_remote"]
401
402
# Enable integration with `tracing` and `log`
403
bevy_log = ["bevy_internal/bevy_log"]
404
405
# Enable input focus subsystem
406
bevy_input_focus = ["bevy_internal/bevy_input_focus"]
407
408
# Experimental headless widget collection for Bevy UI.
409
experimental_bevy_ui_widgets = ["bevy_internal/bevy_ui_widgets"]
410
411
# Feathers widget collection.
412
experimental_bevy_feathers = [
413
"bevy_internal/bevy_feathers",
414
"experimental_bevy_ui_widgets",
415
]
416
417
# Enable passthrough loading for SPIR-V shaders (Only supported on Vulkan, shader capabilities and extensions must agree with the platform implementation)
418
spirv_shader_passthrough = ["bevy_internal/spirv_shader_passthrough"]
419
420
# Statically linked DXC shader compiler for DirectX 12
421
statically-linked-dxc = ["bevy_internal/statically-linked-dxc"]
422
423
# Forces the wgpu instance to be initialized using the raw Vulkan HAL, enabling additional configuration
424
raw_vulkan_init = ["bevy_internal/raw_vulkan_init"]
425
426
# Pre-populate buffer labels with buffer types for debugging.
427
type_label_buffers = ["bevy_internal/type_label_buffers"]
428
429
# Tracing support, saving a file in Chrome Tracing format
430
trace_chrome = ["trace", "bevy_internal/trace_chrome"]
431
432
# Tracing support, exposing a port for Tracy
433
trace_tracy = ["trace", "bevy_internal/trace_tracy"]
434
435
# Tracing support, with memory profiling, exposing a port for Tracy
436
trace_tracy_memory = ["bevy_internal/trace_tracy_memory"]
437
438
# Tracing support
439
trace = ["bevy_internal/trace", "dep:tracing"]
440
441
# Basis Universal compressed texture support
442
basis-universal = ["bevy_internal/basis-universal"]
443
444
# Enables compressed KTX2 UASTC texture output on the asset processor
445
compressed_image_saver = ["bevy_internal/compressed_image_saver"]
446
447
# BMP image format support
448
bmp = ["bevy_internal/bmp"]
449
450
# DDS compressed texture support
451
dds = ["bevy_internal/dds"]
452
453
# EXR image format support
454
exr = ["bevy_internal/exr"]
455
456
# Farbfeld image format support
457
ff = ["bevy_internal/ff"]
458
459
# GIF image format support
460
gif = ["bevy_internal/gif"]
461
462
# HDR image format support
463
hdr = ["bevy_internal/hdr"]
464
465
# KTX2 compressed texture support
466
ktx2 = ["bevy_internal/ktx2"]
467
468
# ICO image format support
469
ico = ["bevy_internal/ico"]
470
471
# JPEG image format support
472
jpeg = ["bevy_internal/jpeg"]
473
474
# PNG image format support
475
png = ["bevy_internal/png"]
476
477
# PNM image format support, includes pam, pbm, pgm and ppm
478
pnm = ["bevy_internal/pnm"]
479
480
# QOI image format support
481
qoi = ["bevy_internal/qoi"]
482
483
# TGA image format support
484
tga = ["bevy_internal/tga"]
485
486
# TIFF image format support
487
tiff = ["bevy_internal/tiff"]
488
489
# WebP image format support
490
webp = ["bevy_internal/webp"]
491
492
# For KTX2 supercompression
493
zlib = ["bevy_internal/zlib"]
494
495
# For KTX2 Zstandard decompression using pure rust [ruzstd](https://crates.io/crates/ruzstd). This is the safe default. For maximum performance, use "zstd_c".
496
zstd_rust = ["bevy_internal/zstd_rust"]
497
498
# For KTX2 Zstandard decompression using [zstd](https://crates.io/crates/zstd). This is a faster backend, but uses unsafe C bindings. For the safe option, stick to the default backend with "zstd_rust".
499
zstd_c = ["bevy_internal/zstd_c"]
500
501
# FLAC audio format support
502
flac = ["bevy_internal/flac"]
503
504
# MP3 audio format support
505
mp3 = ["bevy_internal/mp3"]
506
507
# OGG/VORBIS audio format support
508
vorbis = ["bevy_internal/vorbis"]
509
510
# WAV audio format support
511
wav = ["bevy_internal/wav"]
512
513
# AAC audio format support (through symphonia)
514
symphonia-aac = ["bevy_internal/symphonia-aac"]
515
516
# AAC, FLAC, MP3, MP4, OGG/VORBIS, and WAV audio formats support (through symphonia)
517
symphonia-all = ["bevy_internal/symphonia-all"]
518
519
# FLAC audio format support (through symphonia)
520
symphonia-flac = ["bevy_internal/symphonia-flac"]
521
522
# MP4 audio format support (through symphonia)
523
symphonia-isomp4 = ["bevy_internal/symphonia-isomp4"]
524
525
# OGG/VORBIS audio format support (through symphonia)
526
symphonia-vorbis = ["bevy_internal/symphonia-vorbis"]
527
528
# WAV audio format support (through symphonia)
529
symphonia-wav = ["bevy_internal/symphonia-wav"]
530
531
# Enable serialization support through serde
532
serialize = ["bevy_internal/serialize"]
533
534
# Enables multithreaded parallelism in the engine. Disabling it forces all engine tasks to run on a single thread.
535
multi_threaded = ["bevy_internal/multi_threaded"]
536
537
# Use async-io's implementation of block_on instead of futures-lite's implementation. This is preferred if your application uses async-io.
538
async-io = ["bevy_internal/async-io"]
539
540
# Wayland display server support
541
wayland = ["bevy_internal/wayland"]
542
543
# X11 display server support
544
x11 = ["bevy_internal/x11"]
545
546
# Android NativeActivity support. Legacy, should be avoided for most new Android games.
547
android-native-activity = ["bevy_internal/android-native-activity"]
548
549
# Android GameActivity support. Default, choose between this and `android-native-activity`.
550
android-game-activity = ["bevy_internal/android-game-activity"]
551
552
# Enable systems that allow for automated testing on CI
553
bevy_ci_testing = ["bevy_internal/bevy_ci_testing"]
554
555
# Enable glTF animation loading
556
gltf_animation = ["bevy_internal/gltf_animation"]
557
558
# Enables support for morph target weights in bevy_mesh
559
morph = ["bevy_internal/morph"]
560
561
# Enables bevy_mesh and bevy_animation morph weight support
562
morph_animation = ["bevy_internal/morph_animation"]
563
564
# Enable using a shared stdlib for cxx on Android
565
android_shared_stdcxx = ["bevy_internal/android_shared_stdcxx"]
566
567
# Enable detailed trace event logging. These trace events are expensive even when off, thus they require compile time opt-in
568
detailed_trace = ["bevy_internal/detailed_trace"]
569
570
# Include tonemapping Look Up Tables KTX2 files. If everything is pink, you need to enable this feature or change the `Tonemapping` method for your `Camera2d` or `Camera3d`.
571
tonemapping_luts = ["bevy_internal/tonemapping_luts"]
572
573
# Include SMAA Look Up Tables KTX2 Files
574
smaa_luts = ["bevy_internal/smaa_luts"]
575
576
# Include spatio-temporal blue noise KTX2 file used by generated environment maps, Solari and atmosphere
577
bluenoise_texture = ["bevy_internal/bluenoise_texture"]
578
579
# NVIDIA Deep Learning Super Sampling
580
dlss = ["bevy_internal/dlss"]
581
582
# Forcibly disable DLSS so that cargo build --all-features works without the DLSS SDK being installed. Not meant for users.
583
force_disable_dlss = ["bevy_internal/force_disable_dlss"]
584
585
# Enable AccessKit on Unix backends (currently only works with experimental screen readers and forks.)
586
accesskit_unix = ["bevy_internal/accesskit_unix"]
587
588
# Enable assertions to check the validity of parameters passed to glam
589
glam_assert = ["bevy_internal/glam_assert"]
590
591
# Enable assertions in debug builds to check the validity of parameters passed to glam
592
debug_glam_assert = ["bevy_internal/debug_glam_assert"]
593
594
# Include a default font, containing only ASCII characters, at the cost of a 20kB binary size increase
595
default_font = ["bevy_internal/default_font"]
596
597
# Enable support for shaders in GLSL
598
shader_format_glsl = ["bevy_internal/shader_format_glsl"]
599
600
# Enable support for shaders in SPIR-V
601
shader_format_spirv = ["bevy_internal/shader_format_spirv"]
602
603
# Enable support for shaders in WESL
604
shader_format_wesl = ["bevy_internal/shader_format_wesl"]
605
606
# Enable support for transmission-related textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs
607
pbr_transmission_textures = ["bevy_internal/pbr_transmission_textures"]
608
609
# Enable support for Clustered Decals
610
pbr_clustered_decals = ["bevy_internal/pbr_clustered_decals"]
611
612
# Enable support for Light Textures
613
pbr_light_textures = ["bevy_internal/pbr_light_textures"]
614
615
# Enable support for multi-layer material textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs
616
pbr_multi_layer_material_textures = [
617
"bevy_internal/pbr_multi_layer_material_textures",
618
]
619
620
# Enable support for anisotropy texture in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs
621
pbr_anisotropy_texture = ["bevy_internal/pbr_anisotropy_texture"]
622
623
# Enable support for PCSS, at the risk of blowing past the global, per-shader sampler limit on older/lower-end GPUs
624
experimental_pbr_pcss = ["bevy_internal/experimental_pbr_pcss"]
625
626
# Enable support for specular textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs
627
pbr_specular_textures = ["bevy_internal/pbr_specular_textures"]
628
629
# Enable some limitations to be able to use WebGL2. Please refer to the [WebGL2 and WebGPU](https://github.com/bevyengine/bevy/tree/latest/examples#webgl2-and-webgpu) section of the examples README for more information on how to run Wasm builds with WebGPU.
630
webgl2 = ["bevy_internal/webgl"]
631
632
# Enable support for WebGPU in Wasm. When enabled, this feature will override the `webgl2` feature and you won't be able to run Wasm builds with WebGL2, only with WebGPU.
633
webgpu = ["bevy_internal/webgpu"]
634
635
# Enables the built-in asset processor for processed assets.
636
asset_processor = ["bevy_internal/asset_processor"]
637
638
# Enables watching the filesystem for Bevy Asset hot-reloading
639
file_watcher = ["bevy_internal/file_watcher"]
640
641
# Enables watching in memory asset providers for Bevy Asset hot-reloading
642
embedded_watcher = ["bevy_internal/embedded_watcher"]
643
644
# Enables downloading assets from HTTP sources. Warning: there are security implications. Read the docs on WebAssetPlugin.
645
http = ["bevy_internal/http"]
646
647
# Enables downloading assets from HTTPS sources. Warning: there are security implications. Read the docs on WebAssetPlugin.
648
https = ["bevy_internal/https"]
649
650
# Enable caching downloaded assets on the filesystem. NOTE: this cache currently never invalidates entries!
651
web_asset_cache = ["bevy_internal/web_asset_cache"]
652
653
# Enable stepping-based debugging of Bevy systems
654
bevy_debug_stepping = [
655
"bevy_internal/bevy_debug_stepping",
656
"bevy_internal/debug",
657
]
658
659
# Enables the meshlet renderer for dense high-poly scenes (experimental)
660
meshlet = ["bevy_internal/meshlet"]
661
662
# Enables processing meshes into meshlet meshes for bevy_pbr
663
meshlet_processor = ["bevy_internal/meshlet_processor"]
664
665
# Enable built in global state machines
666
bevy_state = ["bevy_internal/bevy_state"]
667
668
# Enables source location tracking for change detection and spawning/despawning, which can assist with debugging
669
track_location = ["bevy_internal/track_location"]
670
671
# Enable function reflection
672
reflect_functions = ["bevy_internal/reflect_functions"]
673
674
# Enables bevy_reflect to access documentation comments of rust code at runtime
675
reflect_documentation = ["bevy_internal/reflect_documentation"]
676
677
# Enable automatic reflect registration
678
reflect_auto_register = ["bevy_internal/reflect_auto_register"]
679
680
# Enable automatic reflect registration without inventory. See `reflect::load_type_registrations` for more info.
681
reflect_auto_register_static = ["bevy_internal/reflect_auto_register_static"]
682
683
# Enable winit custom cursor support
684
custom_cursor = ["bevy_internal/custom_cursor"]
685
686
# Experimental support for nodes that are ignored for UI layouting
687
ghost_nodes = ["bevy_internal/ghost_nodes"]
688
689
# Uses `async-executor` as a task execution backend.
690
async_executor = ["std", "bevy_internal/async_executor"]
691
692
# Allows access to the `std` crate.
693
std = ["bevy_internal/std"]
694
695
# `critical-section` provides the building blocks for synchronization primitives on all platforms, including `no_std`.
696
critical-section = ["bevy_internal/critical-section"]
697
698
# Uses the `libm` maths library instead of the one provided in `std` and `core`.
699
libm = ["bevy_internal/libm"]
700
701
# Enables use of browser APIs. Note this is currently only applicable on `wasm32` architectures.
702
web = ["bevy_internal/web"]
703
704
# Mouse support. Automatically enabled by `bevy_window`.
705
mouse = ["bevy_internal/mouse"]
706
707
# Keyboard support. Automatically enabled by `bevy_window`.
708
keyboard = ["bevy_internal/keyboard"]
709
710
# Gamepad support. Automatically enabled by `bevy_gilrs`.
711
gamepad = ["bevy_internal/gamepad"]
712
713
# Touch support. Automatically enabled by `bevy_window`.
714
touch = ["bevy_internal/touch"]
715
716
# Gestures support. Automatically enabled by `bevy_window`.
717
gestures = ["bevy_internal/gestures"]
718
719
# Enable hotpatching of Bevy systems
720
hotpatching = ["bevy_internal/hotpatching"]
721
722
# Enable collecting debug information about systems and components to help with diagnostics
723
debug = ["bevy_internal/debug"]
724
725
[dependencies]
726
bevy_internal = { path = "crates/bevy_internal", version = "0.19.0-dev", default-features = false }
727
tracing = { version = "0.1", default-features = false, optional = true }
728
729
# Wasm does not support dynamic linking.
730
[target.'cfg(not(target_family = "wasm"))'.dependencies]
731
bevy_dylib = { path = "crates/bevy_dylib", version = "0.19.0-dev", default-features = false, optional = true }
732
733
[dev-dependencies]
734
rand = "0.9.0"
735
rand_chacha = "0.9.0"
736
ron = "0.12"
737
flate2 = "1.0"
738
serde = { version = "1", features = ["derive"] }
739
serde_json = "1.0.140"
740
bytemuck = "1"
741
# The following explicit dependencies are needed for proc macros to work inside of examples as they are part of the bevy crate itself.
742
bevy_animation = { path = "crates/bevy_animation", version = "0.19.0-dev", default-features = false }
743
bevy_asset = { path = "crates/bevy_asset", version = "0.19.0-dev", default-features = false }
744
bevy_ecs = { path = "crates/bevy_ecs", version = "0.19.0-dev", default-features = false }
745
bevy_gizmos = { path = "crates/bevy_gizmos", version = "0.19.0-dev", default-features = false }
746
bevy_image = { path = "crates/bevy_image", version = "0.19.0-dev", default-features = false }
747
bevy_reflect = { path = "crates/bevy_reflect", version = "0.19.0-dev", default-features = false }
748
bevy_render = { path = "crates/bevy_render", version = "0.19.0-dev", default-features = false }
749
bevy_state = { path = "crates/bevy_state", version = "0.19.0-dev", default-features = false }
750
# Needed to poll Task examples
751
futures-lite = "2.0.1"
752
futures-timer = { version = "3", features = ["wasm-bindgen", "gloo-timers"] }
753
crossbeam-channel = "0.5.0"
754
argh = "0.1.12"
755
thiserror = "2.0"
756
event-listener = "5.3.0"
757
anyhow = "1"
758
accesskit = "0.23"
759
nonmax = "0.5"
760
gltf = "1.4"
761
762
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
763
ureq = { version = "3.0.8", features = ["json"] }
764
765
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
766
getrandom = { version = "0.3", default-features = false, features = [
767
"wasm_js",
768
] }
769
wasm-bindgen = { version = "0.2" }
770
web-sys = { version = "0.3", features = ["Window"] }
771
772
[[example]]
773
name = "context_menu"
774
path = "examples/usage/context_menu.rs"
775
# Causes an ICE on docs.rs
776
doc-scrape-examples = false
777
778
[package.metadata.example.context_menu]
779
name = "Context Menu"
780
description = "Example of a context menu"
781
category = "Usage"
782
wasm = true
783
784
[[example]]
785
name = "hello_world"
786
path = "examples/hello_world.rs"
787
# Causes an ICE on docs.rs
788
doc-scrape-examples = false
789
790
[package.metadata.example.hello_world]
791
hidden = true
792
793
# 2D Rendering
794
[[example]]
795
name = "bloom_2d"
796
path = "examples/2d/bloom_2d.rs"
797
doc-scrape-examples = true
798
799
[package.metadata.example.bloom_2d]
800
name = "2D Bloom"
801
description = "Illustrates bloom post-processing in 2d"
802
category = "2D Rendering"
803
wasm = true
804
805
[[example]]
806
name = "move_sprite"
807
path = "examples/2d/move_sprite.rs"
808
doc-scrape-examples = true
809
810
[package.metadata.example.move_sprite]
811
name = "Move Sprite"
812
description = "Changes the transform of a sprite"
813
category = "2D Rendering"
814
wasm = true
815
816
[[example]]
817
name = "2d_viewport_to_world"
818
path = "examples/2d/2d_viewport_to_world.rs"
819
# Causes an ICE on docs.rs
820
doc-scrape-examples = false
821
822
[package.metadata.example.2d_viewport_to_world]
823
name = "2D Viewport To World"
824
description = "Demonstrates how to use the `Camera::viewport_to_world_2d` method with a dynamic viewport and camera."
825
category = "2D Rendering"
826
wasm = true
827
828
[[example]]
829
name = "rotate_to_cursor"
830
path = "examples/2d/rotate_to_cursor.rs"
831
# Causes an ICE on docs.rs
832
doc-scrape-examples = false
833
834
[package.metadata.example.rotate_to_cursor]
835
name = "2D Rotation to Cursor"
836
description = "Demonstrates rotating entities in 2D to follow the cursor"
837
category = "2D Rendering"
838
wasm = true
839
840
[[example]]
841
name = "rotation"
842
path = "examples/2d/rotation.rs"
843
# Causes an ICE on docs.rs
844
doc-scrape-examples = false
845
846
[package.metadata.example.rotation]
847
name = "Generic 2D Rotation"
848
description = "Demonstrates rotating entities in 2D with quaternions"
849
category = "2D Rendering"
850
wasm = true
851
852
[[example]]
853
name = "mesh2d"
854
path = "examples/2d/mesh2d.rs"
855
# Causes an ICE on docs.rs
856
doc-scrape-examples = false
857
858
[package.metadata.example.mesh2d]
859
name = "Mesh 2D"
860
description = "Renders a 2d mesh"
861
category = "2D Rendering"
862
wasm = true
863
864
[[example]]
865
name = "mesh2d_arcs"
866
path = "examples/2d/mesh2d_arcs.rs"
867
# Causes an ICE on docs.rs
868
doc-scrape-examples = false
869
870
[package.metadata.example.mesh2d_arcs]
871
name = "Arc 2D Meshes"
872
description = "Demonstrates UV-mapping of the circular segment and sector primitives"
873
category = "2D Rendering"
874
wasm = true
875
876
[[example]]
877
name = "mesh2d_manual"
878
path = "examples/2d/mesh2d_manual.rs"
879
# Causes an ICE on docs.rs
880
doc-scrape-examples = false
881
882
[package.metadata.example.mesh2d_manual]
883
name = "Manual Mesh 2D"
884
description = "Renders a custom mesh \"manually\" with \"mid-level\" renderer apis"
885
category = "2D Rendering"
886
wasm = true
887
888
[[example]]
889
name = "mesh2d_vertex_color_texture"
890
path = "examples/2d/mesh2d_vertex_color_texture.rs"
891
# Causes an ICE on docs.rs
892
doc-scrape-examples = false
893
894
[package.metadata.example.mesh2d_vertex_color_texture]
895
name = "Mesh 2D With Vertex Colors"
896
description = "Renders a 2d mesh with vertex color attributes"
897
category = "2D Rendering"
898
wasm = true
899
900
[[example]]
901
name = "2d_shapes"
902
path = "examples/2d/2d_shapes.rs"
903
# Causes an ICE on docs.rs
904
doc-scrape-examples = false
905
906
[package.metadata.example.2d_shapes]
907
name = "2D Shapes"
908
description = "Renders simple 2D primitive shapes like circles and polygons"
909
category = "2D Rendering"
910
wasm = true
911
912
[[example]]
913
name = "cpu_draw"
914
path = "examples/2d/cpu_draw.rs"
915
# Causes an ICE on docs.rs
916
doc-scrape-examples = false
917
918
[package.metadata.example.cpu_draw]
919
name = "CPU Drawing"
920
description = "Manually read/write the pixels of a texture"
921
category = "2D Rendering"
922
wasm = true
923
924
[[example]]
925
name = "sprite"
926
path = "examples/2d/sprite.rs"
927
# Causes an ICE on docs.rs
928
doc-scrape-examples = false
929
930
[package.metadata.example.sprite]
931
name = "Sprite"
932
description = "Renders a sprite"
933
category = "2D Rendering"
934
wasm = true
935
936
[[example]]
937
name = "sprite_animation"
938
path = "examples/2d/sprite_animation.rs"
939
# Causes an ICE on docs.rs
940
doc-scrape-examples = false
941
942
[package.metadata.example.sprite_animation]
943
name = "Sprite Animation"
944
description = "Animates a sprite in response to an event"
945
category = "2D Rendering"
946
wasm = true
947
948
[[example]]
949
name = "sprite_scale"
950
path = "examples/2d/sprite_scale.rs"
951
# Causes an ICE on docs.rs
952
doc-scrape-examples = false
953
954
[package.metadata.example.sprite_scale]
955
name = "Sprite Scale"
956
description = "Shows how a sprite can be scaled into a rectangle while keeping the aspect ratio"
957
category = "2D Rendering"
958
wasm = true
959
960
[[example]]
961
name = "sprite_flipping"
962
path = "examples/2d/sprite_flipping.rs"
963
# Causes an ICE on docs.rs
964
doc-scrape-examples = false
965
966
[package.metadata.example.sprite_flipping]
967
name = "Sprite Flipping"
968
description = "Renders a sprite flipped along an axis"
969
category = "2D Rendering"
970
wasm = true
971
972
[[example]]
973
name = "sprite_sheet"
974
path = "examples/2d/sprite_sheet.rs"
975
doc-scrape-examples = true
976
977
[package.metadata.example.sprite_sheet]
978
name = "Sprite Sheet"
979
description = "Renders an animated sprite"
980
category = "2D Rendering"
981
wasm = true
982
983
[[example]]
984
name = "sprite_tile"
985
path = "examples/2d/sprite_tile.rs"
986
doc-scrape-examples = true
987
988
[package.metadata.example.sprite_tile]
989
name = "Sprite Tile"
990
description = "Renders a sprite tiled in a grid"
991
category = "2D Rendering"
992
wasm = true
993
994
[[example]]
995
name = "sprite_slice"
996
path = "examples/2d/sprite_slice.rs"
997
# Causes an ICE on docs.rs
998
doc-scrape-examples = false
999
1000
[package.metadata.example.sprite_slice]
1001
name = "Sprite Slice"
1002
description = "Showcases slicing sprites into sections that can be scaled independently via the 9-patch technique"
1003
category = "2D Rendering"
1004
wasm = true
1005
1006
[[example]]
1007
name = "text2d"
1008
path = "examples/2d/text2d.rs"
1009
# Causes an ICE on docs.rs
1010
doc-scrape-examples = false
1011
1012
[package.metadata.example.text2d]
1013
name = "Text 2D"
1014
description = "Generates text in 2D"
1015
category = "2D Rendering"
1016
wasm = true
1017
1018
[[example]]
1019
name = "multi_window_text"
1020
path = "examples/window/multi_window_text.rs"
1021
# Causes an ICE on docs.rs
1022
doc-scrape-examples = false
1023
1024
[package.metadata.example.multi_window_text]
1025
name = "Multi-Window Text"
1026
description = "Renders text to multiple windows with different scale factors using both Text and Text2d"
1027
category = "2D Rendering"
1028
wasm = true
1029
1030
[[example]]
1031
name = "texture_atlas"
1032
path = "examples/2d/texture_atlas.rs"
1033
# Causes an ICE on docs.rs
1034
doc-scrape-examples = false
1035
1036
[package.metadata.example.texture_atlas]
1037
name = "Texture Atlas"
1038
description = "Generates a texture atlas (sprite sheet) from individual sprites"
1039
category = "2D Rendering"
1040
# Loading asset folders is not supported in Wasm, but required to create the atlas.
1041
wasm = false
1042
1043
[[example]]
1044
name = "tilemap_chunk"
1045
path = "examples/2d/tilemap_chunk.rs"
1046
# Causes an ICE on docs.rs
1047
doc-scrape-examples = false
1048
1049
[package.metadata.example.tilemap_chunk]
1050
name = "Tilemap Chunk"
1051
description = "Renders a tilemap chunk"
1052
category = "2D Rendering"
1053
wasm = true
1054
1055
[[example]]
1056
name = "transparency_2d"
1057
path = "examples/2d/transparency_2d.rs"
1058
# Causes an ICE on docs.rs
1059
doc-scrape-examples = false
1060
1061
[package.metadata.example.transparency_2d]
1062
name = "Transparency in 2D"
1063
description = "Demonstrates transparency in 2d"
1064
category = "2D Rendering"
1065
wasm = true
1066
1067
[[example]]
1068
name = "mesh2d_alpha_mode"
1069
path = "examples/2d/mesh2d_alpha_mode.rs"
1070
doc-scrape-examples = true
1071
1072
[package.metadata.example.mesh2d_alpha_mode]
1073
name = "Mesh2d Alpha Mode"
1074
description = "Used to test alpha modes with mesh2d"
1075
category = "2D Rendering"
1076
wasm = true
1077
1078
[[example]]
1079
name = "mesh2d_repeated_texture"
1080
path = "examples/2d/mesh2d_repeated_texture.rs"
1081
doc-scrape-examples = true
1082
1083
[package.metadata.example.mesh2d_repeated_texture]
1084
name = "Mesh2d Repeated Texture"
1085
description = "Showcase of using `uv_transform` on the `ColorMaterial` of a `Mesh2d`"
1086
category = "2D Rendering"
1087
wasm = true
1088
1089
[[example]]
1090
name = "pixel_grid_snap"
1091
path = "examples/2d/pixel_grid_snap.rs"
1092
# Causes an ICE on docs.rs
1093
doc-scrape-examples = false
1094
1095
[package.metadata.example.pixel_grid_snap]
1096
name = "Pixel Grid Snapping"
1097
description = "Shows how to create graphics that snap to the pixel grid by rendering to a texture in 2D"
1098
category = "2D Rendering"
1099
wasm = true
1100
1101
[[example]]
1102
name = "bounding_2d"
1103
path = "examples/math/bounding_2d.rs"
1104
# Causes an ICE on docs.rs
1105
doc-scrape-examples = false
1106
1107
[package.metadata.example.bounding_2d]
1108
name = "Bounding Volume Intersections (2D)"
1109
description = "Showcases bounding volumes and intersection tests"
1110
category = "Math"
1111
wasm = true
1112
1113
[[example]]
1114
name = "wireframe_2d"
1115
path = "examples/2d/wireframe_2d.rs"
1116
# Causes an ICE on docs.rs
1117
doc-scrape-examples = false
1118
1119
[package.metadata.example.wireframe_2d]
1120
name = "2D Wireframe"
1121
description = "Showcases wireframes for 2d meshes"
1122
category = "2D Rendering"
1123
# PolygonMode::Line wireframes are not supported by WebGL
1124
wasm = false
1125
1126
# 3D Rendering
1127
[[example]]
1128
name = "3d_scene"
1129
path = "examples/3d/3d_scene.rs"
1130
# Causes an ICE on docs.rs
1131
doc-scrape-examples = false
1132
1133
[package.metadata.example.3d_scene]
1134
name = "3D Scene"
1135
description = "Simple 3D scene with basic shapes and lighting"
1136
category = "3D Rendering"
1137
wasm = true
1138
1139
[[example]]
1140
name = "3d_shapes"
1141
path = "examples/3d/3d_shapes.rs"
1142
# Causes an ICE on docs.rs
1143
doc-scrape-examples = false
1144
1145
[package.metadata.example.3d_shapes]
1146
name = "3D Shapes"
1147
description = "A scene showcasing the built-in 3D shapes"
1148
category = "3D Rendering"
1149
wasm = true
1150
1151
[[example]]
1152
name = "3d_viewport_to_world"
1153
path = "examples/3d/3d_viewport_to_world.rs"
1154
# Causes an ICE on docs.rs
1155
doc-scrape-examples = false
1156
1157
[package.metadata.example.3d_viewport_to_world]
1158
name = "3D Viewport To World"
1159
description = "Demonstrates how to use the `Camera::viewport_to_world` method"
1160
category = "3D Rendering"
1161
wasm = true
1162
1163
[[example]]
1164
name = "animated_material"
1165
path = "examples/3d/animated_material.rs"
1166
doc-scrape-examples = true
1167
1168
[package.metadata.example.animated_material]
1169
name = "Animated Material"
1170
description = "Shows how to animate material properties"
1171
category = "3D Rendering"
1172
wasm = true
1173
1174
[[example]]
1175
name = "generate_custom_mesh"
1176
path = "examples/3d/generate_custom_mesh.rs"
1177
# Causes an ICE on docs.rs
1178
doc-scrape-examples = false
1179
1180
[package.metadata.example.generate_custom_mesh]
1181
name = "Generate Custom Mesh"
1182
description = "Simple showcase of how to generate a custom mesh with a custom texture"
1183
category = "3D Rendering"
1184
wasm = true
1185
1186
[[example]]
1187
name = "anti_aliasing"
1188
path = "examples/3d/anti_aliasing.rs"
1189
# Causes an ICE on docs.rs
1190
doc-scrape-examples = false
1191
1192
[package.metadata.example.anti_aliasing]
1193
name = "Anti-aliasing"
1194
description = "Compares different anti-aliasing techniques supported by Bevy"
1195
category = "3D Rendering"
1196
# TAA not supported by WebGL
1197
wasm = false
1198
1199
[[example]]
1200
name = "atmospheric_fog"
1201
path = "examples/3d/atmospheric_fog.rs"
1202
# Causes an ICE on docs.rs
1203
doc-scrape-examples = false
1204
1205
[package.metadata.example.atmospheric_fog]
1206
name = "Atmospheric Fog"
1207
description = "A scene showcasing the atmospheric fog effect"
1208
category = "3D Rendering"
1209
wasm = true
1210
1211
[[example]]
1212
name = "atmosphere"
1213
path = "examples/3d/atmosphere.rs"
1214
# Causes an ICE on docs.rs
1215
doc-scrape-examples = false
1216
1217
[package.metadata.example.atmosphere]
1218
name = "Atmosphere"
1219
description = "A scene showcasing pbr atmospheric scattering"
1220
category = "3D Rendering"
1221
wasm = true
1222
1223
[[example]]
1224
name = "fog"
1225
path = "examples/3d/fog.rs"
1226
# Causes an ICE on docs.rs
1227
doc-scrape-examples = false
1228
1229
[package.metadata.example.fog]
1230
name = "Fog"
1231
description = "A scene showcasing the distance fog effect"
1232
category = "3D Rendering"
1233
wasm = true
1234
1235
[[example]]
1236
name = "auto_exposure"
1237
path = "examples/3d/auto_exposure.rs"
1238
# Causes an ICE on docs.rs
1239
doc-scrape-examples = false
1240
1241
[package.metadata.example.auto_exposure]
1242
name = "Auto Exposure"
1243
description = "A scene showcasing auto exposure"
1244
category = "3D Rendering"
1245
# Requires compute shaders, which are not supported by WebGL.
1246
wasm = false
1247
1248
[[example]]
1249
name = "blend_modes"
1250
path = "examples/3d/blend_modes.rs"
1251
# Causes an ICE on docs.rs
1252
doc-scrape-examples = false
1253
1254
[package.metadata.example.blend_modes]
1255
name = "Blend Modes"
1256
description = "Showcases different blend modes"
1257
category = "3D Rendering"
1258
wasm = true
1259
1260
[[example]]
1261
name = "contact_shadows"
1262
path = "examples/3d/contact_shadows.rs"
1263
# Causes an ICE on docs.rs
1264
doc-scrape-examples = false
1265
required-features = ["bluenoise_texture"]
1266
1267
[package.metadata.example.contact_shadows]
1268
name = "Contact Shadows"
1269
description = "Showcases how contact shadows add shadow detail"
1270
category = "3D Rendering"
1271
wasm = true
1272
1273
[[example]]
1274
name = "lighting"
1275
path = "examples/3d/lighting.rs"
1276
# Causes an ICE on docs.rs
1277
doc-scrape-examples = false
1278
1279
[package.metadata.example.lighting]
1280
name = "Lighting"
1281
description = "Illustrates various lighting options in a simple scene"
1282
category = "3D Rendering"
1283
wasm = true
1284
1285
[[example]]
1286
name = "lines"
1287
path = "examples/3d/lines.rs"
1288
# Causes an ICE on docs.rs
1289
doc-scrape-examples = false
1290
1291
[package.metadata.example.lines]
1292
name = "Lines"
1293
description = "Create a custom material to draw 3d lines"
1294
category = "3D Rendering"
1295
# Wasm does not support the `POLYGON_MODE_LINE` feature.
1296
wasm = false
1297
1298
[[example]]
1299
name = "ssao"
1300
path = "examples/3d/ssao.rs"
1301
# Causes an ICE on docs.rs
1302
doc-scrape-examples = false
1303
1304
[package.metadata.example.ssao]
1305
name = "Screen Space Ambient Occlusion"
1306
description = "A scene showcasing screen space ambient occlusion"
1307
category = "3D Rendering"
1308
# Requires compute shaders, which are not supported by WebGL.
1309
wasm = false
1310
1311
[[example]]
1312
name = "spotlight"
1313
path = "examples/3d/spotlight.rs"
1314
# Causes an ICE on docs.rs
1315
doc-scrape-examples = false
1316
1317
[package.metadata.example.spotlight]
1318
name = "Spotlight"
1319
description = "Illustrates spot lights"
1320
category = "3D Rendering"
1321
wasm = true
1322
1323
[[example]]
1324
name = "bloom_3d"
1325
path = "examples/3d/bloom_3d.rs"
1326
# Causes an ICE on docs.rs
1327
doc-scrape-examples = false
1328
1329
[package.metadata.example.bloom_3d]
1330
name = "3D Bloom"
1331
description = "Illustrates bloom configuration using HDR and emissive materials"
1332
category = "3D Rendering"
1333
wasm = true
1334
1335
[[example]]
1336
name = "decal"
1337
path = "examples/3d/decal.rs"
1338
# Causes an ICE on docs.rs
1339
doc-scrape-examples = false
1340
required-features = ["free_camera"]
1341
1342
[package.metadata.example.decal]
1343
name = "Decal"
1344
description = "Decal rendering"
1345
category = "3D Rendering"
1346
wasm = true
1347
1348
[[example]]
1349
name = "deferred_rendering"
1350
path = "examples/3d/deferred_rendering.rs"
1351
# Causes an ICE on docs.rs
1352
doc-scrape-examples = false
1353
1354
[package.metadata.example.deferred_rendering]
1355
name = "Deferred Rendering"
1356
description = "Renders meshes with both forward and deferred pipelines"
1357
category = "3D Rendering"
1358
wasm = true
1359
1360
[[example]]
1361
name = "motion_blur"
1362
path = "examples/3d/motion_blur.rs"
1363
# Causes an ICE on docs.rs
1364
doc-scrape-examples = false
1365
1366
[package.metadata.example.motion_blur]
1367
name = "Motion Blur"
1368
description = "Demonstrates per-pixel motion blur"
1369
category = "3D Rendering"
1370
wasm = true
1371
1372
[[example]]
1373
name = "order_independent_transparency"
1374
path = "examples/3d/order_independent_transparency.rs"
1375
# Causes an ICE on docs.rs
1376
doc-scrape-examples = false
1377
1378
[package.metadata.example.order_independent_transparency]
1379
name = "Order Independent Transparency"
1380
description = "Demonstrates how to use OIT"
1381
category = "3D Rendering"
1382
# Not supported by WebGL
1383
wasm = false
1384
1385
[[example]]
1386
name = "tonemapping"
1387
path = "examples/3d/tonemapping.rs"
1388
# Causes an ICE on docs.rs
1389
doc-scrape-examples = false
1390
1391
[package.metadata.example.tonemapping]
1392
name = "Tonemapping"
1393
description = "Compares tonemapping options"
1394
category = "3D Rendering"
1395
wasm = true
1396
1397
[[example]]
1398
name = "orthographic"
1399
path = "examples/3d/orthographic.rs"
1400
# Causes an ICE on docs.rs
1401
doc-scrape-examples = false
1402
1403
[package.metadata.example.orthographic]
1404
name = "Orthographic View"
1405
description = "Shows how to create a 3D orthographic view (for isometric-look in games or CAD applications)"
1406
category = "3D Rendering"
1407
wasm = true
1408
1409
[[example]]
1410
name = "parenting"
1411
path = "examples/3d/parenting.rs"
1412
doc-scrape-examples = true
1413
1414
[package.metadata.example.parenting]
1415
name = "Parenting"
1416
description = "Demonstrates parent->child relationships and relative transformations"
1417
category = "3D Rendering"
1418
wasm = true
1419
1420
[[example]]
1421
name = "pbr"
1422
path = "examples/3d/pbr.rs"
1423
# Causes an ICE on docs.rs
1424
doc-scrape-examples = false
1425
1426
[package.metadata.example.pbr]
1427
name = "Physically Based Rendering"
1428
description = "Demonstrates use of Physically Based Rendering (PBR) properties"
1429
category = "3D Rendering"
1430
wasm = true
1431
1432
[[example]]
1433
name = "parallax_mapping"
1434
path = "examples/3d/parallax_mapping.rs"
1435
# Causes an ICE on docs.rs
1436
doc-scrape-examples = false
1437
1438
[package.metadata.example.parallax_mapping]
1439
name = "Parallax Mapping"
1440
description = "Demonstrates use of a normal map and depth map for parallax mapping"
1441
category = "3D Rendering"
1442
wasm = true
1443
1444
[[example]]
1445
name = "render_to_texture"
1446
path = "examples/3d/render_to_texture.rs"
1447
# Causes an ICE on docs.rs
1448
doc-scrape-examples = false
1449
1450
[package.metadata.example.render_to_texture]
1451
name = "Render to Texture"
1452
description = "Shows how to render to a texture, useful for mirrors, UI, or exporting images"
1453
category = "3D Rendering"
1454
wasm = true
1455
1456
[[example]]
1457
name = "shadow_biases"
1458
path = "examples/3d/shadow_biases.rs"
1459
# Causes an ICE on docs.rs
1460
doc-scrape-examples = false
1461
required-features = ["free_camera"]
1462
1463
[package.metadata.example.shadow_biases]
1464
name = "Shadow Biases"
1465
description = "Demonstrates how shadow biases affect shadows in a 3d scene"
1466
category = "3D Rendering"
1467
wasm = true
1468
1469
[[example]]
1470
name = "shadow_caster_receiver"
1471
path = "examples/3d/shadow_caster_receiver.rs"
1472
# Causes an ICE on docs.rs
1473
doc-scrape-examples = false
1474
1475
[package.metadata.example.shadow_caster_receiver]
1476
name = "Shadow Caster and Receiver"
1477
description = "Demonstrates how to prevent meshes from casting/receiving shadows in a 3d scene"
1478
category = "3D Rendering"
1479
wasm = true
1480
1481
[[example]]
1482
name = "skybox"
1483
path = "examples/3d/skybox.rs"
1484
# Causes an ICE on docs.rs
1485
doc-scrape-examples = false
1486
required-features = ["free_camera"]
1487
1488
[package.metadata.example.skybox]
1489
name = "Skybox"
1490
description = "Load a cubemap texture onto a cube like a skybox and cycle through different compressed texture formats."
1491
category = "3D Rendering"
1492
wasm = true
1493
1494
[[example]]
1495
name = "solari"
1496
path = "examples/3d/solari.rs"
1497
# Causes an ICE on docs.rs
1498
doc-scrape-examples = false
1499
required-features = ["bevy_solari", "https", "free_camera"]
1500
1501
[package.metadata.example.solari]
1502
name = "Solari"
1503
description = "Demonstrates realtime dynamic raytraced lighting using Bevy Solari."
1504
category = "3D Rendering"
1505
wasm = false # Raytracing is not supported on the web
1506
1507
[[example]]
1508
name = "spherical_area_lights"
1509
path = "examples/3d/spherical_area_lights.rs"
1510
doc-scrape-examples = true
1511
1512
[package.metadata.example.spherical_area_lights]
1513
name = "Spherical Area Lights"
1514
description = "Demonstrates how point light radius values affect light behavior"
1515
category = "3D Rendering"
1516
wasm = true
1517
1518
[[example]]
1519
name = "split_screen"
1520
path = "examples/3d/split_screen.rs"
1521
# Causes an ICE on docs.rs
1522
doc-scrape-examples = false
1523
1524
[package.metadata.example.split_screen]
1525
name = "Split Screen"
1526
description = "Demonstrates how to render two cameras to the same window to accomplish \"split screen\""
1527
category = "3D Rendering"
1528
wasm = true
1529
1530
[[example]]
1531
name = "texture"
1532
path = "examples/3d/texture.rs"
1533
# Causes an ICE on docs.rs
1534
doc-scrape-examples = false
1535
1536
[package.metadata.example.texture]
1537
name = "Texture"
1538
description = "Shows configuration of texture materials"
1539
category = "3D Rendering"
1540
wasm = true
1541
1542
[[example]]
1543
name = "transparency_3d"
1544
path = "examples/3d/transparency_3d.rs"
1545
# Causes an ICE on docs.rs
1546
doc-scrape-examples = false
1547
1548
[package.metadata.example.transparency_3d]
1549
name = "Transparency in 3D"
1550
description = "Demonstrates transparency in 3d"
1551
category = "3D Rendering"
1552
wasm = true
1553
1554
[[example]]
1555
name = "transmission"
1556
path = "examples/3d/transmission.rs"
1557
# Causes an ICE on docs.rs
1558
doc-scrape-examples = false
1559
1560
[package.metadata.example.transmission]
1561
name = "Transmission"
1562
description = "Showcases light transmission in the PBR material"
1563
category = "3D Rendering"
1564
wasm = true
1565
1566
[[example]]
1567
name = "two_passes"
1568
path = "examples/3d/two_passes.rs"
1569
# Causes an ICE on docs.rs
1570
doc-scrape-examples = false
1571
1572
[package.metadata.example.two_passes]
1573
name = "Two Passes"
1574
description = "Renders two 3d passes to the same window from different perspectives"
1575
category = "3D Rendering"
1576
wasm = true
1577
1578
[[example]]
1579
name = "vertex_colors"
1580
path = "examples/3d/vertex_colors.rs"
1581
doc-scrape-examples = true
1582
1583
[package.metadata.example.vertex_colors]
1584
name = "Vertex Colors"
1585
description = "Shows the use of vertex colors"
1586
category = "3D Rendering"
1587
wasm = true
1588
1589
[[example]]
1590
name = "wireframe"
1591
path = "examples/3d/wireframe.rs"
1592
# Causes an ICE on docs.rs
1593
doc-scrape-examples = false
1594
1595
[package.metadata.example.wireframe]
1596
name = "Wireframe"
1597
description = "Showcases wireframe rendering"
1598
category = "3D Rendering"
1599
# Not supported on WebGL
1600
wasm = false
1601
1602
[[example]]
1603
name = "irradiance_volumes"
1604
path = "examples/3d/irradiance_volumes.rs"
1605
# Causes an ICE on docs.rs
1606
doc-scrape-examples = false
1607
1608
[package.metadata.example.irradiance_volumes]
1609
name = "Irradiance Volumes"
1610
description = "Demonstrates irradiance volumes"
1611
category = "3D Rendering"
1612
# On WebGL and WebGPU, the number of texture bindings is too low
1613
# See <https://github.com/bevyengine/bevy/issues/11885>
1614
wasm = false
1615
1616
[[example]]
1617
name = "meshlet"
1618
path = "examples/3d/meshlet.rs"
1619
# Causes an ICE on docs.rs
1620
doc-scrape-examples = false
1621
required-features = ["meshlet", "https", "free_camera"]
1622
1623
[package.metadata.example.meshlet]
1624
name = "Meshlet"
1625
description = "Meshlet rendering for dense high-poly scenes (experimental)"
1626
category = "3D Rendering"
1627
# Requires compute shaders and WGPU extensions, not supported by WebGL nor WebGPU.
1628
wasm = false
1629
1630
[[example]]
1631
name = "mesh_ray_cast"
1632
path = "examples/3d/mesh_ray_cast.rs"
1633
# Causes an ICE on docs.rs
1634
doc-scrape-examples = false
1635
1636
[package.metadata.example.mesh_ray_cast]
1637
name = "Mesh Ray Cast"
1638
description = "Demonstrates ray casting with the `MeshRayCast` system parameter"
1639
category = "3D Rendering"
1640
wasm = true
1641
1642
[[example]]
1643
name = "lightmaps"
1644
path = "examples/3d/lightmaps.rs"
1645
# Causes an ICE on docs.rs
1646
doc-scrape-examples = false
1647
1648
[package.metadata.example.lightmaps]
1649
name = "Lightmaps"
1650
description = "Rendering a scene with baked lightmaps"
1651
category = "3D Rendering"
1652
wasm = true
1653
1654
[[example]]
1655
name = "no_prepass"
1656
path = "tests/3d/no_prepass.rs"
1657
doc-scrape-examples = true
1658
1659
[package.metadata.example.no_prepass]
1660
hidden = true
1661
1662
# Animation
1663
[[example]]
1664
name = "animation_events"
1665
path = "examples/animation/animation_events.rs"
1666
# Causes an ICE on docs.rs
1667
doc-scrape-examples = false
1668
1669
[package.metadata.example.animation_events]
1670
name = "Animation Events"
1671
description = "Demonstrate how to use animation events"
1672
category = "Animation"
1673
wasm = true
1674
1675
[[example]]
1676
name = "animated_mesh"
1677
path = "examples/animation/animated_mesh.rs"
1678
# Causes an ICE on docs.rs
1679
doc-scrape-examples = false
1680
1681
[package.metadata.example.animated_mesh]
1682
name = "Animated Mesh"
1683
description = "Plays an animation on a skinned glTF model of a fox"
1684
category = "Animation"
1685
wasm = true
1686
1687
[[example]]
1688
name = "animated_mesh_control"
1689
path = "examples/animation/animated_mesh_control.rs"
1690
# Causes an ICE on docs.rs
1691
doc-scrape-examples = false
1692
1693
[package.metadata.example.animated_mesh_control]
1694
name = "Animated Mesh Control"
1695
description = "Plays an animation from a skinned glTF with keyboard controls"
1696
category = "Animation"
1697
wasm = true
1698
1699
[[example]]
1700
name = "animated_mesh_events"
1701
path = "examples/animation/animated_mesh_events.rs"
1702
# Causes an ICE on docs.rs
1703
doc-scrape-examples = false
1704
1705
[package.metadata.example.animated_mesh_events]
1706
name = "Animated Mesh Events"
1707
description = "Plays an animation from a skinned glTF with events"
1708
category = "Animation"
1709
wasm = true
1710
1711
[[example]]
1712
name = "animation_graph"
1713
path = "examples/animation/animation_graph.rs"
1714
# Causes an ICE on docs.rs
1715
doc-scrape-examples = false
1716
1717
[package.metadata.example.animation_graph]
1718
name = "Animation Graph"
1719
description = "Blends multiple animations together with a graph"
1720
category = "Animation"
1721
wasm = true
1722
1723
[[example]]
1724
name = "morph_targets"
1725
path = "examples/animation/morph_targets.rs"
1726
# Causes an ICE on docs.rs
1727
doc-scrape-examples = false
1728
1729
[package.metadata.example.morph_targets]
1730
name = "Morph Targets"
1731
description = "Plays an animation from a glTF file with meshes with morph targets"
1732
category = "Animation"
1733
wasm = true
1734
1735
[[example]]
1736
name = "animated_transform"
1737
path = "examples/animation/animated_transform.rs"
1738
doc-scrape-examples = true
1739
1740
[package.metadata.example.animated_transform]
1741
name = "Animated Transform"
1742
description = "Create and play an animation defined by code that operates on the `Transform` component"
1743
category = "Animation"
1744
wasm = true
1745
1746
[[example]]
1747
name = "color_animation"
1748
path = "examples/animation/color_animation.rs"
1749
# Causes an ICE on docs.rs
1750
doc-scrape-examples = false
1751
1752
[package.metadata.example.color_animation]
1753
name = "Color animation"
1754
description = "Demonstrates how to animate colors using mixing and splines in different color spaces"
1755
category = "Animation"
1756
wasm = true
1757
1758
[[example]]
1759
name = "eased_motion"
1760
path = "examples/animation/eased_motion.rs"
1761
# Causes an ICE on docs.rs
1762
doc-scrape-examples = false
1763
1764
[package.metadata.example.eased_motion]
1765
name = "Eased Motion"
1766
description = "Demonstrates the application of easing curves to animate an object"
1767
category = "Animation"
1768
wasm = true
1769
1770
[[example]]
1771
name = "easing_functions"
1772
path = "examples/animation/easing_functions.rs"
1773
# Causes an ICE on docs.rs
1774
doc-scrape-examples = false
1775
1776
[package.metadata.example.easing_functions]
1777
name = "Easing Functions"
1778
description = "Showcases the built-in easing functions"
1779
category = "Animation"
1780
wasm = true
1781
1782
[[example]]
1783
name = "custom_skinned_mesh"
1784
path = "examples/animation/custom_skinned_mesh.rs"
1785
# Causes an ICE on docs.rs
1786
doc-scrape-examples = false
1787
1788
[package.metadata.example.custom_skinned_mesh]
1789
name = "Custom Skinned Mesh"
1790
description = "Skinned mesh example with mesh and joints data defined in code"
1791
category = "Animation"
1792
wasm = true
1793
1794
# Application
1795
[[example]]
1796
name = "custom_loop"
1797
path = "examples/app/custom_loop.rs"
1798
# Causes an ICE on docs.rs
1799
doc-scrape-examples = false
1800
1801
[package.metadata.example.custom_loop]
1802
name = "Custom Loop"
1803
description = "Demonstrates how to create a custom runner (to update an app manually)"
1804
category = "Application"
1805
# Doesn't render anything, doesn't create a canvas
1806
wasm = false
1807
1808
[[example]]
1809
name = "drag_and_drop"
1810
path = "examples/app/drag_and_drop.rs"
1811
doc-scrape-examples = true
1812
1813
[package.metadata.example.drag_and_drop]
1814
name = "Drag and Drop"
1815
description = "An example that shows how to handle drag and drop in an app"
1816
category = "Application"
1817
# Browser drag and drop is not supported
1818
wasm = false
1819
1820
[[example]]
1821
name = "empty"
1822
path = "examples/app/empty.rs"
1823
doc-scrape-examples = true
1824
1825
[package.metadata.example.empty]
1826
name = "Empty"
1827
description = "An empty application (does nothing)"
1828
category = "Application"
1829
# Doesn't render anything, doesn't create a canvas
1830
wasm = false
1831
1832
[[example]]
1833
name = "empty_defaults"
1834
path = "examples/app/empty_defaults.rs"
1835
doc-scrape-examples = true
1836
1837
[package.metadata.example.empty_defaults]
1838
name = "Empty with Defaults"
1839
description = "An empty application with default plugins"
1840
category = "Application"
1841
wasm = true
1842
1843
[[example]]
1844
name = "headless"
1845
path = "examples/app/headless.rs"
1846
doc-scrape-examples = true
1847
required-features = ["bevy_log"]
1848
1849
[package.metadata.example.headless]
1850
name = "Headless"
1851
description = "An application that runs without default plugins"
1852
category = "Application"
1853
# Doesn't render anything, doesn't create a canvas
1854
wasm = false
1855
1856
[[example]]
1857
name = "logs"
1858
path = "examples/app/logs.rs"
1859
doc-scrape-examples = true
1860
1861
[package.metadata.example.logs]
1862
name = "Logs"
1863
description = "Illustrate how to use generate log output"
1864
category = "Application"
1865
wasm = true
1866
1867
[[example]]
1868
name = "log_layers"
1869
path = "examples/app/log_layers.rs"
1870
doc-scrape-examples = true
1871
1872
[package.metadata.example.log_layers]
1873
name = "Log layers"
1874
description = "Illustrate how to add custom log layers"
1875
category = "Application"
1876
# Accesses `time`, which is not available on the web
1877
# Also doesn't render anything
1878
wasm = false
1879
1880
[[example]]
1881
name = "log_layers_ecs"
1882
path = "examples/app/log_layers_ecs.rs"
1883
# Causes an ICE on docs.rs
1884
doc-scrape-examples = false
1885
1886
[package.metadata.example.log_layers_ecs]
1887
name = "Advanced log layers"
1888
description = "Illustrate how to transfer data between log layers and Bevy's ECS"
1889
category = "Application"
1890
# Doesn't render anything, doesn't create a canvas
1891
wasm = false
1892
1893
[[example]]
1894
name = "plugin"
1895
path = "examples/app/plugin.rs"
1896
# Causes an ICE on docs.rs
1897
doc-scrape-examples = false
1898
1899
[package.metadata.example.plugin]
1900
name = "Plugin"
1901
description = "Demonstrates the creation and registration of a custom plugin"
1902
category = "Application"
1903
wasm = true
1904
1905
[[example]]
1906
name = "plugin_group"
1907
path = "examples/app/plugin_group.rs"
1908
doc-scrape-examples = true
1909
1910
[package.metadata.example.plugin_group]
1911
name = "Plugin Group"
1912
description = "Demonstrates the creation and registration of a custom plugin group"
1913
category = "Application"
1914
wasm = true
1915
1916
[[example]]
1917
name = "return_after_run"
1918
path = "examples/app/return_after_run.rs"
1919
doc-scrape-examples = true
1920
1921
[package.metadata.example.return_after_run]
1922
name = "Return after Run"
1923
description = "Show how to return to main after the Bevy app has exited"
1924
category = "Application"
1925
wasm = false
1926
1927
[[example]]
1928
name = "thread_pool_resources"
1929
path = "examples/app/thread_pool_resources.rs"
1930
doc-scrape-examples = true
1931
1932
[package.metadata.example.thread_pool_resources]
1933
name = "Thread Pool Resources"
1934
description = "Creates and customizes the internal thread pool"
1935
category = "Application"
1936
wasm = false
1937
1938
[[example]]
1939
name = "no_renderer"
1940
path = "examples/app/no_renderer.rs"
1941
doc-scrape-examples = true
1942
1943
[package.metadata.example.no_renderer]
1944
name = "No Renderer"
1945
description = "An application that runs with default plugins and displays an empty window, but without an actual renderer"
1946
category = "Application"
1947
wasm = false
1948
1949
[[example]]
1950
name = "externally_driven_headless_renderer"
1951
path = "examples/app/externally_driven_headless_renderer.rs"
1952
doc-scrape-examples = true
1953
1954
[package.metadata.example.externally_driven_headless_renderer]
1955
name = "Externally Driven Headless Renderer"
1956
description = "Using bevy with manually driven update to render images"
1957
category = "Application"
1958
wasm = false
1959
1960
[[example]]
1961
name = "render_recovery"
1962
path = "examples/app/render_recovery.rs"
1963
doc-scrape-examples = true
1964
1965
[package.metadata.example.render_recovery]
1966
name = "Render Recovery"
1967
description = "Demonstrates how bevy can recover from rendering failures."
1968
category = "Application"
1969
wasm = false
1970
1971
[[example]]
1972
name = "headless_renderer"
1973
path = "examples/app/headless_renderer.rs"
1974
# Causes an ICE on docs.rs
1975
doc-scrape-examples = false
1976
1977
[package.metadata.example.headless_renderer]
1978
name = "Headless Renderer"
1979
description = "An application that runs with no window, but renders into image file"
1980
category = "Application"
1981
wasm = false
1982
1983
[[example]]
1984
name = "without_winit"
1985
path = "examples/app/without_winit.rs"
1986
# Causes an ICE on docs.rs
1987
doc-scrape-examples = false
1988
1989
[package.metadata.example.without_winit]
1990
name = "Without Winit"
1991
description = "Create an application without winit (runs single time, no event loop)"
1992
category = "Application"
1993
wasm = false
1994
1995
# Assets
1996
[[example]]
1997
name = "alter_mesh"
1998
path = "examples/asset/alter_mesh.rs"
1999
# Causes an ICE on docs.rs
2000
doc-scrape-examples = false
2001
2002
[package.metadata.example.alter_mesh]
2003
name = "Alter Mesh"
2004
description = "Shows how to modify the underlying asset of a Mesh after spawning."
2005
category = "Assets"
2006
wasm = false
2007
2008
[[example]]
2009
name = "alter_sprite"
2010
path = "examples/asset/alter_sprite.rs"
2011
# Causes an ICE on docs.rs
2012
doc-scrape-examples = false
2013
2014
[package.metadata.example.alter_sprite]
2015
name = "Alter Sprite"
2016
description = "Shows how to modify texture assets after spawning."
2017
category = "Assets"
2018
wasm = false
2019
2020
[[example]]
2021
name = "asset_loading"
2022
path = "examples/asset/asset_loading.rs"
2023
# Causes an ICE on docs.rs
2024
doc-scrape-examples = false
2025
2026
[package.metadata.example.asset_loading]
2027
name = "Asset Loading"
2028
description = "Demonstrates various methods to load assets"
2029
category = "Assets"
2030
wasm = false
2031
2032
[[example]]
2033
name = "asset_saving"
2034
path = "examples/asset/asset_saving.rs"
2035
doc-scrape-examples = true
2036
required-features = ["bevy_picking", "sprite_picking"]
2037
2038
[package.metadata.example.asset_saving]
2039
name = "Asset Saving"
2040
description = "Demonstrates how to save an asset (with subassets)"
2041
category = "Assets"
2042
wasm = true
2043
2044
[[example]]
2045
name = "asset_settings"
2046
path = "examples/asset/asset_settings.rs"
2047
doc-scrape-examples = true
2048
2049
[package.metadata.example.asset_settings]
2050
name = "Asset Settings"
2051
description = "Demonstrates various methods of applying settings when loading an asset"
2052
category = "Assets"
2053
wasm = false
2054
2055
[[example]]
2056
name = "asset_decompression"
2057
path = "examples/asset/asset_decompression.rs"
2058
# Causes an ICE on docs.rs
2059
doc-scrape-examples = false
2060
2061
[package.metadata.example.asset_decompression]
2062
name = "Asset Decompression"
2063
description = "Demonstrates loading a compressed asset"
2064
category = "Assets"
2065
wasm = false
2066
2067
[[example]]
2068
name = "custom_asset"
2069
path = "examples/asset/custom_asset.rs"
2070
# Causes an ICE on docs.rs
2071
doc-scrape-examples = false
2072
2073
[package.metadata.example.custom_asset]
2074
name = "Custom Asset"
2075
description = "Implements a custom asset loader"
2076
category = "Assets"
2077
wasm = true
2078
2079
[[example]]
2080
name = "custom_asset_reader"
2081
path = "examples/asset/custom_asset_reader.rs"
2082
# Causes an ICE on docs.rs
2083
doc-scrape-examples = false
2084
2085
[package.metadata.example.custom_asset_reader]
2086
name = "Custom Asset IO"
2087
description = "Implements a custom AssetReader"
2088
category = "Assets"
2089
# Incompatible with the asset path patching of the example-showcase tool
2090
wasm = false
2091
2092
[[example]]
2093
name = "embedded_asset"
2094
path = "examples/asset/embedded_asset.rs"
2095
doc-scrape-examples = true
2096
2097
[package.metadata.example.embedded_asset]
2098
name = "Embedded Asset"
2099
description = "Embed an asset in the application binary and load it"
2100
category = "Assets"
2101
wasm = true
2102
2103
[[example]]
2104
name = "extra_asset_source"
2105
path = "examples/asset/extra_source.rs"
2106
doc-scrape-examples = true
2107
2108
[package.metadata.example.extra_asset_source]
2109
name = "Extra Asset Source"
2110
description = "Load an asset from a non-standard asset source"
2111
category = "Assets"
2112
# Uses non-standard asset path
2113
wasm = false
2114
2115
[[example]]
2116
name = "web_asset"
2117
path = "examples/asset/web_asset.rs"
2118
doc-scrape-examples = true
2119
required-features = ["https"]
2120
2121
[package.metadata.example.web_asset]
2122
name = "Web Asset"
2123
description = "Load an asset from the web"
2124
category = "Assets"
2125
wasm = true
2126
2127
[[example]]
2128
name = "hot_asset_reloading"
2129
path = "examples/asset/hot_asset_reloading.rs"
2130
doc-scrape-examples = true
2131
required-features = ["file_watcher"]
2132
2133
[package.metadata.example.hot_asset_reloading]
2134
name = "Hot Reloading of Assets"
2135
description = "Demonstrates automatic reloading of assets when modified on disk"
2136
category = "Assets"
2137
wasm = false
2138
2139
[[example]]
2140
name = "asset_processing"
2141
path = "examples/asset/processing/asset_processing.rs"
2142
# Causes an ICE on docs.rs
2143
doc-scrape-examples = false
2144
required-features = ["file_watcher", "asset_processor"]
2145
2146
[package.metadata.example.asset_processing]
2147
name = "Asset Processing"
2148
description = "Demonstrates how to process and load custom assets"
2149
category = "Assets"
2150
wasm = false
2151
2152
[[example]]
2153
name = "repeated_texture"
2154
path = "examples/asset/repeated_texture.rs"
2155
# Causes an ICE on docs.rs
2156
doc-scrape-examples = false
2157
2158
[package.metadata.example.repeated_texture]
2159
name = "Repeated texture configuration"
2160
description = "How to configure the texture to repeat instead of the default clamp to edges"
2161
category = "Assets"
2162
wasm = true
2163
2164
# Assets
2165
[[example]]
2166
name = "multi_asset_sync"
2167
path = "examples/asset/multi_asset_sync.rs"
2168
# Causes an ICE on docs.rs
2169
doc-scrape-examples = false
2170
2171
[package.metadata.example.multi_asset_sync]
2172
name = "Multi-asset synchronization"
2173
description = "Demonstrates how to wait for multiple assets to be loaded."
2174
category = "Assets"
2175
wasm = true
2176
2177
# Async Tasks
2178
[[example]]
2179
name = "async_compute"
2180
path = "examples/async_tasks/async_compute.rs"
2181
# Causes an ICE on docs.rs
2182
doc-scrape-examples = false
2183
2184
[package.metadata.example.async_compute]
2185
name = "Async Compute"
2186
description = "How to use `AsyncComputeTaskPool` to complete longer running tasks"
2187
category = "Async Tasks"
2188
wasm = false
2189
2190
[[example]]
2191
name = "async_channel_pattern"
2192
path = "examples/async_tasks/async_channel_pattern.rs"
2193
# Causes an ICE on docs.rs
2194
doc-scrape-examples = false
2195
2196
[package.metadata.example.async_channel_pattern]
2197
name = "Async Channel Pattern"
2198
description = "An example showing how to offload work to background async tasks using channels for communication."
2199
category = "Async Tasks"
2200
wasm = true
2201
2202
[[example]]
2203
name = "external_source_external_thread"
2204
path = "examples/async_tasks/external_source_external_thread.rs"
2205
# Causes an ICE on docs.rs
2206
doc-scrape-examples = false
2207
2208
[package.metadata.example.external_source_external_thread]
2209
name = "External Source of Data on an External Thread"
2210
description = "How to use an external thread to run an infinite task and communicate with a channel"
2211
category = "Async Tasks"
2212
wasm = false
2213
2214
# Audio
2215
[[example]]
2216
name = "audio"
2217
path = "examples/audio/audio.rs"
2218
doc-scrape-examples = true
2219
2220
[package.metadata.example.audio]
2221
name = "Audio"
2222
description = "Shows how to load and play an audio file"
2223
category = "Audio"
2224
wasm = true
2225
2226
[[example]]
2227
name = "audio_control"
2228
path = "examples/audio/audio_control.rs"
2229
doc-scrape-examples = true
2230
2231
[package.metadata.example.audio_control]
2232
name = "Audio Control"
2233
description = "Shows how to load and play an audio file, and control how it's played"
2234
category = "Audio"
2235
wasm = true
2236
2237
[[example]]
2238
name = "decodable"
2239
path = "examples/audio/decodable.rs"
2240
# Causes an ICE on docs.rs
2241
doc-scrape-examples = false
2242
2243
[package.metadata.example.decodable]
2244
name = "Decodable"
2245
description = "Shows how to create and register a custom audio source by implementing the `Decodable` type."
2246
category = "Audio"
2247
wasm = true
2248
2249
[[example]]
2250
name = "soundtrack"
2251
path = "examples/audio/soundtrack.rs"
2252
# Causes an ICE on docs.rs
2253
doc-scrape-examples = false
2254
2255
[package.metadata.example.soundtrack]
2256
name = "Soundtrack"
2257
description = "Shows how to play different soundtracks based on game state"
2258
category = "Audio"
2259
wasm = true
2260
2261
[[example]]
2262
name = "spatial_audio_2d"
2263
path = "examples/audio/spatial_audio_2d.rs"
2264
# Causes an ICE on docs.rs
2265
doc-scrape-examples = false
2266
2267
[package.metadata.example.spatial_audio_2d]
2268
name = "Spatial Audio 2D"
2269
description = "Shows how to play spatial audio, and moving the emitter in 2D"
2270
category = "Audio"
2271
wasm = true
2272
2273
[[example]]
2274
name = "spatial_audio_3d"
2275
path = "examples/audio/spatial_audio_3d.rs"
2276
# Causes an ICE on docs.rs
2277
doc-scrape-examples = false
2278
2279
[package.metadata.example.spatial_audio_3d]
2280
name = "Spatial Audio 3D"
2281
description = "Shows how to play spatial audio, and moving the emitter in 3D"
2282
category = "Audio"
2283
wasm = true
2284
2285
[[example]]
2286
name = "pitch"
2287
path = "examples/audio/pitch.rs"
2288
# Causes an ICE on docs.rs
2289
doc-scrape-examples = false
2290
2291
[package.metadata.example.pitch]
2292
name = "Pitch"
2293
description = "Shows how to directly play a simple pitch"
2294
category = "Audio"
2295
wasm = true
2296
2297
# Diagnostics
2298
[[example]]
2299
name = "log_diagnostics"
2300
path = "examples/diagnostics/log_diagnostics.rs"
2301
# Causes an ICE on docs.rs
2302
doc-scrape-examples = false
2303
2304
[package.metadata.example.log_diagnostics]
2305
name = "Log Diagnostics"
2306
description = "Add a plugin that logs diagnostics, like frames per second (FPS), to the console"
2307
category = "Diagnostics"
2308
wasm = true
2309
2310
[[example]]
2311
name = "custom_diagnostic"
2312
path = "examples/diagnostics/custom_diagnostic.rs"
2313
# Causes an ICE on docs.rs
2314
doc-scrape-examples = false
2315
2316
[package.metadata.example.custom_diagnostic]
2317
name = "Custom Diagnostic"
2318
description = "Shows how to create a custom diagnostic"
2319
category = "Diagnostics"
2320
wasm = true
2321
2322
[[example]]
2323
name = "enabling_disabling_diagnostic"
2324
path = "examples/diagnostics/enabling_disabling_diagnostic.rs"
2325
doc-scrape-examples = true
2326
2327
[package.metadata.example.enabling_disabling_diagnostic]
2328
name = "Enabling/disabling diagnostic"
2329
description = "Shows how to disable/re-enable a Diagnostic during runtime"
2330
category = "Diagnostics"
2331
wasm = true
2332
2333
# ECS (Entity Component System)
2334
[[example]]
2335
name = "ecs_guide"
2336
path = "examples/ecs/ecs_guide.rs"
2337
# Causes an ICE on docs.rs
2338
doc-scrape-examples = false
2339
2340
[package.metadata.example.ecs_guide]
2341
name = "ECS Guide"
2342
description = "Full guide to Bevy's ECS"
2343
category = "ECS (Entity Component System)"
2344
wasm = false
2345
2346
[[example]]
2347
name = "change_detection"
2348
path = "examples/ecs/change_detection.rs"
2349
# Causes an ICE on docs.rs
2350
doc-scrape-examples = false
2351
required-features = ["track_location"]
2352
2353
[package.metadata.example.change_detection]
2354
name = "Change Detection"
2355
description = "Change detection on components and resources"
2356
category = "ECS (Entity Component System)"
2357
wasm = false
2358
2359
[[example]]
2360
name = "component_hooks"
2361
path = "examples/ecs/component_hooks.rs"
2362
# Causes an ICE on docs.rs
2363
doc-scrape-examples = false
2364
2365
[package.metadata.example.component_hooks]
2366
name = "Component Hooks"
2367
description = "Define component hooks to manage component lifecycle events"
2368
category = "ECS (Entity Component System)"
2369
wasm = false
2370
2371
[[example]]
2372
name = "custom_schedule"
2373
path = "examples/ecs/custom_schedule.rs"
2374
# Causes an ICE on docs.rs
2375
doc-scrape-examples = false
2376
2377
[package.metadata.example.custom_schedule]
2378
name = "Custom Schedule"
2379
description = "Demonstrates how to add custom schedules"
2380
category = "ECS (Entity Component System)"
2381
wasm = false
2382
2383
[[example]]
2384
name = "custom_query_param"
2385
path = "examples/ecs/custom_query_param.rs"
2386
# Causes an ICE on docs.rs
2387
doc-scrape-examples = false
2388
2389
[package.metadata.example.custom_query_param]
2390
name = "Custom Query Parameters"
2391
description = "Groups commonly used compound queries and query filters into a single type"
2392
category = "ECS (Entity Component System)"
2393
wasm = false
2394
2395
[[example]]
2396
name = "dynamic"
2397
path = "examples/ecs/dynamic.rs"
2398
# Causes an ICE on docs.rs
2399
doc-scrape-examples = false
2400
required-features = ["debug"]
2401
2402
[package.metadata.example.dynamic]
2403
name = "Dynamic ECS"
2404
description = "Dynamically create components, spawn entities with those components and query those components"
2405
category = "ECS (Entity Component System)"
2406
wasm = false
2407
2408
[[example]]
2409
name = "message"
2410
path = "examples/ecs/message.rs"
2411
# Causes an ICE on docs.rs
2412
doc-scrape-examples = false
2413
2414
[package.metadata.example.message]
2415
name = "Message"
2416
description = "Illustrates message creation, activation, and reception"
2417
category = "ECS (Entity Component System)"
2418
wasm = false
2419
2420
[[example]]
2421
name = "send_and_receive_messages"
2422
path = "examples/ecs/send_and_receive_messages.rs"
2423
# Causes an ICE on docs.rs
2424
doc-scrape-examples = false
2425
2426
[package.metadata.example.send_and_receive_messages]
2427
name = "Send and receive messages"
2428
description = "Demonstrates how to send and receive messages of the same type in a single system"
2429
category = "ECS (Entity Component System)"
2430
wasm = false
2431
2432
[[example]]
2433
name = "entity_disabling"
2434
path = "examples/ecs/entity_disabling.rs"
2435
# Causes an ICE on docs.rs
2436
doc-scrape-examples = false
2437
2438
[package.metadata.example.entity_disabling]
2439
name = "Entity disabling"
2440
description = "Demonstrates how to hide entities from the ECS without deleting them"
2441
category = "ECS (Entity Component System)"
2442
wasm = true
2443
2444
[[example]]
2445
name = "fixed_timestep"
2446
path = "examples/ecs/fixed_timestep.rs"
2447
# Causes an ICE on docs.rs
2448
doc-scrape-examples = false
2449
2450
[package.metadata.example.fixed_timestep]
2451
name = "Fixed Timestep"
2452
description = "Shows how to create systems that run every fixed timestep, rather than every tick"
2453
category = "ECS (Entity Component System)"
2454
wasm = false
2455
2456
[[example]]
2457
name = "generic_system"
2458
path = "examples/ecs/generic_system.rs"
2459
# Causes an ICE on docs.rs
2460
doc-scrape-examples = false
2461
2462
[package.metadata.example.generic_system]
2463
name = "Generic System"
2464
description = "Shows how to create systems that can be reused with different types"
2465
category = "ECS (Entity Component System)"
2466
wasm = false
2467
2468
[[example]]
2469
name = "hierarchy"
2470
path = "examples/ecs/hierarchy.rs"
2471
# Causes an ICE on docs.rs
2472
doc-scrape-examples = false
2473
2474
[package.metadata.example.hierarchy]
2475
name = "Hierarchy"
2476
description = "Creates a hierarchy of parents and children entities"
2477
category = "ECS (Entity Component System)"
2478
wasm = false
2479
2480
[[example]]
2481
name = "immutable_components"
2482
path = "examples/ecs/immutable_components.rs"
2483
# Causes an ICE on docs.rs
2484
doc-scrape-examples = false
2485
2486
[package.metadata.example.immutable_components]
2487
name = "Immutable Components"
2488
description = "Demonstrates the creation and utility of immutable components"
2489
category = "ECS (Entity Component System)"
2490
wasm = false
2491
2492
[[example]]
2493
name = "iter_combinations"
2494
path = "examples/ecs/iter_combinations.rs"
2495
# Causes an ICE on docs.rs
2496
doc-scrape-examples = false
2497
2498
[package.metadata.example.iter_combinations]
2499
name = "Iter Combinations"
2500
description = "Shows how to iterate over combinations of query results"
2501
category = "ECS (Entity Component System)"
2502
wasm = true
2503
2504
[[example]]
2505
name = "one_shot_systems"
2506
path = "examples/ecs/one_shot_systems.rs"
2507
# Causes an ICE on docs.rs
2508
doc-scrape-examples = false
2509
2510
[package.metadata.example.one_shot_systems]
2511
name = "One Shot Systems"
2512
description = "Shows how to flexibly run systems without scheduling them"
2513
category = "ECS (Entity Component System)"
2514
wasm = false
2515
2516
[[example]]
2517
name = "parallel_query"
2518
path = "examples/ecs/parallel_query.rs"
2519
# Causes an ICE on docs.rs
2520
doc-scrape-examples = false
2521
2522
[package.metadata.example.parallel_query]
2523
name = "Parallel Query"
2524
description = "Illustrates parallel queries with `ParallelIterator`"
2525
category = "ECS (Entity Component System)"
2526
wasm = false
2527
2528
[[example]]
2529
name = "relationships"
2530
path = "examples/ecs/relationships.rs"
2531
# Causes an ICE on docs.rs
2532
doc-scrape-examples = false
2533
2534
[package.metadata.example.relationships]
2535
name = "Relationships"
2536
description = "Define and work with custom relationships between entities"
2537
category = "ECS (Entity Component System)"
2538
wasm = false
2539
2540
[[example]]
2541
name = "removal_detection"
2542
path = "examples/ecs/removal_detection.rs"
2543
# Causes an ICE on docs.rs
2544
doc-scrape-examples = false
2545
2546
[package.metadata.example.removal_detection]
2547
name = "Removal Detection"
2548
description = "Query for entities that had a specific component removed earlier in the current frame"
2549
category = "ECS (Entity Component System)"
2550
wasm = false
2551
2552
[[example]]
2553
name = "run_conditions"
2554
path = "examples/ecs/run_conditions.rs"
2555
# Causes an ICE on docs.rs
2556
doc-scrape-examples = false
2557
2558
[package.metadata.example.run_conditions]
2559
name = "Run Conditions"
2560
description = "Run systems only when one or multiple conditions are met"
2561
category = "ECS (Entity Component System)"
2562
wasm = false
2563
2564
[[example]]
2565
name = "fallible_params"
2566
path = "examples/ecs/fallible_params.rs"
2567
# Causes an ICE on docs.rs
2568
doc-scrape-examples = false
2569
2570
[package.metadata.example.fallible_params]
2571
name = "Fallible System Parameters"
2572
description = "Systems are skipped if their parameters cannot be acquired"
2573
category = "ECS (Entity Component System)"
2574
wasm = false
2575
2576
[[example]]
2577
name = "error_handling"
2578
path = "examples/ecs/error_handling.rs"
2579
# Causes an ICE on docs.rs
2580
doc-scrape-examples = false
2581
required-features = ["mesh_picking"]
2582
2583
[package.metadata.example.error_handling]
2584
name = "Error handling"
2585
description = "How to return and handle errors across the ECS"
2586
category = "ECS (Entity Component System)"
2587
wasm = false
2588
2589
[[example]]
2590
name = "startup_system"
2591
path = "examples/ecs/startup_system.rs"
2592
# Causes an ICE on docs.rs
2593
doc-scrape-examples = false
2594
2595
[package.metadata.example.startup_system]
2596
name = "Startup System"
2597
description = "Demonstrates a startup system (one that runs once when the app starts up)"
2598
category = "ECS (Entity Component System)"
2599
wasm = false
2600
2601
[[example]]
2602
name = "states"
2603
path = "examples/state/states.rs"
2604
# Causes an ICE on docs.rs
2605
doc-scrape-examples = false
2606
2607
[package.metadata.example.states]
2608
name = "States"
2609
description = "Illustrates how to use States to control transitioning from a Menu state to an InGame state."
2610
category = "State"
2611
wasm = false
2612
2613
[[example]]
2614
name = "sub_states"
2615
path = "examples/state/sub_states.rs"
2616
# Causes an ICE on docs.rs
2617
doc-scrape-examples = false
2618
required-features = ["bevy_dev_tools"]
2619
2620
[package.metadata.example.sub_states]
2621
name = "Sub States"
2622
description = "Using Sub States for hierarchical state handling."
2623
category = "State"
2624
wasm = false
2625
2626
[[example]]
2627
name = "computed_states"
2628
path = "examples/state/computed_states.rs"
2629
# Causes an ICE on docs.rs
2630
doc-scrape-examples = false
2631
required-features = ["bevy_dev_tools"]
2632
2633
[package.metadata.example.computed_states]
2634
name = "Computed States"
2635
description = "Advanced state patterns using Computed States."
2636
category = "State"
2637
wasm = false
2638
2639
[[example]]
2640
name = "custom_transitions"
2641
path = "examples/state/custom_transitions.rs"
2642
# Causes an ICE on docs.rs
2643
doc-scrape-examples = false
2644
required-features = ["bevy_dev_tools"]
2645
2646
[package.metadata.example.custom_transitions]
2647
name = "Custom State Transition Behavior"
2648
description = "Creating and working with custom state transition schedules."
2649
category = "State"
2650
wasm = false
2651
2652
[[example]]
2653
name = "system_piping"
2654
path = "examples/ecs/system_piping.rs"
2655
# Causes an ICE on docs.rs
2656
doc-scrape-examples = false
2657
2658
[package.metadata.example.system_piping]
2659
name = "System Piping"
2660
description = "Pipe the output of one system into a second, allowing you to handle any errors gracefully"
2661
category = "ECS (Entity Component System)"
2662
wasm = false
2663
2664
[[example]]
2665
name = "state_scoped"
2666
path = "examples/ecs/state_scoped.rs"
2667
# Causes an ICE on docs.rs
2668
doc-scrape-examples = false
2669
2670
[package.metadata.example.state_scoped]
2671
name = "State Scoped"
2672
description = "Shows how to spawn entities that are automatically despawned either when entering or exiting specific game states."
2673
category = "ECS (Entity Component System)"
2674
wasm = false
2675
2676
[[example]]
2677
name = "system_closure"
2678
path = "examples/ecs/system_closure.rs"
2679
# Causes an ICE on docs.rs
2680
doc-scrape-examples = false
2681
2682
[package.metadata.example.system_closure]
2683
name = "System Closure"
2684
description = "Show how to use closures as systems, and how to configure `Local` variables by capturing external state"
2685
category = "ECS (Entity Component System)"
2686
wasm = false
2687
2688
[[example]]
2689
name = "system_param"
2690
path = "examples/ecs/system_param.rs"
2691
doc-scrape-examples = true
2692
2693
[package.metadata.example.system_param]
2694
name = "System Parameter"
2695
description = "Illustrates creating custom system parameters with `SystemParam`"
2696
category = "ECS (Entity Component System)"
2697
wasm = false
2698
2699
[[example]]
2700
name = "system_stepping"
2701
path = "examples/ecs/system_stepping.rs"
2702
doc-scrape-examples = true
2703
required-features = ["bevy_debug_stepping"]
2704
2705
[package.metadata.example.system_stepping]
2706
name = "System Stepping"
2707
description = "Demonstrate stepping through systems in order of execution."
2708
category = "ECS (Entity Component System)"
2709
wasm = false
2710
2711
# Time
2712
[[example]]
2713
name = "time"
2714
path = "examples/time/time.rs"
2715
# Causes an ICE on docs.rs
2716
doc-scrape-examples = false
2717
2718
[package.metadata.example.time]
2719
name = "Time handling"
2720
description = "Explains how Time is handled in ECS"
2721
category = "Time"
2722
wasm = false
2723
2724
[[example]]
2725
name = "virtual_time"
2726
path = "examples/time/virtual_time.rs"
2727
# Causes an ICE on docs.rs
2728
doc-scrape-examples = false
2729
2730
[package.metadata.example.virtual_time]
2731
name = "Virtual time"
2732
description = "Shows how `Time<Virtual>` can be used to pause, resume, slow down and speed up a game."
2733
category = "Time"
2734
wasm = false
2735
2736
[[example]]
2737
name = "timers"
2738
path = "examples/time/timers.rs"
2739
# Causes an ICE on docs.rs
2740
doc-scrape-examples = false
2741
2742
[package.metadata.example.timers]
2743
name = "Timers"
2744
description = "Illustrates ticking `Timer` resources inside systems and handling their state"
2745
category = "Time"
2746
wasm = false
2747
2748
2749
# Games
2750
[[example]]
2751
name = "alien_cake_addict"
2752
path = "examples/games/alien_cake_addict.rs"
2753
# Causes an ICE on docs.rs
2754
doc-scrape-examples = false
2755
2756
[package.metadata.example.alien_cake_addict]
2757
name = "Alien Cake Addict"
2758
description = "Eat the cakes. Eat them all. An example 3D game"
2759
category = "Games"
2760
wasm = true
2761
2762
[[example]]
2763
name = "breakout"
2764
path = "examples/games/breakout.rs"
2765
# Causes an ICE on docs.rs
2766
doc-scrape-examples = false
2767
2768
[package.metadata.example.breakout]
2769
name = "Breakout"
2770
description = "An implementation of the classic game \"Breakout\"."
2771
category = "Games"
2772
wasm = true
2773
2774
[[example]]
2775
name = "contributors"
2776
path = "examples/games/contributors.rs"
2777
# Causes an ICE on docs.rs
2778
doc-scrape-examples = false
2779
2780
[package.metadata.example.contributors]
2781
name = "Contributors"
2782
description = "Displays each contributor as a bouncy bevy-ball!"
2783
category = "Games"
2784
wasm = true
2785
2786
[[example]]
2787
name = "desk_toy"
2788
path = "examples/games/desk_toy.rs"
2789
# Causes an ICE on docs.rs
2790
doc-scrape-examples = false
2791
2792
[package.metadata.example.desk_toy]
2793
name = "Desk Toy"
2794
description = "Bevy logo as a desk toy using transparent windows! Now with Googly Eyes!"
2795
category = "Games"
2796
wasm = false
2797
2798
[[example]]
2799
name = "game_menu"
2800
path = "examples/games/game_menu.rs"
2801
# Causes an ICE on docs.rs
2802
doc-scrape-examples = false
2803
2804
[package.metadata.example.game_menu]
2805
name = "Game Menu"
2806
description = "A simple game menu"
2807
category = "Games"
2808
wasm = true
2809
2810
[[example]]
2811
name = "loading_screen"
2812
path = "examples/games/loading_screen.rs"
2813
# Causes an ICE on docs.rs
2814
doc-scrape-examples = false
2815
2816
[package.metadata.example.loading_screen]
2817
name = "Loading Screen"
2818
description = "Demonstrates how to create a loading screen that waits for all assets to be loaded and render pipelines to be compiled."
2819
category = "Games"
2820
wasm = true
2821
2822
# Input
2823
[[example]]
2824
name = "char_input_events"
2825
path = "examples/input/char_input_events.rs"
2826
# Causes an ICE on docs.rs
2827
doc-scrape-examples = false
2828
2829
[package.metadata.example.char_input_events]
2830
name = "Char Input Events"
2831
description = "Prints out all chars as they are inputted"
2832
category = "Input"
2833
wasm = false
2834
2835
[[example]]
2836
name = "gamepad_input"
2837
path = "examples/input/gamepad_input.rs"
2838
doc-scrape-examples = true
2839
2840
[package.metadata.example.gamepad_input]
2841
name = "Gamepad Input"
2842
description = "Shows handling of gamepad input, connections, and disconnections"
2843
category = "Input"
2844
wasm = false
2845
2846
[[example]]
2847
name = "gamepad_input_events"
2848
path = "examples/input/gamepad_input_events.rs"
2849
doc-scrape-examples = true
2850
2851
[package.metadata.example.gamepad_input_events]
2852
name = "Gamepad Input Events"
2853
description = "Iterates and prints gamepad input and connection events"
2854
category = "Input"
2855
wasm = false
2856
2857
[[example]]
2858
name = "gamepad_rumble"
2859
path = "examples/input/gamepad_rumble.rs"
2860
doc-scrape-examples = true
2861
2862
[package.metadata.example.gamepad_rumble]
2863
name = "Gamepad Rumble"
2864
description = "Shows how to rumble a gamepad using force feedback"
2865
category = "Input"
2866
wasm = false
2867
2868
[[example]]
2869
name = "keyboard_input"
2870
path = "examples/input/keyboard_input.rs"
2871
doc-scrape-examples = true
2872
2873
[package.metadata.example.keyboard_input]
2874
name = "Keyboard Input"
2875
description = "Demonstrates handling a key press/release"
2876
category = "Input"
2877
wasm = false
2878
2879
[[example]]
2880
name = "keyboard_modifiers"
2881
path = "examples/input/keyboard_modifiers.rs"
2882
doc-scrape-examples = true
2883
2884
[package.metadata.example.keyboard_modifiers]
2885
name = "Keyboard Modifiers"
2886
description = "Demonstrates using key modifiers (ctrl, shift)"
2887
category = "Input"
2888
wasm = false
2889
2890
[[example]]
2891
name = "keyboard_input_events"
2892
path = "examples/input/keyboard_input_events.rs"
2893
doc-scrape-examples = true
2894
2895
[package.metadata.example.keyboard_input_events]
2896
name = "Keyboard Input Events"
2897
description = "Prints out all keyboard events"
2898
category = "Input"
2899
wasm = false
2900
2901
[[example]]
2902
name = "mouse_input"
2903
path = "examples/input/mouse_input.rs"
2904
doc-scrape-examples = true
2905
2906
[package.metadata.example.mouse_input]
2907
name = "Mouse Input"
2908
description = "Demonstrates handling a mouse button press/release"
2909
category = "Input"
2910
wasm = false
2911
2912
[[example]]
2913
name = "mouse_input_events"
2914
path = "examples/input/mouse_input_events.rs"
2915
doc-scrape-examples = true
2916
2917
[package.metadata.example.mouse_input_events]
2918
name = "Mouse Input Events"
2919
description = "Prints out all mouse events (buttons, movement, etc.)"
2920
category = "Input"
2921
wasm = false
2922
2923
[[example]]
2924
name = "mouse_grab"
2925
path = "examples/input/mouse_grab.rs"
2926
doc-scrape-examples = true
2927
2928
[package.metadata.example.mouse_grab]
2929
name = "Mouse Grab"
2930
description = "Demonstrates how to grab the mouse, locking the cursor to the app's screen"
2931
category = "Input"
2932
wasm = false
2933
2934
[[example]]
2935
name = "touch_input"
2936
path = "examples/input/touch_input.rs"
2937
doc-scrape-examples = true
2938
2939
[package.metadata.example.touch_input]
2940
name = "Touch Input"
2941
description = "Displays touch presses, releases, and cancels"
2942
category = "Input"
2943
wasm = false
2944
2945
[[example]]
2946
name = "touch_input_events"
2947
path = "examples/input/touch_input_events.rs"
2948
doc-scrape-examples = true
2949
2950
[package.metadata.example.touch_input_events]
2951
name = "Touch Input Events"
2952
description = "Prints out all touch inputs"
2953
category = "Input"
2954
wasm = false
2955
2956
[[example]]
2957
name = "text_input"
2958
path = "examples/input/text_input.rs"
2959
# Causes an ICE on docs.rs
2960
doc-scrape-examples = false
2961
2962
[package.metadata.example.text_input]
2963
name = "Text Input"
2964
description = "Simple text input with IME support"
2965
category = "Input"
2966
wasm = false
2967
2968
# Reflection
2969
[[example]]
2970
name = "reflection"
2971
path = "examples/reflection/reflection.rs"
2972
# Causes an ICE on docs.rs
2973
doc-scrape-examples = false
2974
2975
[package.metadata.example.reflection]
2976
name = "Reflection"
2977
description = "Demonstrates how reflection in Bevy provides a way to dynamically interact with Rust types"
2978
category = "Reflection"
2979
wasm = false
2980
2981
[[example]]
2982
name = "serialization"
2983
path = "examples/reflection/serialization.rs"
2984
doc-scrape-examples = true
2985
2986
[package.metadata.example.serialization]
2987
name = "Serialization"
2988
description = "Demonstrates serialization and deserialization using reflection without serde's Serialize/Deserialize traits"
2989
category = "Reflection"
2990
wasm = false
2991
2992
[[example]]
2993
name = "custom_attributes"
2994
path = "examples/reflection/custom_attributes.rs"
2995
doc-scrape-examples = true
2996
2997
[package.metadata.example.custom_attributes]
2998
name = "Custom Attributes"
2999
description = "Registering and accessing custom attributes on reflected types"
3000
category = "Reflection"
3001
wasm = false
3002
3003
[[example]]
3004
name = "dynamic_types"
3005
path = "examples/reflection/dynamic_types.rs"
3006
doc-scrape-examples = true
3007
3008
[package.metadata.example.dynamic_types]
3009
name = "Dynamic Types"
3010
description = "How dynamic types are used with reflection"
3011
category = "Reflection"
3012
wasm = false
3013
3014
[[example]]
3015
name = "function_reflection"
3016
path = "examples/reflection/function_reflection.rs"
3017
doc-scrape-examples = true
3018
required-features = ["reflect_functions"]
3019
3020
[package.metadata.example.function_reflection]
3021
name = "Function Reflection"
3022
description = "Demonstrates how functions can be called dynamically using reflection"
3023
category = "Reflection"
3024
wasm = false
3025
3026
[[example]]
3027
name = "generic_reflection"
3028
path = "examples/reflection/generic_reflection.rs"
3029
doc-scrape-examples = true
3030
3031
[package.metadata.example.generic_reflection]
3032
name = "Generic Reflection"
3033
description = "Registers concrete instances of generic types that may be used with reflection"
3034
category = "Reflection"
3035
wasm = false
3036
3037
[[example]]
3038
name = "reflection_types"
3039
path = "examples/reflection/reflection_types.rs"
3040
doc-scrape-examples = true
3041
3042
[package.metadata.example.reflection_types]
3043
name = "Reflection Types"
3044
description = "Illustrates the various reflection types available"
3045
category = "Reflection"
3046
wasm = false
3047
3048
[[example]]
3049
name = "type_data"
3050
path = "examples/reflection/type_data.rs"
3051
# Causes an ICE on docs.rs
3052
doc-scrape-examples = false
3053
3054
[package.metadata.example.type_data]
3055
name = "Type Data"
3056
description = "Demonstrates how to create and use type data"
3057
category = "Reflection"
3058
wasm = false
3059
3060
[[example]]
3061
name = "auto_register_static"
3062
path = "examples/reflection/auto_register_static/src/lib.rs"
3063
doc-scrape-examples = true
3064
3065
[package.metadata.example.auto_register_static]
3066
name = "Automatic types registration"
3067
description = "Demonstrates how to set up automatic reflect types registration for platforms without `inventory` support"
3068
category = "Reflection"
3069
wasm = false
3070
3071
# Scene
3072
[[example]]
3073
name = "scene"
3074
path = "examples/scene/scene.rs"
3075
# Causes an ICE on docs.rs
3076
doc-scrape-examples = false
3077
3078
[package.metadata.example.scene]
3079
name = "Scene"
3080
description = "Demonstrates loading from and saving scenes to files"
3081
category = "Scene"
3082
wasm = false
3083
3084
# Shaders
3085
[[package.metadata.example_category]]
3086
name = "Shaders"
3087
description = """
3088
These examples demonstrate how to implement different shaders in user code.
3089
3090
A shader in its most common usage is a small program that is run by the GPU per-vertex in a mesh (a vertex shader) or per-affected-screen-fragment (a fragment shader.) The GPU executes these programs in a highly parallel way.
3091
3092
There are also compute shaders which are used for more general processing leveraging the GPU's parallelism.
3093
"""
3094
3095
[[example]]
3096
name = "shader_defs"
3097
path = "examples/shader/shader_defs.rs"
3098
# Causes an ICE on docs.rs
3099
doc-scrape-examples = false
3100
3101
[package.metadata.example.shader_defs]
3102
name = "Shader Defs"
3103
description = "A shader that uses \"shaders defs\" (a bevy tool to selectively toggle parts of a shader)"
3104
category = "Shaders"
3105
wasm = true
3106
3107
[[example]]
3108
name = "shader_material"
3109
path = "examples/shader/shader_material.rs"
3110
doc-scrape-examples = true
3111
3112
[package.metadata.example.shader_material]
3113
name = "Material"
3114
description = "A shader and a material that uses it"
3115
category = "Shaders"
3116
wasm = true
3117
3118
[[example]]
3119
name = "shader_material_2d"
3120
path = "examples/shader/shader_material_2d.rs"
3121
doc-scrape-examples = true
3122
3123
[package.metadata.example.shader_material_2d]
3124
name = "Material"
3125
description = "A shader and a material that uses it on a 2d mesh"
3126
category = "Shaders"
3127
wasm = true
3128
3129
[[example]]
3130
name = "extended_material"
3131
path = "examples/shader/extended_material.rs"
3132
# Causes an ICE on docs.rs
3133
doc-scrape-examples = false
3134
3135
[package.metadata.example.extended_material]
3136
name = "Extended Material"
3137
description = "A custom shader that builds on the standard material"
3138
category = "Shaders"
3139
wasm = true
3140
3141
[[example]]
3142
name = "shader_prepass"
3143
path = "examples/shader/shader_prepass.rs"
3144
# Causes an ICE on docs.rs
3145
doc-scrape-examples = false
3146
3147
[package.metadata.example.shader_prepass]
3148
name = "Material Prepass"
3149
description = "A shader that uses the various textures generated by the prepass"
3150
category = "Shaders"
3151
wasm = false
3152
3153
[[example]]
3154
name = "shader_material_screenspace_texture"
3155
path = "examples/shader/shader_material_screenspace_texture.rs"
3156
# Causes an ICE on docs.rs
3157
doc-scrape-examples = false
3158
3159
[package.metadata.example.shader_material_screenspace_texture]
3160
name = "Material - Screenspace Texture"
3161
description = "A shader that samples a texture with view-independent UV coordinates"
3162
category = "Shaders"
3163
wasm = true
3164
3165
[[example]]
3166
name = "shader_material_glsl"
3167
path = "examples/shader/shader_material_glsl.rs"
3168
doc-scrape-examples = true
3169
required-features = ["shader_format_glsl"]
3170
3171
[package.metadata.example.shader_material_glsl]
3172
name = "Material - GLSL"
3173
description = "A shader that uses the GLSL shading language"
3174
category = "Shaders"
3175
wasm = true
3176
3177
[[example]]
3178
name = "shader_material_wesl"
3179
path = "examples/shader/shader_material_wesl.rs"
3180
doc-scrape-examples = true
3181
required-features = ["shader_format_wesl"]
3182
3183
[package.metadata.example.shader_material_wesl]
3184
name = "Material - WESL"
3185
description = "A shader that uses WESL"
3186
category = "Shaders"
3187
wasm = true
3188
3189
[[example]]
3190
name = "automatic_instancing"
3191
path = "examples/shader/automatic_instancing.rs"
3192
# Causes an ICE on docs.rs
3193
doc-scrape-examples = false
3194
3195
[package.metadata.example.automatic_instancing]
3196
name = "Instancing"
3197
description = "Shows that multiple instances of a cube are automatically instanced in one draw call"
3198
category = "Shaders"
3199
wasm = true
3200
3201
[[example]]
3202
name = "animate_shader"
3203
path = "examples/shader/animate_shader.rs"
3204
# Causes an ICE on docs.rs
3205
doc-scrape-examples = false
3206
3207
[package.metadata.example.animate_shader]
3208
name = "Animated"
3209
description = "A shader that uses dynamic data like the time since startup"
3210
category = "Shaders"
3211
wasm = true
3212
3213
[[example]]
3214
name = "compute_shader_game_of_life"
3215
path = "examples/shader/compute_shader_game_of_life.rs"
3216
# Causes an ICE on docs.rs
3217
doc-scrape-examples = false
3218
3219
[package.metadata.example.compute_shader_game_of_life]
3220
name = "Compute - Game of Life"
3221
description = "A compute shader that simulates Conway's Game of Life"
3222
category = "Shaders"
3223
wasm = false
3224
3225
[[example]]
3226
name = "gpu_readback"
3227
path = "examples/shader/gpu_readback.rs"
3228
# Causes an ICE on docs.rs
3229
doc-scrape-examples = false
3230
3231
[package.metadata.example.gpu_readback]
3232
name = "GPU readback"
3233
description = "A very simple compute shader that writes to a buffer that is read by the cpu"
3234
category = "Shaders"
3235
wasm = false
3236
3237
[[example]]
3238
name = "compute_mesh"
3239
path = "examples/shader_advanced/compute_mesh.rs"
3240
doc-scrape-examples = true
3241
3242
[package.metadata.example.compute_mesh]
3243
name = "Compute Shader Mesh"
3244
description = "A compute shader that generates a mesh that is controlled by a Handle"
3245
category = "Shaders"
3246
wasm = false
3247
3248
[[example]]
3249
name = "array_texture"
3250
path = "examples/shader/array_texture.rs"
3251
# Causes an ICE on docs.rs
3252
doc-scrape-examples = false
3253
3254
[package.metadata.example.array_texture]
3255
name = "Array Texture"
3256
description = "A shader that shows how to reuse the core bevy PBR shading functionality in a custom material that obtains the base color from an array texture."
3257
category = "Shaders"
3258
wasm = true
3259
3260
[[example]]
3261
name = "storage_buffer"
3262
path = "examples/shader/storage_buffer.rs"
3263
doc-scrape-examples = true
3264
3265
[package.metadata.example.storage_buffer]
3266
name = "Storage Buffer"
3267
description = "A shader that shows how to bind a storage buffer using a custom material."
3268
category = "Shaders"
3269
wasm = true
3270
3271
# Shaders advanced
3272
[[package.metadata.example_category]]
3273
name = "Shaders - advanced"
3274
description = """
3275
These examples demonstrate how to use the lower level rendering apis exposed from bevy.
3276
3277
These are generally simplified examples of bevy's own rendering infrastructure.
3278
"""
3279
3280
[[example]]
3281
name = "custom_vertex_attribute"
3282
path = "examples/shader_advanced/custom_vertex_attribute.rs"
3283
doc-scrape-examples = true
3284
3285
[package.metadata.example.custom_vertex_attribute]
3286
name = "Custom Vertex Attribute"
3287
description = "A shader that reads a mesh's custom vertex attribute"
3288
category = "Shaders"
3289
wasm = true
3290
3291
[[example]]
3292
name = "custom_post_processing"
3293
path = "examples/shader_advanced/custom_post_processing.rs"
3294
# Causes an ICE on docs.rs
3295
doc-scrape-examples = false
3296
3297
[package.metadata.example.custom_post_processing]
3298
name = "Post Processing - Custom Render Pass"
3299
description = "A custom post processing effect, using a custom render pass that runs after the main pass"
3300
category = "Shaders"
3301
wasm = true
3302
3303
[[example]]
3304
name = "custom_shader_instancing"
3305
path = "examples/shader_advanced/custom_shader_instancing.rs"
3306
# Causes an ICE on docs.rs
3307
doc-scrape-examples = false
3308
3309
[package.metadata.example.custom_shader_instancing]
3310
name = "Instancing"
3311
description = "A shader that renders a mesh multiple times in one draw call using low level rendering api"
3312
category = "Shaders"
3313
wasm = true
3314
3315
[[example]]
3316
name = "custom_render_phase"
3317
path = "examples/shader_advanced/custom_render_phase.rs"
3318
# Causes an ICE on docs.rs
3319
doc-scrape-examples = false
3320
3321
[package.metadata.example.custom_render_phase]
3322
name = "Custom Render Phase"
3323
description = "Shows how to make a complete render phase"
3324
category = "Shaders"
3325
wasm = true
3326
3327
[[example]]
3328
name = "manual_material"
3329
path = "examples/shader_advanced/manual_material.rs"
3330
# Causes an ICE on docs.rs
3331
doc-scrape-examples = false
3332
3333
[package.metadata.example.manual_material]
3334
name = "Manual Material Implementation"
3335
description = "Demonstrates how to implement a material manually using the mid-level render APIs"
3336
category = "Shaders Advanced"
3337
wasm = true
3338
3339
[[example]]
3340
name = "texture_binding_array"
3341
path = "examples/shader_advanced/texture_binding_array.rs"
3342
# Causes an ICE on docs.rs
3343
doc-scrape-examples = false
3344
3345
[package.metadata.example.texture_binding_array]
3346
name = "Texture Binding Array (Bindless Textures)"
3347
description = "A shader that shows how to bind and sample multiple textures as a binding array (a.k.a. bindless textures)."
3348
category = "Shaders"
3349
wasm = false
3350
3351
[[example]]
3352
name = "specialized_mesh_pipeline"
3353
path = "examples/shader_advanced/specialized_mesh_pipeline.rs"
3354
# Causes an ICE on docs.rs
3355
doc-scrape-examples = false
3356
3357
[package.metadata.example.specialized_mesh_pipeline]
3358
name = "Specialized Mesh Pipeline"
3359
description = "Demonstrates how to write a specialized mesh pipeline"
3360
category = "Shaders"
3361
wasm = true
3362
3363
[[example]]
3364
name = "fullscreen_material"
3365
path = "examples/shader_advanced/fullscreen_material.rs"
3366
# Causes an ICE on docs.rs
3367
doc-scrape-examples = false
3368
3369
[package.metadata.example.fullscreen_material]
3370
name = "Fullscreen Material"
3371
description = "Demonstrates how to write a fullscreen material"
3372
category = "Shaders Advanced"
3373
wasm = true
3374
3375
# Stress tests
3376
[[package.metadata.example_category]]
3377
name = "Stress Tests"
3378
description = """
3379
These examples are used to test the performance and stability of various parts of the engine in an isolated way.
3380
3381
Due to the focus on performance it's recommended to run the stress tests in release mode:
3382
3383
```sh
3384
cargo run --release --example <example name>
3385
```
3386
"""
3387
3388
[[example]]
3389
name = "bevymark"
3390
path = "examples/stress_tests/bevymark.rs"
3391
# Causes an ICE on docs.rs
3392
doc-scrape-examples = false
3393
3394
[package.metadata.example.bevymark]
3395
name = "Bevymark"
3396
description = "A heavy sprite rendering workload to benchmark your system with Bevy"
3397
category = "Stress Tests"
3398
wasm = true
3399
3400
[[example]]
3401
name = "bevymark_3d"
3402
path = "examples/stress_tests/bevymark_3d.rs"
3403
doc-scrape-examples = true
3404
3405
[package.metadata.example.bevymark_3d]
3406
name = "Bevymark 3D"
3407
description = "A heavy 3D cube rendering workload to benchmark your system with Bevy"
3408
category = "Stress Tests"
3409
wasm = true
3410
3411
[[example]]
3412
name = "many_animated_sprites"
3413
path = "examples/stress_tests/many_animated_sprites.rs"
3414
# Causes an ICE on docs.rs
3415
doc-scrape-examples = false
3416
3417
[package.metadata.example.many_animated_sprites]
3418
name = "Many Animated Sprites"
3419
description = "Displays many animated sprites in a grid arrangement with slight offsets to their animation timers. Used for performance testing."
3420
category = "Stress Tests"
3421
wasm = true
3422
3423
[[example]]
3424
name = "many_animated_sprite_meshes"
3425
path = "examples/stress_tests/many_animated_sprite_meshes.rs"
3426
# Causes an ICE on docs.rs
3427
doc-scrape-examples = false
3428
3429
[package.metadata.example.many_animated_sprite_meshes]
3430
name = "Many Animated Sprite Meshes"
3431
description = "Displays many animated sprite meshes in a grid arrangement with slight offsets to their animation timers. Used for performance testing."
3432
category = "Stress Tests"
3433
wasm = false
3434
3435
[[example]]
3436
name = "many_buttons"
3437
path = "examples/stress_tests/many_buttons.rs"
3438
# Causes an ICE on docs.rs
3439
doc-scrape-examples = false
3440
3441
[package.metadata.example.many_buttons]
3442
name = "Many Buttons"
3443
description = "Test rendering of many UI elements"
3444
category = "Stress Tests"
3445
wasm = true
3446
3447
[[example]]
3448
name = "many_gradients"
3449
path = "examples/stress_tests/many_gradients.rs"
3450
# Causes an ICE on docs.rs
3451
doc-scrape-examples = false
3452
3453
[package.metadata.example.many_gradients]
3454
name = "Many Gradients"
3455
description = "Stress test for gradient rendering performance"
3456
category = "Stress Tests"
3457
wasm = true
3458
3459
[[example]]
3460
name = "many_cameras_lights"
3461
path = "examples/stress_tests/many_cameras_lights.rs"
3462
# Causes an ICE on docs.rs
3463
doc-scrape-examples = false
3464
3465
[package.metadata.example.many_cameras_lights]
3466
name = "Many Cameras & Lights"
3467
description = "Test rendering of many cameras and lights"
3468
category = "Stress Tests"
3469
wasm = true
3470
3471
[[example]]
3472
name = "many_components"
3473
path = "examples/stress_tests/many_components.rs"
3474
# Causes an ICE on docs.rs
3475
doc-scrape-examples = false
3476
3477
[package.metadata.example.many_components]
3478
name = "Many Components (and Entities and Systems)"
3479
description = "Test large ECS systems"
3480
category = "Stress Tests"
3481
wasm = false
3482
3483
[[example]]
3484
name = "many_cubes"
3485
path = "examples/stress_tests/many_cubes.rs"
3486
# Causes an ICE on docs.rs
3487
doc-scrape-examples = false
3488
3489
[package.metadata.example.many_cubes]
3490
name = "Many Cubes"
3491
description = "Simple benchmark to test per-entity draw overhead. Run with the `sphere` argument to test frustum culling"
3492
category = "Stress Tests"
3493
wasm = true
3494
3495
[[example]]
3496
name = "many_gizmos"
3497
path = "examples/stress_tests/many_gizmos.rs"
3498
# Causes an ICE on docs.rs
3499
doc-scrape-examples = false
3500
3501
[package.metadata.example.many_gizmos]
3502
name = "Many Gizmos"
3503
description = "Test rendering of many gizmos"
3504
category = "Stress Tests"
3505
wasm = true
3506
3507
[[example]]
3508
name = "many_foxes"
3509
path = "examples/stress_tests/many_foxes.rs"
3510
# Causes an ICE on docs.rs
3511
doc-scrape-examples = false
3512
3513
[package.metadata.example.many_foxes]
3514
name = "Many Foxes"
3515
description = "Loads an animated fox model and spawns lots of them. Good for testing skinned mesh performance. Takes an unsigned integer argument for the number of foxes to spawn. Defaults to 1000"
3516
category = "Stress Tests"
3517
wasm = true
3518
3519
[[example]]
3520
name = "many_glyphs"
3521
path = "examples/stress_tests/many_glyphs.rs"
3522
# Causes an ICE on docs.rs
3523
doc-scrape-examples = false
3524
3525
[package.metadata.example.many_glyphs]
3526
name = "Many Glyphs"
3527
description = "Simple benchmark to test text rendering."
3528
category = "Stress Tests"
3529
wasm = true
3530
3531
[[example]]
3532
name = "many_lights"
3533
path = "examples/stress_tests/many_lights.rs"
3534
# Causes an ICE on docs.rs
3535
doc-scrape-examples = false
3536
3537
[package.metadata.example.many_lights]
3538
name = "Many Lights"
3539
description = "Simple benchmark to test rendering many point lights. Run with `WGPU_SETTINGS_PRIO=webgl2` to restrict to uniform buffers and max 256 lights"
3540
category = "Stress Tests"
3541
wasm = true
3542
3543
[[example]]
3544
name = "many_sprites"
3545
path = "examples/stress_tests/many_sprites.rs"
3546
# Causes an ICE on docs.rs
3547
doc-scrape-examples = false
3548
3549
[package.metadata.example.many_sprites]
3550
name = "Many Sprites"
3551
description = "Displays many sprites in a grid arrangement! Used for performance testing. Use `--colored` to enable color tinted sprites."
3552
category = "Stress Tests"
3553
wasm = true
3554
3555
[[example]]
3556
name = "many_sprite_meshes"
3557
path = "examples/stress_tests/many_sprite_meshes.rs"
3558
# Causes an ICE on docs.rs
3559
doc-scrape-examples = false
3560
3561
[package.metadata.example.many_sprite_meshes]
3562
name = "Many Sprite Meshes"
3563
description = "Displays many sprite meshes in a grid arrangement! Used for performance testing. Use `--colored` to enable color tinted sprites."
3564
category = "Stress Tests"
3565
wasm = false
3566
3567
[[example]]
3568
name = "many_text2d"
3569
path = "examples/stress_tests/many_text2d.rs"
3570
# Causes an ICE on docs.rs
3571
doc-scrape-examples = false
3572
3573
[package.metadata.example.many_text2d]
3574
name = "Many Text2d"
3575
description = "Displays many Text2d! Used for performance testing."
3576
category = "Stress Tests"
3577
wasm = true
3578
3579
[[example]]
3580
name = "many_materials"
3581
path = "examples/stress_tests/many_materials.rs"
3582
# Causes an ICE on docs.rs
3583
doc-scrape-examples = false
3584
3585
[package.metadata.example.many_materials]
3586
name = "Many Animated Materials"
3587
description = "Benchmark to test rendering many animated materials"
3588
category = "Stress Tests"
3589
wasm = true
3590
3591
[[example]]
3592
name = "transform_hierarchy"
3593
path = "examples/stress_tests/transform_hierarchy.rs"
3594
# Causes an ICE on docs.rs
3595
doc-scrape-examples = false
3596
3597
[package.metadata.example.transform_hierarchy]
3598
name = "Transform Hierarchy"
3599
description = "Various test cases for hierarchy and transform propagation performance"
3600
category = "Stress Tests"
3601
wasm = false
3602
3603
[[example]]
3604
name = "text_pipeline"
3605
path = "examples/stress_tests/text_pipeline.rs"
3606
# Causes an ICE on docs.rs
3607
doc-scrape-examples = false
3608
3609
[package.metadata.example.text_pipeline]
3610
name = "Text Pipeline"
3611
description = "Text Pipeline benchmark"
3612
category = "Stress Tests"
3613
wasm = false
3614
3615
# Tools
3616
[[example]]
3617
name = "scene_viewer"
3618
path = "examples/tools/scene_viewer/main.rs"
3619
# Causes an ICE on docs.rs
3620
doc-scrape-examples = false
3621
required-features = ["free_camera"]
3622
3623
[package.metadata.example.scene_viewer]
3624
name = "Scene Viewer"
3625
description = "A simple way to view glTF models with Bevy. Just run `cargo run --release --example scene_viewer /path/to/model.gltf#Scene0`, replacing the path as appropriate. With no arguments it will load the FieldHelmet glTF model from the repository assets subdirectory"
3626
category = "Tools"
3627
wasm = true
3628
3629
[[example]]
3630
name = "gamepad_viewer"
3631
path = "examples/tools/gamepad_viewer.rs"
3632
# Causes an ICE on docs.rs
3633
doc-scrape-examples = false
3634
3635
[package.metadata.example.gamepad_viewer]
3636
name = "Gamepad Viewer"
3637
description = "Shows a visualization of gamepad buttons, sticks, and triggers"
3638
category = "Tools"
3639
wasm = true
3640
3641
[[example]]
3642
name = "nondeterministic_system_order"
3643
path = "examples/ecs/nondeterministic_system_order.rs"
3644
# Causes an ICE on docs.rs
3645
doc-scrape-examples = false
3646
3647
[package.metadata.example.nondeterministic_system_order]
3648
name = "Nondeterministic System Order"
3649
description = "Systems run in parallel, but their order isn't always deterministic. Here's how to detect and fix this."
3650
category = "ECS (Entity Component System)"
3651
wasm = false
3652
3653
[[example]]
3654
name = "observers"
3655
path = "examples/ecs/observers.rs"
3656
# Causes an ICE on docs.rs
3657
doc-scrape-examples = false
3658
3659
[package.metadata.example.observers]
3660
name = "Observers"
3661
description = "Demonstrates observers that react to events (both built-in life-cycle events and custom events)"
3662
category = "ECS (Entity Component System)"
3663
wasm = true
3664
3665
[[example]]
3666
name = "observer_propagation"
3667
path = "examples/ecs/observer_propagation.rs"
3668
# Causes an ICE on docs.rs
3669
doc-scrape-examples = false
3670
3671
[package.metadata.example.observer_propagation]
3672
name = "Observer Propagation"
3673
description = "Demonstrates event propagation with observers"
3674
category = "ECS (Entity Component System)"
3675
wasm = true
3676
3677
[[example]]
3678
name = "3d_rotation"
3679
path = "examples/transforms/3d_rotation.rs"
3680
# Causes an ICE on docs.rs
3681
doc-scrape-examples = false
3682
3683
[package.metadata.example.3d_rotation]
3684
name = "3D Rotation"
3685
description = "Illustrates how to (constantly) rotate an object around an axis"
3686
category = "Transforms"
3687
wasm = true
3688
3689
[[example]]
3690
name = "align"
3691
path = "examples/transforms/align.rs"
3692
# Causes an ICE on docs.rs
3693
doc-scrape-examples = false
3694
3695
[package.metadata.example.align]
3696
name = "Alignment"
3697
description = "A demonstration of Transform's axis-alignment feature"
3698
category = "Transforms"
3699
wasm = true
3700
3701
[[example]]
3702
name = "scale"
3703
path = "examples/transforms/scale.rs"
3704
# Causes an ICE on docs.rs
3705
doc-scrape-examples = false
3706
3707
[package.metadata.example.scale]
3708
name = "Scale"
3709
description = "Illustrates how to scale an object in each direction"
3710
category = "Transforms"
3711
wasm = true
3712
3713
[[example]]
3714
name = "transform"
3715
path = "examples/transforms/transform.rs"
3716
# Causes an ICE on docs.rs
3717
doc-scrape-examples = false
3718
3719
[package.metadata.example.transform]
3720
name = "Transform"
3721
description = "Shows multiple transformations of objects"
3722
category = "Transforms"
3723
wasm = true
3724
3725
[[example]]
3726
name = "translation"
3727
path = "examples/transforms/translation.rs"
3728
# Causes an ICE on docs.rs
3729
doc-scrape-examples = false
3730
3731
[package.metadata.example.translation]
3732
name = "Translation"
3733
description = "Illustrates how to move an object along an axis"
3734
category = "Transforms"
3735
wasm = true
3736
3737
# UI (User Interface)
3738
[[example]]
3739
name = "anchor_layout"
3740
path = "examples/ui/layout/anchor_layout.rs"
3741
# Causes an ICE on docs.rs
3742
doc-scrape-examples = false
3743
3744
[package.metadata.example.anchor_layout]
3745
name = "Anchor Layout"
3746
description = "Shows an 'anchor layout' style of ui layout"
3747
category = "UI (User Interface)"
3748
wasm = true
3749
3750
[[example]]
3751
name = "borders"
3752
path = "examples/ui/styling/borders.rs"
3753
# Causes an ICE on docs.rs
3754
doc-scrape-examples = false
3755
3756
[package.metadata.example.borders]
3757
name = "Borders"
3758
description = "Demonstrates how to create a node with a border"
3759
category = "UI (User Interface)"
3760
wasm = true
3761
3762
[[example]]
3763
name = "box_shadow"
3764
path = "examples/ui/styling/box_shadow.rs"
3765
# Causes an ICE on docs.rs
3766
doc-scrape-examples = false
3767
3768
[package.metadata.example.box_shadow]
3769
name = "Box Shadow"
3770
description = "Demonstrates how to create a node with a shadow"
3771
category = "UI (User Interface)"
3772
wasm = true
3773
3774
[[example]]
3775
name = "button"
3776
path = "examples/ui/widgets/button.rs"
3777
# Causes an ICE on docs.rs
3778
doc-scrape-examples = false
3779
3780
[package.metadata.example.button]
3781
name = "Button"
3782
description = "Illustrates creating and updating a button"
3783
category = "UI (User Interface)"
3784
wasm = true
3785
3786
[[example]]
3787
name = "ui_drag_and_drop"
3788
path = "examples/ui/ui_drag_and_drop.rs"
3789
doc-scrape-examples = true
3790
3791
[package.metadata.example.ui_drag_and_drop]
3792
name = "UI Drag and Drop"
3793
description = "Demonstrates dragging and dropping UI nodes"
3794
category = "UI (User Interface)"
3795
wasm = true
3796
3797
[[example]]
3798
name = "font_query"
3799
path = "examples/ui/text/font_query.rs"
3800
doc-scrape-examples = true
3801
3802
[package.metadata.example.font_query]
3803
name = "Font Queries"
3804
description = "Demonstrates font querying"
3805
category = "UI (User Interface)"
3806
wasm = true
3807
3808
[[example]]
3809
name = "display_and_visibility"
3810
path = "examples/ui/layout/display_and_visibility.rs"
3811
# Causes an ICE on docs.rs
3812
doc-scrape-examples = false
3813
3814
[package.metadata.example.display_and_visibility]
3815
name = "Display and Visibility"
3816
description = "Demonstrates how Display and Visibility work in the UI."
3817
category = "UI (User Interface)"
3818
wasm = true
3819
3820
[[example]]
3821
name = "font_weights"
3822
path = "examples/ui/text/font_weights.rs"
3823
# Causes an ICE on docs.rs
3824
doc-scrape-examples = false
3825
3826
[package.metadata.example.font_weights]
3827
name = "Font Weights"
3828
description = "Demonstrates how to use font weights."
3829
category = "UI (User Interface)"
3830
wasm = true
3831
3832
[[example]]
3833
name = "window_fallthrough"
3834
path = "examples/ui/window_fallthrough.rs"
3835
doc-scrape-examples = true
3836
3837
[package.metadata.example.window_fallthrough]
3838
name = "Window Fallthrough"
3839
description = "Illustrates how to access `winit::window::Window`'s `hittest` functionality."
3840
category = "UI (User Interface)"
3841
wasm = false
3842
3843
[[example]]
3844
name = "vertical_slider"
3845
path = "examples/ui/widgets/vertical_slider.rs"
3846
# Causes an ICE on docs.rs
3847
doc-scrape-examples = false
3848
required-features = ["experimental_bevy_ui_widgets"]
3849
3850
[package.metadata.example.vertical_slider]
3851
name = "Vertical Slider"
3852
description = "Simple example showing vertical and horizontal slider widgets with snap behavior and value labels"
3853
category = "UI (User Interface)"
3854
wasm = true
3855
3856
[[example]]
3857
name = "font_atlas_debug"
3858
path = "examples/ui/text/font_atlas_debug.rs"
3859
doc-scrape-examples = true
3860
3861
[package.metadata.example.font_atlas_debug]
3862
name = "Font Atlas Debug"
3863
description = "Illustrates how FontAtlases are populated (used to optimize text rendering internally)"
3864
category = "UI (User Interface)"
3865
wasm = true
3866
3867
[[example]]
3868
name = "overflow"
3869
path = "examples/ui/scroll_and_overflow/overflow.rs"
3870
# Causes an ICE on docs.rs
3871
doc-scrape-examples = false
3872
3873
[package.metadata.example.overflow]
3874
name = "Overflow"
3875
description = "Simple example demonstrating overflow behavior"
3876
category = "UI (User Interface)"
3877
wasm = true
3878
3879
[[example]]
3880
name = "overflow_clip_margin"
3881
path = "examples/ui/scroll_and_overflow/overflow_clip_margin.rs"
3882
# Causes an ICE on docs.rs
3883
doc-scrape-examples = false
3884
3885
[package.metadata.example.overflow_clip_margin]
3886
name = "Overflow Clip Margin"
3887
description = "Simple example demonstrating the OverflowClipMargin style property"
3888
category = "UI (User Interface)"
3889
wasm = true
3890
3891
3892
[[example]]
3893
name = "overflow_debug"
3894
path = "examples/ui/scroll_and_overflow/overflow_debug.rs"
3895
# Causes an ICE on docs.rs
3896
doc-scrape-examples = false
3897
3898
[package.metadata.example.overflow_debug]
3899
name = "Overflow and Clipping Debug"
3900
description = "An example to debug overflow and clipping behavior"
3901
category = "UI (User Interface)"
3902
wasm = true
3903
3904
[[example]]
3905
name = "relative_cursor_position"
3906
path = "examples/ui/relative_cursor_position.rs"
3907
# Causes an ICE on docs.rs
3908
doc-scrape-examples = false
3909
3910
[package.metadata.example.relative_cursor_position]
3911
name = "Relative Cursor Position"
3912
description = "Showcases the RelativeCursorPosition component"
3913
category = "UI (User Interface)"
3914
wasm = true
3915
3916
[[example]]
3917
name = "render_ui_to_texture"
3918
path = "examples/ui/render_ui_to_texture.rs"
3919
# Causes an ICE on docs.rs
3920
doc-scrape-examples = false
3921
3922
[package.metadata.example.render_ui_to_texture]
3923
name = "Render UI to Texture"
3924
description = "An example of rendering UI as a part of a 3D world"
3925
category = "UI (User Interface)"
3926
wasm = true
3927
3928
[[example]]
3929
name = "size_constraints"
3930
path = "examples/ui/layout/size_constraints.rs"
3931
# Causes an ICE on docs.rs
3932
doc-scrape-examples = false
3933
3934
[package.metadata.example.size_constraints]
3935
name = "Size Constraints"
3936
description = "Demonstrates how the to use the size constraints to control the size of a UI node."
3937
category = "UI (User Interface)"
3938
wasm = true
3939
3940
[[example]]
3941
name = "strikethrough_and_underline"
3942
path = "examples/ui/text/strikethrough_and_underline.rs"
3943
# Causes an ICE on docs.rs
3944
doc-scrape-examples = false
3945
3946
[package.metadata.example.strikethrough_and_underline]
3947
name = "Strikethrough and Underline"
3948
description = "Demonstrates how to display text with strikethrough and underline."
3949
category = "UI (User Interface)"
3950
wasm = true
3951
3952
[[example]]
3953
name = "generic_font_families"
3954
path = "examples/ui/text/generic_font_families.rs"
3955
# Causes an ICE on docs.rs
3956
doc-scrape-examples = false
3957
3958
[package.metadata.example.generic_font_families]
3959
name = "Generic Font Families"
3960
description = "Demonstrates how to use generic font families"
3961
category = "UI (User Interface)"
3962
wasm = true
3963
3964
[[example]]
3965
name = "text"
3966
path = "examples/ui/text/text.rs"
3967
# Causes an ICE on docs.rs
3968
doc-scrape-examples = false
3969
3970
[package.metadata.example.text]
3971
name = "Text"
3972
description = "Illustrates creating and updating text"
3973
category = "UI (User Interface)"
3974
wasm = true
3975
3976
[[example]]
3977
name = "text_background_colors"
3978
path = "examples/ui/text/text_background_colors.rs"
3979
# Causes an ICE on docs.rs
3980
doc-scrape-examples = false
3981
3982
[package.metadata.example.text_background_colors]
3983
name = "Text Background Colors"
3984
description = "Demonstrates text background colors"
3985
category = "UI (User Interface)"
3986
wasm = true
3987
3988
[[example]]
3989
name = "text_debug"
3990
path = "examples/ui/text/text_debug.rs"
3991
# Causes an ICE on docs.rs
3992
doc-scrape-examples = false
3993
3994
[package.metadata.example.text_debug]
3995
name = "Text Debug"
3996
description = "An example for debugging text layout"
3997
category = "UI (User Interface)"
3998
wasm = true
3999
4000
[[example]]
4001
name = "flex_layout"
4002
path = "examples/ui/layout/flex_layout.rs"
4003
# Causes an ICE on docs.rs
4004
doc-scrape-examples = false
4005
4006
[package.metadata.example.flex_layout]
4007
name = "Flex Layout"
4008
description = "Demonstrates how the AlignItems and JustifyContent properties can be composed to layout nodes and position text"
4009
category = "UI (User Interface)"
4010
wasm = true
4011
4012
[[example]]
4013
name = "text_wrap_debug"
4014
path = "examples/ui/text/text_wrap_debug.rs"
4015
# Causes an ICE on docs.rs
4016
doc-scrape-examples = false
4017
4018
[package.metadata.example.text_wrap_debug]
4019
name = "Text Wrap Debug"
4020
description = "Demonstrates text wrapping"
4021
category = "UI (User Interface)"
4022
wasm = true
4023
4024
[[example]]
4025
name = "ghost_nodes"
4026
path = "examples/ui/layout/ghost_nodes.rs"
4027
# Causes an ICE on docs.rs
4028
doc-scrape-examples = false
4029
required-features = ["ghost_nodes"]
4030
4031
[package.metadata.example.ghost_nodes]
4032
name = "Ghost Nodes"
4033
description = "Demonstrates the use of Ghost Nodes to skip entities in the UI layout hierarchy"
4034
category = "UI (User Interface)"
4035
wasm = true
4036
4037
[[example]]
4038
name = "grid"
4039
path = "examples/ui/layout/grid.rs"
4040
# Causes an ICE on docs.rs
4041
doc-scrape-examples = false
4042
4043
[package.metadata.example.grid]
4044
name = "CSS Grid"
4045
description = "An example for CSS Grid layout"
4046
category = "UI (User Interface)"
4047
wasm = true
4048
4049
[[example]]
4050
name = "gradients"
4051
path = "examples/ui/styling/gradients.rs"
4052
# Causes an ICE on docs.rs
4053
doc-scrape-examples = false
4054
4055
[package.metadata.example.gradients]
4056
name = "Gradients"
4057
description = "An example demonstrating gradients"
4058
category = "UI (User Interface)"
4059
wasm = true
4060
4061
[[example]]
4062
name = "stacked_gradients"
4063
path = "examples/ui/styling/stacked_gradients.rs"
4064
# Causes an ICE on docs.rs
4065
doc-scrape-examples = false
4066
4067
[package.metadata.example.stacked_gradients]
4068
name = "Stacked Gradients"
4069
description = "An example demonstrating stacked gradients"
4070
category = "UI (User Interface)"
4071
wasm = true
4072
4073
[[example]]
4074
name = "scroll"
4075
path = "examples/ui/scroll_and_overflow/scroll.rs"
4076
# Causes an ICE on docs.rs
4077
doc-scrape-examples = false
4078
4079
[package.metadata.example.scroll]
4080
name = "Scroll"
4081
description = "Demonstrates scrolling UI containers"
4082
category = "UI (User Interface)"
4083
wasm = true
4084
4085
[[example]]
4086
name = "transparency_ui"
4087
path = "examples/ui/styling/transparency_ui.rs"
4088
# Causes an ICE on docs.rs
4089
doc-scrape-examples = false
4090
4091
[package.metadata.example.transparency_ui]
4092
name = "Transparency UI"
4093
description = "Demonstrates transparency for UI"
4094
category = "UI (User Interface)"
4095
wasm = true
4096
4097
[[example]]
4098
name = "z_index"
4099
path = "examples/ui/layout/z_index.rs"
4100
doc-scrape-examples = true
4101
4102
[package.metadata.example.z_index]
4103
name = "UI Z-Index"
4104
description = "Demonstrates how to control the relative depth (z-position) of UI elements"
4105
category = "UI (User Interface)"
4106
wasm = true
4107
4108
[[example]]
4109
name = "virtual_keyboard"
4110
path = "examples/ui/widgets/virtual_keyboard.rs"
4111
doc-scrape-examples = true
4112
required-features = ["experimental_bevy_feathers"]
4113
4114
[package.metadata.example.virtual_keyboard]
4115
name = "Virtual Keyboard"
4116
description = "Example demonstrating a virtual keyboard widget"
4117
category = "UI (User Interface)"
4118
wasm = true
4119
4120
[[example]]
4121
name = "ui_scaling"
4122
path = "examples/ui/ui_scaling.rs"
4123
# Causes an ICE on docs.rs
4124
doc-scrape-examples = false
4125
4126
[package.metadata.example.ui_scaling]
4127
name = "UI Scaling"
4128
description = "Illustrates how to scale the UI"
4129
category = "UI (User Interface)"
4130
wasm = true
4131
4132
[[example]]
4133
name = "ui_texture_atlas"
4134
path = "examples/ui/images/ui_texture_atlas.rs"
4135
# Causes an ICE on docs.rs
4136
doc-scrape-examples = false
4137
4138
[package.metadata.example.ui_texture_atlas]
4139
name = "UI Texture Atlas"
4140
description = "Illustrates how to use TextureAtlases in UI"
4141
category = "UI (User Interface)"
4142
wasm = true
4143
4144
[[example]]
4145
name = "ui_texture_slice"
4146
path = "examples/ui/images/ui_texture_slice.rs"
4147
doc-scrape-examples = true
4148
4149
[package.metadata.example.ui_texture_slice]
4150
name = "UI Texture Slice"
4151
description = "Illustrates how to use 9 Slicing in UI"
4152
category = "UI (User Interface)"
4153
wasm = true
4154
4155
[[example]]
4156
name = "ui_texture_slice_flip_and_tile"
4157
path = "examples/ui/images/ui_texture_slice_flip_and_tile.rs"
4158
doc-scrape-examples = true
4159
4160
[package.metadata.example.ui_texture_slice_flip_and_tile]
4161
name = "UI Texture Slice Flipping and Tiling"
4162
description = "Illustrates how to flip and tile images with 9 Slicing in UI"
4163
category = "UI (User Interface)"
4164
wasm = true
4165
4166
[[example]]
4167
name = "ui_texture_atlas_slice"
4168
path = "examples/ui/images/ui_texture_atlas_slice.rs"
4169
doc-scrape-examples = true
4170
4171
[package.metadata.example.ui_texture_atlas_slice]
4172
name = "UI Texture Atlas Slice"
4173
description = "Illustrates how to use 9 Slicing for TextureAtlases in UI"
4174
category = "UI (User Interface)"
4175
wasm = true
4176
4177
[[example]]
4178
name = "ui_transform"
4179
path = "examples/ui/ui_transform.rs"
4180
# Causes an ICE on docs.rs
4181
doc-scrape-examples = false
4182
4183
[package.metadata.example.ui_transform]
4184
name = "UI Transform"
4185
description = "An example demonstrating how to translate, rotate and scale UI elements."
4186
category = "UI (User Interface)"
4187
wasm = true
4188
4189
[[example]]
4190
name = "ui_target_camera"
4191
path = "examples/ui/ui_target_camera.rs"
4192
# Causes an ICE on docs.rs
4193
doc-scrape-examples = false
4194
4195
[package.metadata.example.ui_target_camera]
4196
name = "UI Target Camera"
4197
description = "Demonstrates how to use `UiTargetCamera` and camera ordering."
4198
category = "UI (User Interface)"
4199
wasm = true
4200
4201
[[example]]
4202
name = "viewport_node"
4203
path = "examples/ui/widgets/viewport_node.rs"
4204
# Causes an ICE on docs.rs
4205
doc-scrape-examples = false
4206
4207
[package.metadata.example.viewport_node]
4208
name = "Viewport Node"
4209
description = "Demonstrates how to create a viewport node with picking support"
4210
category = "UI (User Interface)"
4211
wasm = true
4212
4213
[[example]]
4214
name = "image_node"
4215
path = "examples/ui/images/image_node.rs"
4216
# Causes an ICE on docs.rs
4217
doc-scrape-examples = false
4218
4219
[package.metadata.example.image_node]
4220
name = "Image Node"
4221
description = "Demonstrates how to create an image node"
4222
category = "UI (User Interface)"
4223
wasm = true
4224
4225
[[example]]
4226
name = "image_node_resizing"
4227
path = "examples/ui/images/image_node_resizing.rs"
4228
# Causes an ICE on docs.rs
4229
doc-scrape-examples = false
4230
4231
[package.metadata.example.image_node_resizing]
4232
name = "Image Node Resizing"
4233
description = "Demonstrates how to resize an image node"
4234
category = "UI (User Interface)"
4235
wasm = true
4236
4237
# Window
4238
[[example]]
4239
name = "clear_color"
4240
path = "examples/window/clear_color.rs"
4241
# Causes an ICE on docs.rs
4242
doc-scrape-examples = false
4243
4244
[package.metadata.example.clear_color]
4245
name = "Clear Color"
4246
description = "Creates a solid color window"
4247
category = "Window"
4248
wasm = true
4249
4250
[[example]]
4251
name = "custom_cursor_image"
4252
path = "examples/window/custom_cursor_image.rs"
4253
# Causes an ICE on docs.rs
4254
doc-scrape-examples = false
4255
required-features = ["custom_cursor"]
4256
4257
[package.metadata.example.custom_cursor_image]
4258
name = "Custom Cursor Image"
4259
description = "Demonstrates creating an animated custom cursor from an image"
4260
category = "Window"
4261
wasm = true
4262
4263
[[example]]
4264
name = "low_power"
4265
path = "examples/window/low_power.rs"
4266
# Causes an ICE on docs.rs
4267
doc-scrape-examples = false
4268
4269
[package.metadata.example.low_power]
4270
name = "Low Power"
4271
description = "Demonstrates settings to reduce power use for bevy applications"
4272
category = "Window"
4273
wasm = true
4274
4275
[[example]]
4276
name = "multiple_windows"
4277
path = "examples/window/multiple_windows.rs"
4278
# Causes an ICE on docs.rs
4279
doc-scrape-examples = false
4280
4281
[package.metadata.example.multiple_windows]
4282
name = "Multiple Windows"
4283
description = "Demonstrates creating multiple windows, and rendering to them"
4284
category = "Window"
4285
wasm = false
4286
4287
[[example]]
4288
name = "scale_factor_override"
4289
path = "examples/window/scale_factor_override.rs"
4290
doc-scrape-examples = true
4291
4292
[package.metadata.example.scale_factor_override]
4293
name = "Scale Factor Override"
4294
description = "Illustrates how to customize the default window settings"
4295
category = "Window"
4296
wasm = true
4297
4298
[[example]]
4299
name = "screenshot"
4300
path = "examples/window/screenshot.rs"
4301
doc-scrape-examples = true
4302
4303
[package.metadata.example.screenshot]
4304
name = "Screenshot"
4305
description = "Shows how to save screenshots to disk"
4306
category = "Window"
4307
wasm = true
4308
4309
[[example]]
4310
name = "transparent_window"
4311
path = "examples/window/transparent_window.rs"
4312
doc-scrape-examples = true
4313
4314
[package.metadata.example.transparent_window]
4315
name = "Transparent Window"
4316
description = "Illustrates making the window transparent and hiding the window decoration"
4317
category = "Window"
4318
wasm = false
4319
4320
[[example]]
4321
name = "window_settings"
4322
path = "examples/window/window_settings.rs"
4323
# Causes an ICE on docs.rs
4324
doc-scrape-examples = false
4325
4326
[package.metadata.example.window_settings]
4327
name = "Window Settings"
4328
description = "Demonstrates customizing default window settings"
4329
category = "Window"
4330
wasm = true
4331
4332
[[example]]
4333
name = "window_drag_move"
4334
path = "examples/window/window_drag_move.rs"
4335
# Causes an ICE on docs.rs
4336
doc-scrape-examples = false
4337
4338
[package.metadata.example.window_drag_move]
4339
name = "Window Drag Move"
4340
description = "Demonstrates drag move and drag resize without window decoration"
4341
category = "Window"
4342
wasm = false
4343
4344
[[example]]
4345
name = "ambiguity_detection"
4346
path = "tests/ecs/ambiguity_detection.rs"
4347
# Causes an ICE on docs.rs
4348
doc-scrape-examples = false
4349
4350
[package.metadata.example.ambiguity_detection]
4351
hidden = true
4352
4353
[[example]]
4354
name = "resizing"
4355
path = "tests/window/resizing.rs"
4356
# Causes an ICE on docs.rs
4357
doc-scrape-examples = false
4358
4359
[package.metadata.example.resizing]
4360
hidden = true
4361
4362
[[example]]
4363
name = "minimizing"
4364
path = "tests/window/minimizing.rs"
4365
# Causes an ICE on docs.rs
4366
doc-scrape-examples = false
4367
4368
[package.metadata.example.minimizing]
4369
hidden = true
4370
4371
[[example]]
4372
name = "desktop_request_redraw"
4373
path = "tests/window/desktop_request_redraw.rs"
4374
# Causes an ICE on docs.rs
4375
doc-scrape-examples = false
4376
required-features = ["bevy_dev_tools"]
4377
4378
[package.metadata.example.desktop_request_redraw]
4379
hidden = true
4380
4381
[[example]]
4382
name = "window_resizing"
4383
path = "examples/window/window_resizing.rs"
4384
# Causes an ICE on docs.rs
4385
doc-scrape-examples = false
4386
4387
[[example]]
4388
name = "fallback_image"
4389
path = "examples/shader/fallback_image.rs"
4390
doc-scrape-examples = true
4391
4392
[package.metadata.example.fallback_image]
4393
hidden = true
4394
4395
[[example]]
4396
name = "reflection_probes"
4397
path = "examples/3d/reflection_probes.rs"
4398
# Causes an ICE on docs.rs
4399
doc-scrape-examples = false
4400
4401
[package.metadata.example.reflection_probes]
4402
name = "Reflection Probes"
4403
description = "Demonstrates reflection probes"
4404
category = "3D Rendering"
4405
wasm = false
4406
4407
[package.metadata.example.window_resizing]
4408
name = "Window Resizing"
4409
description = "Demonstrates resizing and responding to resizing a window"
4410
category = "Window"
4411
wasm = true
4412
4413
[[example]]
4414
name = "drag_to_scroll"
4415
path = "examples/ui/scroll_and_overflow/drag_to_scroll.rs"
4416
# Causes an ICE on docs.rs
4417
doc-scrape-examples = false
4418
4419
[package.metadata.example.drag_to_scroll]
4420
name = "Drag to Scroll"
4421
description = "This example tests scale factor, dragging and scrolling"
4422
category = "UI (User Interface)"
4423
wasm = true
4424
4425
[[example]]
4426
name = "ui_material"
4427
path = "examples/ui/ui_material.rs"
4428
# Causes an ICE on docs.rs
4429
doc-scrape-examples = false
4430
4431
[package.metadata.example.ui_material]
4432
name = "UI Material"
4433
description = "Demonstrates creating and using custom Ui materials"
4434
category = "UI (User Interface)"
4435
wasm = true
4436
4437
[[example]]
4438
name = "cubic_splines"
4439
path = "examples/math/cubic_splines.rs"
4440
# Causes an ICE on docs.rs
4441
doc-scrape-examples = false
4442
4443
[package.metadata.example.cubic_splines]
4444
name = "Cubic Splines"
4445
description = "Exhibits different modes of constructing cubic curves using splines"
4446
category = "Math"
4447
wasm = true
4448
4449
[[example]]
4450
name = "render_primitives"
4451
path = "examples/math/render_primitives.rs"
4452
# Causes an ICE on docs.rs
4453
doc-scrape-examples = false
4454
4455
[package.metadata.example.render_primitives]
4456
name = "Rendering Primitives"
4457
description = "Shows off rendering for all math primitives as both Meshes and Gizmos"
4458
category = "Math"
4459
wasm = true
4460
4461
# Math
4462
[[example]]
4463
name = "sampling_primitives"
4464
path = "examples/math/sampling_primitives.rs"
4465
# Causes an ICE on docs.rs
4466
doc-scrape-examples = false
4467
4468
[package.metadata.example.sampling_primitives]
4469
name = "Sampling Primitives"
4470
description = "Demonstrates all the primitives which can be sampled."
4471
category = "Math"
4472
wasm = true
4473
4474
[[example]]
4475
name = "custom_primitives"
4476
path = "examples/math/custom_primitives.rs"
4477
# Causes an ICE on docs.rs
4478
doc-scrape-examples = false
4479
4480
[package.metadata.example.custom_primitives]
4481
name = "Custom Primitives"
4482
description = "Demonstrates how to add custom primitives and useful traits for them."
4483
category = "Math"
4484
wasm = true
4485
4486
[[example]]
4487
name = "random_sampling"
4488
path = "examples/math/random_sampling.rs"
4489
# Causes an ICE on docs.rs
4490
doc-scrape-examples = false
4491
4492
[package.metadata.example.random_sampling]
4493
name = "Random Sampling"
4494
description = "Demonstrates how to sample random points from mathematical primitives"
4495
category = "Math"
4496
wasm = true
4497
4498
[[example]]
4499
name = "smooth_follow"
4500
path = "examples/movement/smooth_follow.rs"
4501
# Causes an ICE on docs.rs
4502
doc-scrape-examples = false
4503
4504
[package.metadata.example.smooth_follow]
4505
name = "Smooth Follow"
4506
description = "Demonstrates how to make an entity smoothly follow another using interpolation"
4507
category = "Math"
4508
wasm = true
4509
4510
# Gizmos
4511
[[example]]
4512
name = "2d_gizmos"
4513
path = "examples/gizmos/2d_gizmos.rs"
4514
# Causes an ICE on docs.rs
4515
doc-scrape-examples = false
4516
4517
[package.metadata.example.2d_gizmos]
4518
name = "2D Gizmos"
4519
description = "A scene showcasing 2D gizmos"
4520
category = "Gizmos"
4521
wasm = true
4522
4523
[[example]]
4524
name = "3d_gizmos"
4525
path = "examples/gizmos/3d_gizmos.rs"
4526
# Causes an ICE on docs.rs
4527
doc-scrape-examples = false
4528
required-features = ["free_camera"]
4529
4530
[package.metadata.example.3d_gizmos]
4531
name = "3D Gizmos"
4532
description = "A scene showcasing 3D gizmos"
4533
category = "Gizmos"
4534
wasm = true
4535
4536
[[example]]
4537
name = "axes"
4538
path = "examples/gizmos/axes.rs"
4539
# Causes an ICE on docs.rs
4540
doc-scrape-examples = false
4541
4542
[package.metadata.example.axes]
4543
name = "Axes"
4544
description = "Demonstrates the function of axes gizmos"
4545
category = "Gizmos"
4546
wasm = true
4547
4548
[[example]]
4549
name = "light_gizmos"
4550
path = "examples/gizmos/light_gizmos.rs"
4551
# Causes an ICE on docs.rs
4552
doc-scrape-examples = false
4553
4554
[package.metadata.example.light_gizmos]
4555
name = "Light Gizmos"
4556
description = "A scene showcasing light gizmos"
4557
category = "Gizmos"
4558
wasm = true
4559
4560
[[example]]
4561
name = "custom_gltf_vertex_attribute"
4562
path = "examples/gltf/custom_gltf_vertex_attribute.rs"
4563
# Causes an ICE on docs.rs
4564
doc-scrape-examples = false
4565
4566
[package.metadata.example.custom_gltf_vertex_attribute]
4567
name = "Custom glTF vertex attribute 2D"
4568
description = "Renders a glTF mesh in 2D with a custom vertex attribute"
4569
category = "glTF"
4570
wasm = true
4571
4572
[[example]]
4573
name = "edit_material_on_gltf"
4574
path = "examples/gltf/edit_material_on_gltf.rs"
4575
# Causes an ICE on docs.rs
4576
doc-scrape-examples = false
4577
4578
[package.metadata.example.edit_material_on_gltf]
4579
name = "Edit glTF Material"
4580
description = "Showcases changing materials of a glTF after Scene spawn"
4581
category = "glTF"
4582
wasm = true
4583
4584
[[example]]
4585
name = "gltf_skinned_mesh"
4586
path = "examples/gltf/gltf_skinned_mesh.rs"
4587
doc-scrape-examples = true
4588
4589
[package.metadata.example.gltf_skinned_mesh]
4590
name = "glTF Skinned Mesh"
4591
description = "Skinned mesh example with mesh and joints data loaded from a glTF file"
4592
category = "glTF"
4593
wasm = true
4594
4595
[[example]]
4596
name = "load_gltf"
4597
path = "examples/gltf/load_gltf.rs"
4598
doc-scrape-examples = true
4599
4600
[package.metadata.example.load_gltf]
4601
name = "Load glTF"
4602
description = "Loads and renders a glTF file as a scene"
4603
category = "glTF"
4604
wasm = true
4605
4606
[[example]]
4607
name = "load_gltf_extras"
4608
path = "examples/gltf/load_gltf_extras.rs"
4609
doc-scrape-examples = true
4610
4611
[package.metadata.example.load_gltf_extras]
4612
name = "Load glTF extras"
4613
description = "Loads and renders a glTF file as a scene, including the gltf extras"
4614
category = "glTF"
4615
wasm = true
4616
4617
[[example]]
4618
name = "gltf_extension_animation_graph"
4619
path = "examples/gltf/gltf_extension_animation_graph.rs"
4620
# Causes an ICE on docs.rs
4621
doc-scrape-examples = false
4622
4623
[package.metadata.example.gltf_extension_animation_graph]
4624
name = "glTF extension AnimationGraph"
4625
description = "Uses glTF data to build an AnimationGraph via extension processing"
4626
category = "glTF"
4627
wasm = true
4628
4629
[[example]]
4630
name = "gltf_extension_mesh_2d"
4631
path = "examples/gltf/gltf_extension_mesh_2d.rs"
4632
# Causes an ICE on docs.rs
4633
doc-scrape-examples = false
4634
4635
[package.metadata.example.gltf_extension_mesh_2d]
4636
name = "glTF extension processing to build Mesh2ds from glTF data"
4637
description = "Uses glTF extension data to convert incoming Mesh3d/MeshMaterial3d assets to 2d"
4638
category = "glTF"
4639
wasm = true
4640
4641
[[example]]
4642
name = "query_gltf_primitives"
4643
path = "examples/gltf/query_gltf_primitives.rs"
4644
# Causes an ICE on docs.rs
4645
doc-scrape-examples = false
4646
4647
[package.metadata.example.query_gltf_primitives]
4648
name = "Query glTF primitives"
4649
description = "Query primitives in a glTF scene"
4650
category = "glTF"
4651
wasm = true
4652
4653
[[example]]
4654
name = "update_gltf_scene"
4655
path = "examples/gltf/update_gltf_scene.rs"
4656
doc-scrape-examples = true
4657
4658
[package.metadata.example.update_gltf_scene]
4659
name = "Update glTF Scene"
4660
description = "Update a scene from a glTF file, either by spawning the scene as a child of another entity, or by accessing the entities of the scene"
4661
category = "glTF"
4662
wasm = true
4663
4664
[[example]]
4665
name = "fps_overlay"
4666
path = "examples/dev_tools/fps_overlay.rs"
4667
doc-scrape-examples = true
4668
required-features = ["bevy_dev_tools"]
4669
4670
[[example]]
4671
name = "2d_top_down_camera"
4672
path = "examples/camera/2d_top_down_camera.rs"
4673
# Causes an ICE on docs.rs
4674
doc-scrape-examples = false
4675
4676
[package.metadata.example.2d_top_down_camera]
4677
name = "2D top-down camera"
4678
description = "A 2D top-down camera smoothly following player movements"
4679
category = "Camera"
4680
wasm = true
4681
4682
[[example]]
4683
name = "custom_projection"
4684
path = "examples/camera/custom_projection.rs"
4685
# Causes an ICE on docs.rs
4686
doc-scrape-examples = false
4687
4688
[package.metadata.example.custom_projection]
4689
name = "Custom Projection"
4690
description = "Shows how to create custom camera projections."
4691
category = "Camera"
4692
wasm = true
4693
4694
[[example]]
4695
name = "first_person_view_model"
4696
path = "examples/camera/first_person_view_model.rs"
4697
# Causes an ICE on docs.rs
4698
doc-scrape-examples = false
4699
4700
[package.metadata.example.first_person_view_model]
4701
name = "First person view model"
4702
description = "A first-person camera that uses a world model and a view model with different field of views (FOV)"
4703
category = "Camera"
4704
wasm = true
4705
4706
[[example]]
4707
name = "free_camera_controller"
4708
path = "examples/camera/free_camera_controller.rs"
4709
# Causes an ICE on docs.rs
4710
doc-scrape-examples = false
4711
required-features = ["free_camera"]
4712
4713
[package.metadata.example.free_camera_controller]
4714
name = "Free Camera controller"
4715
description = "Demonstrates the FreeCamera controller for 3D scenes."
4716
category = "Camera"
4717
wasm = true
4718
4719
[[example]]
4720
name = "projection_zoom"
4721
path = "examples/camera/projection_zoom.rs"
4722
# Causes an ICE on docs.rs
4723
doc-scrape-examples = false
4724
4725
[package.metadata.example.projection_zoom]
4726
name = "Projection Zoom"
4727
description = "Shows how to zoom orthographic and perspective projection cameras."
4728
category = "Camera"
4729
wasm = true
4730
4731
[[example]]
4732
name = "camera_orbit"
4733
path = "examples/camera/camera_orbit.rs"
4734
# Causes an ICE on docs.rs
4735
doc-scrape-examples = false
4736
4737
[package.metadata.example.camera_orbit]
4738
name = "Camera Orbit"
4739
description = "Shows how to orbit a static scene using pitch, yaw, and roll."
4740
category = "Camera"
4741
wasm = true
4742
4743
[[example]]
4744
name = "2d_screen_shake"
4745
path = "examples/camera/2d_screen_shake.rs"
4746
# Causes an ICE on docs.rs
4747
doc-scrape-examples = false
4748
4749
[package.metadata.example.2d_screen_shake]
4750
name = "Screen Shake"
4751
description = "A simple 2D screen shake effect"
4752
category = "Camera"
4753
wasm = true
4754
4755
[[example]]
4756
name = "2d_on_ui"
4757
path = "examples/camera/2d_on_ui.rs"
4758
# Causes an ICE on docs.rs
4759
doc-scrape-examples = false
4760
4761
[package.metadata.example.2d_on_ui]
4762
name = "2D on Bevy UI"
4763
description = "Shows how to render 2D objects on top of Bevy UI"
4764
category = "Camera"
4765
wasm = true
4766
4767
[package.metadata.example.fps_overlay]
4768
name = "FPS overlay"
4769
description = "Demonstrates FPS overlay"
4770
category = "Dev tools"
4771
wasm = true
4772
4773
[[example]]
4774
name = "visibility_range"
4775
path = "examples/3d/visibility_range.rs"
4776
# Causes an ICE on docs.rs
4777
doc-scrape-examples = false
4778
4779
[package.metadata.example.visibility_range]
4780
name = "Visibility range"
4781
description = "Demonstrates visibility ranges"
4782
category = "3D Rendering"
4783
wasm = true
4784
4785
[[example]]
4786
name = "ssr"
4787
path = "examples/3d/ssr.rs"
4788
# Causes an ICE on docs.rs
4789
doc-scrape-examples = false
4790
required-features = ["bluenoise_texture"]
4791
4792
[package.metadata.example.ssr]
4793
name = "Screen Space Reflections"
4794
description = "Demonstrates screen space reflections with water ripples"
4795
category = "3D Rendering"
4796
wasm = false
4797
4798
[[example]]
4799
name = "camera_sub_view"
4800
path = "examples/3d/camera_sub_view.rs"
4801
# Causes an ICE on docs.rs
4802
doc-scrape-examples = false
4803
4804
[package.metadata.example.camera_sub_view]
4805
name = "Camera sub view"
4806
description = "Demonstrates using different sub view effects on a camera"
4807
category = "3D Rendering"
4808
wasm = true
4809
4810
[[example]]
4811
name = "color_grading"
4812
path = "examples/3d/color_grading.rs"
4813
# Causes an ICE on docs.rs
4814
doc-scrape-examples = false
4815
4816
[package.metadata.example.color_grading]
4817
name = "Color grading"
4818
description = "Demonstrates color grading"
4819
category = "3D Rendering"
4820
wasm = true
4821
4822
[[example]]
4823
name = "clearcoat"
4824
path = "examples/3d/clearcoat.rs"
4825
# Causes an ICE on docs.rs
4826
doc-scrape-examples = false
4827
required-features = ["pbr_multi_layer_material_textures"]
4828
4829
[package.metadata.example.clearcoat]
4830
name = "Clearcoat"
4831
description = "Demonstrates the clearcoat PBR feature"
4832
category = "3D Rendering"
4833
wasm = false
4834
4835
[[example]]
4836
name = "depth_of_field"
4837
path = "examples/3d/depth_of_field.rs"
4838
# Causes an ICE on docs.rs
4839
doc-scrape-examples = false
4840
4841
[package.metadata.example.depth_of_field]
4842
name = "Depth of field"
4843
description = "Demonstrates depth of field"
4844
category = "3D Rendering"
4845
wasm = false
4846
4847
[[example]]
4848
name = "volumetric_fog"
4849
path = "examples/3d/volumetric_fog.rs"
4850
# Causes an ICE on docs.rs
4851
doc-scrape-examples = false
4852
4853
[package.metadata.example.volumetric_fog]
4854
name = "Volumetric fog"
4855
description = "Demonstrates volumetric fog and lighting"
4856
category = "3D Rendering"
4857
wasm = true
4858
4859
[[example]]
4860
name = "client"
4861
path = "examples/remote/client.rs"
4862
# Causes an ICE on docs.rs
4863
doc-scrape-examples = false
4864
required-features = ["bevy_remote"]
4865
4866
[package.metadata.example.client]
4867
name = "client"
4868
description = "A simple command line client that can control Bevy apps via the BRP"
4869
category = "Remote Protocol"
4870
wasm = false
4871
4872
[[example]]
4873
name = "server"
4874
path = "examples/remote/server.rs"
4875
doc-scrape-examples = true
4876
required-features = ["bevy_remote"]
4877
4878
[package.metadata.example.server]
4879
name = "server"
4880
description = "A Bevy app that you can connect to with the BRP and edit"
4881
category = "Remote Protocol"
4882
wasm = false
4883
4884
[[example]]
4885
name = "anisotropy"
4886
path = "examples/3d/anisotropy.rs"
4887
# Causes an ICE on docs.rs
4888
doc-scrape-examples = false
4889
required-features = ["jpeg", "pbr_anisotropy_texture"]
4890
4891
[package.metadata.example.anisotropy]
4892
name = "Anisotropy"
4893
description = "Displays an example model with anisotropy"
4894
category = "3D Rendering"
4895
wasm = false
4896
4897
[[example]]
4898
name = "custom_phase_item"
4899
path = "examples/shader_advanced/custom_phase_item.rs"
4900
# Causes an ICE on docs.rs
4901
doc-scrape-examples = false
4902
4903
[package.metadata.example.custom_phase_item]
4904
name = "Custom phase item"
4905
description = "Demonstrates how to enqueue custom draw commands in a render phase"
4906
category = "Shaders"
4907
wasm = true
4908
4909
[[example]]
4910
name = "fog_volumes"
4911
path = "examples/3d/fog_volumes.rs"
4912
# Causes an ICE on docs.rs
4913
doc-scrape-examples = false
4914
4915
[package.metadata.example.fog_volumes]
4916
name = "Fog volumes"
4917
description = "Demonstrates fog volumes"
4918
category = "3D Rendering"
4919
wasm = false
4920
4921
[[example]]
4922
name = "scrolling_fog"
4923
path = "examples/3d/scrolling_fog.rs"
4924
# Causes an ICE on docs.rs
4925
doc-scrape-examples = false
4926
4927
[package.metadata.example.scrolling_fog]
4928
name = "Scrolling fog"
4929
description = "Demonstrates how to create the effect of fog moving in the wind"
4930
category = "3D Rendering"
4931
wasm = false
4932
4933
[[example]]
4934
name = "physics_in_fixed_timestep"
4935
path = "examples/movement/physics_in_fixed_timestep.rs"
4936
# Causes an ICE on docs.rs
4937
doc-scrape-examples = false
4938
4939
[package.metadata.example.physics_in_fixed_timestep]
4940
name = "Run physics in a fixed timestep"
4941
description = "Handles input, physics, and rendering in an industry-standard way by using a fixed timestep"
4942
category = "Movement"
4943
wasm = true
4944
4945
[[example]]
4946
name = "post_processing"
4947
path = "examples/3d/post_processing.rs"
4948
# Causes an ICE on docs.rs
4949
doc-scrape-examples = false
4950
4951
[package.metadata.example.post_processing]
4952
name = "Built-in postprocessing"
4953
description = "Demonstrates the built-in postprocessing features"
4954
category = "3D Rendering"
4955
wasm = true
4956
4957
[[example]]
4958
name = "rotate_environment_map"
4959
path = "examples/3d/rotate_environment_map.rs"
4960
# Causes an ICE on docs.rs
4961
doc-scrape-examples = false
4962
required-features = ["pbr_multi_layer_material_textures"]
4963
4964
[package.metadata.example.rotate_environment_map]
4965
name = "Rotate Environment Map"
4966
description = "Demonstrates how to rotate the skybox and the environment map simultaneously"
4967
category = "3D Rendering"
4968
wasm = false
4969
4970
[[example]]
4971
name = "mesh_picking"
4972
path = "examples/picking/mesh_picking.rs"
4973
# Causes an ICE on docs.rs
4974
doc-scrape-examples = false
4975
required-features = ["mesh_picking"]
4976
4977
[package.metadata.example.mesh_picking]
4978
name = "Mesh Picking"
4979
description = "Demonstrates picking meshes"
4980
category = "Picking"
4981
wasm = true
4982
4983
[[example]]
4984
name = "simple_picking"
4985
path = "examples/picking/simple_picking.rs"
4986
# Causes an ICE on docs.rs
4987
doc-scrape-examples = false
4988
required-features = ["bevy_picking"]
4989
4990
[package.metadata.example.simple_picking]
4991
name = "Showcases simple picking events and usage"
4992
description = "Demonstrates how to use picking events to spawn simple objects"
4993
category = "Picking"
4994
wasm = true
4995
4996
[[example]]
4997
name = "sprite_picking"
4998
path = "examples/picking/sprite_picking.rs"
4999
# Causes an ICE on docs.rs
5000
doc-scrape-examples = false
5001
required-features = ["sprite_picking"]
5002
5003
[package.metadata.example.sprite_picking]
5004
name = "Sprite Picking"
5005
description = "Demonstrates picking sprites and sprite atlases"
5006
category = "Picking"
5007
wasm = true
5008
5009
[[example]]
5010
name = "debug_picking"
5011
path = "examples/picking/debug_picking.rs"
5012
# Causes an ICE on docs.rs
5013
doc-scrape-examples = false
5014
required-features = ["bevy_dev_tools"]
5015
5016
[package.metadata.example.debug_picking]
5017
name = "Picking Debug Tools"
5018
description = "Demonstrates picking debug overlay"
5019
category = "Picking"
5020
wasm = true
5021
5022
[[example]]
5023
name = "dragdrop_picking"
5024
path = "examples/picking/dragdrop_picking.rs"
5025
doc-scrape-examples = true
5026
required-features = ["mesh_picking"]
5027
5028
[package.metadata.example.dragdrop_picking]
5029
name = "Drag and Drop"
5030
description = "Demonstrates drag and drop using picking events"
5031
category = "Picking"
5032
wasm = true
5033
5034
[[example]]
5035
name = "animation_masks"
5036
path = "examples/animation/animation_masks.rs"
5037
# Causes an ICE on docs.rs
5038
doc-scrape-examples = false
5039
5040
[package.metadata.example.animation_masks]
5041
name = "Animation Masks"
5042
description = "Demonstrates animation masks"
5043
category = "Animation"
5044
wasm = true
5045
5046
[[example]]
5047
name = "pcss"
5048
path = "examples/3d/pcss.rs"
5049
# Causes an ICE on docs.rs
5050
doc-scrape-examples = false
5051
required-features = ["experimental_pbr_pcss"]
5052
5053
[package.metadata.example.pcss]
5054
name = "Percentage-closer soft shadows"
5055
description = "Demonstrates percentage-closer soft shadows (PCSS)"
5056
category = "3D Rendering"
5057
wasm = false
5058
5059
[[example]]
5060
name = "mixed_lighting"
5061
path = "examples/3d/mixed_lighting.rs"
5062
# Causes an ICE on docs.rs
5063
doc-scrape-examples = false
5064
required-features = ["jpeg"]
5065
5066
[package.metadata.example.mixed_lighting]
5067
name = "Mixed lighting"
5068
description = "Demonstrates how to combine baked and dynamic lighting"
5069
category = "3D Rendering"
5070
wasm = true
5071
5072
[[example]]
5073
name = "animated_ui"
5074
path = "examples/animation/animated_ui.rs"
5075
# Causes an ICE on docs.rs
5076
doc-scrape-examples = false
5077
5078
[package.metadata.example.animated_ui]
5079
name = "Animated UI"
5080
description = "Shows how to use animation clips to animate UI properties"
5081
category = "Animation"
5082
wasm = true
5083
5084
[[example]]
5085
name = "shader_material_bindless"
5086
path = "examples/shader/shader_material_bindless.rs"
5087
# Causes an ICE on docs.rs
5088
doc-scrape-examples = false
5089
5090
[package.metadata.example.shader_material_bindless]
5091
name = "Material - Bindless"
5092
description = "Demonstrates how to make materials that use bindless textures"
5093
category = "Shaders"
5094
wasm = true
5095
5096
[[example]]
5097
name = "specular_tint"
5098
path = "examples/3d/specular_tint.rs"
5099
# Causes an ICE on docs.rs
5100
doc-scrape-examples = false
5101
required-features = ["pbr_specular_textures"]
5102
5103
[package.metadata.example.specular_tint]
5104
name = "Specular Tint"
5105
description = "Demonstrates specular tints and maps"
5106
category = "3D Rendering"
5107
wasm = true
5108
5109
[[example]]
5110
name = "test_invalid_skinned_mesh"
5111
path = "tests/3d/test_invalid_skinned_mesh.rs"
5112
# Causes an ICE on docs.rs
5113
doc-scrape-examples = false
5114
5115
[package.metadata.example.test_invalid_skinned_mesh]
5116
hidden = true
5117
5118
[[example]]
5119
name = "test_skinned_mesh_bounds"
5120
path = "tests/3d/test_skinned_mesh_bounds.rs"
5121
doc-scrape-examples = true
5122
5123
[package.metadata.example.test_skinned_mesh_bounds]
5124
hidden = true
5125
5126
[profile.wasm-release]
5127
inherits = "release"
5128
opt-level = "z"
5129
lto = "fat"
5130
codegen-units = 1
5131
5132
[profile.stress-test]
5133
inherits = "release"
5134
lto = "fat"
5135
panic = "abort"
5136
5137
[package.metadata.docs.rs]
5138
# This cfg is needed so that #[doc(fake_variadic)] is correctly propagated for
5139
# impls for re-exported traits. See https://github.com/rust-lang/cargo/issues/8811
5140
# for details on why this is needed. Since dependencies don't expect to be built
5141
# with `--cfg docsrs` (and thus fail to compile) we use a different cfg.
5142
rustc-args = ["--cfg", "docsrs_dep"]
5143
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
5144
rustdoc-args = [
5145
"-Zunstable-options",
5146
"--generate-link-to-definition",
5147
# Embed tags to the top of documentation pages for common Bevy traits
5148
# that are implemented by the current type, like `Component` or `Resource`.
5149
# This makes it easier to see at a glance what types are used for.
5150
"--html-after-content",
5151
"docs-rs/trait-tags.html",
5152
]
5153
all-features = true
5154
5155
[[example]]
5156
name = "monitor_info"
5157
path = "examples/window/monitor_info.rs"
5158
# Causes an ICE on docs.rs
5159
doc-scrape-examples = false
5160
5161
[package.metadata.example.monitor_info]
5162
name = "Monitor info"
5163
description = "Displays information about available monitors (displays)."
5164
category = "Window"
5165
wasm = false
5166
5167
# Testbed
5168
[[example]]
5169
name = "testbed_2d"
5170
path = "examples/testbed/2d.rs"
5171
# Causes an ICE on docs.rs
5172
doc-scrape-examples = false
5173
5174
[package.metadata.example.testbed_2d]
5175
hidden = true
5176
5177
[[example]]
5178
name = "testbed_3d"
5179
path = "examples/testbed/3d.rs"
5180
# Causes an ICE on docs.rs
5181
doc-scrape-examples = false
5182
5183
[package.metadata.example.testbed_3d]
5184
hidden = true
5185
5186
[[example]]
5187
name = "testbed_ui"
5188
path = "examples/testbed/ui.rs"
5189
# Causes an ICE on docs.rs
5190
doc-scrape-examples = false
5191
5192
[package.metadata.example.testbed_ui]
5193
hidden = true
5194
5195
[[example]]
5196
name = "testbed_full_ui"
5197
path = "examples/testbed/full_ui.rs"
5198
# Causes an ICE on docs.rs
5199
doc-scrape-examples = false
5200
required-features = ["experimental_bevy_ui_widgets"]
5201
5202
[package.metadata.example.testbed_full_ui]
5203
hidden = true
5204
5205
[[example]]
5206
name = "tab_navigation"
5207
path = "examples/ui/widgets/tab_navigation.rs"
5208
doc-scrape-examples = true
5209
5210
[package.metadata.example.tab_navigation]
5211
name = "Tab Navigation"
5212
description = "Demonstration of Tab Navigation between UI elements"
5213
category = "UI (User Interface)"
5214
wasm = true
5215
5216
[[example]]
5217
name = "directional_navigation"
5218
path = "examples/ui/navigation/directional_navigation.rs"
5219
# Causes an ICE on docs.rs
5220
doc-scrape-examples = false
5221
5222
[package.metadata.example.directional_navigation]
5223
name = "Directional Navigation"
5224
description = "Demonstration of automatic directional navigation based on UI element positions"
5225
category = "UI (User Interface)"
5226
wasm = true
5227
5228
[[example]]
5229
name = "directional_navigation_overrides"
5230
path = "examples/ui/navigation/directional_navigation_overrides.rs"
5231
# Causes an ICE on docs.rs
5232
doc-scrape-examples = false
5233
5234
[package.metadata.example.directional_navigation_overrides]
5235
name = "Directional Navigation Overrides"
5236
description = "Demonstration of automatic directional navigation between UI elements with manual overrides"
5237
category = "UI (User Interface)"
5238
wasm = true
5239
5240
[[example]]
5241
name = "clustered_decals"
5242
path = "examples/3d/clustered_decals.rs"
5243
# Causes an ICE on docs.rs
5244
doc-scrape-examples = false
5245
required-features = ["pbr_clustered_decals"]
5246
5247
[package.metadata.example.clustered_decals]
5248
name = "Clustered Decals"
5249
description = "Demonstrates clustered decals"
5250
category = "3D Rendering"
5251
wasm = false
5252
5253
[[example]]
5254
name = "light_textures"
5255
path = "examples/3d/light_textures.rs"
5256
# Causes an ICE on docs.rs
5257
doc-scrape-examples = false
5258
required-features = ["pbr_light_textures"]
5259
5260
[package.metadata.example.light_textures]
5261
name = "Light Textures"
5262
description = "Demonstrates light textures"
5263
category = "3D Rendering"
5264
wasm = false
5265
5266
[[example]]
5267
name = "occlusion_culling"
5268
path = "examples/3d/occlusion_culling.rs"
5269
# Causes an ICE on docs.rs
5270
doc-scrape-examples = false
5271
5272
[package.metadata.example.occlusion_culling]
5273
name = "Occlusion Culling"
5274
description = "Demonstration of Occlusion Culling"
5275
category = "3D Rendering"
5276
wasm = false
5277
5278
[[example]]
5279
name = "widgets"
5280
path = "examples/helpers/widgets.rs"
5281
# Causes an ICE on docs.rs
5282
doc-scrape-examples = false
5283
crate-type = ["lib"]
5284
5285
[package.metadata.example.widgets]
5286
name = "Widgets"
5287
description = "Example UI Widgets"
5288
category = "Helpers"
5289
wasm = true
5290
5291
[[example]]
5292
name = "no_std_library"
5293
path = "examples/no_std/library/src/lib.rs"
5294
# Causes an ICE on docs.rs
5295
doc-scrape-examples = false
5296
crate-type = ["lib"]
5297
5298
[package.metadata.example.no_std_library]
5299
name = "`no_std` Compatible Library"
5300
description = "Example library compatible with `std` and `no_std` targets"
5301
category = "Embedded"
5302
wasm = true
5303
5304
[[example]]
5305
name = "extended_material_bindless"
5306
path = "examples/shader/extended_material_bindless.rs"
5307
# Causes an ICE on docs.rs
5308
doc-scrape-examples = false
5309
5310
[package.metadata.example.extended_material_bindless]
5311
name = "Extended Bindless Material"
5312
description = "Demonstrates bindless `ExtendedMaterial`"
5313
category = "Shaders"
5314
wasm = false
5315
5316
[[example]]
5317
name = "cooldown"
5318
path = "examples/usage/cooldown.rs"
5319
# Causes an ICE on docs.rs
5320
doc-scrape-examples = false
5321
5322
[package.metadata.example.cooldown]
5323
name = "Cooldown"
5324
description = "Example for cooldown on button clicks"
5325
category = "Usage"
5326
wasm = true
5327
5328
[[example]]
5329
name = "hotpatching_systems"
5330
path = "examples/ecs/hotpatching_systems.rs"
5331
# Causes an ICE on docs.rs
5332
doc-scrape-examples = false
5333
required-features = ["hotpatching"]
5334
5335
[package.metadata.example.hotpatching_systems]
5336
name = "Hotpatching Systems"
5337
description = "Demonstrates how to hotpatch systems"
5338
category = "ECS (Entity Component System)"
5339
wasm = false
5340
5341
[[example]]
5342
name = "standard_widgets"
5343
path = "examples/ui/widgets/standard_widgets.rs"
5344
# Causes an ICE on docs.rs
5345
doc-scrape-examples = false
5346
required-features = ["experimental_bevy_ui_widgets"]
5347
5348
[package.metadata.example.standard_widgets]
5349
name = "Standard Widgets"
5350
description = "Demonstrates use of core (headless) widgets in Bevy UI"
5351
category = "UI (User Interface)"
5352
wasm = true
5353
5354
[[example]]
5355
name = "standard_widgets_observers"
5356
path = "examples/ui/widgets/standard_widgets_observers.rs"
5357
# Causes an ICE on docs.rs
5358
doc-scrape-examples = false
5359
required-features = ["experimental_bevy_ui_widgets"]
5360
5361
[package.metadata.example.standard_widgets_observers]
5362
name = "Standard Widgets (w/Observers)"
5363
description = "Demonstrates use of core (headless) widgets in Bevy UI, with Observers"
5364
category = "UI (User Interface)"
5365
wasm = true
5366
5367
[[example]]
5368
name = "scrollbars"
5369
path = "examples/ui/scroll_and_overflow/scrollbars.rs"
5370
# Causes an ICE on docs.rs
5371
doc-scrape-examples = false
5372
required-features = ["experimental_bevy_ui_widgets"]
5373
5374
[package.metadata.example.scrollbars]
5375
name = "Scrollbars"
5376
description = "Demonstrates use of core scrollbar in Bevy UI"
5377
category = "UI (User Interface)"
5378
wasm = true
5379
5380
[[example]]
5381
name = "system_fonts"
5382
path = "examples/ui/text/system_fonts.rs"
5383
doc-scrape-examples = true
5384
5385
[package.metadata.example.system_fonts]
5386
name = "System Fonts"
5387
description = "Demonstrates how to use system fonts"
5388
category = "UI (User Interface)"
5389
wasm = true
5390
5391
[[example]]
5392
name = "feathers"
5393
path = "examples/ui/widgets/feathers.rs"
5394
# Causes an ICE on docs.rs
5395
doc-scrape-examples = false
5396
required-features = ["experimental_bevy_feathers"]
5397
5398
[package.metadata.example.feathers]
5399
name = "Feathers Widgets"
5400
description = "Gallery of Feathers Widgets"
5401
category = "UI (User Interface)"
5402
wasm = true
5403
5404
[[example]]
5405
name = "render_depth_to_texture"
5406
path = "examples/shader_advanced/render_depth_to_texture.rs"
5407
# Causes an ICE on docs.rs
5408
doc-scrape-examples = false
5409
5410
[package.metadata.example.render_depth_to_texture]
5411
name = "Render Depth to Texture"
5412
description = "Demonstrates how to use depth-only cameras"
5413
category = "Shaders"
5414
wasm = true
5415
5416
[[example]]
5417
name = "pan_camera_controller"
5418
path = "examples/camera/pan_camera_controller.rs"
5419
# Causes an ICE on docs.rs
5420
doc-scrape-examples = false
5421
required-features = ["pan_camera"]
5422
5423
[package.metadata.example.pan_camera_controller]
5424
name = "Pan Camera"
5425
description = "Example Pan-Camera Styled Camera Controller for 2D scenes"
5426
category = "Camera"
5427
wasm = true
5428
5429
[[example]]
5430
name = "contiguous_query"
5431
path = "examples/ecs/contiguous_query.rs"
5432
doc-scrape-examples = true
5433
5434
[package.metadata.example.contiguous_query]
5435
name = "Contiguous Query"
5436
description = "Demonstrates contiguous queries"
5437
category = "ECS (Entity Component System)"
5438
wasm = false
5439
5440
[[example]]
5441
name = "clustered_decal_maps"
5442
path = "examples/3d/clustered_decal_maps.rs"
5443
# Causes an ICE on docs.rs
5444
doc-scrape-examples = false
5445
required-features = ["pbr_clustered_decals", "https"]
5446
5447
[package.metadata.example.clustered_decal_maps]
5448
name = "Clustered Decal Maps"
5449
description = "Demonstrates normal and metallic-roughness maps of decals"
5450
category = "3D Rendering"
5451
wasm = false
5452
5453
[[example]]
5454
name = "mirror"
5455
path = "examples/3d/mirror.rs"
5456
# Causes an ICE on docs.rs
5457
doc-scrape-examples = false
5458
5459
[package.metadata.example.mirror]
5460
name = "Mirror"
5461
description = "Demonstrates how to create a mirror with a second camera"
5462
category = "3D Rendering"
5463
wasm = true
5464
5465
[[example]]
5466
name = "dynamic_mip_generation"
5467
path = "examples/2d/dynamic_mip_generation.rs"
5468
doc-scrape-examples = true
5469
5470
[package.metadata.example.dynamic_mip_generation]
5471
name = "Dynamic Mipmap Generation"
5472
description = "Demonstrates use of the mipmap generation plugin to generate mipmaps for a texture"
5473
category = "2D Rendering"
5474
wasm = false
5475
5476
[[example]]
5477
name = "pccm"
5478
path = "examples/3d/pccm.rs"
5479
doc-scrape-examples = true
5480
required-features = ["free_camera", "https"]
5481
5482
[package.metadata.example.pccm]
5483
name = "Parallax-Corrected Cubemaps"
5484
description = "Demonstrates parallax-corrected cubemap reflections"
5485
category = "3D Rendering"
5486
wasm = true
5487
5488
[[example]]
5489
name = "light_probe_blending"
5490
path = "examples/3d/light_probe_blending.rs"
5491
doc-scrape-examples = true
5492
required-features = ["free_camera", "https"]
5493
5494
[package.metadata.example.light_probe_blending]
5495
name = "Light Probe Blending"
5496
description = "Demonstrates blending between multiple reflection probes"
5497
category = "3D Rendering"
5498
wasm = false
5499
5500