type, status, related_pages, last_updated, source
| type |
status |
related_pages |
last_updated |
source |
| concept |
stable |
|
2026-09-10 |
| docs/raw/verification/2026-09-09f_계획서_공통기반과_참고_이관.md |
| docs/raw/verification/2026-09-10_계획서_e_f_g_이관_교차검증.md |
|
설계 데이터 생명주기
정본 세 벌
| 구분 |
위치 |
쓰는 시점 |
| 초기값 |
initial_snapshot/ 파일과 DB 행 덤프 |
업로드 직후 자동설계 체인이 한 번 생성; 초기화만 읽음 |
| 작업본 |
DB와 route/·longitudinal/·cross_sections/·drainage/ 정본 파일 |
사용자가 저장·확정을 누를 때만 갱신 |
| 브라우저 캐시 |
sessionStorage, A00_Common/b_page_state.ts 등록표 |
화면 조작 중 사용; 저장·확정 때 작업본으로 전달 |
초기값에는 다시 쓰지 않는다. B05·B06 화면은 작업본을 한 번 읽은 뒤 캐시에서 계산하며, 파일·DB·래스터나 3D 코리도처럼 서버 자원이 필요한 계산만 서버를 거친다.
계획노선 규칙
- 예상노선은 자동 체인의 불변 원본이고 계획노선은 사용자가 편집하는 복사본이다.
- 노선 확인 때만 계획노선 기준으로 배수유역부터 재설계한다.
- 횡단배수 지점은 새로 계산하고, 그 밖의 구조물은 사용자가 편집한 누가거리 값을 이어받는다.
- 초기화는 예상노선을 계획노선으로 복사하며 재계산하지 않는다.
계산 구현 원칙
- 새 계획 계산은 TypeScript 한 벌을 기본으로 두고 브라우저와 서버 Node 진입점이 공유한다.
- 파일·DB·래스터를 직접 다루는 계산만 Python에 둔다.
- Python·TypeScript 거울 구현이 필요한 읽기 경로는 거울 시험으로 값의 일치를 지킨다.