diff --git a/docs/developer/android-app.md b/docs/developer/android-app.md index 56d94a6..d47baed 100644 --- a/docs/developer/android-app.md +++ b/docs/developer/android-app.md @@ -96,6 +96,18 @@ Planned reading features: - Zoom and pan; aggressive preloading of adjacent pages - Webtoon / continuous vertical mode: post-v1 +### Reader settings parity with the web reader + +The web reader (`web/src/reader/`) is the reference implementation for reading ergonomics — its font selection, reading themes, and highlight system are considered well-designed; only its desktop-oriented presentation is being replaced on mobile. The Android reader should reuse the same settings model (stored in the `reader_settings` table and synced via the settings endpoint) rather than inventing a parallel one: + +- **Fonts**: the same roster of variable fonts, self-hosted under `/static/fonts/` — Literata (default), Crimson Pro, Source Serif 4, EB Garamond, Libertinus Serif, Noto Serif, Charis SIL, IBM Plex Serif (`FONT_MAP` in `web/src/reader/reader.ts`) +- **Typography**: `font_size` (default 18), `line_height` (1.6), `margin_width`, `double_page_spread` +- **Themes**: `chrome_theme` (default `tokyo-night`) for app chrome vs `reading_theme`/`reading_mode` for the page surface, plus the fx stack (`fx_brightness`, `fx_contrast`, `fx_invert`) +- **Navigation**: `tap_zones_enabled` + `tap_zone_size`, `reading_direction`, `progress_mode` +- **Highlights**: per-annotation color (default `#ffd54f`), matching the web palette + +Settings chosen on one device should follow the user everywhere — mobile changes write back through the same sync. + --- ## 🍎 iOS Posture