Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@mk56-spn
Copy link
Contributor

@mk56-spn mk56-spn commented Jan 14, 2023

A few days late but here's some more #18890 stuff...

Some things of note:

  • The coloured starcounter here and in New beatmap information wedge design implementation #22116 can be merged into a shared implementation once both PRs are in

  • The outer faded border present in the Figma design on the selected carouselbeatmap has not been added due to the problems with aliasing discussed here:
    https://discord.com/channels/188630481301012481/188630652340404224/1063458499725643898.

    I wanted confirmation that its OK to add another nested container to simulate the effect without having this issue since performance considerations might be a thing for the carousel

  • The design uses white for the higher end of the star rating pill and Ruleset icon in the carousel , despite using yellow everywhere else, should this be done or no?

img

Preview:

osu_2023-09-08_21-58-01

As for why i have implemented this directly instead of in a test scene as with the wedge and footer, well the carousel interacts with too many stuff and it would require doubling up on an unreasonable amount of files so i opted for direct integration, even if it means I suffer through a couple of merge conflicts

ps. header coming soon(tm) once i figure out the whole colour updating thing discussed here: https://discord.com/channels/188630481301012481/188630652340404224/1063589348265693204

@frenzibyte frenzibyte added area:song-select type/cosmetic Only affects the game visually. Doesn't affect things working or not working. labels Jan 14, 2023
@mk56-spn
Copy link
Contributor Author

mk56-spn commented Jan 14, 2023

went over the test failures, despite every single one managing to fail all of them seem to be the usual suspects unrelated to my changes

@bdach
Copy link
Collaborator

bdach commented Jan 14, 2023

went over the test failures, despite every single one managing to fail all of them seem to be the usual suspects unrelated to my changes

Clearly not. TestDifficultyIconSelecting et al. are exercising the behaviour of being able to select a difficulty clicking on the old difficulty icons (and this also includes switching ruleset). You've removed it by migrating to DifficultySpectrumDisplay which does not support this.

Now we may want to get rid of that behaviour (it was a point of frequent confusion for users), but that should have had preceding discussion, and if accepted, should be handled by removing the broken tests.

@mk56-spn
Copy link
Contributor Author

right my bad didnt make the connection will go over that, and well about preceeding dicussion i thought the design having the difficulty spectrum served as implicit acceptance that this is the way forward, but i guess not

@bdach
Copy link
Collaborator

bdach commented Jan 14, 2023

@ppy/area-client in your view, should the behaviour of clicking on difficulty icons on the carousel panels navigating to said difficulty be retained with this design?

Personally leaning no, since the functionality was confusing and the new design has hit targets too small for that to ever work well.

@Joehuu
Copy link
Member

Joehuu commented Jan 14, 2023

@ppy/area-client in your view, should the behaviour of clicking on difficulty icons on the carousel panels navigating to said difficulty be retained with this design?

I think to some degree. I still want to change rulesets there easily if a beatmap had multiple. If it was just changing difficulty, I would just click the panels as they are easier to click.

@mk56-spn
Copy link
Contributor Author

as an aside https://discord.com/channels/188630481301012481/188630652340404224/1063846141260746843 it seems my little attempt at circumventing colour bleeding around the main colour of the carousel header doesn't work when opacity is involved, given this is the case shall i just let the colour bleed a little or attempt to use buffered containers and incur the performance hit, not sure how big it is so im asking just incase

@bdach bdach mentioned this pull request Jan 14, 2023
17 tasks
@smoogipoo
Copy link
Contributor

in your view, should the behaviour of clicking on difficulty icons on the carousel panels navigating to said difficulty be retained with this design?

My opinion has unchanged - I don't like having auxiliary methods to do things as it increases cognitive load and UX-wise smaller elements are hard to aim at. Plus, click-object-inside-click-object and scroll-field-inside-scroll-field feels shocking to use.

@peppy
Copy link
Member

peppy commented Jan 16, 2023

It doesn't make any sense with the new design. Removing is fine for now.

@frenzibyte frenzibyte changed the title New Carousel design implementation New beatmap carousel design implementation Jan 16, 2023
@peppy peppy self-requested a review January 17, 2023 04:15
@peppy
Copy link
Member

peppy commented Jan 17, 2023

osu! 2023-01-17 at 04 18 29

1: What's going on here? In the design, there's a shadow layer under each panel, but visually it seems like there's a misalignment only for the selected panel. is this intentional? Is the shadow layer intentionally missing? What is this even @arflyte are you misaligning elements or is it intentional? @arflyte can you please document your designs better so we don't have to go through this every time?

