From bdd6255763cbcd7bea7117ce890ee94f1b5f9dc0 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 16 Oct 2026 17:06:58 +0900 Subject: [PATCH] =?UTF-8?q?fix(=EA=B3=84=EC=82=B0=EB=AC=B6=EC=9D=8C):=2034?= =?UTF-8?q?9-0r=20cross=20=EC=9E=85=EB=A0=A5=EC=97=90=20=EC=95=94=20?= =?UTF-8?q?=EA=B2=BD=EA=B3=84=20=EA=B8=B0=EB=B3=B8=EA=B0=92=20=E2=80=94=20?= =?UTF-8?q?=EC=B4=88=EC=95=88=20=EC=83=88=20=EC=B8=A1=EC=A0=90=EB=8F=84=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20config=20=EA=B0=92(=ED=99=94=EB=A9=B4?= =?UTF-8?q?=EC=9D=B4=20=EB=AC=B8=EB=A7=A5=EC=97=90=EC=84=9C=20=EA=B8=B0?= =?UTF-8?q?=EC=96=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - design_pipeline_cross pipelineCrossSource 입력에 rockBoundaryDefaultM: readRockBoundaryDefault(projectId) - 그 모듈을 가짜로 갈음하는 도움 파일 10개 가짜에 readRockBoundaryDefault: () => -0.5 - 검증_sub2b 같은 끌기(진짜 cross 입력 길): 미리보기 1,184.7 대 정본 1,184.0 - 시험: 바뀐 도움 파일 시험 10 + 349-0n · 0p = 77 통과 · typecheck 0 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy --- A00_Common/design/design_pipeline_cross.ts | 11 +++++++++-- resources/tester/helper_346_1_pipeline_page.cjs | 5 ++++- resources/tester/helper_346_2_pipeline_cross_page.cjs | 5 ++++- resources/tester/helper_349_0d_follow_store.cjs | 5 ++++- resources/tester/helper_349_0f_draft_stale.cjs | 5 ++++- resources/tester/helper_349_0g_draft_b06_loop.cjs | 5 ++++- resources/tester/helper_349_0j_draft_vs_saved.cjs | 5 ++++- resources/tester/helper_349_0k_undo_saved.cjs | 5 ++++- resources/tester/helper_349_0l_undo_draw.cjs | 5 ++++- resources/tester/helper_349_0o_redo_same.cjs | 5 ++++- resources/tester/helper_349_pipeline_once.cjs | 5 ++++- 11 files changed, 49 insertions(+), 12 deletions(-) diff --git a/A00_Common/design/design_pipeline_cross.ts b/A00_Common/design/design_pipeline_cross.ts index 0cd2ea14b..4ef809138 100644 --- a/A00_Common/design/design_pipeline_cross.ts +++ b/A00_Common/design/design_pipeline_cross.ts @@ -12,7 +12,10 @@ * ========================================================================== */ import type { CrossSection, SectionDetailResponse } from "../../B06_Section/B06_Section_Api_Fetch"; -import { effectiveStandardCross } from "../../B06_Section/B06_Section_UI_Standard_Panel"; +import { + effectiveStandardCross, + readRockBoundaryDefault, +} from "../../B06_Section/B06_Section_UI_Standard_Panel"; import type { CrossInput, SectionSpecs } from "../../B05_Profile/logic/B05_Profile_Pipeline_Detail"; import type { PipelineStation } from "./logic/design_pipeline_types"; @@ -91,5 +94,9 @@ export function pipelineCrossSource( for (const name of SPEC_KEYS) if (section[name] !== undefined) own[name] = section[name]; specs.set(best.key, own as SectionSpecs); } - return { input: { standard, byKey }, specs }; + return { + // 암 경계 기본값 = 서버 config(화면이 문맥에서 기억) — 입력 없는 측점(초안 새 측점)도 서버처럼(349-0p) + input: { standard, byKey, rockBoundaryDefaultM: readRockBoundaryDefault(projectId) }, + specs, + }; } diff --git a/resources/tester/helper_346_1_pipeline_page.cjs b/resources/tester/helper_346_1_pipeline_page.cjs index 9fb09f6a0..7f177fc8b 100644 --- a/resources/tester/helper_346_1_pipeline_page.cjs +++ b/resources/tester/helper_346_1_pipeline_page.cjs @@ -73,7 +73,10 @@ STUBS["B05_Profile_Api_TerrainGrid"] = { }; // 346-2 붙임 뒤 창구(관 목록 · 표준단면 · 흙 배분) — 이 시험은 노선 · 종단만 봄 STUBS["B04_PreProcess_Api_Fetch"] = { fetchDetailPipePoints: async () => ({ pipe_points: [] }) }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => null }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => null, + readRockBoundaryDefault: () => -0.5, +}; STUBS["B05_Profile_Api_HaulPlan"] = { createHaulStage: () => async () => null }; const pipeMod = load("A00_Common", "design", "logic", "design_pipeline.ts"); diff --git a/resources/tester/helper_346_2_pipeline_cross_page.cjs b/resources/tester/helper_346_2_pipeline_cross_page.cjs index 0c5bc551e..9699139ba 100644 --- a/resources/tester/helper_346_2_pipeline_cross_page.cjs +++ b/resources/tester/helper_346_2_pipeline_cross_page.cjs @@ -98,7 +98,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; const pipeMod = load("A00_Common", "design", "logic", "design_pipeline.ts"); const pageMod = load("A00_Common", "design", "design_pipeline_page.ts"); diff --git a/resources/tester/helper_349_0d_follow_store.cjs b/resources/tester/helper_349_0d_follow_store.cjs index e850be837..59c345d2c 100644 --- a/resources/tester/helper_349_0d_follow_store.cjs +++ b/resources/tester/helper_349_0d_follow_store.cjs @@ -95,7 +95,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; const pageMod = load("A00_Common", "design", "design_pipeline_page.ts"); const storeMod = load("A00_Common", "design", "design_store.ts"); diff --git a/resources/tester/helper_349_0f_draft_stale.cjs b/resources/tester/helper_349_0f_draft_stale.cjs index ac6197ebe..312e6fa0b 100644 --- a/resources/tester/helper_349_0f_draft_stale.cjs +++ b/resources/tester/helper_349_0f_draft_stale.cjs @@ -98,7 +98,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; STUBS["B06_Section_Cross_Refresh"] = { holdScreenAlignment: () => () => undefined, refreshCrossDesigns: async () => [], diff --git a/resources/tester/helper_349_0g_draft_b06_loop.cjs b/resources/tester/helper_349_0g_draft_b06_loop.cjs index f077f72bf..c5f3a20be 100644 --- a/resources/tester/helper_349_0g_draft_b06_loop.cjs +++ b/resources/tester/helper_349_0g_draft_b06_loop.cjs @@ -96,7 +96,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; const pageMod = load("A00_Common", "design", "design_pipeline_page.ts"); const storeMod = load("A00_Common", "design", "design_store.ts"); diff --git a/resources/tester/helper_349_0j_draft_vs_saved.cjs b/resources/tester/helper_349_0j_draft_vs_saved.cjs index f1b6f6eec..7880ccf0f 100644 --- a/resources/tester/helper_349_0j_draft_vs_saved.cjs +++ b/resources/tester/helper_349_0j_draft_vs_saved.cjs @@ -98,7 +98,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; STUBS["B06_Section_Cross_Refresh"] = { holdScreenAlignment: () => () => undefined, refreshCrossDesigns: async () => [], diff --git a/resources/tester/helper_349_0k_undo_saved.cjs b/resources/tester/helper_349_0k_undo_saved.cjs index 9ab428160..77ee1981b 100644 --- a/resources/tester/helper_349_0k_undo_saved.cjs +++ b/resources/tester/helper_349_0k_undo_saved.cjs @@ -101,7 +101,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; // 구조물 초안 얹기(측점 계획 · 형상) — 이 시험 밖 · 아무 일 없음 STUBS["B06_Section_Section_Drafts"] = { diff --git a/resources/tester/helper_349_0l_undo_draw.cjs b/resources/tester/helper_349_0l_undo_draw.cjs index d8b3ba90e..39fac1a00 100644 --- a/resources/tester/helper_349_0l_undo_draw.cjs +++ b/resources/tester/helper_349_0l_undo_draw.cjs @@ -135,7 +135,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; // 구조물 초안 얹기(측점 계획 · 형상) — 이 시험 밖 · 아무 일 없음 STUBS["B06_Section_Section_Drafts"] = { withDraftStations: async () => undefined, diff --git a/resources/tester/helper_349_0o_redo_same.cjs b/resources/tester/helper_349_0o_redo_same.cjs index 8c5ae5c85..36b51e087 100644 --- a/resources/tester/helper_349_0o_redo_same.cjs +++ b/resources/tester/helper_349_0o_redo_same.cjs @@ -135,7 +135,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; // 구조물 초안 얹기(측점 계획 · 형상) — 이 시험 밖 · 아무 일 없음 STUBS["B06_Section_Section_Drafts"] = { withDraftStations: async () => undefined, diff --git a/resources/tester/helper_349_pipeline_once.cjs b/resources/tester/helper_349_pipeline_once.cjs index 88d747be7..868ab78be 100644 --- a/resources/tester/helper_349_pipeline_once.cjs +++ b/resources/tester/helper_349_pipeline_once.cjs @@ -96,7 +96,10 @@ STUBS["B04_PreProcess_Api_Fetch"] = { pipe_points: job.pipes.map((pipe) => ({ ...pipe, lonlat: [0, 0] })), }), }; -STUBS["B06_Section_UI_Standard_Panel"] = { effectiveStandardCross: () => job.standard }; +STUBS["B06_Section_UI_Standard_Panel"] = { + effectiveStandardCross: () => job.standard, + readRockBoundaryDefault: () => -0.5, +}; const pageMod = load("A00_Common", "design", "design_pipeline_page.ts"); const storeMod = load("A00_Common", "design", "design_store.ts");