github marcoand75/cpr-vcodex-steroids 1.3.0.30-cpr-vcodex-steroids-dev1

CPR-vCodex Steroids — First Release

Built on CPR-vCodex 1.3.0.30 (fork of franssjz/cpr-vcodex), inheriting all upstream features: reading analytics, heatmaps, achievements, dictionaries, flashcards, bookmarks, SD-card fonts, KOReader Sync, Bionic Reading, dark mode, and more.


What's New in Steroids

📚 Full E-Book Library

A complete grid-based library browser — the largest addition in this release.

  • Configurable grid layout: 3×3, 4×3, 6×3, or 8×3 columns
  • Per-page thumbnail generation at exact cell size with progress bar
  • Binary metadata cache (LibraryCache) on SD for instant re-open
  • EPUB, XTC, TXT, and Markdown support
  • Accent-insensitive sorting
  • Content filters: All Books, Favourites, Latest Read with live header indicator
  • Search and incremental indexing with render deduplication
  • Cover placeholders for books with missing covers
  • Incremental startup sync — detects new/removed books on boot without full rescan
  • Configurable library root directory (editable on-device)
  • Cover management: delete individual, page, or all covers; auto-regeneration

📖 Book Context Menu & Metadata Viewer

Long-press on any book (Home Carousel or Library grid) opens a 9–12 item menu:

  • Open book, Reading Stats, View Metadata
  • Add/Remove Favorites, Mark as finished/unfinished
  • Delete Book Cache (EPUB), Delete cover thumbnail, Delete page covers, Delete all covers
  • Reindex Library, Clear theme cache, Filter switching (All / Favourites / Latest Read)

Metadata viewer parses EPUB OPF fields: dc:publisher, dc:description, dc:date, dc:identifier, dc:subject, dc:rights, dc:contributor.

🎨 Lyra Carousel & Theme Enhancements

Cyber-style Data Panel — replaces simple title/author text with a detailed two-column panel:

  • Book: Time, Sessions, Progress, ETA
  • Stats: Today, Goal, Streak, Finished
  • Segment progress bar or COMPLETED label
  • All labels i18n-ready (EN + IT, 21 languages fall back to English)
  • Shows ALL books on homepage

Estimated Reading Time — appended to progress badges on all Lyra themes (e.g. "35% ~2h 15m"). Uses reading stats logic, requires ≥10 min reading and ≥5% progress, rounds to 5-minute increments.

Priority Ribbon Badges on covers:

  • Completed ✓ (black triangle top-right with white checkmark)
  • Favorite ♥ (black triangle top-left with white heart)
  • Opened indicator (black bottom band with two white dots)
  • Scaled for e-ink visibility (22→36px triangles, 8→12px band)

LyraMarcoand75 Custom Theme — distinct theme variant with per-theme cover caching. Separate carousel cache per theme prevents cross-theme corruption.

Theme Cache Clearing — context menu item to delete all *.bin files from carousel cache, with immediate frame regeneration.

🛡️ E-Ink Screensaver

Low-power screensaver app with battery protection:

  • Automatic sleep bypass — keeps display refreshed without full sleep cycles
  • Battery-protection deep sleep after configurable timeout
  • Wake-on-any-button or single custom button
  • Sleep screen rotation with short power button press (inspired by CrumBLE firmware)
  • 4-gray-level BMP cycling fix — respects refresh settings correctly

🎯 Custom App Icons

Hand-crafted monochrome icons for e-ink clarity:

  • Library (bookshelf), Sleep (Zzz), Screen Clean (monitor), Reading Heatmap (calendar)
  • Visibility fixes across all themes (Base, Lyra, LyraCarousel, LyraMarcoand75)
  • Resized corner ribbons on library covers

⚙️ STRING-Type Setting Support

On-device STRING setting editing added to SettingsActivity. Previously web-only; now editable via KeyboardEntryActivity. Enables "Library root directory" configuration directly from the device.

⚡ Performance & Memory Optimizations

  • Inventory caching — avoids repeated SD traversal
  • System directory exclusion (., crosspoint, sleep*, font*, dictionaries, exports)
  • Zero-size thumbnail cleanup (once/day)
  • Redundant Storage.exists() removed from scan hot loop
  • Heap exhaustion fix — cover generation respects memory budget
  • Corrupted favorite heart icon fix — drawn at native 32×32 size

Feature Summary

Category Features
📚 Library Grid browser, metadata cache, content filters, incremental sync, configurable root, cover management
📖 Navigation 9–12 item context menu, EPUB OPF metadata viewer
🎨 Theme Cyber data panel, reading time ETA, priority ribbons, LyraMarcoand75 theme, per-theme cache
🛡️ Tools E-ink screensaver, sleep screen rotation, 4-gray BMP fix
🎯 UI Custom app icons (bookshelf, Zzz, monitor, calendar), theme-wide visibility fixes
⚙️ System On-device STRING setting support
⚡ Performance Inventory caching, directory exclusion, heap fixes, icon sizing fix

All CPR-vCodex upstream features are fully included. This release only adds the features above without removing or degrading any upstream functionality.

Built and tested on Xteink X4 (ESP32-C3, ~380 KB usable RAM).


Don't miss a new cpr-vcodex-steroids release

NewReleases is sending notifications on new releases.