diff --git a/B06_Section/B06_Section_UI_Cross_Design_Pick.ts b/B06_Section/B06_Section_UI_Cross_Design_Pick.ts index 217f576d1..355e83579 100644 --- a/B06_Section/B06_Section_UI_Cross_Design_Pick.ts +++ b/B06_Section/B06_Section_UI_Cross_Design_Pick.ts @@ -488,22 +488,17 @@ export function attachDesignLinePick(input: { if (axis === "center") return centerShift?.step(dir); if (side && shift) shift.set(side, shiftedExtend(shift.valueOf(side), side, dir, kx)); }; + // 툴팁 = 고른 것의 실제 동작(364-7 · 사면 = 노견째 이동 · 중심점 = 그 측점 노선) + const stepTitle = (screen: "왼쪽" | "오른쪽"): string => + axis === "center" + ? `이 측점 노선을 화면 ${screen}으로 0.1 m` + : `고른 사면을 화면 ${screen}으로 0.1 m(노견째 · 노폭 안쪽은 못 감)`; move.controls.append( - dpadButton( - "◀", - "left", - "고른 사면을 화면 왼쪽으로 0.1 m(노견째 · 노폭 안쪽은 못 감)", - step(-1), - ), + dpadButton("◀", "left", stepTitle("왼쪽"), step(-1)), dpadButton("↺", "reset", "이 쪽 이동 0", () => { if (side && shift) shift.set(side, 0); }), - dpadButton( - "▶", - "right", - "고른 사면을 화면 오른쪽으로 0.1 m(노견째 · 노폭 안쪽은 못 감)", - step(1), - ), + dpadButton("▶", "right", stepTitle("오른쪽"), step(1)), ); // 소단 높이 줄(194-1) — ▲ = 얕게(노면 끝 위 금지 = 0 에서 멈춤) · ▼ = 깊게(사면 끝 앞에서 멈춤) const lift = makeRow("높이"); @@ -574,6 +569,8 @@ export function attachDesignLinePick(input: { move.row.classList.toggle("is-hidden", !sideways); move.controls.classList.toggle("is-hidden", !sideways); move.controls.children[1]?.classList.toggle("is-hidden", axis === "center"); + const [toLeft, , toRight] = move.controls.children as unknown as HTMLElement[]; + [toLeft.title, toRight.title] = [stepTitle("왼쪽"), stepTitle("오른쪽")]; lift.row.classList.toggle("is-hidden", axis !== "depth"); lift.controls.classList.toggle("is-hidden", axis !== "depth"); const sideName = side === "left" ? "(좌)" : "(우)"; diff --git a/resources/tester/test_356_b06_card_center.py b/resources/tester/test_356_b06_card_center.py index 27bc90d82..e3150e9fa 100644 --- a/resources/tester/test_356_b06_card_center.py +++ b/resources/tester/test_356_b06_card_center.py @@ -82,6 +82,11 @@ def test_배선(): pick = (B06 / "B06_Section_UI_Cross_Design_Pick.ts").read_text(encoding="utf-8") assert "center: section.chainage_m," in pick # designLineMoves → 카드 고름 끝 조각 assert 'if (axis === "center") return centerShift?.step(dir);' in pick + # 364-7 덧 — 중심점 ◀▶ 툴팁 = 노선 좌우 · ↺ · 소단 ▲▼ 숨김 + assert "`이 측점 노선을 화면 ${screen}으로 0.1 m`" in pick + assert '[toLeft.title, toRight.title] = [stepTitle("왼쪽"), stepTitle("오른쪽")];' in pick + assert 'move.controls.children[1]?.classList.toggle("is-hidden", axis === "center");' in pick + assert 'lift.row.classList.toggle("is-hidden", axis !== "depth");' in pick order = (B06 / "B06_Section_UI_Cross_Pick_Order.ts").read_text(encoding="utf-8") assert "layer.append(...surfaces, ...edges, ...lines, ...centers);" in order edit = (ROOT / "B05_Profile" / "B05_Profile_UI_RouteEdit.ts").read_text(encoding="utf-8")