From f8086e786d56f05c5d82378f35ccb07ef098faaf Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 30 Aug 2026 12:16:50 +0900 Subject: [PATCH] =?UTF-8?q?fix(B06):=20=EC=84=B8=EC=9B=94=EA=B5=90=20?= =?UTF-8?q?=EC=9B=94=EB=A5=98=20=EB=86=92=EC=9D=B4=EA=B0=80=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EA=B3=84=EC=82=B0=EB=90=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EB=8D=98=20=EA=B2=83=EC=9D=84=20=EA=B3=A0=EC=B9=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit B06 좌측 폼이 계곡 통과 시설 목록을 만들 때 `design_flow_m3s: null`을 그대로 박아 넣고 있었다. 개략 단면(필요 수심 = 월류 높이 자동값)은 담당 유역의 설계 유량에서 나오므로, 값이 없으면 "담당 유역의 설계유량이 아직 없습니다" 안내만 뜨고 월류 폭을 넣어도 높이가 채워지지 않았다. 같은 응답(`/drainage/pipe-points`)에 유역(`basins`)이 함께 오므로 B05 (`B05_Profile_UI_Drainage_Panel`)와 같은 규칙 — 누가거리 0.51m 이내 짝짓기 — 으로 설계유량을 실어 준다. 자체검증(공용 브라우저 5174, 측점 7+9.7 세월교): - tsc --noEmit 통과. - 벽 선택 시 안내문 "설계유량 36.734 ㎥/s · 필요 수심 0.39 m · 필요 단면 3.89 ㎡ · 유속 9.43 m/s", 월류 높이 칸 자동 0.39 (수정 전 빈 칸). - 월류 폭 10→5 → 필요 수심 0.63으로 다시 계산되고 높이도 0.63으로 올라간다. (폭을 10으로 되돌려도 0.63은 유지 — 계산값 이상은 사용자 입력으로 본다는 기존 규칙 그대로다.) - 조작값은 원래대로(폭 10·높이 0.39) 되돌려 놓았다. Co-Authored-By: Claude Opus 5 (1M context) --- B06_Section/B06_Section_UI_Page_Structures_Panel.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/B06_Section/B06_Section_UI_Page_Structures_Panel.ts b/B06_Section/B06_Section_UI_Page_Structures_Panel.ts index 710fef64..991529df 100644 --- a/B06_Section/B06_Section_UI_Page_Structures_Panel.ts +++ b/B06_Section/B06_Section_UI_Page_Structures_Panel.ts @@ -298,7 +298,13 @@ export function createB06StructuresPanel(deps: B06StructuresPanelDeps): B06Struc deps.wallHeight, deps.wallForm, ), - design_flow_m3s: null, + // 담당 유역의 설계유량 — 물넘이·세월교 개략 단면(필요 수심 = 월류 높이 + // 자동값)이 이 값에서 나온다. B05와 같은 규칙으로 유역을 측점으로 짝짓는다 + // (2026-08-30 사용자: 월류 폭을 넣어도 높이가 자동 계산되지 않았다). + design_flow_m3s: + pipeResponse.basins.find( + (basin) => Math.abs(basin.chainage_m - pipe.chainage_m) < PIPE_MATCH_M, + )?.design_flow_m3s ?? null, })); section.setPipeFacilities(pipeFacilities); } catch (error) {