eomsangdon and Claude Opus 5
0b30f5b035
perf(B05,B06): 지형 표고를 레이캐스팅 대신 격자 색인으로 · 카드 버튼줄 레이아웃 스래싱 제거
...
B05 진입이 간헐적으로 13~14초 멎던 원인을 CDP 프로파일로 잡음. 13,537ms 중
getVertexPosition 3,267 + intersectTriangle 3,178 + checkGeometryIntersection 3,012
+ _computeIntersections 2,198 = 11.6초가 three.js 레이캐스팅이었음.
- terrainElevation 이 점마다 Raycaster 로 지형 높이를 찾고 있었음(한 번 쏠 때마다
삼각형 전수 훑기). 마커·측점선이 점마다 부르는 자리라 곱해짐. 이미 있던
TerrainHeightIndex(격자 색인)로 돌리고, 색인도 지형과 한 벌로 보관(빌드 O(삼각형)).
같은 교훈을 2026-08-23 비탈 투영에서 겪어 색인을 만들어 뒀는데 이 함수만 옛 길이었음.
- B06 카드 버튼줄 reflow 의 레이아웃 스래싱 제거 — 한 칸 옮길 때마다 scrollWidth 를
다시 읽어 매번 강제 레이아웃을 냈음(카드 67장마다). 읽기/쓰기를 갈라 폭을 한 번만
재고 옮길 개수를 계산. ResizeObserver 첫 호출도 건너뜀(rAF 와 겹쳐 두 번 돌았음).
- get_section_context·get_section_detail 의 순차 읽기를 asyncio.gather 로 묶음
(원격 DB 왕복 약 12ms/질의).
자체검증(공용 브라우저 4왕복) — B05 진입 14,708/1,060/14,841 -> 1,269/806/726/746ms.
급등 사라짐. B06 진입 2,884 -> 2,330~2,864ms(긴 작업 합 2,313 -> 1,853).
시험 400 통과·17 건너뜀, typecheck 통과.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 22:22:08 +09:00
..
2026-09-06 15:07:47 +09:00
2026-09-06 20:25:12 +09:00
2026-09-06 18:14:29 +09:00
2026-09-06 11:48:40 +09:00
2026-09-04 21:22:27 +09:00
2026-09-06 14:20:54 +09:00
2026-08-08 10:03:11 +09:00
2026-08-08 10:03:11 +09:00
2026-09-06 11:55:22 +09:00
2026-09-06 11:55:22 +09:00
2026-08-08 10:03:11 +09:00
2026-09-06 11:55:22 +09:00
2026-09-02 16:15:25 +09:00
2026-09-02 16:15:25 +09:00
2026-09-06 15:02:58 +09:00
2026-09-06 11:55:22 +09:00
2026-08-08 10:03:11 +09:00
2026-08-30 19:38:24 +09:00
2026-08-08 10:03:11 +09:00
2026-08-08 10:03:11 +09:00
2026-09-06 12:07:56 +09:00
2026-09-06 21:20:55 +09:00
2026-09-04 21:22:27 +09:00
2026-09-06 18:14:29 +09:00
2026-09-02 16:20:17 +09:00
2026-09-02 19:30:16 +09:00
2026-08-28 19:09:28 +09:00
2026-09-01 20:18:33 +09:00
2026-08-24 19:56:40 +09:00
2026-09-01 20:18:33 +09:00
2026-08-28 12:54:45 +09:00
2026-09-02 16:52:38 +09:00
2026-09-02 16:52:38 +09:00
2026-09-02 10:50:10 +09:00
2026-09-02 11:27:25 +09:00
2026-08-27 22:32:01 +09:00
2026-09-02 12:06:54 +09:00
2026-09-04 21:22:27 +09:00
2026-08-25 20:03:42 +09:00
2026-09-04 15:04:38 +09:00
2026-08-27 22:13:26 +09:00
2026-08-27 22:13:26 +09:00
2026-08-27 18:42:15 +09:00
2026-08-27 18:42:15 +09:00
2026-08-23 13:58:00 +09:00
2026-09-03 13:29:29 +09:00
2026-08-28 12:54:45 +09:00
2026-09-04 15:32:10 +09:00
2026-09-02 16:52:38 +09:00
2026-08-29 12:01:22 +09:00
2026-09-04 15:32:10 +09:00
2026-09-04 15:32:10 +09:00
2026-08-23 13:11:49 +09:00
2026-08-26 17:18:47 +09:00
2026-09-06 21:07:11 +09:00
2026-08-19 19:46:03 +09:00
2026-08-30 12:05:22 +09:00
2026-08-30 12:23:38 +09:00
2026-09-04 19:08:11 +09:00
2026-09-02 16:52:38 +09:00
2026-09-06 20:25:12 +09:00
2026-09-06 11:42:19 +09:00
2026-08-19 18:32:55 +09:00
2026-09-04 19:08:11 +09:00
2026-08-17 17:09:05 +09:00
2026-09-06 11:32:29 +09:00
2026-09-06 20:25:12 +09:00
2026-09-06 11:48:40 +09:00
2026-09-06 18:38:04 +09:00
2026-09-06 21:07:11 +09:00
2026-09-06 18:14:29 +09:00
2026-09-06 11:55:22 +09:00
2026-09-06 19:44:59 +09:00
2026-08-17 14:05:32 +09:00
2026-09-04 17:02:07 +09:00
2026-08-17 18:51:21 +09:00
2026-09-04 07:11:41 +09:00
2026-09-06 11:28:23 +09:00
2026-09-06 20:58:04 +09:00
2026-09-02 20:34:18 +09:00
2026-09-04 07:11:41 +09:00
2026-09-04 11:12:05 +09:00
2026-09-06 20:58:04 +09:00
2026-09-03 09:50:14 +09:00
2026-09-06 17:07:01 +09:00
2026-09-03 20:42:23 +09:00
2026-09-03 20:32:46 +09:00
2026-09-02 19:30:16 +09:00
2026-09-06 11:28:23 +09:00
2026-09-06 17:07:01 +09:00
2026-09-04 07:11:41 +09:00
2026-09-06 16:43:01 +09:00
2026-09-04 18:14:59 +09:00
2026-09-06 18:14:29 +09:00
2026-09-04 15:04:38 +09:00
2026-09-06 11:50:00 +09:00
2026-08-18 19:51:08 +09:00
2026-09-03 15:47:16 +09:00
2026-09-04 16:27:35 +09:00
2026-09-06 19:28:44 +09:00
2026-09-04 11:37:46 +09:00
2026-09-04 11:37:46 +09:00
2026-09-04 16:27:35 +09:00
2026-09-04 16:27:35 +09:00
2026-08-28 12:16:38 +09:00
2026-09-04 10:07:17 +09:00
2026-09-06 17:07:01 +09:00
2026-09-06 18:14:29 +09:00
2026-09-06 19:28:44 +09:00
2026-09-04 18:14:59 +09:00
2026-09-06 11:37:59 +09:00
2026-09-04 19:13:46 +09:00
2026-09-04 15:04:38 +09:00
2026-09-04 19:13:46 +09:00
2026-08-19 18:32:55 +09:00
2026-09-04 19:13:46 +09:00
2026-09-06 22:22:08 +09:00
2026-09-06 15:04:40 +09:00