Files
Aislo/docs/wiki/pages/B06_Section/B06_culvert_set.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록)
- `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록
  — 창끼리 공유하되 저장소에는 안 올리는 장부
- 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠)
- graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:19:07 +09:00

4.6 KiB

type, status, page_id, related_pages, last_updated, source
type status page_id related_pages last_updated source
page-feature stable B06_Section
B06_Section/B06_frontend
B06_Section/B06_backend
B06_Section/B06_api
B06_Section/B06_culvert_geometry_redesign
B06_Section/B06_culvert_basin_multitier
B05_Profile/B05_structures
2026-08-22
docs/raw/plans/2026-08-20_plan_B06_배수관_횡단도_세트.md
docs/raw/verification/2026-08-20_verify_B06_배수관_횡단도_세트_자체검증근거.md

B06 배수관 횡단도 세트

B05의 pipe_points.json에 저장된 배수관 측점만 골라 배관, 유입 기슭막이 또는 집수정, 유출 기슭막이, 보호공을 B06 횡단도에 분리 SVG로 표시한다. 세월교·BOX암거는 이 기능의 대상이 아니다.

8월 21일 이후 현재 자리·높이·물매·관 길이·조정 UI 규칙은 B06_Section/B06_culvert_geometry_redesign을 따른다. 아래 형상 내용은 8월 20일 검증 완료 스냅샷으로 보존한다.

입력·판정

항목 내용
정본 B04/B05 공용 pipe_points.json; facility == "pipe"만 처리
기본값 저장 옵션이 없으면 B05_Profile_Structure_Types.jsonpipe 기본값 사용
측점·방향 chainage ±0.02m, 유입=uphill_side, +offset=좌측
유입 구조물 유입측 절토 또는 관 단면 30% 이상 원지반 폐색이면 집수정, 그 외 기슭막이
주요 기준 관경 1,000㎜ 이상(현지여건 800㎜), 성토사면 5m 이내, 보호공 두께 0.45m·길이 낙차고×2
임시 근거값 최소 토피 0.5m, 기슭막이 근입 0.5m, 집수정 내공 1.0m; 근거 확보 시 교체

형상·표시 순서 (2026-08-20 스냅샷)

구성 내용
배관 역경사는 수평으로 제한하고 길이는 m 단위 올림해 유출측으로 연장한다. 외경 실선과 내경 점선의 직사각 관벽으로 표시한다.
기슭막이 배면 수직 사다리꼴+전면 평행사변형 띠. 이음선 상단점이 성토 계획선과 만나며 바닥만 0.5m 근입한다.
집수정 I·ㄴ·ㄷ형 기하를 지원하며 기본은 ㄴ형. ㄴ·ㄷ형 절토선은 보라 실선 계획선이다.
보호공 관 하단 꼭짓점에서 기슭막이 전면 경사로 시작해 성토사면과 원지반을 따라 낙차고×2 이상 연장한다.
계산·시공 순서 유출 구조물 → 유입 구조물 → 배관 → 유출 보호공

구현 항목

항목 위치 역할
attach_culvert_sets() B06_Section/B06_Section_Engine_Culvert.py 정본·레지스트리를 횡단 dict의 culvert에 결합
_culvert_set() B06_Section/B06_Section_Engine_Culvert.py 측점별 유입·유출 제원 생성
CulvertSet·CulvertSideSpec B06_Section/B06_Section_Api_Fetch.ts 프론트 데이터 계약
computeCulvertLayout() B06_Section/B06_Section_UI_Cross_Culvert_Geom.ts 배관 세트 기하 계산
appendCulvertOverlay() B06_Section/B06_Section_UI_Cross_Culvert.ts 기하 결과를 SVG로 표시
appendCrossDesignOverlay() B06_Section/B06_Section_UI_Cross_Design.ts 계획선 필터와 designTrim 적용
blocksPipeLowering() B05_Profile/B05_Profile_UI_Profile_Render.ts 관경·토피가 부족해지는 계획고 하향 편집 차단

오버레이는 기하 678줄과 SVG 표시 247줄로 분리했다. B06은 세트 레이아웃을 먼저 계산하고 계획선을 자른 다음 구조물 도형을 표시한다.

계획선 규칙

원지반과 2px 이내로 겹치는 구간과 보라 점선은 숨긴다. 노면·노견·측구에서 사면의 첫 접점까지는 항상 표시하고, 측구가 있으면 폭만큼 범위를 넓힌다. 첫 접점 밖은 숨기며 배수관 측점은 기슭막이 이음선 또는 집수정 벽 상단에서 계획선을 자른다.

검증 근거와 후속

개발 담당 AI 기록은 pytest 148 passed·7 skipped, TypeScript·Ruff·Prettier 통과, 배수관 2측점 화면·DOM 좌표 확인을 남겼다. 위키 관리자는 사용자 요청에 따라 2차 교차검증을 재실행하지 않았다.

8월 22일 완료된 집수정 형식 선택·성토부선·다단 기슭막이는 B06_Section/B06_culvert_basin_multitier에 기록했다. 집수정 임시 명칭, 저장 재질 연계와 급사면 도수로는 docs/raw/PLAN.md에 남아 있다. 뜬 벽 하부 구조와 표준단면 전체 5m 플래그는 위키의 미결 사항으로 보존한다. 700줄 리팩터링 결과는 B06_Section/B06_frontendB06_Section/B06_backend를 따른다.