Update docs

This commit is contained in:
jpirnay
2026-02-25 22:44:08 +01:00
parent 7e8bd70f3c
commit c335e027b4
6 changed files with 164 additions and 14 deletions
+17
View File
@@ -125,6 +125,23 @@ Notes:
- rendering favors reusing precomputed layout data to keep page turns responsive on constrained hardware
- progress/session state is persisted so the reader can reopen at the last position after reboot/sleep
## KOReader sync position mapping
KOReader sync integration is implemented under `lib/KOReaderSync/` and is used by
`src/activities/reader/KOReaderSyncActivity.*`.
Position translation currently follows a dual-path strategy:
- CrossPoint -> KOReader: prefer element-level XPath extracted from the current
spine XHTML; fallback to chapter-level `DocFragment` path when needed.
- KOReader -> CrossPoint: prefer incoming XPath resolution; fallback to
percentage-based estimation if XPath is invalid or cannot be resolved.
Detailed algorithm and constraints (including low-memory rationale for ESP32-C3)
are documented in:
- [KOReader Sync XPath Mapping](koreader-sync-xpath-mapping.md)
## State and persistence
Two singletons are central: