Merge remote-tracking branch 'origin/dev' into sub_laptop_8

This commit is contained in:
2026-10-10 15:38:11 +09:00
9 changed files with 325 additions and 10 deletions
+3
View File
@@ -97,6 +97,9 @@ export function resolveSelection<T extends SelectableStructure>(
return { pipeChainageM: null, structureId: hit?.structure_id ?? null };
}
/** 측점 하나 고름(횡단 카드 · 종단 측점선)이 덮어 열어도 되는 군 — 노면공(G군)은 뺌(152-5 · B05 = B06 216-1). */
export const coversAtStation = (group: string | undefined): boolean => group !== "G";
/* ── 세션 값 + 알림 ─────────────────────────────────────────────────────── */
interface Stored {
+12 -1
View File
@@ -31,7 +31,13 @@ import {
restoreStructurePick,
wireStructurePick,
} from "../../B05_Profile/B05_Profile_UI_Structure_Pick_Session";
import { NO_SELECTION, nearestWithin, readSelection, selectDesign } from "./design_selection";
import {
coversAtStation,
NO_SELECTION,
nearestWithin,
readSelection,
selectDesign,
} from "./design_selection";
import type { DesignPageHost } from "./design_page";
import {
bindDesignView,
@@ -223,6 +229,11 @@ export async function mountProfileView(
selectMarker: (id) => viewer.markers.selectStation(id),
selectGraph: (id, chainageM) => selectGraphAt(id, chainageM ?? null),
selectSidebar: (chainageM) => panel.structures.selectPipeByChainage(chainageM),
// 측점선 · 3D 띠 고름 = 횡단 카드 고름(B06 showAtChainage)과 같은 규칙 · 같은 함수(216-1)
openAtStation: (chainageM) =>
panel.structures.selectAt({ chainageM, structureId: null }, (entry) =>
coversAtStation(bridge.typeGroup(entry.type_id)),
),
selectBasin: (chainageM) => profilePanel.drainage.selectBasinByChainage(chainageM),
selectPipeForm: (chainageM) => profilePanel.drainage.selectPipeAtChainage(chainageM),
markStation: (chainageM) => profilePanel.drainage.markStation(chainageM),