# TODO ## 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. Replace fixed 2×/3× sidecar word-delay values with categorical timing tags. Map each category to a configurable delay in reader settings, so changing a delay does not require regenerating sidecars. Version the format change and keep existing v1/v2 sidecars readable. ## 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. ## 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/