Skip to content

feat: seamless cross-chapter flow for DIVINA and Webtoon#554

Merged
everpcpc merged 2 commits intomainfrom
codex/page
Feb 24, 2026
Merged

feat: seamless cross-chapter flow for DIVINA and Webtoon#554
everpcpc merged 2 commits intomainfrom
codex/page

Conversation

@everpcpc
Copy link
Copy Markdown
Owner

Summary

  • Refactor ReaderViewModel to use ReaderSegment + ReaderPage as the core source of truth, then rebuild view items and segment metadata from that model.
  • Enable seamless chapter transitions for DIVINA/Webtoon by treating segment end pages as normal reader flow (including bidirectional preloaded segments and no boundary gesture path).
  • Redesign end page rendering for both SwiftUI and native UIKit/AppKit paths, including chapter context, close behavior when no next chapter, and tap-zone-based paging.
  • Align page jump/TOC/progress/page-number logic to current segment semantics and remove obsolete reader artifacts (ArcEffectShape, old next-book card path).
  • Reduce Webtoon scroll jank by caching content snapshots, switching current-page detection to visible-item scanning, sharing offset-restoration helpers, and deduplicating in-flight adjacent-segment preload tasks.
  • Update localization/resources and reader supporting views to match the new cross-chapter flow.

Testing

  • make format
  • make build-ios
  • make build-macos
  • make build-tvos

Related Issue

Introduce ReaderSegment/ReaderPage-based state across Divina and Webtoon readers, unify end-page handling as normal reader items, and support bidirectional cross-chapter navigation without boundary gestures.

Refactor page/view-item mapping, TOC/page-jump scope, and end-page rendering on SwiftUI and native controllers while removing deprecated arc/boundary UI paths.

Improve Webtoon performance by caching content snapshots, reducing visible-page scans to visible items, deduplicating adjacent segment preloads, and lowering preload task priority to reduce scroll jank near chapter ends.

Related to #539.
@everpcpc everpcpc merged commit 546020a into main Feb 24, 2026
3 checks passed
@everpcpc everpcpc deleted the codex/page branch February 24, 2026 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant