Files
rangerhq-reader/CHANGELOG.md
T
ranger 669aabf5f2 feat: mode-aware WPM ceiling — Sentence/Paragraph now go up to 3000 WPM (v1.1.1)
The WPM slider's maximum value now adapts to the active reading mode:
- Word mode: 1500 WPM ceiling (human single-word recognition limit)
- Sentence / Paragraph modes: 3000 WPM ceiling

Rationale: in chunk modes, "WPM" controls auto-advance timing across
larger display units. A 20-word sentence at 3000 WPM still gets ~400 ms
of display time — well within visual-recognition comfort and suitable
for skim-pass reading of already-familiar material.

Switching back to Word mode auto-clamps the current value down to 1500
to prevent accidentally-illegible word-mode playback.

The `+` keyboard shortcut now respects the mode-specific ceiling instead
of being hardcoded to 1500.
2026-05-27 02:40:06 +01:00

3.7 KiB
Raw Permalink Blame History

Changelog

All notable changes to Ranger Reader are documented here. Format: Keep a Changelog 1.1.0 — versioning: SemVer.


[Unreleased]


[1.1.1] — 2026-05-27

Changed — Mode-aware WPM ceiling

The WPM slider's maximum value now adapts to the active reading mode:

  • Word mode: 1500 WPM ceiling (human single-word recognition limit — beyond ~25 ms per word the brain stops registering individual words)
  • Sentence and Paragraph modes: 3000 WPM ceiling. In chunk modes the "WPM" controls auto-advance timing across larger display units, so higher values still produce comprehensible reading speeds (a 20-word sentence at 3000 WPM still gets ~400 ms of display time, which is well within visual-recognition comfort)

Switching from a high-WPM chunk mode back to Word mode automatically clamps the current value down to 1500, preventing accidentally-illegible word-mode playback.

The + keyboard shortcut now respects the mode-specific ceiling.

Why this matters

For skim-pass reading on long thesis papers, the previous 1500 WPM cap in Sentence mode was too conservative. With a 20-word sentence at 1500 WPM the display held each sentence for ~1 s — comfortable but slower than necessary for already-known territory. 3000 WPM cuts that to ~400 ms, suitable for the Preview / Postview phases of structured reading (preview chapters, scan for known concepts, identify sections that warrant a slower second-pass read).


[1.1.0] — 2026-05-27

Added — Sentence and Paragraph reading modes

The single-word RSVP display from v1.0 is now one of three modes selectable via the toggle in the header (or keyboard 1 / 2 / 3):

  • Word (1) — original RSVP, one word at a time with ORP focal-character coloring
  • Sentence (2) — one full sentence at a time, auto-advancing on (words / WPM) × 1.25 interval, clamped to 1.512 s per chunk
  • Paragraph (3) — one paragraph at a time, larger reading area, (words / WPM) × 1.40 interval

The sentence splitter handles common academic-text false positives — titles (Mr., Dr., Prof.), Latin (e.g., i.e., et al.), abbreviations (Vol., Fig., Eq., Ref.), and decimal numbers — by guarding them before splitting on .!? followed by whitespace and capital letter.

Paragraph splitting is on blank-line separation (the conventional output of pdftotext).

Other v1.1 polish:

  • Stage centre guide-lines hidden in Sentence / Paragraph modes (single-word framing isn't needed)
  • Skip-distance adapts per mode: ± 10 in Word mode, ± 1 in chunk modes
  • Meta text adapts to mode: N / total words / sentences / paragraphs
  • Time-remaining always computed in raw words regardless of mode (so 500 WPM means 500 WPM everywhere)
  • Mode is persisted alongside text + WPM + position in localStorage
  • v1.1 version stamp visible in header

[1.0.0] — 2026-05-27

Initial release.

Added

  • Single-word RSVP display with WPM slider (2001500, default 500)
  • ORP (Optimal Recognition Point) focal-character coloring in red
  • Punctuation-aware pause: 2.5× for period/exclamation/question, 1.7× for comma/semicolon/colon, 1.3× for closing brackets
  • Progress bar + meta (N / total words · ~X min remaining at Y WPM)
  • Keyboard shortcuts (Space, /, +/, R)
  • Drag-and-drop .txt file loading anywhere on the page
  • localStorage persistence — text, WPM and position survive page reloads
  • Dark-mode WP-tone palette (accessible-contrast colour scheme)
  • "Done" state turns the display green when the paper finishes

Single self-contained HTML file. No dependencies, no install, no network calls. Runs in any modern browser, fully offline.