Mostly trying to give more space to the queue as we add more vertical
elements to the middle area of multiplayer / playerlists. This whole UI
will likely change – this is just a stop-gap fix.
In particular I don't like the non-null assert around
`GetCurrentItem()`, because there's no reason why it _couldn't_ be
`null`.
Consider, for example, if these panels are used in matchmaking where
there are no items initially present in the playlist.
The ruleset nullability part is debatable, but I've chosen to restore
the original code here.
Closes https://github.com/ppy/osu/issues/31842.
To be honest, I recall this working too, but I don't recall when it
might have broken, nor do I want to go look for the point of breakage
because it might be borderline impossible to find it now. So I'm just
fixing as if it was just a straight omission.
Opting for a client-side fix because server-side inclusion of the score
position for an entire leaderboard has been previously rejected as too
expensive:
https://github.com/ppy/osu-web/pull/11354#discussion_r1689217450
* Calculate hit windows in performance calculator instead of databased difficulty attributes
* Apply mods to beatmap difficulty in osu! performance calculator
* Remove `GreatHitWindow` difficulty attribute for osu!mania
* Remove use of approach rate and overall difficulty attributes for osu!
* Remove use of hit window difficulty attributes in osu!taiko
* Remove use of approach rate attribute in osu!catch
* Remove unused attribute IDs
* Code quality
* Fix `computeDeviationUpperBound` being called before `greatHitWindow` is set