Summary
Simplify or clarify the pointer vs grab interaction model in the reader so the viewport behaves closer to user expectations.
Why
The current mode split creates a learning cost and can make basic scrolling feel broken when users do not understand which mode they are in.
Current evidence
src/components/reader/ReaderViewport.tsx changes overflow behavior based on interaction mode.
- The current UI requires users to understand two modes before basic navigation feels natural.
Scope
- Re-evaluate whether both modes are necessary.
- If both remain, improve affordances and defaults so the active mode is obvious.
- Reduce surprising wheel/scroll behavior.
- Add tests for expected viewport interactions.
Acceptance criteria
- Basic reading and scrolling work intuitively for first-time users.
- The active interaction mode is obvious or no longer necessary.
- Mode changes do not create inconsistent scroll behavior.
Out of scope
- Full gesture redesign for touch devices.
Summary
Simplify or clarify the
pointervsgrabinteraction model in the reader so the viewport behaves closer to user expectations.Why
The current mode split creates a learning cost and can make basic scrolling feel broken when users do not understand which mode they are in.
Current evidence
src/components/reader/ReaderViewport.tsxchanges overflow behavior based on interaction mode.Scope
Acceptance criteria
Out of scope