diff --git a/docs/v0.1-mvp-product.md b/docs/v0.1-mvp-product.md index d915d12..42a6663 100644 --- a/docs/v0.1-mvp-product.md +++ b/docs/v0.1-mvp-product.md @@ -134,6 +134,17 @@ the visible area during normal typing; the edit area scrolls one line at a time. There is no "page" — just a continuously advancing strip. Embrace it, don't fight it. +**What scroll looks like on e-ink:** every line-scroll is a partial refresh +of the full edit area — every line moves, there is no small dirty rect for +scroll — so each scroll costs ~200–300 ms. Per-keystroke partial refreshes +accumulate ghosting; the render module clears it by upgrading every 20th +refresh to a full refresh, deferred to the next idle pause ≥ 1 s so it +usually lands during a thinking moment rather than mid-burst (implementation: +[v0.1 technical → render](v0.1-mvp-technical.md#render--dirty-rect-to-epd)). +`Ctrl-S` and `Ctrl-G` also force a full refresh. Net user experience: +smooth-ish line scrolling while typing, occasional ~1 s flash on a pause or +a save. + ## Error UX | Failure | What the user sees |