Skip to content

Hero: fewer repaints while the ring turns - #130

Merged
david-sling merged 5 commits into
mainfrom
landing/hero-layers
Oct 26, 2026
Merged

david-sling merged 5 commits into
mainfrom
landing/hero-layers

Conversation

@david-sling

Copy link
Copy Markdown
Owner

The hero transition still felt a little laggy on phones. This cuts what each scroll frame has to repaint.

  • The hero words get their own layer, so the outside-in fade redraws only the mask.
  • Each ring card gets its own layer, so turning it upright does not repaint the ring and the other cards.
  • The ring's arcs get their own layer, and their gliding dashes pause while the ring turns over, resuming at the top.

Checked in the browser at desktop and phone widths: layout and fade unchanged, dashes pause and resume. Not yet felt on a real phone.

🤖 Generated with Claude Code

The hero words, each ring card and the ring's arcs get their own layers,
so a scroll frame moves layers instead of repainting the ring with every
card on it. The arcs' gliding dashes pause while the ring turns over.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
wave Ready Ready Preview Oct 26, 2026 8:30pm UTC

Where the bulge is off (touch screens, or a computer that dropped frames
under it), the words blur as they fade with a plain CSS blur on their own
layer, which the GPU applies without repainting them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Touch screens get the bulge as well, to judge on a real phone. Any device
that drops frames under it still falls back to the blur alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A phone may run its frames at 30 a second while a finger scrolls or to
save power, which tripped the slow-frame fallback straight away. Only a
computer is watched now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every device is watched again, but the bar sits under the 30 frames a
second a phone may keep to while scrolling or saving power, measured on
the raw frame gap rather than the capped step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@david-sling
david-sling merged commit 3e7e7bd into main Oct 26, 2026
6 checks passed
@david-sling
david-sling deleted the landing/hero-layers branch October 26, 2026 20:31

This branch was successfully deployed

1 active deployment
Preview — 1b85560a Deployed Oct 26, 2026 by vercel[bot]
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