From 0e0dd74e928c30b73b24332d230697a0b50b78a2 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 3 Sep 2026 07:53:32 +0900 Subject: [PATCH] =?UTF-8?q?feat(B05/B06):=20=EC=9C=A0=ED=86=A0=EA=B3=A1?= =?UTF-8?q?=EC=84=A0=20=EC=9A=94=EC=95=BD=EC=A4=84=EC=97=90=20=EC=B5=9C?= =?UTF-8?q?=EC=A2=85=20=EB=88=84=EA=B0=80=ED=86=A0=EB=9F=89=20=EC=B9=A9=20?= =?UTF-8?q?=EC=8B=A0=EC=84=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 평형선·장비 띠·물량 balloon 이 안 생기는 노선에서 그 이유를 화면에서 읽을 수 있게, 곡선 끝의 누가토량을 요약 칩으로 드러냄. 0에 가까울수록 절·성토 균형이며 곡선이 0선을 넘지 않으면 평형선이 서지 않는다는 설명을 툴팁에 담음. 판정·조정은 사용자 몫이라 자동 보정 로직은 두지 않음(2026-09-03 사용자 확정). B05 종단 패널과 B06 횡단 화면이 같은 함수를 쓰므로 양쪽에 함께 반영됨. Co-Authored-By: Claude Opus 5 (1M context) --- common_util/common_util_mass_haul_view.ts | 11 +++++++++++ ui_template/ui_template_locale_b2.ts | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/common_util/common_util_mass_haul_view.ts b/common_util/common_util_mass_haul_view.ts index 957dd1c2..f981e629 100644 --- a/common_util/common_util_mass_haul_view.ts +++ b/common_util/common_util_mass_haul_view.ts @@ -662,6 +662,17 @@ export function createMassHaulSummary( ? [L("B06_MassHaul_Shortage"), `${formatVolume(result.shortage_m3)}㎥`] : [L("B06_MassHaul_Surplus"), `${formatVolume(result.surplus_m3)}㎥`], ); + // 절·성토 균형 지표 — 판정·조정은 사용자 몫이고 프로그램은 값만 드러낸다(2026-09-03 + // 사용자 확정). 곡선이 0선을 넘지 않으면 평형선·운반 블록이 아예 생기지 않으므로, + // 벌룬이 없을 때 왜 없는지를 이 값 하나로 읽을 수 있어야 한다. + const finalCumulative = result.points.length + ? result.points[result.points.length - 1].cumulative_volume_m3 + : 0; + chips.push([ + L("B06_MassHaul_FinalCumulative"), + `${formatVolume(finalCumulative)}㎥`, + L("B06_MassHaul_FinalCumulative_Tip"), + ]); // 토량 분배를 켜 두면 운반 총량·검산이 뒤에 붙는다(사토·토취는 발생 지점 기준 합계). chips.push(...haulPlanChips(haulPlan)); for (const [label, value, tip] of chips) { diff --git a/ui_template/ui_template_locale_b2.ts b/ui_template/ui_template_locale_b2.ts index 08f2f002..4d9e4080 100644 --- a/ui_template/ui_template_locale_b2.ts +++ b/ui_template/ui_template_locale_b2.ts @@ -348,6 +348,14 @@ export const ui_locales_b2 = { B06_MassHaul_Shortage: ["토취", "Borrow"], /* 운반계획 도면은 다짐상태 기준으로 계산한다(국도건설공사 설계실무 요령). */ B06_MassHaul_Basis: ["다짐상태 기준", "Compacted basis"], + /* 최종 누가토량 = 절·성토 균형 지표. 판정·조정은 사용자 몫이고 프로그램은 값만 드러낸다 + (2026-09-03 사용자 확정). 실무 유토곡선 6건 관측치는 +49~+324㎥ 범위다 + — resources/knowledge/technical_info/01_임도/03_계산정보/유토곡선_토량배분.md §3 */ + B06_MassHaul_FinalCumulative: ["최종 누가토량", "Final cumulative"], + B06_MassHaul_FinalCumulative_Tip: [ + "노선 끝의 누가토량 — 0에 가까울수록 절·성토 균형. 곡선이 0선을 넘지 않으면 평형선·운반 블록이 생기지 않습니다.", + "Cumulative volume at the end of the route — the closer to zero, the better cut/fill balance. No balance lines or haul blocks appear while the curve never crosses zero.", + ], B06_MassHaul_AllHidden: [ "표시할 곡선을 하나 이상 켜 주세요.", "Turn on at least one curve to display.",