beginScrub method
Gesture driving: the finger directly owns the spring value. The simulation is dropped and frames come from dragUpdate; releasing is an ordinary open()/close() with the gesture velocity - i.e. the same retarget with velocity carry-over.
Implementation
void beginScrub() {
_ticker.stop();
_sim = null;
_scrubbing = true;
notifyListeners();
}