Problem: The default browser scrolling can feel abrupt when navigating through long Bible chapters. BibleGame had a custom physics-based scroll that felt luxurious and natural.
Solution: Evaluate whether CSS scroll-behavior: smooth provides adequate feel, or whether a custom momentum-based scroll system is needed.
Not included: Infinite scroll or chapter auto-loading on scroll. This is about the scroll physics, not the scroll content.
When the user scrolls through a chapter, the scrolling should feel smooth and natural — not abrupt or jerky. The text should decelerate gradually when the user releases a flick gesture.
Expected behavior:
TODO: Test whether CSS
scroll-behavior: smoothis sufficient or if custom physics are needed.
Target feel: Smooth, slightly heavy — like scrolling through a quality reading app (Kindle, Apple Books).
BibleGame reference values:
TODO: Is native browser smooth scroll good enough? Test on mobile Safari, Chrome, Firefox.
Option A — CSS only:
html { scroll-behavior: smooth; }
Simplest approach. May be sufficient for most users.
Option B — Custom physics:
requestAnimationFrame loopReference: BibleGame used custom scroll physics in the MonoGame update loop (friction=0.95, deceleration).
Files:
apps/web/src/routes/(app)/read/[[book]]/[[chapter]]/+page.svelte (modify if custom physics)Current: NEEDS_DESIGN Milestone: v1 Priority: Low — native browser scroll is already decent
History:
Dependencies:
Design questions:
scroll-behavior: smooth good enough?