Skip to content

fix: stabilize reader presentation transitions#704

Merged
everpcpc merged 2 commits intomainfrom
codex/fix-reader-presentation-restoration
Mar 29, 2026
Merged

fix: stabilize reader presentation transitions#704
everpcpc merged 2 commits intomainfrom
codex/fix-reader-presentation-restoration

Conversation

@everpcpc
Copy link
Copy Markdown
Owner

Problem

Divina and PDF reader overlay controls used a scaled bouncy transition that felt too springy. More importantly, rebuilding the Divina reader presentation when switching between cover, page curl, scroll, or different reading directions could lose the active reading position, causing jumps to the first or last item or leaving scroll mode waiting in an incorrect initial state.

Approach

Tighten the overlay transitions to simple move-plus-opacity animations, and move the reader presentation state toward explicit ownership in ReaderViewModel so presentation rebuilds preserve the current page. On the scroll reader path, only mark initial positioning as complete after the target item is actually visible, which lets layout retries finish correctly when transitioning in from cover or page curl.

Scope

  • smooth Divina and PDF controls overlay animations
  • preserve the current page across Divina presentation rebuilds
  • harden iOS and macOS scroll initial-position recovery
  • bump the build version to 386

Validation

  • make format
  • make build

Smooth Divina and PDF controls overlays by removing scale and bouncy transitions.

Preserve the current reading position across reader presentation rebuilds and tighten scroll initial-position recovery so switching between cover, page curl, and scroll modes lands on the expected item.
@everpcpc everpcpc merged commit 523ee6f into main Mar 29, 2026
3 checks passed
@everpcpc everpcpc deleted the codex/fix-reader-presentation-restoration branch March 29, 2026 03:23
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