# EPUB 3.3 Compliance Feature Prioritization **Date:** 2026-01-23 19:46:02 **Based on:** EPUB 3.3 Compliance Audit --- ## Overview This document reviews the audit findings from the CrossPoint Reader EPUB 3.3 compliance audit and prioritizes features for implementation based on: 1. **User Impact** - How much the feature improves the reading experience 2. **Implementation Complexity** - Level of effort required 3. **Existing Infrastructure** - Available code that can be leveraged 4. **Hardware Feasibility** - Whether the e-ink display can support it --- ## Priority 1: High Impact, Infrastructure Ready These features have existing code that can be leveraged and provide significant user value. ### 1.1 Inline Image Rendering **Current State:** Images show placeholder text `[Image: alt_text]` **Infrastructure Available:** - `Bitmap` class (`lib/GfxRenderer/Bitmap.h`) - BMP parsing with grayscale conversion and dithering - `JpegToBmpConverter` (`lib/JpegToBmpConverter/`) - JPEG to BMP conversion with prescaling - `GfxRenderer::drawBitmap()` - Already renders bitmaps to e-ink display - `ZipFile` - Can extract images from EPUB archive **Implementation Approach:** 1. Extend `ChapterHtmlSlimParser` to extract image `src` attributes 2. Create `PageImage` element (alongside existing `PageLine`) 3. Extract and cache images from EPUB ZIP to SD card as BMP 4. Integrate image blocks into page layout calculations 5. Render images inline with text during page display **Complexity:** Medium **User Impact:** High - Many EPUBs have important diagrams, illustrations, and decorative images **Supported Formats:** - JPEG (via `picojpeg`) - Most common in EPUBs - BMP (native support) - PNG - **Not currently supported** (would need `pngle` or similar library) --- ### 1.2 List Markers (Bullets and Numbers) **Current State:** List items render without visual markers; `
  • ` already adds bullet character **Infrastructure Available:** - `ChapterHtmlSlimParser` already handles `
  • ` tags (line 248 adds bullet) - Font system supports Unicode characters **Implementation Approach:** 1. Track list type (`
      ` vs `