Extract "discrete adjustment control" for editor re-use#38140
Conversation
The eventual goal to this is to use this new control in place of the slider velocity sliders. An additional boon to implementing such a control is that the BPM and offset controls on the timing screen can be consolidated accordingly to save space, which is done in this PR.
|
I'm not sure about moving things around as you have here. The location of the offset/bpm controls is intentional to guide the timing process. There's also a thing where the "time" value should only be touched using the new UI control for timing purposes – for non-timing points it makes little sense to make non-beat-snapped adjustments. Would you be against having the "time" field remain in its old style, and have "offset" and "bpm" in the previous location? It's fine if they are one control per row rather than sharing a single row. |
Just to confirm my understanding: are you requesting there to be two separate input boxes for offset in total, or are you requesting a full revert of my changes? |
|
And you are okay with "Time" and "Offset" changing the same underlying quantity, thus requiring bi-directional synchronisation? |
|
Yeah, I think that's fine. Hopefully it's not too much complexity overhead.. |
Suggested-by: Dean Herbert <pe@ppy.sh>
Makes the animation smoother when dragging between different values.
|
Made some cosmetic changes mostly. Please double check you're okay with them. Before: 2026-06-27.03.32.48.mp4After: 2026-06-27.03.30.34.mp4 |
|
No objections. |
… in top timeline Continuation of ppy#38140. Applied in the slider velocity adjustment popover first because it is easier to do so. The right toolbox will come at the end of this series of queued changes. The reason why `SliderVelocityAdjustmentControl` is a separate entity is twofold: - I aim to use it directly both in the timeline popover *and* the right toolbox. - It will receive a preset control that allows mappers to add and remove their own preset slider velocity values.
… in top timeline (#38183) https://github.com/user-attachments/assets/822d62a0-e51e-4227-807e-280e8957364c --- Continuation of #38140. Applied in the slider velocity adjustment popover first because it is easier to do so. The right toolbox will come at the end of this series of queued changes. The reason why `SliderVelocityAdjustmentControl` is a separate entity is twofold: - I aim to use it directly both in the timeline popover *and* the right toolbox. - It will receive a preset control that allows mappers to add and remove their own preset slider velocity values.
https://github.com/user-attachments/assets/e92d3817-38df-4a50-a4c9-f1e15250973c The eventual goal to this is to use this new control in place of the slider velocity sliders. This new control has also been applied to the timing screen. <img width="346" height="732" alt="Screenshot 2026-06-25 at 09 27 48" src="https://github.com/user-attachments/assets/4d645d96-4f37-4dc9-b8a1-2dadd2673d8c" /> --- This, and subsequent changes I have queued as proofs-of-concept, are intended to supersede and close ppy#37753. Naming is not great, open to better propositions. --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
… in top timeline (ppy#38183) https://github.com/user-attachments/assets/822d62a0-e51e-4227-807e-280e8957364c --- Continuation of ppy#38140. Applied in the slider velocity adjustment popover first because it is easier to do so. The right toolbox will come at the end of this series of queued changes. The reason why `SliderVelocityAdjustmentControl` is a separate entity is twofold: - I aim to use it directly both in the timeline popover *and* the right toolbox. - It will receive a preset control that allows mappers to add and remove their own preset slider velocity values.
https://github.com/user-attachments/assets/e92d3817-38df-4a50-a4c9-f1e15250973c The eventual goal to this is to use this new control in place of the slider velocity sliders. This new control has also been applied to the timing screen. <img width="346" height="732" alt="Screenshot 2026-06-25 at 09 27 48" src="https://github.com/user-attachments/assets/4d645d96-4f37-4dc9-b8a1-2dadd2673d8c" /> --- This, and subsequent changes I have queued as proofs-of-concept, are intended to supersede and close ppy#37753. Naming is not great, open to better propositions. --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
… in top timeline (ppy#38183) https://github.com/user-attachments/assets/822d62a0-e51e-4227-807e-280e8957364c --- Continuation of ppy#38140. Applied in the slider velocity adjustment popover first because it is easier to do so. The right toolbox will come at the end of this series of queued changes. The reason why `SliderVelocityAdjustmentControl` is a separate entity is twofold: - I aim to use it directly both in the timeline popover *and* the right toolbox. - It will receive a preset control that allows mappers to add and remove their own preset slider velocity values.

Screen.Recording.2026-06-23.at.13.34.28.mov
The eventual goal to this is to use this new control in place of the slider velocity sliders.
This new control has also been applied to the timing screen.
This, and subsequent changes I have queued as proofs-of-concept, are intended to supersede and close #37753.
Naming is not great, open to better propositions.