669aabf5f2
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.
72 lines
3.7 KiB
Markdown
72 lines
3.7 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to **Ranger Reader** are documented here.
|
||
Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/).
|
||
|
||
---
|
||
|
||
## [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.5–12 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 (200–1500, 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.
|