fix(B05·B06): 지형 격자 자리 = 서버 표본기와 같은 params DTM 행 · 격자 없는 지형 안 닫힌 측점 「지형 범위 밖」 배지 (PLAN 578-1 · 요구 438 · 439)
- 까닭: 확정 모델 행이 stage 1 params 와 어긋나면(검증_sub1 확정 = sheet · params = classification) terrain-sources 의 grid = null → 브라우저는 미교차 넓힘을 못 하고 ±20 m 에서 멈춤 · 서버 표본기 · Node /calc 는 params 를 따라 넓힘 → 소단 밀린 측점 화면 ≠ 저장
- 고침: `_confirmed_model` → `_design_model` — params 의 `dtm_{filter}.npz` DTM 행(확정 행 먼저) · 표본 폭 상수는 그대로(통째 격자가 이미 최대)
- 횡단 카드: 격자 없는(DTM 아닌) 지형에서 사면 미교차 = 부품 배지 「지형 범위 밖」(값은 [저장] 때 서버)
- 시험: test_344_1_terrain_grid_route 에 어긋난 확정 행 지킴 · test_133_1 · test_505_2 바뀐 이름
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
* 만든다. 여기 있는 것은 전부 **읽어서 붙이는 값**이라 카드 상태(줌·선택)를 건드리지 않는다.
|
||||
* ========================================================================== */
|
||||
|
||||
import { currentProjectId } from "../A00_Common/b_project_switch";
|
||||
import { designTerrainGridNow } from "../B05_Profile/B05_Profile_Api_TerrainGrid";
|
||||
import type { CrossSection } from "./B06_Section_Api_Fetch";
|
||||
import { buildCutSlopeControl, type CutSlopeControl } from "./B06_Section_UI_Cross_CutSlope";
|
||||
import { buildDesignControls, sectionModeLabel } from "./B06_Section_UI_Cross_Design";
|
||||
@@ -108,7 +110,15 @@ export function appendCardHeader(
|
||||
meta.className = "b06-cross-card__meta";
|
||||
// 사면이 계산 반폭 끝까지 원지반을 못 만난 측점 — 면적이 거기서 잘려 유토곡선까지
|
||||
// 그 값을 쌓는다. 계산은 손대지 않고 사실만 알린다(2026-09-03 사용자 확정).
|
||||
if (section.design?.slope_unclosed) {
|
||||
// 지형 격자가 없으면(DTM 아닌 지형) 브라우저는 받은 표본 끝에서 멈춤 — 값은 [저장] 때 서버가 넓혀 셈(578-1)
|
||||
if (section.design?.slope_unclosed && !designTerrainGridNow(currentProjectId())) {
|
||||
const outside = document.createElement("span");
|
||||
outside.className = "ui-badge ui-badge--pill ui-badge--warning b06-cross-card__outside";
|
||||
outside.setAttribute("data-size", "20");
|
||||
outside.textContent = L("B06_Cross_TerrainOutside");
|
||||
outside.title = L("B06_Cross_TerrainOutside_Tip");
|
||||
meta.append(outside);
|
||||
} else if (section.design?.slope_unclosed) {
|
||||
const openSlope = document.createElement("span");
|
||||
openSlope.className = "b06-cross-card__warning";
|
||||
openSlope.textContent = `⚠ ${L("B06_Cross_SlopeUnclosed")}`;
|
||||
|
||||
Reference in New Issue
Block a user