fix(B06): 횡단 세월교 · BOX 본체 클릭 = 좌측 본체 상자 고름 · 강조(PLAN 66-1)
- 세월교 바닥판 · 관 판정면 추가 → 「세월교」 상자 강조 · 스크롤 · 그림 바닥판 · 관 붉게 - BOX 구체 가운데 1/3 = 본체 · 양쪽 = 그 끝(유입 · 유출 상자 그대로) - 고름 값에 body 추가(FordPick · BoxPick) · 조정창은 본체에서 안 뜸 - B05 넘김 키 body 도 같은 길 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
* 부재키는 **횡단도가 그 부재를 부르는 이름 그대로**다. 이름이 겹쳐도(배수관 유입 ↔
|
||||
* 세월교 유입) 한 측점에는 시설이 하나뿐이라 헷갈리지 않는다 — 그 측점이 세월교면
|
||||
* 세월교 조정창, BOX암거면 BOX 조정창, 아니면 기슭막이 조정창으로 보낸다.
|
||||
* 본체(`body` — 세월교 월류부 상판·BOX 구체)는 고르는 부재가 아니라 카드까지만 연다.
|
||||
* 본체(`body` — 세월교 월류부 상판·BOX 구체)는 세월교 · BOX 에서 좌측 본체 상자를 고른다(66-1) ·
|
||||
* 그 밖 시설은 카드까지만 연다.
|
||||
*
|
||||
* 세월교·BOX는 조정창 하나가 그 측 부재 여럿(벽·바닥·날개벽·에이프런)을 함께 다루므로
|
||||
* 부재키가 `측이름:부재`(예 `inlet:wall`) 꼴이다 — **앞칸이 조정창 이름**이다. 3D 강조는
|
||||
@@ -29,8 +30,8 @@ interface PickTargets {
|
||||
focusStation: (stationId: string) => void;
|
||||
refreshCard: (chainageM: number) => void;
|
||||
revetSelect: (chainageM: number, key: RevetKey) => void;
|
||||
fordSelect: (chainageM: number, role: "inlet" | "outlet") => void;
|
||||
boxSelect: (chainageM: number, role: "left" | "right") => void;
|
||||
fordSelect: (chainageM: number, role: "inlet" | "outlet" | "body") => void;
|
||||
boxSelect: (chainageM: number, role: "left" | "right" | "body") => void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,12 +64,12 @@ export function applyStructurePick(
|
||||
const key = handoff.key?.split(":")[0];
|
||||
requestAnimationFrame(() => {
|
||||
targets.focusStation(target.station_id);
|
||||
if (!key || key === "body") return;
|
||||
if (!key) return;
|
||||
if (target.ford) {
|
||||
if (key !== "inlet" && key !== "outlet") return;
|
||||
if (key !== "inlet" && key !== "outlet" && key !== "body") return;
|
||||
targets.fordSelect(target.chainage_m, key);
|
||||
} else if (target.box) {
|
||||
if (key !== "left" && key !== "right") return;
|
||||
if (key !== "left" && key !== "right" && key !== "body") return;
|
||||
targets.boxSelect(target.chainage_m, key);
|
||||
} else {
|
||||
if (!REVET_KEYS.test(key)) return;
|
||||
|
||||
Reference in New Issue
Block a user