feat(B06 횡단): 절·성토 바뀜 자리 원 작게 — 점 8 → 5 px · 잡는 범위 그대로 (435-1)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
This commit is contained in:
2026-10-18 17:01:07 +09:00
co-authored by Claude Sonnet 5.5
parent 22eff5b851
commit 458ba4f453
3 changed files with 9 additions and 3 deletions
@@ -39,6 +39,8 @@ const DESIGN_CLASS = "b06-chart__design-cross";
const HIT_CLASS = "b06-chart__design-hit";
/** 교차점 손잡이 원(370-2) — 중심점 판정 원 클래스에 덧붙임(고르기 차례 같음). */
const TOE_CLASS = "b06-chart__toe-hit";
/** 바뀜 자리 점 반지름(px) — 옛 8 의 약 60 %(435). */
const TOE_DOT_RADIUS_PX = 5;
/** 암 경계선 점선 · 그 위 판정 선(370-3 · 판정 선은 보라 선 판정 클래스에 덧붙임). */
const ROCK_LINE_CLASS = "b06-chart__rock-boundary";
export const ROCK_HIT_CLASS = "b06-chart__rock-hit";
@@ -507,6 +509,7 @@ export function attachDesignLinePick(input: {
const toe = input.toes?.[at] as { offset_m: number; elevation_m: number };
const hit = centerHit(x(toe.offset_m), toDisplayY(toe.elevation_m));
hit.classList.add(TOE_CLASS);
hit.setAttribute("r", String(TOE_DOT_RADIUS_PX)); // 보이는 점 5 px · 잡는 범위는 CSS 굵은 투명 테두리로 8.75 px 유지(435)
hits.push(hit);
}
// 암 경계선(370-3) — 점선(`appendRockBoundaryOverlay`) 위 판정 선 하나(끊긴 토막도 한 path) · 키 rock
@@ -111,13 +111,14 @@
/* 교차점 손잡이(370-2 · 414-1) — 절 ↔ 성 바뀜 자리 작은 원 · 평소 투명 · 올리거나 고르면 채움. */
.b06-chart__toe-hit {
stroke-width: 1.5;
/* 점 r 5 + 굵은 투명 테두리 → 잡는 범위 반지름 8.75 px(옛과 같음 · 435) */
stroke-width: 7.5;
}
.b06-chart__toe-hit:hover,
.b06-chart__toe-hit.is-active {
fill: var(--color-royal-amethyst);
stroke: var(--color-royal-amethyst);
stroke: transparent;
cursor: pointer;
}
+3 -1
View File
@@ -106,7 +106,9 @@ def test_정확히_0_자리는_절성토_없음_사면처럼_고름(out) -> None
"""379-1 — 멈춘 자리(노견 끝 = 원지반) 손잡이를 누르면 사면과 같은 조작."""
zero = out["zero"]
assert zero["bare"]["right"] is True and zero["nearBare"]["right"] is False
assert zero["toe"] is True and zero["radius"] == "8" # 판정 원 8 px
assert (
zero["toe"] is True and zero["radius"] == "5"
) # 보이는 점 5 px(435 · 잡는 범위는 CSS 테두리로 8.75 유지)
assert zero["title"] == "사면 이동 (우)"
assert zero["value"].startswith("절·성토 없음 · 노선에서 ")
assert zero["buttons"] == ["left", "reset", "right"] # ◀↺▶