From 2f101c1e8590214ad9c5db728719af47ad8165c6 Mon Sep 17 00:00:00 2001
From: twoimo <32544727+twoimo@users.noreply.github.com>
Date: Wed, 30 Sep 2026 12:44:41 +0900
Subject: [PATCH 1/7] perf(web): retain home map across viewport changes
---
apps/web/app/home-runtime-shell.tsx | 49 +-
.../REPORT.md | 128 ++
.../baseline-home-runtime-shell.tsx.txt | 370 ++++
.../baseline-identity-v2/artifact-map.json | 42 +
.../baseline-identity-v2/browser-bundle.mjs | 61 +
.../baseline-identity-v2/build.mjs | 19 +
.../baseline-identity-v2/raw.json | 1102 ++++++++++
.../baseline-identity-v2/scored.json | 17 +
.../baseline-identity-v2/source-0.txt | 370 ++++
.../baseline-identity-v2/source-1.txt | 370 ++++
.../baseline-identity-v2/source-2.txt | 45 +
.../baseline-identity-v2/source-3.txt | 27 +
.../baseline-identity-v2/source-4.txt | 73 +
.../baseline-identity-v2/source-5.txt | 108 +
.../baseline-identity/rejected-build.txt | 20 +
.../baseline-useHomeViewportMode.ts.txt | 45 +
.../browser-entry.jsx | 75 +
.../build-baseline/build.log | 1 +
.../build-baseline/receipt.json | 10 +
.../build-candidate/build.log | 1 +
.../build-candidate/receipt.json | 9 +
.../build-fixture.mjs | 57 +
.../candidate-v1/artifact-map.json | 42 +
.../candidate-v1/browser-bundle.mjs | 61 +
.../candidate-v1/build.mjs | 19 +
.../candidate-v1/raw.json | 1102 ++++++++++
.../candidate-v1/scored.json | 17 +
.../candidate-v1/source-0.txt | 370 ++++
.../candidate-v1/source-1.txt | 369 ++++
.../candidate-v1/source-2.txt | 45 +
.../candidate-v1/source-3.txt | 27 +
.../candidate-v1/source-4.txt | 73 +
.../candidate-v1/source-5.txt | 108 +
.../candidate-v2/artifact-map.json | 42 +
.../candidate-v2/browser-bundle.mjs | 61 +
.../candidate-v2/build.mjs | 19 +
.../candidate-v2/raw.json | 1102 ++++++++++
.../candidate-v2/scored.json | 17 +
.../candidate-v2/source-0.txt | 370 ++++
.../candidate-v2/source-1.txt | 369 ++++
.../candidate-v2/source-2.txt | 45 +
.../candidate-v2/source-3.txt | 27 +
.../candidate-v2/source-4.txt | 75 +
.../candidate-v2/source-5.txt | 109 +
.../checks/results.json | 29 +
.../checks/types.log | 1 +
.../checks/unit.log | 1 +
.../measure.mjs | 109 +
.../playwright.config.mjs | 9 +
.../route-measure.mjs | 262 +++
.../route-regression-results/.last-run.json | 4 +
.../route-v3/artifact-map.json | 57 +
.../route-v3/baseline-desktop.png | Bin 0 -> 86346 bytes
.../route-v3/baseline-mobile.png | Bin 0 -> 34306 bytes
.../route-v3/candidate-desktop.png | Bin 0 -> 86346 bytes
.../route-v3/candidate-mobile.png | Bin 0 -> 34306 bytes
.../route-v3/candidate-touch-detail.png | Bin 0 -> 51860 bytes
.../route-v3/raw.json | 1865 +++++++++++++++++
.../route-v3/regression.log | 1 +
.../route-v3/scored.json | 81 +
.../route-v3/source-0.txt | 369 ++++
.../route-v3/source-1.txt | 45 +
.../route-v3/source-2.txt | 17 +
.../route-v3/source-3.txt | 1067 ++++++++++
.../route-v3/source-4.txt | 262 +++
.../route-v3/source-5.txt | 10 +
.../route-v3/source-6.txt | 9 +
.../service-stubs.jsx | 27 +
.../verify-route.mjs | 64 +
.../verify.mjs | 58 +
.../home-root-lazy-boundary.test.ts | 1 -
.../web-quality-performance-source.test.ts | 1 -
.../tests/home-viewport-continuity-helpers.ts | 17 +
.../tests/home-viewport-continuity.spec.ts | 27 +
74 files changed, 11834 insertions(+), 27 deletions(-)
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/REPORT.md
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-home-runtime-shell.tsx.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/artifact-map.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/browser-bundle.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/build.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/raw.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/scored.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-0.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-1.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-2.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-3.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-4.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity-v2/source-5.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-identity/rejected-build.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/baseline-useHomeViewportMode.ts.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/browser-entry.jsx
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/build-baseline/build.log
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/build-baseline/receipt.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/build-candidate/build.log
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/build-candidate/receipt.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/build-fixture.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/artifact-map.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/browser-bundle.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/build.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/raw.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/scored.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-0.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-1.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-2.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-3.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-4.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v1/source-5.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/artifact-map.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/browser-bundle.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/build.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/raw.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/scored.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-0.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-1.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-2.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-3.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-4.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/candidate-v2/source-5.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/checks/results.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/checks/types.log
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/checks/unit.log
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/measure.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/playwright.config.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-measure.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-regression-results/.last-run.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/artifact-map.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/baseline-desktop.png
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/baseline-mobile.png
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/candidate-desktop.png
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/candidate-mobile.png
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/candidate-touch-detail.png
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/raw.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/regression.log
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/scored.json
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-0.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-1.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-2.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-3.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-4.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-5.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/route-v3/source-6.txt
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/service-stubs.jsx
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/verify-route.mjs
create mode 100644 apps/web/performance/home-viewport-continuity-20260930/verify.mjs
create mode 100644 apps/web/tests/home-viewport-continuity-helpers.ts
create mode 100644 apps/web/tests/home-viewport-continuity.spec.ts
diff --git a/apps/web/app/home-runtime-shell.tsx b/apps/web/app/home-runtime-shell.tsx
index de4b78f5e1..3dbf14e9cf 100644
--- a/apps/web/app/home-runtime-shell.tsx
+++ b/apps/web/app/home-runtime-shell.tsx
@@ -140,7 +140,7 @@ function DeferredUserDataPrefetcher({ enabled }: { enabled: boolean }) {
return