def reset_state()

in bisk/tasks/stairs.py [0:0]


    def reset_state(self):
        super().reset_state()
        self.max_steps_cleared = 0

        self.step_pos: List[float] = []
        lengths = self.np_random.uniform(
            self.step_length_min, self.step_length_max, size=(self.n_steps,)
        )

        xpos = self.start_pos + lengths[0] / 2
        nm = self.p.named.model
        for i in range(self.n_steps // 2):
            nm.geom_size[f'step-{i}'][0] = lengths[i] / 2
            nm.geom_pos[f'step-{i}'][0] = xpos
            self.step_pos.append(xpos)
            xpos += lengths[i] / 2 + lengths[i + 1] / 2
        nm.geom_pos['top'][0] = (
            xpos + self.top_width - lengths[self.n_steps // 2] / 2
        )

        xpos += self.top_width * 2
        for i in range(self.n_steps // 2, self.n_steps):
            nm.geom_size[f'step-{i}'][0] = lengths[i] / 2
            nm.geom_pos[f'step-{i}'][0] = xpos
            self.step_pos.append(xpos)
            if i < self.n_steps - 1:
                xpos += lengths[i] / 2 + lengths[i + 1] / 2