# Virtual history

`virtualize: "measured"` renders only the rows around the viewport (plus `overscanPx`) between two spacers whose heights come from the rows' measured sizes (`estimateRowPx` until a row has been seen). With 2001 messages about fifteen rows exist in the DOM. `hasOlder` lets the page lazy-load history: near the top the transcript emits `loadOlder`, the page calls `prependEntries()`, and the engine keeps the topmost visible row where it was.
