Skip to content

Add cinematic first-visit splash intro + route transitions; optimize …#105

Merged
JacobDChamberlain merged 1 commit into
mainfrom
splashAnimation
Jun 28, 2026
Merged

Add cinematic first-visit splash intro + route transitions; optimize …#105
JacobDChamberlain merged 1 commit into
mainfrom
splashAnimation

Conversation

@JacobDChamberlain

Copy link
Copy Markdown
Owner

…bone logo

Splash intro (new SplashIntro component):

  • First-visit-only "lights down" curtain gated on sessionStorage; never replays on client-side route changes
  • Skippable via click / tap / scroll / key; decode-gated so the logo never animates half-loaded, with a 1.5s fallback so a stalled decode can't strand a black screen
  • Lightning double-strike that inverts the logo itself, mirroring the existing Header.css lightning effect
  • Honors prefers-reduced-motion (quick fade, no lightning/grain/scale); fully opaque overlay dissolves to reveal the already-rendered site
  • Reserve the scrollbar gutter (html { scrollbar-gutter: stable }) so the splash scroll-lock never reflows the page on classic-scrollbar browsers

Route transitions:

  • AnimatedRoutes crossfades each page in on navigation (~280ms), disabled under prefers-reduced-motion

Logo optimization:

  • Replace the 8.9MB Maldevera_logo-BONE_TEXTURE.png with a 212KB WebP (resized 5906px -> 1400px, visually identical at display size); update the splash and header references. Full-res master kept out of the bundle.

Includes SPLASH_RESEARCH.md documenting the research and acceptance criteria.

…bone logo

Splash intro (new SplashIntro component):
- First-visit-only "lights down" curtain gated on sessionStorage; never
  replays on client-side route changes
- Skippable via click / tap / scroll / key; decode-gated so the logo never
  animates half-loaded, with a 1.5s fallback so a stalled decode can't strand
  a black screen
- Lightning double-strike that inverts the logo itself, mirroring the
  existing Header.css lightning effect
- Honors prefers-reduced-motion (quick fade, no lightning/grain/scale);
  fully opaque overlay dissolves to reveal the already-rendered site
- Reserve the scrollbar gutter (html { scrollbar-gutter: stable }) so the
  splash scroll-lock never reflows the page on classic-scrollbar browsers

Route transitions:
- AnimatedRoutes crossfades each page in on navigation (~280ms),
  disabled under prefers-reduced-motion

Logo optimization:
- Replace the 8.9MB Maldevera_logo-BONE_TEXTURE.png with a 212KB WebP
  (resized 5906px -> 1400px, visually identical at display size); update
  the splash and header references. Full-res master kept out of the bundle.

Includes SPLASH_RESEARCH.md documenting the research and acceptance criteria.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@JacobDChamberlain JacobDChamberlain merged commit fb2acd5 into main Jun 28, 2026
1 check passed
@JacobDChamberlain JacobDChamberlain deleted the splashAnimation branch June 28, 2026 16:31
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