perf(homepage): optimize responsive images and reserve media dimensions [Codex] - #1366
jderochervlk wants to merge 4 commits into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
guide | 09c3b30 | Commit Preview URL Branch Preview URL |
Sep 20 2026, 02:46 PM |
Lighthouse baselineCompared with target branch
Download the full Lighthouse reports and baseline Commit |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
a27fa4d to
d58539f
Compare
d58539f to
05f1c99
Compare
05f1c99 to
0dbdfdc
Compare
0dbdfdc to
640b89c
Compare
640b89c to
6118df5
Compare
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
6118df5 to
d7fc3dc
Compare
d7fc3dc to
a106e06
Compare
a106e06 to
d89cdae
Compare
Generate AVIF and WebP candidates at build time, preserve intrinsic dimensions across homepage media, and defer below-fold images and video data. Cover candidate delivery, responsive selection, gallery behavior, and reserved layout without adding effects.
Verify dimensions, AVIF/WebP candidates, responsive selection, and layout reservation before image responses at both viewports. Addresses PR #1355 comment 4054821928.
Keep the responsive media component out of app/routes because it is not registered with React Router.
Preserve responsive image, media dimension, asset format, and reserved-layout coverage through typed browser bindings.
d89cdae to
09c3b30
Compare
This layer of #1354 replaces fixed-size homepage photos and screenshots with build-generated AVIF/WebP candidates. The Vite plugin and core package are development dependencies; a small native picture/img component consumes their metadata without adding the responsive-image React runtime or any effects. Original public asset URLs remain available.
All 63 homepage images and three videos now declare dimensions. Gallery source sizes account for its fixed-height crop, SVG logo ratios preserve the existing layout, and native videos keep controls and posters while using preload="none".
At DPR 1, the three displayed responsive images fall from 134,130 bytes to 53,353 on desktop and 42,687 on mobile. The production asset report records the tradeoff: JavaScript gzip grows from 143,792 to 145,858 bytes, CSS gzip from 13,086 to 13,099 bytes, and DOM elements from 409 to 415 for the three picture/source pairs. Missing image and video dimension counts are now zero.
Builds on #1365.