[package] name = "bevy_internal" version = "0.16.0" edition = "2024" description = "An internal Bevy crate used to facilitate optional dynamic linking via the 'dynamic_linking' feature" homepage = "https://bevyengine.org" repository = "https://github.com/bevyengine/bevy" license = "MIT OR Apache-2.0" keywords = ["game", "engine", "gamedev", "graphics", "bevy"] categories = ["game-engines", "graphics", "gui", "rendering"] [features] trace = [ "bevy_app/trace", "bevy_asset?/trace", "bevy_core_pipeline?/trace", "bevy_ecs/trace", "bevy_log/trace", "bevy_pbr?/trace", "bevy_render?/trace", "bevy_winit?/trace", ] trace_chrome = ["bevy_log/tracing-chrome"] trace_tracy = ["bevy_render?/tracing-tracy", "bevy_log/tracing-tracy"] trace_tracy_memory = ["bevy_log/trace_tracy_memory"] detailed_trace = ["bevy_ecs/detailed_trace", "bevy_render?/detailed_trace"] sysinfo_plugin = ["bevy_diagnostic/sysinfo_plugin"] # Texture formats that have specific rendering support (HDR enabled by default) basis-universal = ["bevy_image/basis-universal", "bevy_render/basis-universal"] dds = [ "bevy_image/dds", "bevy_render/dds", "bevy_core_pipeline/dds", "bevy_gltf?/dds", ] exr = ["bevy_image/exr", "bevy_render/exr"] hdr = ["bevy_image/hdr", "bevy_render/hdr"] ktx2 = ["bevy_image/ktx2", "bevy_render/ktx2"] # For ktx2 supercompression zlib = ["bevy_image/zlib"] zstd = ["bevy_image/zstd"] # Image format support (PNG enabled by default) bmp = ["bevy_image/bmp"] ff = ["bevy_image/ff"] gif = ["bevy_image/gif"] ico = ["bevy_image/ico"] jpeg = ["bevy_image/jpeg"] png = ["bevy_image/png"] pnm = ["bevy_image/pnm"] qoi = ["bevy_image/qoi"] tga = ["bevy_image/tga"] tiff = ["bevy_image/tiff"] webp = ["bevy_image/webp"] # Enable SPIR-V passthrough spirv_shader_passthrough = ["bevy_render/spirv_shader_passthrough"] # Statically linked DXC shader compiler for DirectX 12 # TODO: When wgpu switches to DirectX 12 instead of Vulkan by default on windows, make this a default feature statically-linked-dxc = ["bevy_render/statically-linked-dxc"] # Include tonemapping LUT KTX2 files. tonemapping_luts = ["bevy_core_pipeline/tonemapping_luts"] # Include SMAA LUT KTX2 Files smaa_luts = ["bevy_core_pipeline/smaa_luts"] # Audio format support (vorbis is enabled by default) flac = ["bevy_audio/flac"] mp3 = ["bevy_audio/mp3"] vorbis = ["bevy_audio/vorbis"] wav = ["bevy_audio/wav"] minimp3 = ["bevy_audio/minimp3"] symphonia-aac = ["bevy_audio/symphonia-aac"] symphonia-all = ["bevy_audio/symphonia-all"] symphonia-flac = ["bevy_audio/symphonia-flac"] symphonia-isomp4 = ["bevy_audio/symphonia-isomp4"] symphonia-vorbis = ["bevy_audio/symphonia-vorbis"] symphonia-wav = ["bevy_audio/symphonia-wav"] # Shader formats shader_format_glsl = [ "bevy_render/shader_format_glsl", "bevy_pbr?/shader_format_glsl", ] shader_format_spirv = ["bevy_render/shader_format_spirv"] shader_format_wesl = ["bevy_render/shader_format_wesl"] serialize = [ "bevy_a11y?/serialize", "bevy_color?/serialize", "bevy_ecs/serialize", "bevy_image?/serialize", "bevy_input/serialize", "bevy_math/serialize", "bevy_scene?/serialize", "bevy_time/serialize", "bevy_transform/serialize", "bevy_ui?/serialize", "bevy_window?/serialize", "bevy_winit?/serialize", "bevy_platform/serialize", ] multi_threaded = [ "std", "bevy_asset?/multi_threaded", "bevy_ecs/multi_threaded", "bevy_render?/multi_threaded", "bevy_tasks/multi_threaded", ] async-io = ["std", "bevy_tasks/async-io"] # Display server protocol support (X11 is enabled by default) wayland = ["bevy_winit/wayland"] x11 = ["bevy_winit/x11"] # Android activity support (choose one) android-native-activity = ["bevy_winit/android-native-activity"] android-game-activity = ["bevy_winit/android-game-activity"] # Transmission textures in `StandardMaterial`: pbr_transmission_textures = [ "bevy_pbr?/pbr_transmission_textures", "bevy_gltf?/pbr_transmission_textures", ] # Multi-layer material textures in `StandardMaterial`: pbr_multi_layer_material_textures = [ "bevy_pbr?/pbr_multi_layer_material_textures", "bevy_gltf?/pbr_multi_layer_material_textures", ] # Anisotropy texture in `StandardMaterial`: pbr_anisotropy_texture = [ "bevy_pbr?/pbr_anisotropy_texture", "bevy_gltf?/pbr_anisotropy_texture", ] # Percentage-closer soft shadows experimental_pbr_pcss = ["bevy_pbr?/experimental_pbr_pcss"] # Specular textures in `StandardMaterial`: pbr_specular_textures = [ "bevy_pbr?/pbr_specular_textures", "bevy_gltf?/pbr_specular_textures", ] # Optimise for WebGL2 webgl = [ "bevy_core_pipeline?/webgl", "bevy_pbr?/webgl", "bevy_render?/webgl", "bevy_gizmos?/webgl", "bevy_sprite?/webgl", ] webgpu = [ "bevy_core_pipeline?/webgpu", "bevy_pbr?/webgpu", "bevy_render?/webgpu", "bevy_gizmos?/webgpu", "bevy_sprite?/webgpu", ] # enable systems that allow for automated testing on CI bevy_ci_testing = ["bevy_dev_tools/bevy_ci_testing", "bevy_render?/ci_limits"] # Enable animation support, and glTF animation loading animation = ["bevy_animation", "bevy_gltf?/bevy_animation"] bevy_sprite = ["dep:bevy_sprite", "bevy_gizmos?/bevy_sprite", "bevy_image"] bevy_pbr = ["dep:bevy_pbr", "bevy_gizmos?/bevy_pbr", "bevy_image"] bevy_window = ["dep:bevy_window", "dep:bevy_a11y"] bevy_core_pipeline = ["dep:bevy_core_pipeline", "bevy_image"] bevy_gizmos = ["dep:bevy_gizmos", "bevy_image"] bevy_gltf = ["dep:bevy_gltf", "bevy_image"] bevy_ui = ["dep:bevy_ui", "bevy_image"] bevy_image = ["dep:bevy_image"] # Used to disable code that is unsupported when Bevy is dynamically linked dynamic_linking = ["bevy_diagnostic/dynamic_linking"] # Enable using a shared stdlib for cxx on Android. android_shared_stdcxx = ["bevy_audio/android_shared_stdcxx"] # Enable AccessKit on Unix backends (currently only works with experimental # screen readers and forks.) accesskit_unix = ["bevy_winit/accesskit_unix"] bevy_text = ["dep:bevy_text", "bevy_image"] bevy_render = [ "dep:bevy_render", "bevy_scene?/bevy_render", "bevy_gizmos?/bevy_render", "bevy_image", "bevy_color/wgpu-types", "bevy_color/encase", ] # Enable assertions to check the validity of parameters passed to glam glam_assert = ["bevy_math/glam_assert"] # Enable assertions in debug builds to check the validity of parameters passed to glam debug_glam_assert = ["bevy_math/debug_glam_assert"] default_font = ["bevy_text?/default_font"] # Enables the built-in asset processor for processed assets. asset_processor = ["bevy_asset?/asset_processor"] # Enables watching the filesystem for Bevy Asset hot-reloading file_watcher = ["bevy_asset?/file_watcher"] # Enables watching embedded files for Bevy Asset hot-reloading embedded_watcher = ["bevy_asset?/embedded_watcher"] # Enable system stepping support bevy_debug_stepping = [ "bevy_ecs/bevy_debug_stepping", "bevy_app/bevy_debug_stepping", ] # Enables the meshlet renderer for dense high-poly scenes (experimental) meshlet = ["bevy_pbr?/meshlet"] # Enables processing meshes into meshlet meshes for bevy_pbr meshlet_processor = ["bevy_pbr?/meshlet_processor"] # Provides a collection of developer tools bevy_dev_tools = ["dep:bevy_dev_tools"] # Enable support for the Bevy Remote Protocol bevy_remote = ["dep:bevy_remote", "serialize"] # Provides picking functionality bevy_picking = ["dep:bevy_picking"] # Provides a mesh picking backend bevy_mesh_picking_backend = [ "bevy_picking", "bevy_picking/bevy_mesh_picking_backend", ] # Provides a sprite picking backend bevy_sprite_picking_backend = [ "bevy_picking", "bevy_sprite/bevy_sprite_picking_backend", ] # Provides a UI picking backend bevy_ui_picking_backend = ["bevy_picking", "bevy_ui/bevy_ui_picking_backend"] # Provides a UI debug overlay bevy_ui_debug = ["bevy_ui?/bevy_ui_debug"] # Enable built in global state machines bevy_state = ["dep:bevy_state"] # Enables source location tracking for change detection, which can assist with debugging track_location = ["bevy_ecs/track_location"] # Enable function reflection reflect_functions = [ "bevy_reflect/functions", "bevy_app/reflect_functions", "bevy_ecs/reflect_functions", ] # Enable documentation reflection reflect_documentation = ["bevy_reflect/documentation"] # Enable winit custom cursor support custom_cursor = ["bevy_winit/custom_cursor"] # Experimental support for nodes that are ignored for UI layouting ghost_nodes = ["bevy_ui/ghost_nodes"] # Use the configurable global error handler as the default error handler. configurable_error_handler = ["bevy_ecs/configurable_error_handler"] # Allows access to the `std` crate. Enabling this feature will prevent compilation # on `no_std` targets, but provides access to certain additional features on # supported platforms. std = [ "bevy_a11y?/std", "bevy_app/std", "bevy_color?/std", "bevy_diagnostic/std", "bevy_ecs/std", "bevy_input/std", "bevy_input_focus?/std", "bevy_math/std", "bevy_platform/std", "bevy_reflect/std", "bevy_state?/std", "bevy_time/std", "bevy_transform/std", "bevy_utils/std", "bevy_tasks/std", "bevy_window?/std", ] # `critical-section` provides the building blocks for synchronization primitives # on all platforms, including `no_std`. critical-section = [ "bevy_a11y?/critical-section", "bevy_app/critical-section", "bevy_diagnostic/critical-section", "bevy_ecs/critical-section", "bevy_input/critical-section", "bevy_input_focus?/critical-section", "bevy_platform/critical-section", "bevy_reflect/critical-section", "bevy_state?/critical-section", "bevy_time/critical-section", "bevy_utils/critical-section", "bevy_tasks/critical-section", ] # Uses the `libm` maths library instead of the one provided in `std` and `core`. libm = [ "bevy_color?/libm", "bevy_input/libm", "bevy_input_focus?/libm", "bevy_math/libm", "bevy_transform/libm", "bevy_window?/libm", ] # Uses `async-executor` as a task execution backend. # This backend is incompatible with `no_std` targets. async_executor = [ "std", "bevy_tasks/async_executor", "bevy_ecs/async_executor", "bevy_transform/async_executor", ] # Enables use of browser APIs. # Note this is currently only applicable on `wasm32` architectures. web = [ "bevy_app/web", "bevy_platform/web", "bevy_reflect/web", "bevy_tasks/web", ] [dependencies] # bevy (no_std) bevy_app = { path = "../bevy_app", version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_derive = { path = "../bevy_derive", version = "0.16.0", default-features = false } bevy_diagnostic = { path = "../bevy_diagnostic", version = "0.16.0", default-features = false } bevy_ecs = { path = "../bevy_ecs", version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_input = { path = "../bevy_input", version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_math = { path = "../bevy_math", version = "0.16.0", default-features = false, features = [ "bevy_reflect", "nostd-libm", ] } bevy_platform = { path = "../bevy_platform", version = "0.16.0", default-features = false, features = [ "alloc", ] } bevy_ptr = { path = "../bevy_ptr", version = "0.16.0", default-features = false } bevy_reflect = { path = "../bevy_reflect", version = "0.16.0", default-features = false, features = [ "smallvec", ] } bevy_time = { path = "../bevy_time", version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_transform = { path = "../bevy_transform", version = "0.16.0", default-features = false, features = [ "bevy-support", "bevy_reflect", ] } bevy_utils = { path = "../bevy_utils", version = "0.16.0", default-features = false, features = [ "alloc", ] } bevy_tasks = { path = "../bevy_tasks", version = "0.16.0", default-features = false } # bevy (std required) bevy_log = { path = "../bevy_log", version = "0.16.0", optional = true } # bevy (optional) bevy_a11y = { path = "../bevy_a11y", optional = true, version = "0.16.0", features = [ "bevy_reflect", ] } bevy_animation = { path = "../bevy_animation", optional = true, version = "0.16.0" } bevy_asset = { path = "../bevy_asset", optional = true, version = "0.16.0" } bevy_audio = { path = "../bevy_audio", optional = true, version = "0.16.0" } bevy_color = { path = "../bevy_color", optional = true, version = "0.16.0", default-features = false, features = [ "alloc", "bevy_reflect", ] } bevy_core_pipeline = { path = "../bevy_core_pipeline", optional = true, version = "0.16.0" } bevy_dev_tools = { path = "../bevy_dev_tools", optional = true, version = "0.16.0" } bevy_gilrs = { path = "../bevy_gilrs", optional = true, version = "0.16.0" } bevy_gizmos = { path = "../bevy_gizmos", optional = true, version = "0.16.0", default-features = false } bevy_gltf = { path = "../bevy_gltf", optional = true, version = "0.16.0" } bevy_image = { path = "../bevy_image", optional = true, version = "0.16.0" } bevy_input_focus = { path = "../bevy_input_focus", optional = true, version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_pbr = { path = "../bevy_pbr", optional = true, version = "0.16.0" } bevy_picking = { path = "../bevy_picking", optional = true, version = "0.16.0" } bevy_remote = { path = "../bevy_remote", optional = true, version = "0.16.0" } bevy_render = { path = "../bevy_render", optional = true, version = "0.16.0" } bevy_scene = { path = "../bevy_scene", optional = true, version = "0.16.0" } bevy_sprite = { path = "../bevy_sprite", optional = true, version = "0.16.0" } bevy_state = { path = "../bevy_state", optional = true, version = "0.16.0", default-features = false, features = [ "bevy_app", "bevy_reflect", ] } bevy_text = { path = "../bevy_text", optional = true, version = "0.16.0" } bevy_ui = { path = "../bevy_ui", optional = true, version = "0.16.0" } bevy_window = { path = "../bevy_window", optional = true, version = "0.16.0", default-features = false, features = [ "bevy_reflect", ] } bevy_winit = { path = "../bevy_winit", optional = true, version = "0.16.0", default-features = false } [lints] workspace = true [package.metadata.docs.rs] rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"] all-features = true