-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Cargo Feature Collections #21472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cargo Feature Collections #21472
Changes from all commits
edebd11
81904a1
aebe020
baa2ba8
62a39a1
662581f
5936f9a
f1ec4d7
352f9e1
bae27a0
451249e
1c34c4e
3282c1a
a0de161
e0a6bab
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -125,65 +125,149 @@ unsafe_op_in_unsafe_fn = "warn" | |
| unused_qualifications = "warn" | ||
|
|
||
| [features] | ||
| default = [ | ||
| "std", | ||
| default = ["2d", "3d", "ui"] | ||
|
|
||
| # PROFILE: The default 2D Bevy experience. This includes the core Bevy framework, 2D functionality, Bevy UI, scenes, audio, and picking. | ||
| 2d = [ | ||
| "default_app", | ||
| "default_platform", | ||
| "2d_api", | ||
| "2d_bevy_render", | ||
| "ui", | ||
| "scene", | ||
| "audio", | ||
| "picking", | ||
| ] | ||
|
|
||
| # PROFILE: The default 3D Bevy experience. This includes the core Bevy framework, 3D functionality, Bevy UI, scenes, audio, and picking. | ||
| 3d = [ | ||
| "default_app", | ||
| "default_platform", | ||
| "3d_api", | ||
| "3d_bevy_render", | ||
| "ui", | ||
| "scene", | ||
| "audio", | ||
| "picking", | ||
| ] | ||
|
|
||
| # PROFILE: The default Bevy UI experience. This includes the core Bevy framework, Bevy UI, scenes, audio, and picking. | ||
| ui = [ | ||
| "default_app", | ||
| "default_platform", | ||
| "ui_api", | ||
| "ui_bevy_render", | ||
| "scene", | ||
| "audio", | ||
| "picking", | ||
| ] | ||
|
|
||
| # 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! | ||
| dev = [ | ||
| "debug", # TODO: rename this to something more specific ... this is a "debug ECS names" feature | ||
| "bevy_dev_tools", | ||
| "file_watcher", | ||
| ] | ||
|
|
||
| # COLLECTION: Features used to build audio Bevy apps. | ||
| audio = ["bevy_audio", "vorbis"] | ||
|
|
||
| # COLLECTION: Features used to compose Bevy scenes. | ||
| scene = ["bevy_scene"] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will this collection ever have any other entry? Why not just use
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually, will bsn go here?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is a high likelihood that the next generation scene system will be broken up into |
||
|
|
||
| # COLLECTION: Enables picking functionality | ||
| picking = ["bevy_picking", "mesh_picking", "sprite_picking", "ui_picking"] | ||
|
|
||
| # 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). | ||
| default_app = [ | ||
cart marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "async_executor", | ||
| "bevy_asset", | ||
| "bevy_input_focus", | ||
| "bevy_log", | ||
| "bevy_state", | ||
| "bevy_window", | ||
| "custom_cursor", | ||
| "reflect_auto_register", | ||
| ] | ||
|
|
||
| # COLLECTION: These are platform support features, such as OS support/features, windowing and input backends, etc. | ||
| default_platform = [ | ||
| "std", | ||
| "android-game-activity", | ||
| "android_shared_stdcxx", | ||
| "gltf_animation", | ||
| "bevy_asset", | ||
| "bevy_audio", | ||
| "bevy_color", | ||
| "bevy_core_pipeline", | ||
| "bevy_post_process", | ||
| "bevy_anti_alias", | ||
| "bevy_gilrs", | ||
| "bevy_winit", | ||
| "default_font", | ||
| "multi_threaded", | ||
| "webgl2", | ||
| "x11", | ||
| "wayland", | ||
| "sysinfo_plugin", | ||
| ] | ||
|
|
||
| # COLLECTION: Default scene definition features. Note that this does not include an actual renderer, such as bevy_render (Bevy's default render backend). | ||
| common_api = [ | ||
| "bevy_animation", | ||
| "bevy_camera", | ||
| "bevy_color", | ||
cart marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "bevy_gizmos", | ||
cart marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "bevy_gltf", | ||
| "bevy_input_focus", | ||
| "bevy_log", | ||
| "bevy_pbr", | ||
| "bevy_picking", | ||
| "bevy_render", | ||
| "bevy_scene", | ||
| "bevy_image", | ||
| "bevy_mesh", | ||
| "bevy_mikktspace", | ||
| "bevy_camera", | ||
| "bevy_light", | ||
| "bevy_shader", | ||
| "bevy_sprite", | ||
| "bevy_sprite_render", | ||
| "bevy_state", | ||
| "bevy_text", | ||
| "bevy_ui", | ||
| "bevy_ui_render", | ||
| "bevy_window", | ||
| "bevy_winit", | ||
| "custom_cursor", | ||
| "default_font", | ||
| "hdr", | ||
| "png", | ||
| ] | ||
|
|
||
| # 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. | ||
| 2d_api = ["common_api", "bevy_sprite"] | ||
|
|
||
| # COLLECTION: Bevy's built-in 2D renderer, built on top of `bevy_render` | ||
| 2d_bevy_render = [ | ||
| "2d_api", | ||
| "bevy_render", | ||
| "bevy_core_pipeline", | ||
| "bevy_post_process", | ||
| "bevy_sprite_render", | ||
| ] | ||
|
|
||
| # 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. | ||
| 3d_api = [ | ||
| "common_api", | ||
| "bevy_light", | ||
| "bevy_mikktspace", | ||
| "ktx2", | ||
| "mesh_picking", | ||
| "morph", | ||
| "morph_animation", | ||
| "multi_threaded", | ||
| "png", | ||
| "reflect_auto_register", | ||
| "morph", | ||
| "smaa_luts", | ||
| "sprite_picking", | ||
| "sysinfo_plugin", | ||
| "tonemapping_luts", | ||
| "ui_picking", | ||
| "vorbis", | ||
| "webgl2", | ||
| "x11", | ||
| "wayland", | ||
| "debug", | ||
| "zstd_rust", | ||
| ] | ||
|
|
||
| # Recommended defaults for no_std applications | ||
| # COLLECTION: Bevy's built-in 3D renderer, built on top of `bevy_render` | ||
| 3d_bevy_render = [ | ||
| "3d_api", | ||
| "bevy_render", | ||
| "bevy_core_pipeline", | ||
| "bevy_anti_alias", | ||
| "bevy_gltf", | ||
| "bevy_pbr", | ||
| "bevy_post_process", | ||
| "gltf_animation", | ||
| ] | ||
|
|
||
| # 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. | ||
| ui_api = ["default_app", "common_api", "bevy_ui"] | ||
|
|
||
| # COLLECTION: Bevy's built-in UI renderer, built on top of `bevy_render` | ||
| ui_bevy_render = [ | ||
| "ui_api", | ||
| "bevy_render", | ||
| "bevy_core_pipeline", | ||
| "bevy_ui_render", | ||
| ] | ||
|
|
||
| # COLLECTION: Recommended defaults for no_std applications | ||
| default_no_std = ["libm", "critical-section", "bevy_color", "bevy_state"] | ||
cart marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| # Provides an implementation for picking meshes | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.