Repository navigation
[DONE] Build, Pattern 탭과 폰 첫 화면이 보이지 않는 지구본의 사진 65장을 받지 않는다 - #146
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
ViewerPanel 이 페이지의 탭으로 시작해서 /build, /pattern 이 지구본을 잠깐도 붙이지 않고, GlobeViewer 는 지구본이 보일 때(901px 이상이거나 Inside)만 사진을 미리 받는다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
patternflow-bot
marked this pull request as ready for review
October 22, 2026 00:55
This was referenced Oct 22, 2026
engmung
pushed a commit
to engmung/Patternflow
that referenced
this pull request
Oct 22, 2026
engmung
pushed a commit
to engmung/Patternflow
that referenced
this pull request
Oct 22, 2026
Patternflow-lab#108 Patternflow-lab#109 Patternflow-lab#110 Patternflow-lab#111 Patternflow-lab#112 Patternflow-lab#113 Patternflow-lab#114 Patternflow-lab#115 Patternflow-lab#116 Patternflow-lab#117 Patternflow-lab#118 Patternflow-lab#119 Patternflow-lab#120 Patternflow-lab#121 Patternflow-lab#122 Patternflow-lab#123 Patternflow-lab#124 Patternflow-lab#125 Patternflow-lab#126 Patternflow-lab#127 Patternflow-lab#128 Patternflow-lab#130 Patternflow-lab#131 Patternflow-lab#132 Patternflow-lab#133 Patternflow-lab#134 Patternflow-lab#135 Patternflow-lab#136 Patternflow-lab#137 Patternflow-lab#138 Patternflow-lab#139 Patternflow-lab#140 Patternflow-lab#141 Patternflow-lab#142 Patternflow-lab#144 Patternflow-lab#145 Patternflow-lab#146 Patternflow-lab#147 Patternflow-lab#148 Patternflow-lab#149 Patternflow-lab#150 Patternflow-lab#151 Patternflow-lab#152 Patternflow-lab#153 Patternflow-lab#154 Patternflow-lab#155 Patternflow-lab#156 Patternflow-lab#157 Patternflow-lab#158 Patternflow-lab#159
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.
lsh / https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
Build 와 Pattern 탭은 3D 칸이 지구본을 잠깐 붙였다가 기기로 바꾸는 사이에 지구본의 사진 65장을 받았고, 폰 첫 화면은 보이지 않는 지구본 때문에 같은 사진을 받았어요. 이제 3D 칸은 그 쪽의 탭으로 시작하고 지구본은 보일 때만 사진을 미리 받아서, 9 Mbps 폰의 /build 가 받는 양이 10.0 MB 에서 1.6 MB 로, 망이 조용해지는 때가 9.4초에서 2.0초로 줄어요.
좋아지는 것: 폰에서 Build, Pattern 탭과 첫 화면이 빨리 뜬다 — 안 보이는 사진 8 MB 를 받지 않는다
a6b4f34에서 Web CI 와 Drift checks 초록한 일
store 의
homeTab은 어느 쪽에서나'hero'로 시작하고, 그 쪽의 탭은 RightPanel 의 effect 가 첫 렌더 뒤에 알려 줘요. 3D 칸(components/3d/ViewerPanel.tsx)이 store 만 읽어서 /build 와 /pattern 에서도 첫 장면을 지구본으로 골랐고, 200 ms 페이드 동안GlobeViewer가 붙어 미리 받기를 그렸어요.components/HomeView.tsx: 쪽의initialTab을ViewerPanel에 넘겨요.components/3d/ViewerPanel.tsx: 보는 탭을 제 state 로 두고initialTab에서 시작해요. store 를 구독해서 처음 바뀔 때부터 store 를 따라가요. 서버가 보내는 HTML 도 그 탭으로 그려서, 폰 /build 는 3D 칸이 하이드레이션 뒤에 내려오지 않고 처음부터 제자리에 있어요.components/sections/InsideGlobe/GlobeViewer.tsx: 미리 받기를(min-width: 901px)이거나 Inside 탭일 때만 그려요.useMediaQuery는 재기 전엔 false 라서 폰이 사진을 한 번이라도 그리는 일이 없어요. 폭 질의는BuildCard.tsx:35와 같은 꼴이에요.components/3d/ViewerPanel.test.tsx: 쪽이initialTab을 넘기게 고치고, /build 와 /pattern 이 지구본을 한 번도 만들지 않는 것, store 에 지난 방문의 Inside 가 남아 있어도 그런 것, store 가 바뀌면 따라가는 것, 서버 HTML 의is-open을 봐요. 하이드레이션 시험은 hero 와 build 둘로 돌려요.components/sections/InsideGlobe/GlobeViewer.test.tsx: 폰 첫 화면은 0장, 폰 Inside 와 901px 이상 첫 화면은 65장이에요.증거
dev(
152a047)와 이 브랜치를 각각npm run build하고next start로 띄워 크로미움으로 열었어요. 미리 받기가 그리는 사진 65장(builds.ts의 핀마다 첫 3장)의 요청만 세고, load 뒤 5초를 기다렸어요. 폰은 390×844 DPR 3 이에요.9 Mbps, 지연 40 ms, 움직임 줄이기를 켜고 25초 동안 CDP
Network.loadingFinished를 모았어요.탭을 오가도 지구본은 와요(이 브랜치, 각 단계 4초 뒤).
서버가 이제 /build 와 /pattern 에서 기기 미리보기를 그려서 하이드레이션 오류를 찾았어요.
/build?case=simonepda-lasercut,/build,/pattern,/inside/seunghun-korea를 390 과 1440 에서 열어 여덟 번 다 0건이었고,?case=의 제목은 SimonePDA 로 바뀌었어요. 콘솔 오류는 dev 와 같은 것뿐이에요(Vercel 스크립트 404, 컨테이너가 막은 바깥 요청).새 시험은 옛 코드에서 빨개요.
ViewerPanel.tsx만 dev 판으로 돌리면 14개 가운데 4개,GlobeViewer.tsx만 돌리면 3개 가운데 「warms no photo for the hidden globe of a phone’s hero」가expected 65 to be +0으로 실패해요.3D 기기는 두 빌드 다 그려지지 않아요. Draco 디코더를
www.gstatic.com에서 받는데(components/3d/caseModels.ts:77) 이 컨테이너가 막아서예요. dev 의 /build 1440 도 같은 화면이었어요.실행법
폰 폭 390 으로 /build 를 열고 개발자 도구 Network 에서
builds로 거르면 dev 는 65줄, 이 브랜치는 0줄이에요. Inside 를 누르면 65줄이 와요.가정
initialTab을ViewerPanel에 넘겨 첫 장면을 정하고」라고만 해요. 마운트 플래그를 effect 에서 켜는 길은react-hooks/set-state-in-effect가 오류로 잡아서(빈 파일에 그 두 줄을 써서 확인), 탭을 제 state 로 두고 store 구독에서 바꿔요. 구독은ViewerPanel의 effect 에서 걸리는데, HomeView 가 이 칸을 RightPanel 앞에 두어서 RightPanel 의 effect 보다 먼저 돌아요. 그 차례는 주석에 적었어요.ssr: false) 보냈는데, 이제 기기 미리보기의 겉(제목, 안내 글, 화살표, 빈 캔버스)을 보내고 폰에선is-open도 붙어요. 내용 칸은 이미 서버에서viewer-open으로 자리를 비워 두고 있어서, 폰에서 그 빈자리가 하이드레이션 전까지 비어 있던 것이 함께 사라져요.max-width: 900px에서 숨기니 900.5px 같은 폭에선 둘 다 거짓이라 지구본은 보이고 사진은 미리 받지 않아요. 핀을 열면 그때 받아요.HeroScene.tsx:85의useGLTF.preload(model.glb282,620 B)는 손대지 않았어요. 폰 첫 화면과 /inside 에서도 이 모델을 받아요.www.gstatic.com에서 와서(components/3d/caseModels.ts:77), 그 주소가 막힌 곳에선 /build 의 기기가 그려지지 않아요.Changelog
Web
바퀴
바퀴 47 · 후보 3 「Build, Pattern 탭과 폰 첫 화면이 보이지 않는 지구본의 사진 65장을 받지 않는다」
경험
언제: 하이드레이션 뒤에 붙는 그림이나 미리 받기를 줄인 효과를 빌드한 사이트에서 잴 때
교훈: load 이벤트까지의 시간은 그 요청을 담지 않으니, CDP
Network.loadingFinished로 정해진 시간 동안 받은 바이트와 마지막 응답 시각을 dev 빌드와 나란히 잰다근거: #146 에서 9 Mbps 의 load 가 dev 와 이 브랜치 둘 다 1.4초였는데, 25초 동안의 전송량은 폰 /build 에서 10,040,986 B 와 1,621,985 B, 조용해진 때는 9.4초와 2.0초였다
다음 바퀴
null인 요청에 500 대신 400 과 까닭을 돌려준다」: 쓰기 라우트 13곳이null본문에 CORS 머리 없는 500 을 내요.return이나)를 가리키는 오류가 떠요.https://claude.ai/code/session_01KYMmnGwFjuvpEU4bt5bjzD
Generated by Claude Code