# StateRecord¶

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

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).

Parameters
• 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 }

property env_time

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