A softer step between pages
Page changes now use a brief crossfade, with ordinary links and reduced-motion preferences preserved.



Full entry & measurements
Can a page change feel less abrupt? Pages now use a short dissolve in browsers supporting native cross-document View Transitions. Ordinary links still navigate, and reduced-motion preferences keep page changes instant. No router, click interception, artificial loading delay or startup script was added. Native downloads and modifier-click retain their normal behavior. Three website screenshots show Home, a deliberately paused native midpoint and the settled guide. They share frozen source page-fade-final-547c40f8c6cd6545, Chromium 151.0.7922.34, 1440 × 1000, captured 17 October with timezone-aware source/page hashes in their sidecars. Midpoints pause the real CSS animations at 90 of 180 milliseconds for inspection: sampled stills, not real-time footage or fluidity evidence. A German dark phone midpoint and Journal→About midpoint remain in the full evidence library. Evidence session page-fade-20261017 preserves seven individually inspected and approved image/sidecar pairs, separately reviewed for internet use by producing agent codex-page-fade. The baseline is 20261017T001409209000-116f42f95286, source page-fade-before-57212d986afa881b. First prototype 20261017T001136165253-cb347bd398e7, source page-fade-first-cb8d75bf57c97cba, showed washed stationary colours; explicit plus-lighter blending corrects that intermediate result. Original images retain their exact source identities; website appearance does not establish new simulator behavior. Measured 17 October against stylesheet SHA-256 91148d000ad9b0eb89e1b7a1cc66c9ca7c045e9c29f82ec4db7d3638318c05e2: - Fade duration: 180 milliseconds. Real pagereveal transitions exposed complementary opacity animations with matching easing, additive blending and no root geometry animation. This is observed/configured duration, not frame rate or perceived performance. - Browser matrix:78/78 conditions passed. 48 native route/language/theme/width conditions, 12 reduced-motion cases, 12 true JavaScript-disabled cases observed via CDP, and six stylesheet opt-out fixtures. Chromium 151.0.7922.34, six public routes, English/German, 390/1440 CSS-pixel widths. No missing static content, horizontal overflow, script errors or unsolicited full-data/model startup requests were observed. Opt-out fixtures test fallback paths in a supporting browser; Safari, Firefox and an actually unsupported engine were not tested. - Focused Python regressions: 72 passed in 1.47 seconds, covering guide/static pages, localization, compact reading data, selective rendering and asset references. - Isolated actual JavaScript handlers: 24 checks passed—motion 12, menu/preferences 5, startup 7. These are website checks, separate from the real browser matrix and all Unity/inference acceptance. Native modifier-click, intentional model download and rapid navigation passed. A first history test sampled the position before its own click scrolled the header into view; baseline and final correctly restored the actual departing position. The initial #settings fragment still settles lower than intended (549 CSS pixels in both baseline and final desktop probes). Its URL and focus remain intact. This existing alignment limitation is recorded without claiming ideal deep-link placement. The CSS follows the Chrome cross-document View Transitions guide and WebKit progressive enhancement example linked in overview-site.md. Next useful check: the owner's reading comfort on their usual browser. Human motion comfort remains unmeasured. Website-sync records Git delivery and the separate live comparison; a prepared candidate alone is not a live deployment.