- 까닭: 화면 Ctrl+Z 는 페이지 사진첩이 세션 노선 초안 칸을 먼저 비우고 다리에 알림 → 묶음이 가게 칸만 보고 「초안 아니었음」으로 판정해 되돌림을 건너뜀
- 초안이었나 = 묶음이 쥔 노선 입력 · 같은 알림이 두 번 와도 한 차례(값이 같으면 차례 없음)
- 되돌림 판정 = 그 차례가 끝난 뒤(ground 알림에 안 기댐) · 밀린 차례면 초안 전 상세를 그대로 둠
- 시험 test_349_0l 되돌리기를 화면 꼴로(칸 먼저 비움 · 알림 두 번) — 옛 코드는 restored 없음 · 다시 셈 1 로 재현
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 종단도 adoptPipeline(초안 버림) = 열 때처럼 그리기만 — 편집 때 쓰던 전 측점 다시 셈 예약(rebuild → crossPreview) 안 함 · 낡음은 그리기가 잼
- 계산 묶음 — 상세를 초안 전 상세로 되돌린 뒤에 종단도를 저장 기준으로(그 전엔 초안 상세를 낡음으로 봄)
- 묶음 기록 restored · restoreWhy(saved · unchanged · stations · no-saved)
- cross 단계에 지형 격자(미교차 넓힘 · 349-0j 짝) · test_346_2 서버 대조도 넓힘 포함
- 시험 test_349_0l_undo_draw 4건 — 진짜 종단도 낡음 판정 · crossPreview 를 거침(옛 코드 되돌린 뒤 7822 대 열기 3911 재현)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 노선 초안을 버린 차례는 열 때처럼 측점 · 종단을 가게에 안 냄(상세 갈아끼움 없음)
- 초안 전 상세를 기억해 두었다가 그 객체로 되돌림 — 상세 가게 restoreSectionDetail(열쇠 · 세션 고침은 갈아끼움 길 그대로)
- 되돌릴 상세가 없거나(초안 둔 채 새로고침) 측점이 다르면 옛 갈아끼움 길
- 시험 test_349_0k_undo_saved 4건(옛 코드 누가토량 7292 대 열기 3911 재현)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 원인: 횡단 보기 카드가 묶음 새 노선 상세를 종단도에 render → 묶음이 그것을 저장 정본으로 오인(지반 표본 배열 다름) → 처음부터 다시 · 횡단 입력 · 첫 계획선 기준도 새 상세에서 → 새 상세 → 다시 … (346-2 덧 3 부터 · 349-0d 탓 아님)
- 고침: 묶음이 지은 새 노선 상세는 기억해 두고, 종단도가 그것을 그리는 동안 저장 기준 = 그 앞 저장 기준(정본 · 횡단 입력 · 첫 계획선 · 노선 번호)
- 시험 test_349_0g_draft_b06_loop 3건(검증_sub7 노선 · B06 그리기 5번 = 0 번 · 누가토량 · 횡단 면적 B05 와 같음 · 계획고 조작 하나 = 한 번 · 옛 코드는 끝없이 돌아 메모리 넘침 재현)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 사용자 노선 조작 뒤 follow 가 좌표로 다시 매긴 관 · 구조물 = 가게 초안(pipes · structures) · 놓은 틱 안에 써 되돌리기 한 걸음 · 묶음 다시 돎 0(가게 메아리는 입력으로 안 받음)
- 초안을 버리면(되돌리기 · 버림) 초안 전 가게 값으로 · 열기만 하면 안 씀(349-0c)
- 새 노선에서 20 m 넘게 먼 구조물 = 알림 한 줄(구조물 N건이 새 노선에서 20 m 넘게 멀어짐)
- 종단 보기 왼쪽 목록 · 구조물 알약 · 측점선 = 가게 측점(배수유역도 관 알림을 가게 관 측점으로 · 관 id 옮김) · 따라간 측점은 계획고 편집 안 옮김(follow 몫)
- 시험 test_349_0d_follow_store 5건(검증_sub7 노선 · 관 · 옛 코드 2 실패 재현)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 고리 끊음: 묶음 측점 → 상세 갈아끼움 → 종단도 render · 비정규 측점 · 유토곡선 설정이 묶음을 처음부터 다시 부르던 것 — 다시 시작은 저장 정본(새로 받은 상세 · 새 노선)이 바뀔 때만 · 횡단 입력도 정본 상세에서만 모음
- 열 때(start 차례)는 측점 · 종단을 가게에 안 냄 — 상세 갈아끼움 없음 · 유토곡선 = 저장값
- 저장 노선(열 때 · 초안 버림)은 관 · 구조물 누가거리 · 계획고를 저장값 그대로(다시 투영 안 함 · 되돌리기 뒤 계획고 한 번 더 셈 없음)
- 노선 초안 동안 종단도 render · 비정규 측점이 초안 그림(기준 · 미리보기 가게)을 덮지 않음
- 시험 test_349_pipeline_once 4건(검증_sub7 실제 노선 · 옛 코드에서 4건 실패 재현)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- 옮김: B04 2 · B05 23 · B06 11 · A00_Common/design 13 (9,299 줄) · 이미 logic/ 에 있던 16 파일 그대로
- 안 옮김: 묶음 입구(package.json build:*) · 파이썬 · 순수지만 계산 아닌 8 (보기 결선 · 콜백 · API 타입 · 갈아끼움 알림판)
- import 266 줄(142 파일) · 시험 · 주석 · 짝 표시 문자열 경로 고침 · B05 · B06 CLAUDE.md 짝 줄 logic/
- 시험 도우미 새 경로: 가짜 require 열쇠 · B05()/B06() 부름 · 형제 import 자리 · tsc 묶어 돌리는 시험 · 정규식 · rglob
- design_view_cross 줄 한도 시험 685 → 688 (긴 import 경로 줄바꿈 3줄)
- 확인: typecheck 0 · 서버 묶음 넷(corridor · server-calc · b07-extent · b07-note) 다시 지어 코드 같음(//#region 경로 주석만 다름) · 관련 시험 270 파일 — 남은 실패 19 는 옮기기 전과 같음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
- design_pipeline_page: 단계 다섯 한 줄씩(부르기만) · 단면 유형 기본값 = 새 지형 상단측(서버 노선 저장 규칙) · haul · corridor 는 노선 초안 동안만 · 열 때 한 번 셈(발자국 바로 보임)
- 노선 초안 동안 종단도 = 새 노선 상세(pipelineDetail — 지반 · 측점 · 횡단 면적 → 유토곡선) · 저장 노선 횡단 다시 셈 안 함
- 횡단 입력 = 저장 상세의 측점 입력을 측점 열쇠로(design_pipeline_cross · 넘기는 칸 = 서버 CARRY_INPUT_KEYS 와 같음)
- 저장 관 목록(좌표 · id) = 관 입력 바탕 · 첫 계산도 저장 노선 기준으로 좌표 따라감(createFollowStage)
- 노선 초안 동안 계획고 = alignment-draft 노선 0 칸(DRAFT_ROUTE_ID) · 초안 버리면 비움 · [저장] 이음 = sub5
- 상단측 짝(logic/B05_Profile_Pipeline_Detail uphillSide ↔ Engine_Sections_Core uphill_side) · 측점 열쇠 = common_util_station_key 한 벌
- 시험 test_346_2_pipeline_cross_page 14 · 옛 시험 둘 새 꼴에 맞춤(317 · 230_2) · 346-1 도움 파일 창구 셋 가짜
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
- design_pipeline_page.ts 새 — 프로젝트마다 묶음 하나(종단도 dispose 때 버림) · route · ground(sub8) · follow · planline · profile · stations · footprint(sub6) 붙임 · cross · masshaul · haul · drainage 는 붙으면 한 줄 · 첫 계산은 처음 고칠 때 · 가게 stations · profile · footprint · generation
- B05_Profile_UI_RouteEdit_Draft.ts 새 — 사진첩 감싸기(쌓기 · 되돌리기 · 다시하기 · 열 때로 = 초안 넘김 · 같으면 null) · 저장 안 한 초안 되살림 · RouteEdit.ts 는 줄 셋(700줄 안)
- logic/B05_Profile_Pipeline_Grade.ts 새 — follow(관 · 구조물 좌표 · 계획고 옮김) · planline(저장 기준 · 초안이면 바뀐 구간만 새 지반 첫 계획선) · profile(buildAlignment) · routeRange · gradeRange — sub1 짝 부르기만
- design_profile — listed 를 design_profile_base.ts 로 나눔 · rebuild = pipelineGrade · render · 구조물 측점 = 다시 셈 · adoptPipeline(초안 동안 편집은 메모리만 · [저장]이 안 보냄) · pipelineSource
- design_pipeline — input() · dispose()
- 시험 test_346_1_pipeline_page 12 건(실제 단계 · 노선 1,078 m 점 옮김 23 ms · 늦은 응답 버림 · 초안 캐시 칸 살아남음) · popout 시험 문맥에 pipelineGrade 자리
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