Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_3' into main_laptop_1

This commit is contained in:
2026-10-17 18:07:39 +09:00
3 changed files with 18 additions and 3 deletions
@@ -143,7 +143,7 @@ function createPane(title: string, empty: string): CrossPane {
let chrome = 0;
let interval = 20;
function drawCard(preview: CrossPreviewResponse, from: RouteCrossSource): void {
const plotHeight = (): number => Math.max(120, (size.height || 150) - chrome);
const plotHeight = (): number => Math.max(120, (box.clientHeight || 150) - chrome); // 테두리 안쪽
const build = (): HTMLElement => {
const card = routeCrossCard(
from,
@@ -6,7 +6,7 @@
* · 자료 = 새 노선 상세(계산 묶음) · 없으면 받아 둔 저장 상세 · 노선 초안 중 새 상세가 아직 없으면 없음
* (판은 옛 선 그림 `_Cross_Draw` 로 · 종단 임시 횡단 창도 그것 그대로)
* · 단면 사본(station_id 앞머리 · design 사본) — B06 고름 · 줌 기억 · 면적 원본을 안 건드림
* · 구조물 자리 = 정본만 읽는 제어기(`Structure_Layouts` · 세월교 · 박스 조정값) · 누름 막음(줌 단추만)
* · 구조물 자리 · 암 경계 = 정본만 읽는 제어기(`Structure_Layouts` · 세월교 · 박스 조정값) · 누름 막음(줌 단추만)
* ========================================================================== */
import "../B06_Section/B06_Section_UI_Style_Cross_Controls.css";
@@ -26,6 +26,7 @@ import { culvertLinkFor, type CulvertLink } from "../B06_Section/B06_Section_UI_
import { fordAdjustOf } from "../B06_Section/B06_Section_UI_Cross_Ford_Geom";
import type { FordControl } from "../B06_Section/B06_Section_UI_Cross_Ford_Panel";
import { createCrossSectionCard } from "../B06_Section/B06_Section_UI_Cross_View";
import type { RockBoundaryControl } from "../B06_Section/B06_Section_UI_Cross_Design";
import { designElevationAt } from "../B06_Section/B06_Section_UI_Section_Common";
/** 판 하나가 그릴 측점 — 그때 사본(이전 판으로 내려도 그대로). */
@@ -37,6 +38,15 @@ export interface RouteCrossSource {
const none = (): void => undefined;
/** 암 경계선 = 정본 오프셋(없으면 기본 −0.5 · 0 을 넘지 않음 — B06 저장소 규칙) · 조정 없음. */
const rockBoundary: RockBoundaryControl = {
stepM: 0.1,
defaultOffsetM: -0.5,
offsetFor: (section) => Math.min(section.design?.rock_boundary_offset_m ?? -0.5, 0),
adjust: none,
reset: none,
};
/** 그 측점 단면 사본 — 상세가 없거나(초안 중 새 상세 전) 측점이 없으면 null. */
export function routeCrossSource(
projectId: string,
@@ -106,7 +116,7 @@ export function routeCrossCard(
plotHeightPx,
source.designZ,
undefined,
undefined,
rockBoundary,
null,
undefined,
undefined,
@@ -262,6 +262,11 @@
cursor: default;
}
/* 발 줄 조정 단추(암 경계 등) = 읽기 전용이라 숨김 */
.b05-routeedit__cross-box > .b06-cross-card > footer button {
display: none;
}
.b05-routeedit__cross-svg {
display: block;
width: 100%;