Brings the web audiobook player to parity with best-in-class audiobook
apps (Audiobookshelf, Audible, BookPlayer) on the quality-of-life axis,
per docs/superpowers/plans/audiobook-player-qol.md:
- Keyboard shortcuts active on every route while the player is mounted
(space/K, arrow skips, volume, M, N/P chapters, shift+./, speed,
E expand, Esc collapse), inert while a video session exists.
- Configurable skip intervals with asymmetric defaults (back 10s,
forward 30s) via a new player settings popover.
- Speed control expanded to 0.5x-3x with a 0.05 stepper, presets, and
per-book memory (LRU-capped, device-local).
- Chapter prev/next transport buttons (prev restarts the chapter when
more than 3s in, the universal player convention).
- Volume/mute via the shared VolumeControl with a new theme-token
"surface" tone; persistence shared with the video player.
- Smart rewind: backs up 3-30s on resume scaled by pause length, plus a
flat 10s on cold resume from the detail page; explicit seeks are never
second-guessed. Toggleable in player settings.
- Now Listening time label cycles total / remaining / remaining at
current speed.
Chapter flattening is deduplicated into lib/audiobooks/chapters.ts, the
SkipIcon is shared between both player views, and new pure modules
(smartRewind, chapter nav, prefs) come with unit tests.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>