style(B03): 계획노선 미리보기 — 범위 점선 상자 제거, 실선 녹색

- 계획노선처럼 그릴 선이 있는 자료에는 범위 점선 상자를 그리지 않음.
  점구름·래스터는 그대로 상자를 그림.
- 노선 선 색을 녹색으로. 지형 범위를 벗어나면 붉은 경고색으로 덮어쓰는
  규칙은 유지.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-04 22:58:45 +09:00
co-authored by Claude Opus 5
parent 5666086c6e
commit 0ea75e512f
2 changed files with 16 additions and 11 deletions
+13 -10
View File
@@ -302,16 +302,19 @@ export function renderSlotPreview(host: HTMLElement, options: PreviewOptions): v
svg.setAttribute("role", "img");
const project = projector(extent);
// 자료가 덮는 땅 범위 — 어느 자료든 늘 그린다.
const [rectX, rectTop] = project(extent.xMin, extent.yMax);
const [rectRight, rectBottom] = project(extent.xMax, extent.yMin);
const rect = document.createElementNS(SVG_NS, "rect");
rect.setAttribute("class", "b03-file__preview-extent");
rect.setAttribute("x", String(rectX));
rect.setAttribute("y", String(rectTop));
rect.setAttribute("width", String(rectRight - rectX));
rect.setAttribute("height", String(rectBottom - rectTop));
svg.append(rect);
// 자료가 덮는 땅 범위 — 그릴 도형이 없는 자료에만 그린다. 계획노선은 선 자체가
// 범위를 보여 주므로 점선 상자를 빼고 선만 남긴다(2026-09-04 사용자 지시).
if (!path) {
const [rectX, rectTop] = project(extent.xMin, extent.yMax);
const [rectRight, rectBottom] = project(extent.xMax, extent.yMin);
const rect = document.createElementNS(SVG_NS, "rect");
rect.setAttribute("class", "b03-file__preview-extent");
rect.setAttribute("x", String(rectX));
rect.setAttribute("y", String(rectTop));
rect.setAttribute("width", String(rectRight - rectX));
rect.setAttribute("height", String(rectBottom - rectTop));
svg.append(rect);
}
let label = L("B03_File_Preview_Extent");
// 라이다 탑뷰 점 그림 — 분석기가 훑는 길에 주워 둔 XY 를 그대로 찍는다.
+3 -1
View File
@@ -679,7 +679,9 @@
.b03-file__preview-route {
fill: none;
stroke: var(--color-primary, #4a3aff);
/* 계획노선 선 색 — 녹색(2026-09-04 사용자 지시). 지형 범위를 벗어나면 아래에서
붉은색으로 덮어써 경고로 쓴다. */
stroke: var(--color-success, #16a34a);
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.5;