--- type: concept status: stable related_pages: ["[[B03_FileInput/B03_backend]]", "[[B05_Profile/B05_frontend]]", "[[B06_Section/B06_frontend]]", "[[B07_Quantity/B07_frontend]]", "[[B08_DesignDetail/B08_frontend]]"] last_updated: 2026-08-29 source: ["docs/raw/plans/2026-08-29_plan_B05_B06_structure_ui_unification.md", "docs/raw/plans/2026-08-29_plan_B07_CAD_scale_sheet_layout.md", "docs/raw/verification/2026-08-29_verify_B03_reupload_reanalysis_cache.md"] --- # 2026-08-29 완료 반영 ## B03 재업로드·B05 최신 조회 | 항목 | 위치 | 역할 | |---|---|---| | `_complete_file_input_if_ready()` | `B03_FileInput/B03_FileInput_Router.py:153` | 동일 파일 전송을 생략해도 완료 요청이면 하위 산출물을 초기화하고 WF1 재실행 | | 업로드 완료 캐시 정리 | `B03_FileInput/B03_FileInput_UI_Page.ts:71` | route·section detail·preload 브라우저 캐시 제거 | | `loadLatest(true)` | `B05_Profile/B05_Profile_UI_Page.ts:747` | B05 최초 접근에서 DB 최신 노선을 강제 조회 | 재업로드 버튼은 파일 변경 의사로 취급한다. 바이트가 같아 전송을 생략해도 자동계산 차단을 해제하고 재분석하며, B05 초기 진입의 빈 종단·유토곡선·테이블을 유발하던 오래된 route 캐시를 사용하지 않는다. ## B05/B06 구조물 UI 통합 | 항목 | 위치 | 역할 | |---|---|---| | 공용 구조물 진입점 | `A00_Common/b_structures_section.ts` | B05 구조물 배치 구현과 스타일을 B05·B06에 동일 공급 | | B06 구조물 패널 | `B06_Section/B06_Section_UI_Page_Structures_Panel.ts` | 구조물 폼·목록 dock·횡단 조정 장착 | | `focusStation()` | `B06_Section/B06_Section_UI_Section_View.ts:714` | 구조물 선택 시 최근접 횡단 카드 선택·스크롤 | | `wireStructureSelection()` | `B06_Section/B06_Section_UI_Page_Structures_Panel.ts:371` | 횡단 구조물 선택을 좌측 폼과 연결 | B06 A군 시설 추가·이동·삭제, 중복 제어 정리, B05 대형 패널 분리와 3D 개별 선택은 상시계획서 후속이다. ## B07 CAD 고정 척도·횡단 장 배치 | 항목 | 위치 | 역할 | |---|---|---| | 도면 척도 | `config/config_system.py:754` | 종단 1/1,000·1/200, 횡단 1/100 고정 | | `_section_window()` | `B07_DesignDetail/B07_DesignDetail_Engine_Cad.py:337` | 설계선·원지반 교차 범위와 여유로 측점별 표시 폭 결정 | | `plan_cross_sheets()` | `B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py:84` | 횡단 블록을 좌하단부터 아래→위·좌→우 순서로 장 배치 | | `DRAWING_GROUPS` | `B07_DesignDetail/B07_DesignDetail_UI_Page.ts:78` | 좌측 도면 12분류와 미구현 항목 비활성 표시 | A1 고정 도각에서 시험 노선 종단 1장, 횡단 23측점 4장을 확인했다. `DRAWING_FORMAT` 8 상향과 장 단위 확정 실측은 상시계획서 후속이다. ## B07 CAD 테마 | 항목 | 위치 | 역할 | |---|---|---| | `theme.ts` | `openwebcad/src/theme.ts` | 부모 `frd_theme`와 CAD iframe 테마 동기화 | | `paintColor()` | `openwebcad/src/theme.ts` | 저장 도면 색상을 화면 테마에 맞춰 표시 보정 | | `bumpSceneVersion()` | `openwebcad/src/theme.ts` | 테마 전환 시 정적 장면 캐시 재생성 | 라이트·다크 토큰, 캔버스·도면 색상, 동일 오리진 `storage` 이벤트 동기화를 사용자 검증 완료로 기록했다. ## B07 CAD 확대·팬 | 항목 | 위치 | 역할 | |---|---|---| | `handleMouseWheel()` | `openwebcad/src/input-controller.ts` | 캔버스 핀치 기본 확대 차단 및 확대 처리 | | `panScreen()` | `openwebcad/src/` | 트랙패드 두 손가락 이동을 팬으로 처리 | 마우스 휠은 델타 비례 확대, 트랙패드는 팬, `ctrl+wheel`은 CAD 내부 핀치로 처리한다. 핀치·팬 방향과 콘솔 로그 제거는 후속 결정이다. ## B07↔B08 순서 | 항목 | 변경 | |---|---| | workflow | 4=상세설계, 5=수량산출 | | 폴더·라우트 | `B07_DesignDetail`·`b07-design-detail`, `B08_Quantity`·`b08-quantity` | | 예외 | iframe 내부 `aislo:b08:*` 프로토콜·패키지명은 호환성 때문에 유지 | 폴더, 식별자, locale, stage, CAD 정적 경로 교환을 완료했다. ## 초기값 보전 | 항목 | 위치 | 역할 | |---|---|---| | `designing_lock_path()` | `common_util/common_util_initial_snapshot.py` | 계산 중 진입 차단 마커 경로 | | `discard_initial_snapshot()` | `common_util/common_util_initial_snapshot.py` | 재설계 시 초기 스냅샷 무효화 | | `routeAfterPreloadCheck` | `A00_Common/b_workflow_nav.ts` | `initial_design`이면 B11 준비 화면으로 라우팅 | | `reset_route_design` 폴백 | `B05_Profile/B05_Profile_Router.py` | 재계산 전 편집 정본 삭제 | 계산 중 B05·B06 진입 차단, 재설계 시 스냅샷 삭제, 편집 정본 분리와 초기화 복원 실측을 완료로 기록했다. 새 업로드 화면 실측은 후속이다. ## 초기화 복원 실측 | 항목 | 확인 | |---|---| | 복원 응답 | `restored=true`, 기존 route 삭제 후 새 route 삽입 | | 정본 복원 | 연장 350.11m·관 지점 4건이 스냅샷 값으로 복귀 | | 처리 시간 | 복원 3초 이내, 폴백 재계산은 10초 이상 | | 작업본 | 초기값 상태로 종결 | ## 배수시설 추천 기준 | 판단 대상 | 기준 | |---|---| | 관경 | Kirpich tc(하한 5분) → IDF → 합리식 Q → 2.0배 → Manning 유효직경 | | 부속 | 유량이 아니라 계곡·옆도랑·변곡점·성토 위치 등 지형·배치로 판단 | | 현재 단서 | 관 생성 사유 `source`, 종단 오목 변곡점, B06 성토부선·다단 기슭막이 | 상세 산식·DEM 기반 지형 보강·임계값 협의는 미결이다.