Files
Aislo/docs/wiki/concepts/design_data_lifecycle.md
T

1.9 KiB

type, status, related_pages, last_updated, source
type status related_pages last_updated source
concept stable
B03_FileInput/B03_backend
B05_Profile/B05_backend
B06_Section/B06_backend
workflow_state
multi_environment_safety
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 거울 구현이 필요한 읽기 경로는 거울 시험으로 값의 일치를 지킨다.