Anvil::Surface::Inline
Inherits Anvil::Surface < Reference < Object
Live-Region am unteren Rand des normalen Scrollbacks.
Fertige Inhalte werden einmal in den Scrollback geschrieben und danach nie wieder angefasst; nur die Region darunter wird neu gezeichnet. Das Transcript bleibt damit kopier- und durchsuchbar — das Modell von smith und Claude Code.
Gezeichnet wird über Termisu::Buffer, die Region erbt also dessen
Cell-Diff, SGR-Coalescing und Wide-Char-Logik.
Constructors
Ohne Terminal: die Region rendert in ein beliebiges IO.
Damit lässt sich prüfen, was tatsächlich hinausginge, ohne ein echtes Terminal — und eine Anwendung kann ihre Oberfläche in eine Datei rendern, für Abnahmebilder oder Fehlerberichte.
Instance methods
Schreibt Zeilen dauerhaft in den Scrollback, oberhalb der Region.
Sichtbarer Cursor an dieser Stelle der Region — für die Eingabezeile.
Höhe ändern. Wächst die Region, werden Zeilen vom Terminal angefordert (es scrollt); schrumpft sie, werden die überzähligen gelöscht. Danach ist der Bildschirminhalt in jedem Fall verschoben, also ungültig.
Erklärt den Bildschirminhalt für ungültig: der nächste Frame wird vollständig neu gezeichnet statt gediffed. Nötig, wenn etwas anderes auf das Terminal geschrieben hat (ein Subprozess) oder der Nutzer Ctrl-L drückt.
Die Region wird an Ort und Stelle neu gezeichnet, und das geht nur,
solange sie auf den Bildschirm passt: cursor_up stoppt an der
obersten Zeile, eine höhere Region ließe sich nie zurücklaufen — jeder
Redraw schöbe stattdessen eine weitere Kopie in den Scrollback.
Eine Zeile bleibt frei, damit der Committen-Pfad Platz hat.
Für den Betrieb ohne Terminal: die Größe von außen setzen.