bevy/crates
ickshonpe 1a18c9f87b
UI Debug Overlay show_hidden and show_clipped options (#17097)
# Objective

The UI debug overlay draws an outline for every UI node even if it is
invisible or clipped.
Disable debug outlines for hidden and clipped nodes by default and add
options to renable them if needed.

## Solution

* Add `show_hidden` and `show_clipped` fields to `UiDebugOptions`:
```rust
    /// Show outlines for non-visible UI nodes
    pub show_hidden: bool,
    /// Show outlines for clipped sections of UI nodes
    pub show_clipped: bool,
```

* Only extract debug outlines for hidden and clipped UI nodes if the
respective field in `UiDebugOptions` is set to `true`.

## Testing

Also added some extra features to the `testbed_ui` example that
demonstrate the new options:

cargo run --example testbed_ui --features "bevy_ui_debug"

<img width="641" alt="show-hidden-and-clipped"
src="https://github.com/user-attachments/assets/16a68600-170c-469e-a3c7-f7dae411dc40"
/>
2025-01-02 18:43:14 +00:00
..
bevy_a11y Replace bevy_a11y::Focus with InputFocus (#16863) 2024-12-18 00:16:19 +00:00
bevy_animation Refactor and simplify custom projections (#17063) 2025-01-01 20:44:24 +00:00
bevy_app Replace map + unwrap_or(false) with is_some_and (#17067) 2024-12-31 20:28:02 +00:00
bevy_asset Do not lowercase asset file extensions (#17065) 2025-01-01 00:42:56 +00:00
bevy_audio Prefer Display over Debug (#16112) 2024-12-27 00:40:06 +00:00
bevy_color Fix clippy::precedence (#17080) 2025-01-01 22:11:22 +00:00
bevy_core_pipeline Refactor and simplify custom projections (#17063) 2025-01-01 20:44:24 +00:00
bevy_derive Add benchmarks and compile_fail tests back to workspace (#16858) 2024-12-21 22:30:29 +00:00
bevy_dev_tools Draw the UI debug overlay using the UI renderer (#16693) 2024-12-11 00:49:47 +00:00
bevy_diagnostic Remove bevy_core (#16897) 2024-12-19 18:36:51 +00:00
bevy_dylib Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_ecs reduce nesting in the sparse_set module (#17066) 2025-01-01 23:17:11 +00:00
bevy_encase_derive Rust 1.83, allow -> expect (missing_docs) (#16561) 2024-12-16 23:27:57 +00:00
bevy_gilrs Deny derive_more error feature and replace it with thiserror (#16684) 2024-12-06 17:03:55 +00:00
bevy_gizmos Refactor non-core Curve methods into extension traits (#16930) 2024-12-29 19:26:49 +00:00
bevy_gltf Prefer Display over Debug (#16112) 2024-12-27 00:40:06 +00:00
bevy_hierarchy Replace map + unwrap_or(true) with is_none_or (#17070) 2024-12-31 20:17:03 +00:00
bevy_image Rust 1.83, allow -> expect (missing_docs) (#16561) 2024-12-16 23:27:57 +00:00
bevy_input Add no_std support to bevy_input (#16995) 2024-12-29 22:46:30 +00:00
bevy_input_focus Return Result from tab navigation API (#17071) 2025-01-01 04:05:48 +00:00
bevy_internal Rename track_change_detection flag to track_location (#17075) 2025-01-01 18:43:47 +00:00
bevy_log Basic filtering examples for users of the bevy_log. (#16455) 2024-12-29 22:56:40 +00:00
bevy_macro_utils Use one BevyManifest instance in proc macros (#16766) 2024-12-15 15:00:05 +00:00
bevy_math Fix no_std CI Warnings and WASM Compatibility (#17049) 2024-12-30 23:01:27 +00:00
bevy_mesh Rust 1.83, allow -> expect (missing_docs) (#16561) 2024-12-16 23:27:57 +00:00
bevy_mikktspace Rust 1.83, allow -> expect (missing_docs) (#16561) 2024-12-16 23:27:57 +00:00
bevy_pbr Fix clippy::precedence (#17080) 2025-01-01 22:11:22 +00:00
bevy_picking Replace map + unwrap_or(false) with is_some_and (#17067) 2024-12-31 20:28:02 +00:00
bevy_ptr Fix MSRVs for standalone crates (#16333) 2024-11-17 09:38:13 +00:00
bevy_reflect Replace map_or(false, _) with is_some_and(_) (#17074) 2024-12-31 21:13:13 +00:00
bevy_remote show these 'fully qualified paths' for bevy_remote's rpc (#16944) 2024-12-31 00:29:27 +00:00
bevy_render Refactor and simplify custom projections (#17063) 2025-01-01 20:44:24 +00:00
bevy_scene Replace map + unwrap_or(true) with is_none_or (#17070) 2024-12-31 20:17:03 +00:00
bevy_sprite Refactor and simplify custom projections (#17063) 2025-01-01 20:44:24 +00:00
bevy_state small documentation update and issue template fix (#17054) 2025-01-01 23:09:17 +00:00
bevy_tasks Use -D warnings in all relevant CI (#17011) 2024-12-31 00:15:28 +00:00
bevy_text Fix sprite performance regression since retained render world (#17078) 2025-01-01 18:40:11 +00:00
bevy_time Use en-us locale for typos (#16037) 2024-10-20 18:55:17 +00:00
bevy_transform Add no_std support to bevy_transform (#17030) 2024-12-30 21:01:13 +00:00
bevy_ui UI Debug Overlay show_hidden and show_clipped options (#17097) 2025-01-02 18:43:14 +00:00
bevy_utils Add portable-atomic support to bevy_utils for once! (#17027) 2024-12-29 22:50:08 +00:00
bevy_window Add no_std support to bevy_window (#17031) 2025-01-01 23:05:25 +00:00
bevy_winit Simplify sort/max_by calls (#17048) 2024-12-30 22:59:36 +00:00