""" ANSI terminal display backend. """ import time class TerminalDisplay: """ANSI terminal display backend. Renders buffer to stdout using ANSI escape codes. Supports reuse - when reuse=True, skips re-initializing terminal state. """ width: int = 80 height: int = 24 _initialized: bool = False def init(self, width: int, height: int, reuse: bool = False) -> None: """Initialize display with dimensions. Args: width: Terminal width in characters height: Terminal height in rows reuse: If True, skip terminal re-initialization """ from engine.terminal import CURSOR_OFF self.width = width self.height = height if not reuse or not self._initialized: print(CURSOR_OFF, end="", flush=True) self._initialized = 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)