fix(tui): fixed terminal shrink semantics to preserve immutable committed scrollback

- Handled frame shrink by re-anchoring windowTop and chunkTo at commit boundaries.
- Reset committedRows when the frame shrank into committed content to keep history immutable.
- Treated geometryChanged like overlay when advancing chunkTo to stabilize repaint commit timing.
- Updated regressions to assert stable scrollback prefixes and no clear-home/dclear repaint bytes.
This commit is contained in:
can1357
2026-06-09 21:27:07 +02:00
parent e18b901a8d
commit 64e68f173b
18 changed files with 762 additions and 922 deletions
@@ -483,7 +483,7 @@ function createEventControllerFixtureForE10() {
const ctx = {
isInitialized: true,
init: vi.fn(async () => {}),
ui: { requestRender, setEagerNativeScrollbackRebuild: vi.fn() },
ui: { requestRender },
statusLine: { invalidate: vi.fn() },
updateEditorTopBorder: vi.fn(),
addMessageToChat,