""" ANSI terminal display backend. """ import time class TerminalDisplay: """ANSI terminal display backend.""" width: int = 80 height: int = 24 def init(self, width: int, height: int) -> None: from engine.terminal import CURSOR_OFF self.width = width self.height = height print(CURSOR_OFF, end="", flush=True) def show(self, buffer: list[str]) -> None: import sys t0 = time.perf_counter() sys.stdout.buffer.write("".join(buffer).encode()) sys.stdout.flush() elapsed_ms = (time.perf_counter() - t0) * 1000 from engine.display import get_monitor monitor = get_monitor() if monitor: chars_in = sum(len(line) for line in buffer) monitor.record_effect("terminal_display", elapsed_ms, chars_in, chars_in) def clear(self) -> None: from engine.terminal import CLR print(CLR, end="", flush=True) def cleanup(self) -> None: from engine.terminal import CURSOR_ON print(CURSOR_ON, end="", flush=True)