Take hero imagery, falling back to carousel slides

FeatureSecurityService
Shipped
August 25, 2026 at 4:45 PM UTC
Author
Kamo
Commit
019c251

The fallback is conditional by design. A site with a hero has already chosen one picture to represent itself; sweeping its carousel too would bury that choice in a grid of eight equal alternatives. The carousel is what a site offers INSTEAD of a hero. That rule was broken in the first cut, and the tests caught it: `body` sat in the hero-container list, so `body img` matched every image on the page including every slide. The hero pass was therefore never empty, the fallback could never fire, and slides arrived mislabelled as heroes with no slide number. `body` is still accepted for a CSS background, where it is one specific declaration about the backdrop -- the asymmetry is the fix, not an oversight. Cloned slides are skipped: loop carousels duplicate their first and last slides for a seamless wrap, and offering the same photograph twice looks broken. Everything is gated on REAL decoded dimensions rather than on where it was found, because a hero container legitimately holds logos and icons, and a sign-in screen backed by a 48px icon is an obvious defect.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing