Repository navigation
Buddy is transparent on the landing page in Safari and on iPhone and iPad - #384
Merged
Merged
Conversation
…iPad Safari and every iOS browser play WebM but drop its alpha channel, so the robot sat in a dark box over the app footage. Apple WebKit now gets HEVC with alpha cuts of the same six states (encoded with AVFoundation from lossless masters of the reviewed WebMs, about 4.7 MB in all); Chromium browsers and Firefox keep the WebM, since Chromium can play HEVC but ignores its alpha. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
On Safari, the landing page's Buddy robot showed a dark box behind it that covered the app footage. Safari, and every browser on iOS and iPadOS (all WebKit), plays WebM but drops its alpha channel. This was there before the 5.0 media update; the Buddy clips date from 24 September.
.movcuts (docs/media/landing-story/buddy/*.mov), one per Buddy state: same 512×538 frames, 24 fps and durations as the WebMs. Made by decoding the reviewed WebMs losslessly (alpha kept) to ProRes 4444, then encoding on macOS with AVFoundation's HEVC-with-alpha encoder at 900 kbit/s. That's 4.7 MB in all, against 3.7 MB of WebM. Each is loaded only when its state plays, and only on WebKit.landing-story.jspicks the.mov(data-src-hevc) when the browser is Apple WebKit and can playhvc1. That covers the stage robot and the sovereignty robot. Chromium browsers and Firefox keep the WebM, because Chromium can play HEVC but ignores its alpha.scripts/docs/buddy_hevc_alpha.swiftregenerates them on a Mac.Type of change
Risk area
Testing
uv run python scripts/run_test_matrix.py docs: 109 passed. The manifest test now also hashes the.movcuts. The story runtime test gains Safari, Chrome-on-Mac and no-HEVC cases; the Safari case fails without the fix..movdecoded back on the Mac: alpha 0–255 with transparent corners, and the same durations as the WebMsRelease notes
Checklist
main🤖 Generated with Claude Code