def act()

in gym3/viewer.py [0:0]


    def act(self, ac: Any) -> None:
        super().act(ac)
        image = self._get_image()
        assert (
            len(image.shape) == 3 and image.shape[-1] == 3
        ), "expected (H, W, C) RGB image with C = 3"
        assert image.dtype.name == "uint8", "expected uint8 image"
        while self._renderer.is_open:
            keys_clicked, _ = self._renderer.start()

            # render all the time in slow mode, only render once per second in fast mode
            if (
                not self._fast_mode
                or self._renderer.get_time() - self._last_frame_time > 1
            ):
                self._render_image(image)

            if "F" in keys_clicked:
                self._fast_mode = not self._fast_mode

            if "P" in keys_clicked:
                self._paused = not self._paused

            if "O" in keys_clicked:
                self._overlay_enabled = not self._overlay_enabled

            if not self._paused or "S" in keys_clicked:
                break