Skip to content

ui: crossfade page changes with cross-document view transitions#63

Merged
acoshift merged 1 commit into
mainfrom
feat/view-transition
Jul 2, 2026
Merged

ui: crossfade page changes with cross-document view transitions#63
acoshift merged 1 commit into
mainfrom
feat/view-transition

Conversation

@acoshift

@acoshift acoshift commented Jul 2, 2026

Copy link
Copy Markdown
Member

What

Same-origin page loads now crossfade using cross-document view transitions — the CSS-only @view-transition { navigation: auto } opt-in. The navbar and sidebar carry their own view-transition-name, so the app shell stays put while only the content (and the active sidebar item) crossfades.

Matches the console, which ships the same page-change animation for its client-side navigations in deploys-app/console#324.

The transition, slowed to 1.2s for visibility (real speed is --timing-fast, 120ms) — navbar and sidebar static, content crossfading:

view transition

Notes

  • Chrome 126+ / Safari 18.2+; other browsers (Firefox) keep today's instant swap — pure progressive enhancement, no JS.
  • Gated on prefers-reduced-motion: no-preference.
  • ::view-transition-group(*) is included in the duration override so the transition doesn't outlive the fades at the UA-default 250ms.
  • On mobile, navigating from the open drawer resolves as a 120ms slide-out of the drawer group (the new page renders it closed) — verified, no jank: unlike an SPA there is no live CSS transition for the snapshot to fight.
  • Verified end-to-end in Chromium 148: pagereveal fires with a viewTransition on every hop, and mid-transition frames show the static shell + content crossfade.

Same-origin page loads now crossfade via the CSS-only @view-transition
opt-in (Chrome 126+ / Safari 18.2+; other browsers keep the instant
swap). The navbar and sidebar carry their own view-transition-name so
the app shell stays put — only the content and the active sidebar item
crossfade, at --timing-fast (120ms). Gated on prefers-reduced-motion:
no-preference.
@deploys-app deploys-app Bot temporarily deployed to pr-63 July 2, 2026 22:07 Destroyed
@deploys-app

deploys-app Bot commented Jul 2, 2026

Copy link
Copy Markdown

Preview deleted (PR closed).

@acoshift acoshift merged commit c408aaf into main Jul 2, 2026
1 check passed
@acoshift acoshift deleted the feat/view-transition branch July 2, 2026 22:14
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