-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New beatmap carousel design implementation #22197
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
Conversation
…ank size on DrawableCarouselBeatmap.cs
|
|
Clearly not. 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. |
|
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 |
|
@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. |
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. |
|
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 |
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. |
|
It doesn't make any sense with the new design. Removing is fine for now. |
Carousel design implementation |
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. Glow and gradient border colours don't match new design and feel off. |
|
Unrelated but |
peppy
left a comment
There was a problem hiding this 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
is this implying i should remove it or just that it needs to be fixed elsewhere? |
will go over these in detail |
…tions Fine with this being tweaked or not shipped at all.
|
Have updated the design (and experimented with an animation): osu._ex3RjWz2kz.mp4Not 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 |
| { | ||
| private OsuScreen? playerLoader; | ||
|
|
||
| // TODO: change test colour to a more unique one |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
|
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. |
…s no background or is loading
The lines added are from trial and error. Apparently this has to be checked with all UI scales.
|
Will try to update this with single diff display throughout the weekend. |
- No more border gradient (probably same as ppy#22237 (comment)) - No more radius 50 which is maybe a performance issue
|
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 |
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]>
A few days late but here's some more #18890 stuff...
Some things of note:
The coloured
starcounterhere and in New beatmap information wedge design implementation #22116 can be merged into a shared implementation once both PRs are inThe 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?
Preview:
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