fix(365-4): 초안 cross 엔진이 다시 셈 창구 출력을 이어 쓰지 않음 — 끈 초안 = 새로고침 초안
- 화면 검증 흠: 저장 노선(창구 출력)으로 연 뒤 끈 초안 카드가 새로고침(초안 둔 채 B06 열기) 카드와 0.01 ㎡ · 측점 하나 다름 — 엔진이 창구 출력을 앞 결과로 재사용 - 창구 출력은 엔진 재사용에서 뺌(savedOut) · 시험 test_365 창구로 연 뒤 초안 = 다시 연 초안 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
This commit is contained in:
@@ -337,6 +337,8 @@ function createPagePipeline(
|
||||
saved,
|
||||
)
|
||||
: list;
|
||||
/** 다시 셈 창구가 낸 cross 출력(365-4) — 엔진 재사용에서 뺌. */
|
||||
const savedOut = new WeakSet<object>();
|
||||
const pipe = createDesignPipeline({
|
||||
stages: {
|
||||
route: createRouteStage({
|
||||
@@ -363,9 +365,11 @@ function createPagePipeline(
|
||||
// 단면 유형 기본값 = 새 지형 상단측(서버 노선 저장 규칙) — 단계 본문은 그대로 부름 · 저장 노선 = 다시 셈
|
||||
// 창구 한 벌(카드 · 유토곡선이 보는 상세 설계 · 365-4)
|
||||
cross: (ctx) => {
|
||||
// 엔진은 다시 셈 창구가 낸 앞 출력을 이어 쓰지 않음 — 초안 = 새로고침과 같은 값(365-4)
|
||||
const engine = () =>
|
||||
crossStage.stage({
|
||||
...ctx,
|
||||
prev: ctx.prev && savedOut.has(ctx.prev) ? null : ctx.prev,
|
||||
inputs: {
|
||||
...ctx.inputs,
|
||||
cross: crossWithUphill(
|
||||
@@ -379,7 +383,12 @@ function createPagePipeline(
|
||||
!ctx.inputs.route && detail && typeof routeId === "number"
|
||||
? options.savedCross?.(detail, routeId, ctx.out.ground?.stations ?? [])
|
||||
: null;
|
||||
return saved ? saved.then((out) => out ?? engine()) : engine();
|
||||
if (!saved) return engine();
|
||||
return saved.then((out) => {
|
||||
if (!out) return engine();
|
||||
savedOut.add(out);
|
||||
return out;
|
||||
});
|
||||
},
|
||||
footprint: footprintStage,
|
||||
masshaul: createMassHaulStage(() => earthwork),
|
||||
|
||||
Reference in New Issue
Block a user