* 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
In order for the new star difficulty to be shown to users on the next
release.
catch's difficulty calculator version is not bumped because the only
catch change pending deploy is https://github.com/ppy/osu/pull/28353 and
that affects performance points only.
Related Issue: https://github.com/ppy/osu/issues/22756
The trigger in question happens when
(1) in a chord: a longer LN, then a shorter LN is processed respectively.
(2) in a chord: a long LN, then a note is processed respectively.
however, given the opposite processing step, it will fail to trigger.
We observe that both situations have the same pattern, however has undeterministic results, which only depends on the order the mapper placed each note.