Closes https://github.com/ppy/osu/issues/31744 I guess.
This isn't the resolution that I had in mind for this but my hand has
been basically forced by user feedback to do this, at least in the
short-term.
Audio offset is integer based in configuration, so let's make sure not
to show that there's an applicable offset when the value difference is
too low.
I've also fixed rounding to match expectations (`AudioOffset` is
precision limited to integer), and handled the case where a user adjusts
the slider but also has a suggested offset – previously it would not
enable the button after slider adjustments but now it will work as
expected.
This aims to bring some conformity to naming to make it easier to
understand component structure for new components.
Renames are pulled out of the song select v2 changes and are more
relevant there due to many new classes being added.
- `V2` suffix is dropped, with v2 components being moved to a relevant V2 namespace.
- Related classes have a prefix of the area they are used.
- Experimenting with using partial/nested classes in the song select v2 implementation.
Not committing to this yet but want to see how it plays out.
- Moved base carousel components to a generic namespace to avoid confusion with actual beatmap carousel implementation.
Saves having this defined in 20+ places. If we ever make any changes to
shear, it's 100% going to need to be applied to every usage (there will
never be a case of multiple different shears in the game).
Also fixes a mismatching definition in `ShearedNub`.
The idea of specifying "bleed" is to make the carousel aware of its
vertical display area. The top bleed is under the filter control; bottom
beneath the toolbar. At the end of the day, the point of panel X offset
incursion, and the scroll target for current selection, should be at the
centre of the screen.
The fixes match code which already exists in the previous
implementation. Basically, without incorporating `BleedTop` into
calculations a second time, the centre position would not match
expectations (of being the centre including bleed).