2: Will require attention. The previous implementation used buffering for the background layer, something similar may need to be applied here.

osu! 2023-01-17 at 04 23 53

Glow and gradient border colours don't match new design and feel off.

@peppy
Copy link
Member

peppy commented Jan 17, 2023

Unrelated but ConstrainedIconContainer cuts off edge pixels of icons and makes them look very shoddy. Noticed in another recent PR, but now that it's being used in every carousel panel it's a lot more obvious.

Copy link
Member

@peppy peppy left a comment

Choose a reason for hiding this comment

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

Have not checked code, just design and feel

@arflyte
Copy link

arflyte commented Jan 17, 2023

Figma_230117-143706
Figma_230117-143731

The design is intentional and not misalignment; it's to highlight the selected item better. Also I wanted the selected item to glow, hence the shadow is removed (coz glow and shadow at the same time is kinda weird).

@mk56-spn
Copy link
Contributor Author

mk56-spn commented Jan 17, 2023

Unrelated but ConstrainedIconContainer cuts off edge pixels of icons and makes them look very shoddy. Noticed in another recent PR, but now that it's being used in every carousel panel it's a lot more obvious.

is this implying i should remove it or just that it needs to be fixed elsewhere?

@mk56-spn
Copy link
Contributor Author

osu! 2023-01-17 at 04 18 29

1: What's going on here? In the design, there's a shadow layer under each panel, but visually it seems like there's a misalignment only for the selected panel. is this intentional? Is the shadow layer intentionally missing? What is this even @arflyte are you misaligning elements or is it intentional? @arflyte can you please document your designs better so we don't have to go through this every time?

2: Will require attention. The previous implementation used buffering for the background layer, something similar may need to be applied here.

osu! 2023-01-17 at 04 23 53

Glow and gradient border colours don't match new design and feel off.

will go over these in detail

@Joehuu
Copy link
Member

Joehuu commented Sep 9, 2023

Have updated the design (and experimented with an animation):

osu._ex3RjWz2kz.mp4

Not really confident about my right arrow animation, but that's what I would do.

The code quality has taken a hit as existing components are not flexible and would need a refactor. Let me know if it's worth it (i.e. abstracting CarouselHeader).

@peppy
Copy link
Member

peppy commented Sep 9, 2023

2023-09-10 03 04 00@2x

something is wrong with this (the gray weird on the edge)

{
private OsuScreen? playerLoader;

// TODO: change test colour to a more unique one
Copy link
Member

Choose a reason for hiding this comment

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

What does this comment mean?

Copy link
Member

Choose a reason for hiding this comment

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

Have rewritten it.

// TODO: pick a different colour as this is using the same colour used in all figma designs

{
Type = EdgeEffectType.Shadow,
Colour = starCounter.Colour.MultiplyAlpha(0.5f),
Radius = 50
Copy link
Member

Choose a reason for hiding this comment

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

This might be a performance issue, and i'm not sure how good this looks visually either.

@peppy
Copy link
Member

peppy commented Sep 9, 2023

I'd probably except the caret arrow to move with the animation rather than just fade in static.

But I mean this whole design is missing any motion and life. I guess I'll have to put on my motion design hat since it's impossible to get any kind of motion from flyte.

@Joehuu
Copy link
Member

Joehuu commented May 11, 2024

Will try to update this with single diff display throughout the weekend.

@Joehuu
Copy link
Member

Joehuu commented Jul 21, 2024

Pushing with whatever progress I made in the past.

Haven't addressed the dynamic shearing as commented in https://discord.com/channels/188630481301012481/188630652340404224/1182168002741948426, as it may be involved (i.e. to get the fancy dynamic shear fill flow, you would need to negate the dynamic shear on every child). I would just go with no shear for now, and do a follow-up when adding customisation options.

This probably needs to be rewritten as new V2 components, but I don't know where to start (i.e. continue this PR or make a fresh PR?). I would prefer a fresh PR, but just asking before I do it. Also, can reconsider unassigning myself to someone with more time/competence based on this discord message, so I can focus more on the wedge.

frenzibyte added a commit to frenzibyte/osu that referenced this pull request Jan 29, 2025
This is a rebased and squashed version of
ppy#22197 containing the implementation of
the new design in place of the current components

Co-authored-by: Joseph Madamba <[email protected]>
Co-authored-by: mk56-spn <[email protected]>
@peppy peppy closed this in #31774 Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:song-select size/XL type/cosmetic Only affects the game visually. Doesn't affect things working or not working.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants