bevyengine / bevyengine/bevy

UI clipping not working on rotated objects has effect on feathers checkbox

Open
#25,126 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering A-UI C-Bug S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What you did

If you put some checkboxes in a scrolling panel in feathers and then scroll them off the screen you will notice the bottom border of the checkbox is still visible outside the scroll area's clip region.

## What went wrong

Bevy Ui does not try to clip ui elements if the rotation isn't 0 or 180 degrees. Checkbox is currently modeled as a rotated box with bottom and right borders (which looks really nice normally!)

This will effect anything else that uses rotation (I don't think there's anything else in feathers that does right now, but for example its quite often used to add some nice animation to a disclosure toggle rather than flicking between two icons.

## Potential fixes

I guess there's sort of two issues here that could be tackled individually:

1. Checkbox should probably be done without rotation (easy)
2. Clipping should probably work with rotation (hard)

## Additional information

Image

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Feathers checkbox problem in a scrolling panel with the checkbox scrolled beyond the clip region, then inspect the UI clipping behavior for rotated elements. Compare the two proposed scopes—removing checkbox rotation or adding rotated-element clipping—and confirm the affected checkbox border is no longer visible outside the scroll area's clip region.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
frontend, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.