book-story/app
Atte149 e1276fcee1 refactor: replace pagination engine with TextLayoutResult-first per-block layout
- New models: BlockMetrics (sealed), LineMetric, PageSpan, ReaderPage2,
  PaginationResult, ReaderConstraints, FingerprintKey
- New engine: PaginationEngine interface + TextMeasurerPaginationEngine
  with BlockMetricsFactory (getLineTop/Bottom/VisibleEnd) and PagePacker
  (greedy fill with widow/orphan policy + paragraph splitting)
- New infrastructure: PaginationCache (LRU), WindowedPaginationState
- UI: ReaderPaginationLayout rewritten for ReaderPage2/PageSpan rendering,
  ReaderPageContent2 renders blocks from spans with sub-sequence support
- ReaderScreen: replaced produceState with LaunchedEffect + mutableStateOf,
  uses screenModel.paginationEngine directly
- ReaderModel: injects TextMeasurerPaginationEngine, uses firstBlockIndex
  instead of startTextIndex
- Removed: PaginateReaderTextUseCase (380 lines), readerChapterTextStyle,
  TextMeasurerModule (unnecessary, TextMeasurer passed from composable)
- Removed: unused ReaderTextAlignment import from BlockMetricsFactory
2026-06-21 20:59:26 +03:00
..
schemas/org.dueattendant149.bookshelf.data.local.room.BookDatabase feat: paginated reader sync, search crash fix, audio cache + unified auth 2026-06-21 19:45:08 +03:00
src refactor: replace pagination engine with TextLayoutResult-first per-block layout 2026-06-21 20:59:26 +03:00
.gitignore .gitignore update. (root + app/) 2024-07-15 19:13:14 +03:00
build.gradle.kts chore: bump to 1.9.12 (28) and deploy final APK 2026-06-21 19:48:15 +03:00
proguard-rules.pro 🛠️ Fix crash on release build 2025-03-13 09:07:03 +02:00