feat(B05): 측점 눈금을 누르면 그 측점 횡단 미리보기 창

- 원지반 횡단선·기본 계획 횡단선·성토사면 길이 셋만 보임, 구조물은 안 그림 (계획서 0-9 ⑧)
- 서버 `POST /route/cross-preview` 가 `generate_sections`+`compute_cross_design` 정본을 재사용
- 계획고는 편집 중에 없어 그 측점 지반고를 그대로 놓음(지반 추종) — 창에 그렇게 적음
- 성토사면 길이는 B06 화면이 쓰는 `fillSlopeLengths` 를 그대로 부름
- 700줄 규정에 맞춰 곡선 패널 배선을 `_CurveBar.ts` 로 분리

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jsXWphgRUHAG2mFupSKPX
This commit is contained in:
2026-09-12 14:39:35 +09:00
co-authored by Claude Opus 5
parent d02f7cf6e2
commit 332948694e
7 changed files with 705 additions and 87 deletions
@@ -241,3 +241,53 @@
color: var(--color-text-secondary);
line-height: 1.35;
}
/* ── 측점 횡단 미리보기 창 (계획서 0-9 ⑧) ────────────────────────────────
곡선 조작 패널과 같은 까닭으로 `document.body` 에 띄운다 — 모달이 `overflow: hidden`
이라 안에 두면 가장자리에서 잘린다. 머리를 잡아 옮길 수 있다. */
.b05-routeedit__cross {
position: fixed;
z-index: calc(var(--z-modal, 1000) + 2);
display: flex;
flex-direction: column;
gap: var(--spacing-8, 8px);
width: 452px;
padding: var(--spacing-8);
border: 1px solid var(--color-border);
border-radius: var(--radius-8, 6px);
background: var(--color-surface-raised);
box-shadow: 0 8px 28px rgb(0 0 0 / 40%);
}
.b05-routeedit__cross-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--spacing-8, 8px);
cursor: move;
touch-action: none;
}
.b05-routeedit__cross-close {
padding: 0 6px;
border: 1px solid var(--color-border);
border-radius: var(--radius-4, 4px);
background: transparent;
color: var(--color-text-secondary);
cursor: pointer;
}
.b05-routeedit__cross-canvas {
display: block;
width: 100%;
height: auto;
border: 1px solid var(--color-border);
border-radius: var(--radius-4, 4px);
background: var(--color-surface);
}
.b05-routeedit__cross-foot {
color: var(--color-text-secondary);
font-size: var(--text-caption);
line-height: 1.5;
}