TimeScaleOp:
    | { type: "fitContent" }
    | { type: "applyBarSpacing"; value: number }
    | { type: "applyRightOffset"; value: number }
    | { type: "reset" }

Discrete time-scale operations a mask can queue, kept for compatibility. The mask queues and merges them, and the chart never reads the queue: pan, zoom, fit and reset change the shared time scale directly, and the kinetic and wheel-zoom glides are stepped at the top of the render loop's frame (ARCHITECTURE.md §3.2).

Removed in 3.0.0. A queued operation does nothing; change the time scale directly with chart.timeScale, chart.fitContent or chart.setVisibleLogicalRange.