Library improvements changelog:
Fixed Root Library folder now is used correctly.
Incremental sync — Library now detects added/removed books on SD card at startup without a full re-scan. Only new books get their metadata parsed; unchanged books load instantly from library.bin cache.
Library root folder — The existing "Library root directory" setting was defined but never used. It now actually restricts scanning to a subfolder of your SD card instead of always walking the entire card.
Max books raised from 300 to 1000 — The previous hard cap of 300 books was removed. Libraries up to 1000 entries are now supported.
Sort performance — Title/author sort keys are now pre-normalized (accents stripped, lowercased) once per book instead of on every single comparison during sorting. Dramatically reduces heap allocations and CPU time with large libraries.
Metadata cache reuse — When an EPUB was previously opened (persistent metadata cache exists), the library scanner reads title/author directly from the cache without re-opening the ZIP file. Only new or never-opened books trigger a full ZIP parse.
Watchdog safety — yield() and hardware watchdog resets are called periodically during SD card walking, preventing task watchdog timeouts on very large directory trees.
Selected book title — The currently highlighted book's title is shown centered below the filter/sort bar in the library view.
UI cleanup — Removed the "Library" label from the top header bar. Pagination (1/42) moved to the top-left corner. Grid shifted left (half padding on left, more space on right).
New Settings → App → Library Options
Two new maintenance actions added under Settings → Apps → Library:
1. Rebuild Library Clears the library cache file (/.crosspoint/library.bin). On next launch, the library performs a full SD card rescan, rebuilding the index from scratch. Reading statistics, bookmarks, and reading progress are untouched — only the library inventory is deleted. A confirmation dialog explains the operation before proceeding.
2. Clear Corrupt Covers Scans all book cache directories (epub_*, xtc_*, txt_* under /.crosspoint/) and deletes any .bmp cover thumbnail files with size 0 bytes (corrupt/malformed). After completion, a transient popup reports how many corrupt covers were found and removed, or confirms that none were found.