@dreb/coding-agent 2.28.0 → 2.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/tui.md +1 -1
- package/package.json +1 -1
package/docs/tui.md
CHANGED
|
@@ -462,7 +462,7 @@ The TUI uses a two-zone rendering architecture:
|
|
|
462
462
|
|
|
463
463
|
1. `interactive-mode.ts` maintains a `committedChatContainer` (finalized messages/tools) and a live `chatContainer` (streaming + pending)
|
|
464
464
|
2. When a message or tool finalizes, it moves from live → committed container, and `commit()` advances the boundary
|
|
465
|
-
3. The differential renderer (`doRender`) only renders live children, so the "content shrank" full-redraw path (triggered by spinner removal) only
|
|
465
|
+
3. The differential renderer (`doRender`) only renders live children, so the "content shrank" full-redraw path (triggered by spinner removal) replays only the live region — not the whole transcript — **as long as the live region fit within the viewport**. If the live region had grown taller than the viewport (a big tool output, a long streaming message, overlay padding), the committed history and the live-region top were scrolled into unreachable scrollback; a relative redraw cannot pull them back, so the shrink/viewport-shift paths route through `recommitAll()` instead, restoring the committed tail and re-anchoring the editor at the bottom (see issue 277). The predicate is `prevViewportTop > 0`.
|
|
466
466
|
4. Terminal width changes and other global mutations call `recommitAll()` for one deliberate repaint
|
|
467
467
|
|
|
468
468
|
### Prefix-commit ordering rule
|