- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.3 KiB
1.3 KiB
type, status, related_pages, page_id, last_updated
| type | status | related_pages | page_id | last_updated | ||
|---|---|---|---|---|---|---|
| page-frontend-sub | draft |
|
B05_Profile | 2026-08-02 |
_UI_Selection — 배수/구조물 3자 선택 동기화
1. 개요 및 역할
- 파일:
B05_Profile/frontend/_UI_Selection.ts(97줄) - 역할: 배수유역(Canvas) ↔ 종단 그래프(SVG) ↔ 좌측 구조물 리스트/폼 ↔ 3D 뷰어 마커 간의 선택(Focus/Active) 상태를 실시간으로 양방향 동기화하여 일관된 시각적 피드백을 제공합니다.
2. 주요 기능 및 함수
bindSelectionSync(options):- 3자 간의 클릭 및 액티브 스테이트 이벤트를 구독하여 선택 상태를 일괄 갱신.
- 특정 요소가 클릭되었을 때 다른 연관 뷰어들이 해당 요소 위치로 스크롤하거나 하이라이트하도록 이벤트 라우팅.
isSyncing가드 플래그:- 양방향 이벤트 전파 과정에서 발생할 수 있는 무한 루프(A 클릭 -> B 선택 -> A 선택 트리거 -> B 선택 트리거...)를 완벽히 가드하여 런타임 콜스택 오버플로우 방지.
3. 의존성
- B05_Profile/frontend/B05_Profile_UI_Page — 전체 레이아웃 상태 관리자
- B05_Profile/frontend/B05_Profile_UI_Drainage_Panel — 배수 패널