From 155641a7823a288c7997bca158fa6b25731883c3 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 6 Sep 2026 19:04:50 +0900 Subject: [PATCH] =?UTF-8?q?fix(B06):=20=EA=B5=AC=EC=A1=B0=EB=AC=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=8B=9C=20=EC=9C=A0=ED=86=A0=EA=B3=A1?= =?UTF-8?q?=EC=84=A0=EB=8F=84=20=EA=B0=99=EC=9D=B4=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 유토곡선은 카드보다 먼저 계산돼, 구조물을 넣으면 카드 면적만 바뀌고 최종 누가토량은 옛 값으로 남았음. 구조물이 바뀌면 면적을 먼저 다시 얹고 그리게 순서를 바로잡음. 검증: 3+0.0 성토 8.06 → 5.73㎡, 최종 누가토량 553.4 → 546.4㎥ (저장 전, 즉시). Co-Authored-By: Claude Opus 5 (1M context) --- B06_Section/B06_Section_UI_Page.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/B06_Section/B06_Section_UI_Page.ts b/B06_Section/B06_Section_UI_Page.ts index 900c0e7d..d21dccf7 100644 --- a/B06_Section/B06_Section_UI_Page.ts +++ b/B06_Section/B06_Section_UI_Page.ts @@ -62,6 +62,7 @@ import { wallSpecsFrom, type WallStructureInput, } from "@util/common_util_structure_walls"; +import { applyStructureAreaRows, structureAreaRows } from "./B06_Section_Structure_Layouts"; import { fetchStructureTypes, readPendingStructures, @@ -361,6 +362,15 @@ export async function renderB06ProfileCross(root: HTMLElement): Promise { if (!projectId || currentRouteId === null) return; try { await applyDraftWalls(sectionDetail); + // 면적을 **먼저** 다시 얹는다 — 유토곡선은 카드보다 앞서 계산되므로, 카드 렌더가 + // 고치는 것만으로는 곡선이 옛 면적으로 남는다(2026-09-06 실측: 카드는 바뀌는데 + // 최종 누가토량이 그대로였음). + if (sectionDetail) { + applyStructureAreaRows( + sectionDetail.cross_sections, + structureAreaRows(sectionDetail.cross_sections), + ); + } renderSectionDetail(); } catch (error) { const detail = error instanceof Error ? ` ${error.message}` : "";