Both panels below hold the same 2,000 events, capped at size="30".
Scroll each one down, then back up, and watch its counter. The left repeat only ever
adds rows as you scroll (Phase 1); the right repeat also evicts off-screen
rows, so it stays flat no matter how far you scroll (Phase 2, virtual).
size="30"Progressive rendering — a growing prefix, never un-rendered
Scroll to the bottom a few times - this number only ever goes up.
size="30" virtualTrue windowed virtualization — DOM stays ~30 rows
Scroll all the way through - this number holds steady around 30.