Skip to content

The site plays the film: a silent loop at the top, the whole film further down - #15

Merged
vlad-artyomov merged 1 commit into
mainfrom
site-film
Oct 3, 2026
Merged

vlad-artyomov merged 1 commit into
mainfrom
site-film

Conversation

@vlad-artyomov

Copy link
Copy Markdown
Owner
  • Hero: the GIF is replaced by a silent looping video of the same stretch. It weighs 1.1 MB instead of 8.2 MB, runs at 60 fps and is 1760 px wide for high-density screens.
    • It starts on its own, as the GIF did, through autoplay, so the browser begins playback once the page is visible.
    • With prefers-reduced-motion it stays on its first frame.
    • A pause/play button in the corner meets WCAG 2.2.2.
  • The film: a new section before the live demo holds the whole 41-second film with sound. It uses preload="none", so nothing loads until Play. The site serves the file itself, so the page adds no YouTube scripts or cookies.
  • Phone: the "Watch it fill a form" link now jumps to the film.
  • Tooling:
    • tools/video.mjs writes docs/video/fillsmith-demo.mp4 and its poster next to the README GIF. --loops (formerly --gif) rebuilds both.
    • tools/site.mjs copies the loop, the film and its poster, and no longer copies the GIF. Its dev server now answers range requests, as GitHub Pages does, so the film can seek.
  • README: unchanged. The GIF is still the only thing that plays on its own there.

Testing:

  • In a visible Chromium:
    • the loop autoplays, pauses and resumes from the button, and stays on its first frame under reduced motion;
    • the film plays;
    • no console errors.
  • npm test passes all four suites.
  • Nothing the extension package carries changed, so there is no version bump.

🤖 Generated with Claude Code

…ther down

The loop at the top of the page is a video now, not the GIF: the same stretch
of the film, 1.1 MB where the GIF was 8.2, at 60 fps and twice the width it is
shown at. It starts on its own as the GIF did, stays on its first frame for a
visitor who asks for less motion, and has a button to pause it. A section
before the live demo holds the whole film with its sound, loaded only when it
is played and served by the site itself, so the page gains no third-party
player. `npm run video -- --loops` rebuilds the README GIF and the loop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vlad-artyomov
vlad-artyomov merged commit 0977832 into main Oct 3, 2026
1 check passed
@vlad-artyomov
vlad-artyomov deleted the site-film branch October 3, 2026 17:10
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