Skip to content

Remove fade from footer display transition #33664

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 24, 2025
Merged

Conversation

peppy
Copy link
Member

@peppy peppy commented Jun 12, 2025

Fades should not be used for these kinds of elements. The opacity changes of multiple elements looks shocking. It's unnecessary.

Before:

osu.Game.Tests.2025-06-12.at.08.05.39.mp4

After:

osu.Game.Tests.2025-06-12.at.08.04.18.mp4

@bdach bdach self-requested a review June 12, 2025 09:21
Comment on lines 94 to 95
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something about these changes is breaking TestSceneScreenFooter (in particular the TestTemporarilyShowFooter test case) and maybe consumers too but I'm not sure what precisely or how to even fix it.

image

TestSceneMultiplayerMatchSubScreen.TestModSelectOverlay failure also looks possibly related because it looks like the content pops in a slight while later than on master which fails the assert.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I've fixed this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still a few red ones :(

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed but I'm not sure you'll like the fix. I know I don't but don't have a better offering for now.

Copy link
Collaborator

@bdach bdach Jun 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you mean 23653b7 then I'm not sure that did anything at all... still red

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I posted that on the wrong PR somehow.

Height = HEIGHT;

// For masking and transition purposes, take up the full height of displayed buttons.
Height = ScreenFooterButton.HEIGHT;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This causes the other test failure because indiscriminately increasing this height appears to inadvertently cause block input propagation too which leads to dead areas where the footer will never show anything but will also block input:

Screen.Recording.2025-06-12.at.12.01.10.mov

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fuuuuuuuuuuuuuuu

@bdach
Copy link
Collaborator

bdach commented Jun 19, 2025

Really sorry to keep doing this but mod select overlay looks broke now (the difficulty display stuff is covering the mod button):

Screenshot 2025-06-19 at 16 49 16

Something to do with messing with the relative size / autosize thing, no doubt. I'm not making any judgement call on the sanity of that code on master either, though.

peppy added 3 commits June 20, 2025 20:18
Fades should not be used for these kinds of elements. The opacity
changes of multiple elements looks shocking. It's unnecessary.
@peppy
Copy link
Member Author

peppy commented Jun 20, 2025

I've rewritten this to not touch anything that breaks things because I can't make it work. See what you think. The new approach just disables masking rather than work around it.


// Disable masking because it breaks due to the height of this container being less than the displayed content.
// The height being set as it is is required for transition purposes.
public override bool UpdateSubTreeMasking() => false;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure what this is supposed to be fixing (as in I don't see anything break when this is commented out), but I suppose I'll just smile and nod to finally move this forward?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's a video showing the issue:

2025-06-21.19.22.08.mp4

@bdach bdach merged commit 02ce399 into ppy:master Jun 24, 2025
6 of 9 checks passed
@peppy peppy deleted the footer-metrics branch June 25, 2025 03:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants