Some checks failed
CI / Windows build (push) Has been cancelled
Book-like reading the user explicitly wanted: pairIntoRows groups pages into two-up spread rows (optional coverAlone for a title page; trailing odd page sits alone), spreadRowHeights fits each page to half the column and takes the tallest per row (common baseline), and spreadStackMetrics stacks the rows so the existing PageStackMetrics.visibleRange windows continuous-DOUBLE by ROW. Pure geometry reusing the continuous-single layer; the row-mounting widget is device-gated. Zero-rework-risk (not rendering). flutter analyze lib/editor clean; 172/172 tests (+8). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>