Skip to content

ComputedNode::resolve_clip_rect margins fix#24138

Merged
alice-i-cecile merged 4 commits into
bevyengine:mainfrom
ickshonpe:overflow-clip-margin-fix
May 6, 2026
Merged

ComputedNode::resolve_clip_rect margins fix#24138
alice-i-cecile merged 4 commits into
bevyengine:mainfrom
ickshonpe:overflow-clip-margin-fix

Conversation

@ickshonpe
Copy link
Copy Markdown
Contributor

Objective

The resolve_clip_rect function on ComputedNode wasn't adding the margin from OverflowClipMargin. This only affected picking, not rendering, as update_clipping has its own clipping calculations.

Solution

  • Inflate the clipping rect in resolve_clip_rect by the margin value from OverflowClipMargin (after scaling as the margin is logical).
  • Removed the duplicate calculations from update_clipping.
  • Added two basic tests.

Testing

Added two new tests to the ui_node module: overflow_clip_margin_boxes and overflow_clip_margin_is_logical`.

ickshonpe added 2 commits May 5, 2026 17:58
…margin from `OverflowClipMargin`. This only affected picking, not rendering, as `update_clipping` calculated the clip margin itself.

Fixed by inflating the clipping rect in `resolve_clip_rect` by the margin value from `OverflowClipMargin`, and removing the duplicate calculations from `update_clipping`. Also added some trivial tests.
@ickshonpe ickshonpe added C-Bug An unexpected or incorrect behavior A-UI Graphical user interfaces, styles, layouts, and widgets labels May 5, 2026
@github-project-automation github-project-automation Bot moved this to Needs SME Triage in UI May 5, 2026
@ickshonpe ickshonpe added D-Trivial Nice and easy! A great choice to get started with Bevy S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels May 5, 2026
@ickshonpe ickshonpe added this to the 0.19 milestone May 5, 2026
@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels May 6, 2026
@alice-i-cecile alice-i-cecile added this pull request to the merge queue May 6, 2026
Merged via the queue into bevyengine:main with commit 152dc2f May 6, 2026
40 checks passed
@github-project-automation github-project-automation Bot moved this from Needs SME Triage to Done in UI May 6, 2026
allocatedribble added a commit to allocatedribble/bevy that referenced this pull request May 6, 2026
Cherry-pick clean upstream changes from bevyengine/bevy through 15b23b4 while leaving the destructive rewritten full upstream range unmerged.

Included upstream PRs:

- bevyengine#22447: update intel_tex_2 for the mipmap generator example

- bevyengine#23069: update getrandom dev dependency to 0.4

- bevyengine#24142: add Disabled/Enabled state-scoped components

- bevyengine#22488: move window/input-focus/custom-cursor feature ownership out of default_app

- bevyengine#24144: filter tuple fields when generating BSN props

- bevyengine#24138: fix UI overflow clip margin resolution

- bevyengine#24139: add Rect::translate

- bevyengine#24146: use array_windows for fixed-size slice windows

- bevyengine#21830: document physical-pixel viewport requirements

Skipped CI-only cache/action bumps because they do not improve the engine or Fun runtime surface.

Validation: git diff --cached --check; cargo fmt --check -p bevy_camera -p bevy_gizmos -p bevy_input_focus -p bevy_math -p bevy_mesh -p bevy_scene -p bevy_scene_macros -p bevy_state -p bevy_ui; cargo test -p bevy_math rect_translate --lib; cargo test -p bevy_ui overflow_clip_margin --lib; cargo test -p bevy_scene scene_component_name_reference --lib; cargo check -p bevy_camera -p bevy_gizmos -p bevy_input_focus -p bevy_math -p bevy_mesh -p bevy_scene -p bevy_state -p bevy_ui; cargo check -p bevy --no-default-features --features default_app; cargo check -p bevy --no-default-features --features ui_api; downstream cargo check -p fun_render; downstream cargo check -p game_client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-UI Graphical user interfaces, styles, layouts, and widgets C-Bug An unexpected or incorrect behavior D-Trivial Nice and easy! A great choice to get started with Bevy S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants