feat(B05 배수유역): 369-2 [자동 제안] 두 방식 · [배관 배치 초기화] = 세류선만 초안 · 제안 [적용] = 관경 · 시설만

- 배수유역 머리 [자동 제안] → 고름 창(⚙ 창 틀) ① 전체 자동(all) ② 지정 포함 추가(add) · 낡은 동안 끔
- [배관 배치 초기화] — 저장분 즉시 지움 없앰 · 관 목록 없이 셈(세류선 교차만) · 초안
- 셋 다 답이 오면 세션 초안 + 사진첩 한 걸음(400 ms 넘은 답도 제 걸음)
- 제안 목록 [적용] — 관 자리 후보는 안 더함(점선 원 · 목록 그대로) · 관경 · 시설 제안 없으면 꺼짐
- computeDetailBasins(points | null, auto) · 글 = 툴팁 두 값 고침 · 새 글 끝에 새 키
- 시험 — 349 흐름에 자동 제안 · 347_2 · 298 · 312 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
This commit is contained in:
2026-10-17 12:00:43 +09:00
co-authored by Claude Opus 5.5
parent c52a98a115
commit e5dc007b40
12 changed files with 184 additions and 44 deletions
+24 -4
View File
@@ -34,8 +34,8 @@ export const ui_locales_b2 = {
// (2026-08-19 사용자 지시 4).
B05_Drainage_Btn_Analyze: ["유역 재분할", "Recompute sub-basins"],
B05_Drainage_Btn_Analyze_Tip: [
"B04에서 분석해 둔 배수유역을 불러와, 지금 배치된 배관을 기준으로 세부유역(관이 담당하는 구역)을 다시 나눕니다. 관이 부족한 구간은 자동으로 보충합니다. B04 분석 결과가 없으면 B04에서 먼저 실행해야 합니다.",
"Reloads the B04 drainage analysis and re-splits sub-basins around the current culverts, adding culverts where spacing requires. Run the analysis in B04 first if none exists.",
"B04에서 분석해 둔 배수유역을 불러와, 지금 배치된 배관을 기준으로 세부유역(관이 담당하는 구역)을 다시 나눕니다. 관을 더하지 않습니다 — 간격 보충은 [자동 제안]. B04 분석 결과가 없으면 B04에서 먼저 실행해야 합니다.",
"Reloads the B04 drainage analysis and re-splits sub-basins around the current culverts without adding any — use [Auto suggest] to fill spacing gaps. Run the analysis in B04 first if none exists.",
],
B05_Drainage_Btn_DeleteSelected: ["관 삭제", "Delete selected culvert"],
B05_Drainage_Btn_DeleteSelected_Tip: [
@@ -44,8 +44,8 @@ export const ui_locales_b2 = {
],
B05_Drainage_Btn_Auto: ["배관 배치 초기화", "Reset culvert layout"],
B05_Drainage_Btn_Auto_Tip: [
"손으로 넣거나 옮기거나 지운 배관을 모두 버리고, 계곡부·간격 기준으로 프로그램이 자동 배치한 상태로 되돌립니다. 유역 구획도 함께 다시 나뉩니다.",
"Discards every manual culvert edit and restores the automatic placement (valley crossings + spacing rule); sub-basins are re-split as well.",
"손으로 넣거나 옮기거나 지운 배관을 모두 버리고, 세류선(계곡)이 노선과 만나는 자리에만 배관을 둡니다. 유역 구획도 함께 다시 나뉩니다. 초안이라 [저장] 때 남습니다.",
"Discards every manual culvert edit and keeps culverts only where streams cross the route; sub-basins are re-split as well. This is a draft — it is kept on [Save].",
],
B05_Drainage_Menu_Add: ["배수관 추가", "Add culvert"],
B05_Drainage_Menu_Delete: ["배수관 삭제", "Remove culvert"],
@@ -1047,4 +1047,24 @@ export const ui_locales_b2 = {
],
B06_Std_Note_Rock: ["암", "Rock"],
B06_Std_Note_Paved: ["포장", "Paved"],
B05_Drainage_Btn_Propose: ["자동 제안", "Auto suggest"],
B05_Drainage_Btn_Propose_Tip: [
"관 자리를 프로그램이 정합니다(세류선 교차 + 최대 간격 보충) — 두 방식 중 고름. 초안이라 [저장] 때 남습니다.",
"Let the program place culverts (stream crossings + max spacing rule) — choose one of two ways. This is a draft — it is kept on [Save].",
],
B05_Drainage_Btn_Propose_Stale: [
"노선 · 관 자리가 바뀌어 배수유역이 낡음 — [업데이트] 뒤 자동 제안",
"Drainage basins are out of date — run [Update] first",
],
B05_Drainage_Propose_Title: ["관 자리 자동 제안", "Auto-suggest culvert positions"],
B05_Drainage_Propose_All: ["전체 자동", "Fully automatic"],
B05_Drainage_Propose_All_Hint: [
"세류선 교차 + 최대 간격 규칙으로 관 자리를 새로 정함(같은 자리 관은 시설 · 관경 유지)",
"Re-place every culvert by stream crossings + max spacing (culverts at the same spot keep their facility and size)",
],
B05_Drainage_Propose_Add: ["지정 포함 추가", "Add to my culverts"],
B05_Drainage_Propose_Add_Hint: [
"지금 관은 그대로 두고 간격이 먼 구간에만 관을 더함",
"Keep the current culverts and add culverts only where the spacing is too long",
],
} as const satisfies Record<string, LocaleEntry>;