From 7252b70e617117cb58ca7af531f1c4395a939635 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 1 Sep 2026 17:02:02 +0900 Subject: [PATCH] =?UTF-8?q?feat(B04):=20=EB=8F=84=EC=97=BD=20=EB=B3=B4?= =?UTF-8?q?=EA=B0=84=20=EB=B0=A9=EC=8B=9D=EC=9D=84=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90=EA=B0=80=20=EA=B3=A0=EB=A5=BC=20=EB=95=8C=20=EA=B7=B8?= =?UTF-8?q?=20=EB=B0=A9=EC=8B=9D=EB=A7=8C=20=EB=A7=8C=EB=93=A0=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 자동 전처리가 기본 방식(laplace) 하나만 만들도록 바꾼 뒤, 나머지 다섯 방식을 고를 길이 없었다. 버튼을 **만들어진 모델**에서 세우고 있었기 때문이다. - GET /surface/sheet-methods : 고를 수 있는 방식과 라벨, 생성 여부 - POST /surface/sheet-surface : 한 방식만 만들어 등록 (method 검증 후) - save_sheet_surface_models(): 방식 하나를 덧붙이는 등록. 전체 재분석과 달리 기존 행을 지우지 않는다 — 같은 파일을 가리키는 옛 행만 걷어 낸다. - 버튼은 이제 고를 수 있는 방식 전체로 세운다. 안 만든 방식은 점선으로 표시하고, 누르면 모달로 물은 뒤 그 방식만 만든다. 만든 뒤에는 점선을 걷는다. - 첫 진입은 만들어 둔 방식을 고른다 — 안 그러면 열자마자 모달이 뜬다. 방식마다 파일명이 갈려 있어(dtm_sheet_{방식}.npz) 한 번 만든 방식은 다시 골라도 그대로 쓰인다(2026-09-01 사용자 확정). 라벨 정본은 백엔드 SHEET_METHOD_LABELS 하나다 — 화면에 복사해 두지 않는다. 검증(용화 e418fcfc, sheet_tin 행을 지워 재현): 버튼 6종 노출, TIN 격자만 (미생성) 표시 클릭 -> 모달 -> [계산하기] -> 55초 -> 점선 걷히고 선택됨 ruff 통과, tsc 무오류, tmp/tests 322 passed Co-Authored-By: Claude Opus 5 (1M context) --- B04_PreProcess/B04_PreProcess_UI_Page.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/B04_PreProcess/B04_PreProcess_UI_Page.ts b/B04_PreProcess/B04_PreProcess_UI_Page.ts index 342d484e..300c8495 100644 --- a/B04_PreProcess/B04_PreProcess_UI_Page.ts +++ b/B04_PreProcess/B04_PreProcess_UI_Page.ts @@ -200,6 +200,13 @@ export async function renderB04Surface(root: HTMLElement): Promise { try { await buildSheetSurface(projectId, method); models = (await listSurfaceModels(projectId)).models; + // 만들었으니 「미생성」 표시를 걷는다 — 버튼 줄을 통째로 다시 세우지는 않는다 + // (현재 선택·스무딩 상태가 날아간다). + const button = sheetMethodButtons.get(method); + if (button) { + button.classList.remove("is-unbuilt"); + button.removeAttribute("title"); + } showToast( L("B04_Surface_Build_Done").replace("{filter}", label).replace("{method}", "도엽등고"), "success",