-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collapse sample point indicators into dots if they cannot be displayed in full #29896
Conversation
I guess I don't have a particularly strong objection to this in isolation, although I do have a few doubts:
Probably need to gather more opinions on this, I'm not super sure I'd be fine with merging without a consult. |
Dunno, next are we adding velocity toggles? Then hitobject toggles? I feel this is misdirected UX. Where's the request coming from? I'd sooner focus on making the sample editor and then considering making the display here less obtrusive to the point people aren't asking(?) for toggles. |
This looks like a rather extreme example? Looks like the timeline is zoomed out to the maximum and not even the hitobject displays are all that useful at this density? Also I dunno what the "so many colors" comment is supposed to be given that 6 of the 8 unique colours shown are combo colours? Are we going to add a toggle for those too? Like I have no idea how to interpret that, but to put that screenshot down as "not beginner friendly" with zero elaboration and then move to add a toggle sample pieces just seems like a giant non-sequitur to me. Maybe if the person on that screenshot elaborated on what was "not beginner friendly" about it? |
I think a better initial approach may be to hide them when they begin to overlay? ie. require the user zoom in before it starts to display. |
Then have them reduce to a small pink dot, rather than overlapping pink-huge-blobs-with-text-that's-not-legible-anyway. The idea is to keep definition as much as possible. |
agree with peppy for both sample and velocity honestly. |
The size reduction seems to work ok, but why is the toggle still there? 2024-09-20.09-45-49.mp4I thought the goal was to have the dots shrink instead of the toggle, rather than in addition to? @peppy did I misunderstand? |
I'd prefer not having the toggle at all. |
Seems to contract way too early depending on BPM/SV (tested using this map)? |
The best point to contract depends on the density of the beatmap which various wildly between different BPMs and star ratings. I think we need a more sophisticated criterion to determine when to contract the sample points which looks at the hitobjects in the timeline. |
I think something could be done in |
It finds the smallest distance between two sample point pieces on the alive timeline blueprints
I made it contract the sample point pieces based on the sample point pieces which are closest together on the visible timeline, so basically it tried to prevent any overlap from happening and it will not contract if there is no overlap. It's a lot better but ideally I'd want to mix contracted and non-contracted sample point pieces on the same timeline, so you don't have all the sample points contracting together when only one is overlapping. However I don't know how to get a list of just the sample point drawables on the timeline because of the way they exist as children of |
Doesn't work properly when seeking: 2024-10-14.09-50-47.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see above
To fix the contraction not updating I followed the example of |
double lastTime = double.PositiveInfinity; | ||
|
||
// The blueprints are ordered in reverse chronological order | ||
foreach (var selectionBlueprint in SelectionBlueprints) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can't be done. While SelectionBlueprints
will only contain the visible blueprints in the general case... it will also contain more blueprints if they are selected. In fact if you select every object you may see these contract for no reason:
2024-10-21.12-00-51.mp4
I imagine this will also make selecting all objects even slower than it usually is, although crude profiling shows maybe not very much:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're very right. I forgot the Ctrl+A loads every single selection blueprint. I'll find some way to get only the visible blueprints.
The performance impact is probably small because it only does a simple operation per each blueprint.
In line with feedback from ppy#29896 (comment).
I'm not sure why neither #29896 (comment) nor #29896 (comment) were ever responded to, but to move this forward I removed the toggle in 8f48682. We can revisit if the collapse change is deemed insufficient. (A pesky merge conflict gave it away.) Otherwise seems fine, but I will wait for the @peppy UX sign-off. |
Sorry for not responding to the comments. I'm fine with going the current direction and revisiting the toggle if this is deemed insufficient. |
This toggle reduces visual clutter for mappers who prefer to not see hitsound samples while mapping.