perf(B06): 54-22 S1 횡단 보기 ▲▼ 멈춤 되돌림 — 120ms 디바운스 · 종단도 한 번 · 바뀐 카드만

- 횡단 재계산 대기: 횡단 보기 120ms · 종단 보기 16ms 그대로(실시간)
- 계획고 편집 반영 알림을 받은 횡단 보기는 카드만 갈아 끼움 — 종단도는 보낸 쪽이 이미 그림
- 숨은 횡단 보기는 알림 건너뜀 — 다시 보일 때 정합이 카드를 맞춤
- 재계산이 실제 값이 바뀐 측점만 돌려줌 — ▲ 한 번에 66장 전부 갈아 끼우던 것 → 3장
- 실측(sub7_검증 · 66 측점 · 540m ▲): 한 번 최장 577~585 → 58~81ms · 2.5초 길게 누적 1,468 → 236~282ms
- B05 ▲: 50ms 넘는 멈춤 0 · 누른 뒤 55~67ms 반영 · 길게 누름 중 100ms 마다 따라옴

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
2026-10-06 12:38:41 +09:00
co-authored by Claude Opus 5.5
parent c8ca79063c
commit 717c28a956
6 changed files with 105 additions and 9 deletions
@@ -180,7 +180,10 @@ export function createSectionProfile(
profile: {
onSelectStation: (stationId) => host.selectCard(cardOf(stationId)),
callbacks: {
onCrossDesignsUpdated: (updated) => host.refreshCards(updated),
// 숨은 횡단 보기는 건너뜀 — 다시 보일 때 정합이 카드를 맞춤(onShow)
onCrossDesignsUpdated: (updated) => {
if (shared.view() === "cross") host.refreshCards(updated);
},
onStructureMove: (from, to, station) => {
if (isPipeStation(station)) host.edit()?.movePipe(from, to);
},