So, it turns out this is "shaky" because `xPos` here is calculated based on `_scrubJulian` after it was already advanced by the clock.  What you need is the xPos from the previous frame, which happens to be available as `this._lastXPos` already.  This tells you where the scrubber was before time advanced, so you know if it used to be in the double-speed zone or not.  You only need _lastXPos here on line 514, not on the lines above.