ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.44k stars 2.3k forks source link

Improvements for the mania editor #24545

Open smoogipoo opened 1 year ago

smoogipoo commented 1 year ago

Here's some feedback that was provided to me over the course of COE (and a little afterwards) pertaining to the editor. Some of it (especially around the timing screen) are more general usability concerns.

### Timeline
- [ ] The notes cover the timeline, which hides the waveform. Having a way to see where notes are placed throughout the whole song would be nice however.
- [ ] Timeline doesn't show SV markers
- [ ] Not possible to go to 1/5th, 1/7th or 1/9th snaps in beat snap panel. It does work after I changed it to 1/5th, 1/7th or 1/9th with shortcut (Shift + 5)
- [ ] Make the waveform more prominent/relevant to the playfield (e.g. similar to the etterna editor).
### Setup
- [x] Background does not show the file name of the current image used
- [x] Audio Track does not show the file name of the current audio used
- [ ] https://github.com/ppy/osu/issues/21189
- [ ] It is not clear what gamemode is selected (It was on mania for me but wasn't clear why it was on mania)
- [x] Changing Key Count and saving it does not change the amount of columns in Compose. Only when exiting and entering the editor it changes (part of https://github.com/ppy/osu/issues/17127)
- [x] Approach Rate should not be there
- [x] Colours category should not be there
- [ ] Tick rate is up for debate if it stays or not. (If it stays, this would require a ranking criteria entry)
- [ ] Support for 10k+
### Compose
- [ ] (User's high priority) Right click does not delete the current note that is hovered on by the cursor. Currently it selects and opens the context menu of that note. You now have to hold shift to delete the current note.
- [x] (User's high priority) You cannot zoom in the playfield. When zooming in the timeline above, the playfield should zoom with it like in osu!stable. The current workaround is to change the scroll speed in options. https://github.com/ppy/osu/pull/28809
- [ ] [Hold Ctrl + Scrollwheel] does not change snaps like in stable. You now have to hold shift to do this.
- [ ] You can place on top of the same note, which creates a stacked note. This should not be possible in mania
- [ ] You can place a note during a slider on the same column. This should not be possible.
- [ ] [Hold Ctrl (+ Shift) + Up/Down arrow keys] does not change Playback Rate
- [ ] Bookmarks is not a thing in the editor (Ctrl + B opens beatmap listing)
- [x] SVs should not be shown in editor playfield. Makes it quite impossible to work with when creating SV maps for tournaments. Only show SV during testing. A possible solution is to have 2 playfields in the editor, one for non-sv (So all normalized to 1x speed) and one with SV. https://github.com/ppy/osu/pull/24550
- [ ] [Automatically seek after placing objects] should default to off in mania
- [ ] Snap lines should stay, even if the cursor is not hovering
- [ ] White bars (1/1) should be thicker
- [ ] https://github.com/ppy/osu/issues/28412
- [ ] Selecting notes and seeking with scroll wheel sometimes skips some notes during selecting
- [ ] Massive performance drop on ranked SV maps (ex. /b/1572577, /b/2669198, /b/2603455) https://github.com/ppy/osu/issues/20918 https://github.com/ppy/osu/issues/24007 (read below)
- [ ] Hitsound volume should be on the notes as well
- [ ] When double clicking on a note, the corresponding hitsound should play. Currently it seeks to that note.
- [ ] Density chart is missing (https://github.com/ppy/osu/discussions/21660)
- [x] https://github.com/ppy/osu/issues/19900
- [ ] Seeking to a snap with a note makes it disappear (https://github.com/ppy/osu/issues/30588)
- [ ] When scrolling back, notes before the receptor line can appear
- [ ] When scrolling through the snaps (Ctrl + Shift + Scroll), it does not change between common/triplets.
- [ ] Show the snap used in inspector when selecting a note
- [ ] Maps with high amount of keys does not fit the editor box. Columns overlap or go outside of the screen (https://osu.ppy.sh/beatmapsets/2038189#mania/4251190)
### Timing
- [ ] The offset waveform on the right is handy but could have some improvements. The possibility to zoom in to finetune offset. Maybe have the graph be on top of the white line (Or make the white line somewhat transparent)
- [ ] Selecting a timing point with no [Timing] or [Effect] enabled is impossible after selecting a timing point with [Timing] or [Effect]. This is probably due to the clone button interaction. But it hinders if you only want to add an Effect. A possible solution is to double click the timing point to select it. The current workaround this is to deselect the current timing point and select the empty timing point (probably related or even same as https://github.com/ppy/osu/issues/23147)
- [ ] Cannot press Delete to delete a timing point
### Verify
- [ ] (Debatable due to mania ranking critaria) The Problem "There are no hitsounds" should be a warning
smoogipoo commented 1 year ago

Massive performance drop on ranked SV maps (ex. /b/1572577 and /b/2669198)

Note that this was linked to another issue claiming SVs as the culprit, however as far as I can tell this doesn't appear to be (at least, not always) SV-related.

The map that was brought up to me at COE was https://osu.ppy.sh/beatmapsets/1252675#mania/2603455, where I witnessed the editor entering some 3/4 of the way through the map. It looks like the editor's still keeping hitobjects alive when it shouldn't be - likely another edgecase with HitObjectLifetimeEntry.

While I can't repro the above map starting 3/4 of the way through, I can repro it all the same by just clicking on the timeline to that point in time:

https://github.com/ppy/osu/assets/1329837/8cabc697-9407-4966-9d9d-d78491ec12f6

(notice how the pools are reporting many drawable instances are being used)

peppy commented 1 year ago

Performance potentially related to https://github.com/ppy/osu/issues/24007

Hydria commented 1 year ago

(I was told to comment here so apologies if this is the wrong place) Given how many SVs some maps use in mania, to have to switch from the compose tab to verify to place an sv and then switch back to make sure you're sure on what you're sving feels disconnected (this is mainly from someone who got used to the timing panel popout) So a suggestion would be to use the timing panel to add the ability to see current bpm/sv values and then allow addition of new ones at the current timestamp. Quick mockup shown below: image

Sydosys commented 1 month ago

This might fall under "You can place a note during a slider on the same column. This should not be possible." but I'd like to point out that one method for creating long note maps is to first place down the notes as regular notes, and then switch to the long note tool to extend those notes into holds. Stable's editor allows this, as using the hold tool to drag out a short note will extend it into a long note. However, doing this in lazer will just result in the long note stacking on top of the short note.

In Stable, if you are using the long note tool but you just click instead of dragging out the long note, you can place a short note, you can use this to replace a long note with a short note easily by just clicking at the start.

In Stable, to change the length of a hold note, you can drag from the beginning while the hold tool is selected to replace the old hold with the new one.

Just a few stable behaviors to keep in mind when you work on the issues with stacking, as these are all very important to the workflow of creating a long note map in my opinion.

There was another issue I found, but I'm having a hard time telling if it occurs solely in the editor, or if having the notes be unmoving just highlights it. I'm using a legacy skin, and the hold notes appear to end before they are supposed to. I am specifically running this on a Macbook M2 Pro, which could be part of the problem. See below:

Screenshot 2024-09-24 at 2 09 44 PM
bdach commented 1 month ago

I'm using a legacy skin, and the hold notes appear to end before they are supposed to

You're using a hack of a skin with "percy" ends or whatever. Those routinely exploit broken stuff like 30,000px high sprites. You should be happy it continues to work at all.

Out of scope of this issue.