class maze.core.trajectory_recording.records.state_record.StateRecord(env_time: Optional[int], maze_state: Any, maze_action: Optional[Any], step_event_log: Optional[maze.core.log_events.step_event_log.StepEventLog] = None, reward: Optional[Union[float, numpy.ndarray, Any]] = None, done: Optional[bool] = None, info: Optional[Dict] = None, serializable_components: Optional[Dict[str, Any]] = None)

Keeps trajectory data for one step. Note: It should be ensured that the components are not going to change after assigning them to the step record (e.g. by copying the relevant ones, especially state and the serializable components).

  • env_time – Internal time of environment (if available) that this record belongs to.

  • maze_state – Current MazeState of the env.

  • maze_action – Last MazeAction taken by the agent.

  • step_event_log – Log of events dispatched by the env during the last step.

  • reward – Reward as returned by the environment (either scalar or distributed reward)

  • done – Dictionary indicating whether the environment or particular agents are done

  • info – Dictionary with any other supplementary information provided by the env

  • serializable_components – dict of all serializable components as provided by the env - e.g. { “demand_generator” : demand_generator_object }