"""ASCII emitter — read CharGrid and output plain text. Reads only cell.char from each cell. No color, no style tags. """ from __future__ import annotations from uframe.grid import CharGrid def emit_ascii(grid: CharGrid) -> str: """Emit the CharGrid as plain ASCII text.""" lines: list[str] = [] for row in range(grid.height): line = "".join(cell.char for cell in grid.cells[row]).rstrip() lines.append(line) # Strip trailing blank lines while lines and not lines[-1]: lines.pop() return "\n".join(lines)