71 lines
3.1 KiB
Markdown
71 lines
3.1 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 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.
|