OptionalapplyThumb drag: position the thumb's leading edge at trackPx (the engine keeps the grab point under
the pointer). Values may exceed the track bounds; the policy clamps.
OptionaldragPublic label surfaced as TrackDragResult.dragMode between down and up.
OptionaledgeThumb parked past a track end. Advance the scroll one step (policy decides the step — e.g. a
virtual scrollbar extends its elastic region, accelerating with tick.heldMs) and return whether
to keep ticking. Omit for a linear scrollbar: its thumb at the end IS the end.
OptionalendFinalize on pointer-up.
OptionalpageTrack press/hold: scroll one page toward direction. The engine pages once on press, then repeats
— pausing while the thumb has reached the pointer and resuming if the pointer moves further away.
The in-flight gesture returned by TrackDragOptions.onStart. It carries the policy — how the scrollbar maps the gesture to scroll — while the engine owns the mechanics (pointer capture, zone hit-testing, the hold timers, and the
dragModesignal). The 1-D analog ofDragCellsSession.