tds3p-rsvp-reader/TODO.md

52 lines
2.3 KiB
Markdown

# 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.5 MiB file limit.
## Memory-limit hardware validation
Stress-test the advertised maximum section and sidecar sizes on real hardware,
record PSRAM headroom, and lower the supported limit if token indexing or
sidecar metadata leaves insufficient memory for reliable reading.
## 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.