Expand description
A virtualized list over a caller-owned data set.
The list never holds the rows. It asks the caller to render one index at a time, and the caller stamps each row with the business identity that row already has, so a semantic id never encodes where the row happens to sit.
§Only rendered rows are published
Virtualization means the window holds a viewport, not a data set. A row
outside the viewport is not laid out, has no bounds, and publishes no
semantic node, so a test can only assert what is on screen. The list node
itself carries the total in value, which is how a test states the honest
version: a thousand items exist, twelve of them are rendered.
Virtualization needs a bounded viewport. With List::visible_rows the
list renders only the rows that fit; without it the list sizes itself to
its content and every row is laid out.
Re-exports§
pub use crate::data::viewport::scroll_to_row;