 9098973fb9
			
		
	
	
		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`.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| [package]
 | |
| name = "bevy_dev_tools"
 | |
| version = "0.15.0-dev"
 | |
| edition = "2021"
 | |
| description = "Collection of developer tools for the Bevy Engine"
 | |
| homepage = "https://bevyengine.org"
 | |
| repository = "https://github.com/bevyengine/bevy"
 | |
| license = "MIT OR Apache-2.0"
 | |
| keywords = ["bevy"]
 | |
| 
 | |
| [features]
 | |
| bevy_ci_testing = ["serde", "ron"]
 | |
| 
 | |
| [dependencies]
 | |
| # bevy
 | |
| 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_diagnostic = { path = "../bevy_diagnostic", 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_input = { path = "../bevy_input", version = "0.15.0-dev" }
 | |
| bevy_render = { path = "../bevy_render", version = "0.15.0-dev" }
 | |
| bevy_time = { path = "../bevy_time", version = "0.15.0-dev" }
 | |
| bevy_text = { path = "../bevy_text", version = "0.15.0-dev" }
 | |
| bevy_ui = { path = "../bevy_ui", version = "0.15.0-dev" }
 | |
| bevy_utils = { path = "../bevy_utils", version = "0.15.0-dev" }
 | |
| bevy_window = { path = "../bevy_window", version = "0.15.0-dev" }
 | |
| bevy_state = { path = "../bevy_state", version = "0.15.0-dev" }
 | |
| 
 | |
| # other
 | |
| serde = { version = "1.0", features = ["derive"], optional = true }
 | |
| ron = { version = "0.8.0", optional = true }
 | |
| 
 | |
| [lints]
 | |
| workspace = true
 | |
| 
 | |
| [package.metadata.docs.rs]
 | |
| rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
 | |
| all-features = true
 |