Skip to content

feat: add macOS EPUB cover transitions#706

Merged
everpcpc merged 2 commits intomainfrom
codex/macos-epub-cover
Apr 1, 2026
Merged

feat: add macOS EPUB cover transitions#706
everpcpc merged 2 commits intomainfrom
codex/macos-epub-cover

Conversation

@everpcpc
Copy link
Copy Markdown
Owner

@everpcpc everpcpc commented Apr 1, 2026

Problem

macOS EPUB paged mode only supported scroll transitions, so it could not match the native cover-turn presentation used elsewhere in the reader. The first pass at the cover effect also needed visual parity with Divina, especially for page shadows, opaque page surfaces, and backward turns that should close a page back over the current spread.

Approach

Add a dedicated macOS EPUB cover transition view that reuses the existing EPUB paging state while driving cover-style animations in AppKit/WebKit. Wire the transition style into the macOS EPUB reader and settings surface, keep end-page navigation consistent with keyboard paging, and align the cover visuals so forward turns peel the current page away while backward turns slide the target page back on top.

Scope

  • Add WebPubPagedCoverView_macOS for macOS EPUB cover transitions
  • Route macOS paged EPUB rendering through the selected transition style
  • Expose the EPUB page transition picker in macOS preferences
  • Bump the build version to 387

Validation

  • make format
  • make build-macos

everpcpc added 2 commits April 1, 2026 20:56
Add a dedicated macOS paged EPUB cover transition view and wire it into the reader flow.

Expose the EPUB page transition style setting on macOS and align end-page navigation and cover visuals with the native reader behavior.
@everpcpc everpcpc merged commit a94dc20 into main Apr 1, 2026
3 checks passed
@everpcpc everpcpc deleted the codex/macos-epub-cover branch April 1, 2026 13:30
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