Changes
- Hardened EPUB image rendering for #217:
.pxccaches now carry a format and calibration version, so old quantized pixels rebuild once and the contrast correction from #215 is applied to existing books. Image failures are scoped to the loaded page instead of the reader session, allowing later visits to recover from transient SD or low-memory failures. - Reduced fragmentation during text and image reading by releasing rebuildable font caches before section construction, making full-page SD-font prewarm replace the prior page, reserving growing bitmap arenas before rebuilding their smaller metadata, and giving page elements unique ownership. These changes selectively adapt CrossPoint
c4d8c395,c80c537f, andc33a8b0e. - Made short button presses harder to miss during the idle wait by following CrossPoint
9ba16086, and forced one clean splashless X4 wake refresh to avoid retained sleep-screen pixels, mirroring freeink-sdk6644bf2. - Passed 43 reader regressions, six SD-font cache regressions, and both
defaultandgh_releaseESP32-C3 builds. The published release image is 6,391,952 bytes and fits the 6,553,600-byte X4 OTA slot; the hardware-specific wake and short-press paths still require confirmation on a physical device.