Add slide animation for adjacent EPUB resource transitions#763
Merged
mickael-menu merged 6 commits intodevelopfrom Mar 31, 2026
Merged
Add slide animation for adjacent EPUB resource transitions#763mickael-menu merged 6 commits intodevelopfrom
mickael-menu merged 6 commits intodevelopfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the EPUB navigator’s page-turn behavior to use a slide transition when moving between adjacent resources (while keeping fade for non-adjacent jumps), aiming to eliminate intermittent flashes/glitches during transitions (issue #737).
Changes:
- Added snapshot-based slide animation for adjacent resource transitions in
PaginationView. - Extended internal “go to location” APIs to support an
animatedflag and threaded it through EPUB spread views and JS scrolling utilities. - Updated the Test App to keep a strong reference to
DirectionalNavigationAdapterand enable animated transitions.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| TestApp/Sources/Reader/Common/VisualReaderViewController.swift | Keeps a strong adapter reference and enables animated transitions for directional navigation. |
| Sources/Navigator/Toolkit/PaginationView.swift | Implements snapshot-backed slide transitions for adjacent resources and updates navigation helpers. |
| Sources/Navigator/EPUB/Scripts/src/utils.js | Adds animated plumbing to JS scrolling helpers and introduces a shared scrollTo wrapper. |
| Sources/Navigator/EPUB/EPUBSpreadView.swift | Updates PageView conformance to the new go(to:animated:) API. |
| Sources/Navigator/EPUB/EPUBReflowableSpreadView.swift | Threads animated through pending locations and JS-driven scrolling. |
| Sources/Navigator/EPUB/EPUBFixedSpreadView.swift | Updates go(to:animated:) signature for fixed-layout spreads. |
| Sources/Navigator/EPUB/Assets/Static/scripts/readium-fixed.js | Updates bundled fixed-layout script output to match new JS behavior. |
| CHANGELOG.md | Documents the improved animations and glitch fixes for #737. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
darktasevski
added a commit
to darktasevski/swift-toolkit
that referenced
this pull request
Apr 9, 2026
* upstream/develop: Fix decoration positions with paragraph indent (readium#767) Replace SwiftSoup with regex-based attribute lookup in Readium CSS injection (readium#742) Add support for SVG covers (readium#751) Fix race condition when applying EPUB decorations (readium#765) Add slide animation for adjacent EPUB resource transitions (readium#763) Remove unavailable APIs (readium#759) Remove Carthage support (readium#760) Improve `DirectionalNavigationAdapter` (readium#757) Update JSON usage from `Any` to `JSONValue` (readium#740) Fix LCP-enabled TestApp (readium#754) Report continuous `totalProgression` in the EPUB locator (readium#753) Document device name behavior for LCP registration (readium#752) Fix screen flashes during unanimated page turns in the EPUB navigator (readium#750) Fix parsing of URI templates (readium#749) Fix EPUB contributor role parsing (readium#748) Introduce the Readium Swift Playground (readium#746) # Conflicts: # Sources/Navigator/EPUB/Assets/Static/scripts/readium-fixed.js # Sources/Navigator/EPUB/Assets/Static/scripts/readium-reflowable.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WKWebViewrendering caused a flash mid-transition.Fixed
Navigator