class_docstr: Trajectory viewer for Jupyter Notebooks, built using ipython widgets.
  
  Displays trajectory data for the given episode as an interactive view, where the step ID and any additional
  arguments exposed by the renderer can be interactively set. The data is rendered using the renderer recorded
  in the episode record.
  
  :param episode_record: Trajectory data to render.
class_docstr_tok: ["Trajectory","viewer","for","Jupyter","Notebooks",",","built","using","ipython","widgets",".","Displays","trajectory","data","for","the","given","episode","as","an","interactive","view",",","where","the","step","ID","and","any","additional","arguments","exposed","by","the","renderer","can","be","interactively","set",".","The","data","is","rendered","using","the","renderer","recorded","in","the","episode","record",".",":","param","episode_record",":","Trajectory","data","to","render","."]
docstr: Render the view for the given step ID, with the given additional parameters.
  
  Usually, this method is not called directly -- it is expected to be called by ipython widgets.
  
  :param step_id: ID of the step to display
  :param kwargs: Any additional arguments the renderer accepts
docstr_tok: ["Render","the","view","for","the","given","step","ID",",","with","the","given","additional","parameters",".","Usually",",","this","method","is","not","called","directly","--","it","is","expected","to","be","called","by","ipython","widgets",".",":","param","step_id",":","ID","of","the","step","to","display",":","param","kwargs",":","Any","additional","arguments","the","renderer","accepts"]
code: def render(self, step_id, **kwargs) -> None:
      """Render the view for the given step ID, with the given additional parameters.
  
      Usually, this method is not called directly -- it is expected to be called by ipython widgets.
  
      :param step_id: ID of the step to display
      :param kwargs: Any additional arguments the renderer accepts
      """
      assert 0 <= step_id < len(self.episode_record.step_records)
      step_record = self.episode_record.step_records[step_id]
      self.renderer.render(
          step_record.maze_state,
          step_record.maze_action,
          step_record.step_event_log,
          **kwargs,
      )
  
imports: from maze.core.rendering.renderer_args import RendererArg, IntRangeArg
  from maze.core.trajectory_recording.records.trajectory_record import StateTrajectoryRecord
label_desc: Use image node_id 3 for calling the NotebookTrajectoryViewer obj's underlying member method code with example usage: obj.render(step_id) without return types