fw-10 step 01 — Fixed heights, then dynamic
Tasks
- 100,000 logical rows, small DOM window: viewport → visible index range → render window + overscan.
- Position the window with
transformor absolute positioning. Choose deliberately and justify it frombi-09's property-tree argument. - Dynamic heights: measure rendered rows, cache by item id, not index (indices shift).
- Replace the naive running total with a prefix-sum / Fenwick structure. Measure offset-lookup cost at 100,000 rows both ways.
- Correct the estimate as measurements arrive.
Done when
- Fixed and dynamic modes both working at 100,000 rows
- O(n) vs O(log n) offset lookup measured
-
The
transformvstopchoice justified from mechanism