Swaps pages in a single frame and prefetches on touch #57

Open
miko wants to merge 1 commit from feat/swap-instant into main
Owner

Navigation now paints the new page whole in one frame: the block draw-in, the height glide and the fonts wait before a swap are gone, so nothing is ever painted in a state other than its final one. Prefetch also fires on touchstart, so a phone tap lands on a warm cache like a hover does on desktop. Verified in Chromium (Blink): zero animations during a swap, content opacity never below 1, click to new page 149ms cold on the local rig.

Navigation now paints the new page whole in one frame: the block draw-in, the height glide and the fonts wait before a swap are gone, so nothing is ever painted in a state other than its final one. Prefetch also fires on touchstart, so a phone tap lands on a warm cache like a hover does on desktop. Verified in Chromium (Blink): zero animations during a swap, content opacity never below 1, click to new page 149ms cold on the local rig.
Swaps pages in a single frame and prefetches on touch
All checks were successful
github/analysis Analysis gate on GitHub runners
github/test Test gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/race Race gate on GitHub runners
0c50c5c7c3
All checks were successful
github/analysis Analysis gate on GitHub runners
github/test Test gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/race Race gate on GitHub runners
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'feat/swap-instant:feat/swap-instant'
git switch 'feat/swap-instant'

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch 'main'
git merge --no-ff 'feat/swap-instant'
git switch 'feat/swap-instant'
git rebase 'main'
git switch 'main'
git merge --ff-only 'feat/swap-instant'
git switch 'feat/swap-instant'
git rebase 'main'
git switch 'main'
git merge --no-ff 'feat/swap-instant'
git switch 'main'
git merge --squash 'feat/swap-instant'
git switch 'main'
git merge --ff-only 'feat/swap-instant'
git switch 'main'
git merge 'feat/swap-instant'
git push origin 'main'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
EveSynapse/evesynapse!57
No description provided.