tui: Fix differential rendering to preserve scrollback buffer

- renderDifferential now correctly handles content that exceeds viewport
- When changes are above viewport, do full re-render with scrollback clear
- When changes are in viewport, do partial re-render from change point
- All tests pass, correctly preserves 100 items in scrollback
- Issue: Still re-renders too much (entire tail from first change)
This commit is contained in:
Mario Zechner 2025-08-11 00:57:59 +02:00
parent afa807b200
commit 0131b29b2c
22 changed files with 2878 additions and 80 deletions

6
package-lock.json generated
View file

@ -792,7 +792,7 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent",
"version": "0.5.7",
"version": "0.5.8",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-tui": "^0.5.7",
@ -1236,7 +1236,7 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.5.7",
"version": "0.5.8",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.5.7",
@ -1252,7 +1252,7 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.5.7",
"version": "0.5.8",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",