diff --git a/B06_Section/B06_Section_UI_Page_Structures_Panel.ts b/B06_Section/B06_Section_UI_Page_Structures_Panel.ts index 947fc02b..3cd853c4 100644 --- a/B06_Section/B06_Section_UI_Page_Structures_Panel.ts +++ b/B06_Section/B06_Section_UI_Page_Structures_Panel.ts @@ -104,10 +104,12 @@ export function createB06StructuresPanel(deps: B06StructuresPanelDeps): B06Struc // 값 수정은 B06에서도 받는다 — 조정창 구간값과 같은 저장 경로(캐시 예약 → // [저장]·[확정])로 보낸다. 기준점 이동만 배수유역 재분할이 걸려 B05 몫이다. onPipeUpdate: (fromChainageM, toChainageM, attributes) => { - if (Math.abs(fromChainageM - toChainageM) > 0.005) { - showToast(PIPE_MOVE_GUIDE, "error"); - return; - } + // 위치가 "옮겨졌다"고 볼 기준은 관 매칭과 같은 0.51m다 — 폼의 측점 표기는 + // 0.1m로 반올림되므로 0.005m 기준으로 보면 값만 고쳐도 이동으로 잡힌다 + // (2026-08-29 사용자 보고: 높이만 바꿨는데 이동 안내가 떴다). + const moved = Math.abs(fromChainageM - toChainageM) > PIPE_MATCH_M; + // 이동이라도 함께 온 제원은 반영한다 — 위치만 못 옮길 뿐 같은 데이터다. + if (moved) showToast(PIPE_MOVE_GUIDE, "error"); const patch = attributes.options; if (!patch || !Object.keys(patch).length) return; if (!deps.queuePipeOptions) {