Problem: When users want to jump many chapters ahead (e.g., from Genesis to Exodus, or scanning through Psalms), clicking "Next" repeatedly is tedious. They need a faster way to fly through chapters.
Solution: Holding down the Next or Prev button (or holding an arrow key) triggers rapid auto-advance through chapters at approximately 3 chapters per second, accelerating over time.
Not included: Direct chapter/book jumping (that's the book picker or command palette). This is specifically for rapid sequential browsing.
When the user holds down the Next or Previous button for more than 500ms, chapters start auto-advancing at an increasing rate.
User flow:
Platforms:
Edge cases:
Timing:
TODO: Define exact acceleration curve. BibleGame used ~10ch/sec max speed.
Visual: Each chapter's text loads as you fly through — giving a rapid-flip effect similar to flipping through a physical Bible.
Implementation approach:
setInterval on button hold (or keydown without keyup)mouseup/touchend/keyup)Reference: BibleGame InputManager.cs had hold-to-repeat with acceleration.
Files:
apps/web/src/lib/components/bible/ChapterNav.svelte (modify — add hold detection)apps/web/src/routes/(app)/read/[[book]]/[[chapter]]/+page.svelte (modify — rapid nav logic)Current: PLANNED Milestone: v1 Priority: Medium — power-user feature for fast navigation
History:
Dependencies: