tds3p-rsvp-reader/TODO.md

3.1 KiB

TODO

Bookmarks and per-book progress

Paragraph-level resume restores the last reading position. Add named bookmarks and a compact recent-books/progress list so readers can return to several places in a book without overwriting their normal resume point.

Reading profiles

Add selectable reading profiles for punctuation and paragraph pause lengths, long-word delay, unfamiliar-word timing, and WPM presets. Keep a plain/default profile that preserves the current cadence.

Converter preflight and safe section splitting

Add a --check mode that reports section and sidecar sizes, filename issues, and unsupported characters without writing output. Offer optional splitting at paragraph boundaries for sections that exceed the device's 1 MiB file limit.

Memory-limit hardware validation

Stress-test the 1 MiB section and sidecar limits on real hardware, record PSRAM headroom, and lower the supported limit if token indexing or sidecar metadata leaves insufficient memory for reliable reading. Include adversarial short-word and dense-sidecar inputs, not just ordinary prose.

Reading continuity preference

Keep the current default of pausing on every chapter title, but add an optional auto-continue mode for readers who want uninterrupted reading across sections.

RSVP orientation point

Offer an optional focal-letter/orientation-point treatment that subtly marks a consistent letter within each displayed word. Keep the current centered plain word rendering as the default and make the feature work with italic and bold fonts.

Library diagnostics and import validation

Add a device diagnostics screen for SD-card, TOC, missing-section, sidecar, and memory-limit errors. Extend converter preflight to report the same issues, including oversized tokens, before a book is copied to the card.

Add anti-aliased reader fonts

The current reader uses TFT_eSPI's bitmap FreeSans, FreeSerif, and FreeMono fonts. They are compact and fast, but their edges remain jagged at large sizes.

Use TFT_eSPI smooth-font (.vlw) assets for the reading view and font-setting previews.

  1. Generate or obtain licensed .vlw files for sans-serif, serif, and monospace faces at the seven supported reader sizes: 1, 1.5, 2, 2.5, 3, 3.5, and 4.
  2. Place the files in a dedicated SD-card directory, for example /fonts/<style>-<size>.vlw; document these required files alongside the existing /books/<book>/<chapter>.txt layout.
  3. Change Board to load the selected smooth font from SD when a font setting is applied, and fall back to the current bitmap font if the file is absent or cannot be loaded.
  4. Continue to clear only the union of the old and new word bounds. Smooth glyphs should be drawn with an explicit black background so anti-aliased edge pixels blend correctly without redrawing the status bar or dead space.
  5. Measure load time, RAM use, and word-to-word rendering latency on the T-Display-S3-Pro. Keep the cached active font in memory and avoid SD reads during normal word advances.
  6. Verify that chapter-title and The End cards use the same selected smooth font and remain aligned with normal words.