89 lines
4.1 KiB
Markdown
89 lines
4.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.
|
|
|
|
## Dialogue and character colors
|
|
|
|
Add optional color rendering for dialogue and character names. The converter
|
|
should detect conventional quotation marks and styled thought/dialogue spans,
|
|
then attribute only high-confidence spans to a canonical entity. Store the
|
|
entity identity, never a color, in a compact v3 RSVP sidecar; load a separate,
|
|
editable per-book entity map that assigns each entity a hue from 30 through 330
|
|
in 30-degree HSL steps at 100% saturation and 75% lightness. Include aliases
|
|
so descriptions such as "mysterious man" can later resolve to a named entity,
|
|
and report unresolved or ambiguous attribution for review rather than guessing.
|
|
|
|
Keep the sidecar sparse: unassigned words must have no sidecar record at all,
|
|
not a record with an entity ID of zero or another null sentinel. Extend a
|
|
record only when it already exists for style/timing metadata or when an entity
|
|
assignment requires one. Add a persisted reader setting to toggle coloring
|
|
without requiring reconversion.
|
|
|
|
## Converter preflight and safe section splitting
|
|
|
|
Add a `--check` mode that reports section word counts, 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 150,000-word or 1 MiB file limits.
|
|
|
|
## Memory-limit hardware validation
|
|
|
|
Stress-test the 150,000-word and 1 MiB section/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.
|