Splash: remove non-composited glow rings (fix mobile NO_LCP); cross-fade to content; nudge tracer target

- Drop the two animated glow rings: stroke-dashoffset is non-composited, so
  they repainted every frame next to the logo and prevented Lighthouse from
  settling on an LCP (mobile NO_LCP). The static box + pulsing glow remain.
- Splash now cross-fades into the content: on enter it becomes a fixed overlay
  and fades opacity to 0 over the revealed page, instead of a hard cut.
- Nebula tracer target moved up-and-left (computerX-1, computerY-1.5) so the
  streamers converge on the monitor screen, not below-right of it.
- Removed the now-unused splash-* keyframes.
This commit is contained in:
jwinterm
2026-06-06 17:50:42 -04:00
parent fad3223af3
commit ea012b63fe
4 changed files with 39 additions and 42 deletions
+1 -13
View File
@@ -227,16 +227,4 @@
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
/* Splash hero idle animations as CSS (browser/compositor driven) instead of
framer-motion, so they cost no JS main-thread time. The reduced-motion block
above neutralizes them. */
@keyframes splash-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes splash-breath { 0%, 100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes splash-ring-a { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1; } }
@keyframes splash-ring-b { from { stroke-dashoffset: 0; } to { stroke-dashoffset: 1; } }
.splash-float { animation: splash-float 6s ease-in-out infinite; }
.splash-breath { animation: splash-breath 5s ease-in-out infinite; }
.splash-ring-a { animation: splash-ring-a 5s linear infinite; }
.splash-ring-b { animation: splash-ring-b 7s linear infinite; }
}