class_docstr: Mixin enabling time interaction controls.
class_docstr_tok: ["Mixin","enabling","time","interaction","controls","."]
code: def _advance(self):
      from ..ui_events import TimeChange, publish
  
      this_time = time.time()
      delta = this_time - self._last_tick
      self._last_tick = time.time()
      time_shift = delta * self._widgets["playback_speed"].get_value()
      new_time = min(
          self._current_time_func() + time_shift, self._times[-1]
      )
      publish(self._fig, TimeChange(time=new_time))
      if new_time == self._times[-1]:
          self._toggle_playback(value=False)
  
imports: import importlib
  import time
  from contextlib import contextmanager
  from functools import partial
  import numpy
  from ...utils import _auto_weakref, _check_option, _validate_type, fill_doc, get_config, logger, verbose
  from .._3d import _get_3d_option
  from ..utils import safe_event
  from ._utils import VALID_3D_BACKENDS
label_desc: Use image node_id 7 for calling the _TimeInteraction obj's underlying member method code with example usage: obj._advance() without return types