Every AI chat interface in 2026 has the same problem: streaming text pushes the page around. The content below the response jumps. Your scroll position fights you. CSS overflow-anchor mostly works until it doesn't — and in virtualized lists, it doesn't.
We built this because pretext knows how tall text will be before it renders. So the container grows to its final height on the first token, and nothing below it ever moves. No hacks, no anchoring tricks. The layout is just correct.
Both panels here render real DOM text — selectable, accessible, copy-pasteable. The only difference is that the right panel uses pretext to pre-compute the container height before streaming begins. That's the whole trick. Pure arithmetic, no canvas, no magic.
The Streaming Layout
Side-by-side: standard DOM streaming vs. pretext with zero layout shift.