diff --git a/B05_Profile/B05_Profile_UI_RouteEdit_CurveBar.ts b/B05_Profile/B05_Profile_UI_RouteEdit_CurveBar.ts index d2ebe8cc1..87dc69dc4 100644 --- a/B05_Profile/B05_Profile_UI_RouteEdit_CurveBar.ts +++ b/B05_Profile/B05_Profile_UI_RouteEdit_CurveBar.ts @@ -123,8 +123,8 @@ export function createCurveBar(params: CurveBarParams): CurveBar { params.container, ); - /** 넣은 값을 다 못 그렸으면 상태줄 글을 넣은 값 · 그린 값 · 까닭으로(398-2) — 접선은 앞뒤 직선 - * 짧은 쪽 절반까지(`buildEditedPolyline` · 서버 짝 같은 규칙)라 큰 R 은 조용히 눌렸다. */ + /** 넣은 값을 다 못 그렸으면 상태줄 글을 넣은 값 → 그린 값 · 까닭으로(398-2 · 상태줄 두 줄 안) — 접선은 + * 앞뒤 직선 짧은 쪽 절반까지(`buildEditedPolyline` · 서버 짝 같은 규칙)라 큰 R 은 조용히 눌렸다. */ function noteShortfall(message: string, name: "반지름" | "곡선 길이"): void { const { picked, curveRadius, curveInfo, nodeInfo } = params.state(); const asked = curveRadius[picked]; @@ -136,8 +136,7 @@ export function createCurveBar(params: CurveBarParams): CurveBar { if (!status) return; status.textContent = (status.textContent ?? "").replace( message, - `${name} ${m(asked * per)}를 넣었지만 ${m(drawn.radius_m * per)}로 그렸습니다 — ` + - `앞뒤 직선 짧은 쪽(${m(drawn.tangent_m * 2)})의 절반까지만 접선이 들어갑니다.`, + `${name} ${m(asked * per)} → ${m(drawn.radius_m * per)}(앞뒤 직선이 짧아 접선 자리 모자람)`, ); } diff --git a/resources/tester/test_398_2_curve_input.py b/resources/tester/test_398_2_curve_input.py index ff5f488f9..4d3cce911 100644 --- a/resources/tester/test_398_2_curve_input.py +++ b/resources/tester/test_398_2_curve_input.py @@ -59,9 +59,9 @@ def test_스냅_켬_MC_가_측점에(got) -> None: def test_접선_자리_모자람_칸은_그린_값_상태줄_까닭(got, snap) -> None: row = got[snap] assert row["capR"] < 60 and row["capShown"] == pytest.approx(row["capR"]) - assert f"반지름 60m를 넣었지만 {round(row['capR'], 1)}m로 그렸습니다" in row["capStatus"] - assert "절반까지만 접선이 들어갑니다." in row["capStatus"] - assert "곡선 길이 40m를 넣었지만" in row["capArcStatus"] + want = f"반지름 60m → {round(row['capR'], 1)}m(앞뒤 직선이 짧아 접선 자리 모자람)" + assert want in row["capStatus"] + assert "곡선 길이 40m → " in row["capArcStatus"] assert "반지름을 자동으로 되돌렸습니다." in row["autoStatus"] # 빈 값 = 자동 · 까닭 없음