* 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
* Change slider drop penalty to use actual number of difficult sliders, fix slider nerf being too lenient
* Move cubing to performance calculation
* Add separate list for slider strains
* Rename difficulty atttribute
* Rename attribute in perfcalc
* Check if AimDifficultSliderCount is more than 0, code quality fixes
* Add `AimDifficultSliderCount` to the list of databased attributes
* Code quality
---------
Co-authored-by: James Wilson <tsunyoku@gmail.com>
* Simplify osu! high-bpm acute angle jumps bonus
* Add aim wiggle bonus
* Add hitwindow-based aim velocity decrease
* Revert "Add hitwindow-based aim velocity decrease"
This reverts commit bcebe9662c.
* Move wiggle multiplier to a const, slightly decrease acute bonus multiplier
* Make sure the previous object in the wiggle bonus is also part of the wiggle
* Scale the wiggle bonus multiplayer down
* Increase the acute angle jump bonus multiplier
* Make wiggle bonus only apply on >150 bpm streams, make repetitive angle penalty
* Reduce wiggle bonus multiplier to not break velocity>difficulty relation
* Adjust wiggle falloff function to fix stability issues
* Adjust wiggle consts
* Update tests