mirror of
https://github.com/bevyengine/bevy
synced 2024-12-20 01:53:12 +00:00
9098973fb9
# Objective Draw the UI debug overlay using the UI renderer. Significantly simpler and easier to use than `bevy_dev_tools::ui_debug_overlay` which uses `bevy_gizmos`. * Supports multiple windows and UI rendered to texture. * Draws rounded debug rects for rounded UI nodes. Fixes #16666 ## Solution Removed the `ui_debug_overlay` module from `bevy_dev_tools`. Added a `bevy_ui_debug` feature gate. Draw the UI debug overlay using the UI renderer. Adds a new module `bevy_ui::render::debug_overlay`. The debug overlay extraction function queries for the existing UI layout and then adds a border around each UI node with `u32::MAX / 2` added to each stack index so it's drawn on top. There is a `UiDebugOptions` resource that can be used to enable or disable the debug overlay and set the line width. ## Testing The `testbed_ui` example has been changed to use the new debug overlay: ``` cargo run --example testbed_ui --features bevy_ui_debug ``` Press Space to toggle the debug overlay on and off. --- ## Showcase <img width="961" alt="testbed-ui-new-debug" src="https://github.com/user-attachments/assets/e9523d18-39ae-46a8-adbe-7d3f3ab8e951"> ## Migration Guide The `ui_debug_overlay` module has been removed from `bevy_dev_tools`. There is a new debug overlay implemented using the `bevy_ui` renderer. To use it, enable the `bevy_ui_debug` feature and set the `enable` field of the `UiDebugOptions` resource to `true`.
59 lines
2.2 KiB
TOML
59 lines
2.2 KiB
TOML
[package]
|
|
name = "bevy_ui"
|
|
version = "0.15.0-dev"
|
|
edition = "2021"
|
|
description = "A custom ECS-driven UI framework built specifically for Bevy Engine"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_a11y = { path = "../bevy_a11y", version = "0.15.0-dev" }
|
|
bevy_app = { path = "../bevy_app", version = "0.15.0-dev" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.15.0-dev" }
|
|
bevy_color = { path = "../bevy_color", version = "0.15.0-dev" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.15.0-dev" }
|
|
bevy_derive = { path = "../bevy_derive", version = "0.15.0-dev" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.15.0-dev" }
|
|
bevy_hierarchy = { path = "../bevy_hierarchy", version = "0.15.0-dev" }
|
|
bevy_image = { path = "../bevy_image", version = "0.15.0-dev" }
|
|
bevy_input = { path = "../bevy_input", version = "0.15.0-dev" }
|
|
bevy_math = { path = "../bevy_math", version = "0.15.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.15.0-dev", features = [
|
|
"bevy",
|
|
] }
|
|
bevy_render = { path = "../bevy_render", version = "0.15.0-dev" }
|
|
bevy_sprite = { path = "../bevy_sprite", version = "0.15.0-dev" }
|
|
bevy_text = { path = "../bevy_text", version = "0.15.0-dev" }
|
|
bevy_picking = { path = "../bevy_picking", version = "0.15.0-dev", optional = true }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.15.0-dev" }
|
|
bevy_window = { path = "../bevy_window", version = "0.15.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.15.0-dev" }
|
|
|
|
# other
|
|
taffy = { version = "0.6" }
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
bytemuck = { version = "1.5", features = ["derive"] }
|
|
thiserror = { version = "2", default-features = false }
|
|
derive_more = { version = "1", default-features = false, features = ["from"] }
|
|
nonmax = "0.5"
|
|
smallvec = "1.11"
|
|
accesskit = "0.17"
|
|
|
|
[features]
|
|
default = []
|
|
serialize = ["serde", "smallvec/serde", "bevy_math/serialize"]
|
|
bevy_ui_picking_backend = ["bevy_picking"]
|
|
bevy_ui_debug = []
|
|
|
|
# Experimental features
|
|
ghost_nodes = []
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
|
|
all-features = true
|