chore(plan): 92~98장 완료 기록 옮김

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LLCk2y5xE8YGVgjbTntWsY
This commit is contained in:
2026-10-08 14:22:59 +09:00
co-authored by Claude Opus 5.5
parent c87cd6a713
commit a014c7c1f3
@@ -0,0 +1,91 @@
# 상시 계획서
**남은 작업만 두는 유일한 계획서.** 목록이 비면 프로젝트 최종 완료.
92~98장 공통 근거 = `docs/raw/요구_1008_2/` — 요구 원문 `사용자요구_1008_2.md` · `IP표_예시.png` · 정함 `분석_정함.md` · 파일:줄 `조사_I · J1 · J2 · K · L · M_*.md` · 덧붙임 원문 `사용자요구_1008_2b.md`.
## 92. B01 대시보드 항목별 탭 (sub2)
사용자 확정(10-8) — 한 페이지에 다 들어가 불편 · 항목별 페이지 구성 · 보여 주는 내용 보강 「검토」.
정함(브레인 · 제안) — 해시 탭 + 「개요」 첫 탭 · 탭 = 개요 · 프로젝트 · 회사 · 내 계정 · 시스템(시스템 관리자) · 설정 카드는 모든 탭 위 · 보강은 있는 자료 · API 만(분석_정함 1장).
- [x] 92-0 사용자 승인(10-8 「92~97장 진행」 — 제안대로: 해시 탭 + 개요 · 탭 다섯 · 있는 자료만)
- [x] 92-1 해시 탭 줄 · 고른 탭만 그림 · 회사 없음 → 회사 탭(`B01_Dashboard_UI_Page.ts` · `router.ts` 진입 두 곳) · 확인 = 탭마다 저장 뒤 같은 탭
- 검증완료 — ORCA 탭 수 시스템 5 · 회사 관리자 4 · 일반 4 · 첫 탭 개요 · 시스템 탭 주소를 회사 관리자 · 일반이 열면 개요 · 회사 정보 수정 저장 · 가입 요청 거절 뒤 `?tab=company` 그대로 · 회사 없음 계정이 B05 · M02 에서 와 `?tab=company` · 회사 알약 고르면 탭 그대로(`aislo.adminCompany` = 3) · 프로젝트 목록 요청 회사 관리자 1번 · 밝음 · 어두움 · 390px 가로 넘침 0 · test_b01_dashboard_tabs · test_b01_settings_cards
- [x] 92-2 개요 카드 · 프로젝트 표 칸 보강 · 진행 현황 · 회사 · 내 계정 · 시스템(리소스 기간 · 로그 쪽 · 문의) · 확인 = 권한 셋 화면 수치
- 검증완료 — ORCA 개요 전체 13 = 프로젝트 탭 총 13건 · 단계 타일 눌러 거르기 13건 · 가입 대기 1 = 가입 요청 1줄 · 임시 보관함 1 = 묶음 1 · 프로젝트 표 11칸 · 찾기 · 쪽 넘김 10+3 · 시스템 탭 로그 151건 8쪽 · 리소스 7·30·90일 · 전체 회사 2 · 전체 사용자 6 · 문의 2 · 내 계정 마지막 로그인 · 값 되돌림(회사 3 대표 · 일반 계정 소속 · 임시 보관함) · FAILED·STALE 숫자는 시험(test_b01_dashboard_tabs)으로만
## 93. B07 평면도 묶음 정리 — 제목 · 용지도 · 유역도 · 표준 횡단 · 사용자 지정 (sub6)
사용자 확정(10-8) — 용지도 글이 노선 위면 안 됨 · 라벨로 구역 구분 · 용지도 · 배수유역도를 계획평면도 안으로(「종류 추가 · 업데이트 · 대피소 자리」 항목으로) · 제목 평면도 · 종단도 · 횡단도 · 표준 횡단 = 횡단 안 맨 위 1행 · 평면도 정보 사용자 지정.
정함(브레인) — 용지도 = 진짜 종류(조각 넷) · 라벨 = 필지 상자 + 지시선 · 유역도 = 평면도 안 항목(1/6,000 한 장 그대로) · 도각 도면명은 그대로 · 사용자 지정은 이미 있어 패널 펼침(분석_정함 1장).
- [x] 93-1 제목 평면도 · 종단도 · 횡단도 · 종류 제목 「평면도(…)」(`B07_DesignDetail_UI_Panels.ts` · `UI_PlanKinds.ts` · `Router_Support_Plan.py` 67-68) · 확인 = 좌측 목록 · 탭 이름
- [x] 93-2 용지도 = 평면도 종류(조각 넷 · 기본 종류 · 기존 프로젝트 한 번 더함 · 옛 landuse 길 지움)(`Engine_Cad_PlanKinds.py` · `Router_Support_Plan.py` · `Router_Support.py`) · 확인 = 고르기 · × · 업데이트 · 시험
- [x] 93-3 용지도 라벨 — (필지 ∩ 도곽) − 노선 버퍼 대표점 · 상자 + 지시선 · 노선 · 라벨 안 겹침(용지 함수는 새 파일) · 확인 = 라벨 · 노선 겹침 0
- [x] 93-4 배수유역도 = 평면도 컨테이너 안 항목(× 가드 · 1/6,000 그대로)(`Router_Support.py` · `UI_Panels.ts`) · 확인 = 목록 자리 · 도면 그대로
- [x] 93-5 표준 횡단면도 = 횡단도 컨테이너 맨 위 한 줄(전체 폭 · 개수는 횡단 장만)(`UI_Panels.ts` · `UI_Style.css`) · 확인 = 화면 자리
- [x] 93-6 종류 접이 패널 기본 펼침 · 용지 조각 넷 체크 목록에(`UI_PlanKinds.ts`) · 확인 = 체크 → 도면 층 수
- 검증완료 — 시험 28 통과(plan_kinds · landuse_parcel_info · masshaul_basin) · typecheck 0 · 검증_sub6 화면(ORCA 5181): 좌측 평면도 6(지형 · 노선배치도 · 대피소 · 라이다 · 용지도 · 배수유역도 × 없음) · 종단도 3 · 횡단도 20(표준 횡단면도 맨 위 폭 262 · 장 129 두 열) · 탭 「평면도(용지도)」 · 용지도 체크 2 끔 → 층 8 → 6(CAD 층 목록도) → 되돌림 8 · × → 종류 5 · 다시 안 살아남 → 파일 되돌림 · 같은 이름 · 빈 이름 막힘 · 저장 안 하고 옮김 = 서버 그대로 · 필지 상자 노선 겹침 0 · 상자끼리 0 · 유역도 · 표준 횡단 열림 · 밝음 · 어두움 상자 읽힘(색 #a8703f)
## 94. B07 평면도 IP 표 (sub4)
사용자 확정(10-8) — 평면도 IP 에 도면 좌측 하단 IP 표 · IP · CO(X · Y) · IA · R · TL · CL · SL(첨부 그림).
정함(브레인) — 새 조각 「IP 표」 · IP 마다 표 하나 · BP · EP 는 IP · CO 만 · X = 북 · Y = 동 · IA 접선으로 다시 셈 · 도-분-초 「94-59-58.38」 · 소수 다섯 · 장마다 그 장 IP · 기본 체크 = 노선배치도 · 색 = 예시(분석_정함 1장).
- [x] 94-1 IP 자료 — BP · IP(곡선 있는 것 · 「IPn」 번호 같음) · EP · IA · R · TL · CL · SL 계산(새 `B07_DesignDetail/B07_DesignDetail_Engine_Cad_IpTable.py`) · 확인 = 예시 R 15 · IA 94-59-58.38 → 16.36950 · 24.87082 · 7.20271
- 검증완료 — test_b07_plan_kinds 11 통과 · R 15 · IA 94-59-58.38 → TL 16.36950 · CL 24.87082 · SL 7.20271 · 초 60.00 올림 「2-00-00.00」 · 경계 IP 뒤 장에만 · 노선 밖 옛 곡선 빠짐(번호 유지)
- [x] 94-2 표 그리기 — 장 도곽 왼쪽 아래 · IP 마다 Table · 표 밑 등고선 · 노선 자름 · 넘치면 위로 다음 줄(`Engine_Cad_PlanKinds.py` 조각 한 줄 · 갈래 하나) · 확인 = 표 엔티티 · DXF 내보내기
- 검증완료 — 시험: BP · IP · EP 표 3개(3 · 8 · 3행) · X = 북 · Y = 동 · 표 칸 밑 등고선 x 29.2 ~ 72.4 잘림 · DXF 선 34 · 글 17
- [x] 94-3 기본 종류 「노선배치도」에 체크 · 시험(`test_b07_plan_kinds.py`) · 확인 = 화면 평면도 표 · 값
- 검증완료 — ORCA 검증_sub4 노선배치도: 표 28(BP · IP1~26 · EP · 19개 넘어 위로 둘째 줄) · 값 = 곡선표 대조(IA 차 ≤ 20″ = 저장 내각 반올림 · TL 차 ≤ 1.2 mm) · 표 밑 등고선 잘림 · 지형 표 0 · 체크 목록 「IP 표」 · 실제 DXF 표 선 912 · 글 456(계산과 같음 · 빠진 도형 3 = 원래) · 밝음 · 어두움 읽힘
## 95. B08 탭 · 구조물도 모달 · 수리 화면 크기 (sub3)
사용자 확정(10-8) — 구조물 탭 아래 보조 넷(구조물 집계표 · 총괄자재수량집계표 · 콘크리트소요자재집계표 · 자재수량집계표) · 구조물도 탭 삭제 → 집계표 행 모달(여러 개면 스크롤) · 보조 탭 위 공간 = 아래 · 수리 상세 = 브라우저 크기.
정함(브레인) — 새 보조 셋은 자리표 · 모달 = 그 측점 조합 전부(도면 + 면적산출 · 여러 장도) · 원천 = 프로젝트 복사본 먼저 · 수리 = 폭 제한 풂 · 높이 화면 따라(분석_정함 1장).
- [x] 95-1 메인 탭 구조물 · 토공 · 수리 · 구조물 보조 넷 · 구조물도 탭 지움(`B08_Quantity_UI_Page.ts` · locale) · 확인 = 탭 전환
- 검증완료 — 검증_sub3 5178 · 탭 셋(구조물 · 토공 · 수리집수면적표) · 구조물 보조 넷 · 구조물도 탭 없음 · 집계표 11줄 · test_61_2 5 · typecheck 통과
- [x] 95-2 보조 탭 위 공간 = 아래(`B08_Quantity_UI_Page.css` gap) · 확인 = 위 · 아래 px 같음
- 검증완료 — 보조 줄 위 7.997px · 아래 7.873px(패딩 8 · 소수점 차) · 수리 툴바 같은 gap
- [x] 95-3 집계표 행 → 구조물도 모달(공용 표 opt-in 줄 누름 · `Summary_Data.ts` 측점 → 조합 · 큰 모달 class · 닫을 때 정리) · 확인 = 조합 셋 측점 모달 카드 셋 · 스크롤
- 검증완료 — 시험 구조물 둘 임시 저장(측점 1+2 조합 셋 · 1+16 없는 조합) 뒤 되돌림 · 1+2 모달 카드 셋(복사본 · 원본 · 원본) · 폭 1320 높이 1012(94vh) · scrollHeight 2113 > 1010 끝까지 스크롤 · 닫으면 iframe 0 · 다시 열기 같음 · 열기 6.7초(CAD iframe 셋 + 시트 · 처음) · 1+16 없는 조합 안내 빨강 · 조합 없는 줄 안내 · 밝음 · 어두움 · test_ui_data_table 14 · test_61_1
- [x] 95-4 수리 상세 폭 제한 풂 · 높이 화면 따라 · @container(`B08_Quantity_UI_Hydro.css`) · 확인 = 창 크기 바꿔 카드 높이 수치
- 검증완료 — 창 1196×797 → 카드 557 · 797×597 → 357(1열) · 1497×996 → 756 = 100vh−240 · 2열 ↔ 1열 칸 폭 800 기준(칸 828 2열 · 741 1열) · 카드 몸 스크롤 · 밝음 · 어두움 · 진행단계 판 가림은 다른 페이지와 같음
## 96. B08 수리 표 ← B05 배수유역 값 (sub5)
사용자 확정(10-8) — 수리집수면적표에 B05 배수유역 분석 값 연결 · 세월교 · 박스암거도 같음.
정함(브레인) — 연결값 = A · L · H · 관경 · 박스 내공 · 월류 폭 · 표준값 설정 하나 · 빈칸만 채우고 같은 값은 비워 저장(연동) · 하상경사 · 관 종류 · n 은 안 이음 · 옛 결정 「잇지 않음」 바뀜(분석_정함 1장).
- [x] 96-1 서버 연결값 — `04_detailed_basins.geojson` + `pipe_points` 읽어 측점마다 linked(`B08_Quantity_Hydro_Site.py` · `Hydro_Defaults.py` · `Router_Hydro.py`) · 확인 = 견본 시험 Qd ≈ B05 설계유량
- 검증완료 — test_96 견본 Qd = B05 design_flow(±1e-4) · 검증_sub5 GET 11 측점 A · L · H · D · 월류 폭 = 04 파일 값
- [x] 96-2 화면 차례 기본 < 장 기본 < 연결 < 저장 < 초안(null 건너뜀) · 저장 때 같은 값 비움 · 초안 version 3 · B05 Qd · T 참고 칸(`B08_Quantity_UI_Hydro.ts` · `UI_Hydro_Sheet.ts` · `b_page_state.ts`) · 확인 = 관 · 박스 · 세월교 측점 값 수치
- 검증완료 — ORCA 5180 · 관 4+5 A 0.010717 · L 163.9 · H 120 · D 1000 · Qd 1.08 = B05 1.08 · 세월교 8+13 월류 폭 10 · Qd 14.18 = B05 · 박스 12+18 내공 2 × 1.5 · 손 A 0.005 저장 뒤 유지 · 같은 값 다시 넣으면 null(연동) · B05 D 1200 → 1000 저장 → B08 따라옴 · 밝음 · 어두움 · 값 · 파일 되돌림
- [x] 96-3 표준값 설정 하나로 묶음 · 옛 「잇지 않음」 주석 넷 고침 · 시험(`test_69_b08_hydro_site` 등) · 확인 = 시험
- 검증완료 — test_96 · 69_hydro_site · 73_1 · 73_11 · 62_2 23 통과 · typecheck 통과
## 97. CAD 커서 입력창 — 색 · 글 넘침 · Space (데스크탑 보조)
사용자 확정(10-8) — 테마에 따라 커서 입력창 색이 안 보임 · 단축키 글이 칸 밖 · 오토캐드처럼 Space = Enter.
정함(브레인) — 칸 · 글 테마 따름 · 글 칸 가운데 · 칸 폭 글에 맞춤 · Space = Enter · 빈 Enter/Space = 마지막 명령 반복 · 글 단계 · 한글 조합 · 수정키는 띄어쓰기 그대로 · 우클릭 반복 안 함(분석_정함 1장).
- [x] 97-1 입력창 색 테마 따름 · 자동색 뒤집기 건너뜀(`input-controller.ts` · `screenCanvas.drawController.ts` · `App.consts.ts`) · 확인 = 밝음 · 어두움 대비 시험(`theme-auto-color.test.ts`)
- [x] 97-2 글 세로 가운데 · 칸 폭 글 맞춤 · 후보 목록 바탕 안 · 확인 = 그리기 시험(글 중심 칸 안)
- [x] 97-3 Space = Enter · 빈 입력 = 마지막 명령 반복 · 글 단계 띄어쓰기(`input-controller.ts` · `CommandLine.tsx` · `run-command.ts` · `sequence-tool.ts` meta 한 줄) · 확인 = 「L␣」 실행 · TEXT 띄어쓰기 · 조합 중 Space 시험
- 검증완료(데스크탑 보조 보고 · 브레인 기록) — 화면 5174 CAD + M02 도면: 밝음 칸 #ffffff · 테두리 #e6e2e3 · 글 #333333 · 어두움 칸 #251f38 · 테두리 #322a45 · 글 #e4e0f0 · 글 줄 안 5~17px/20 · 긴 좌표 칸 폭 150→180 · L␣ = LINE · 명령줄 c␣ = CIRCLE · TEXT 「A B」 · vitest 13 · theme-auto-color · typecheck · build · 커밋 9f0ab53c · e020cf71 · 456c11aa · 남김: 원 도구 첫 단계 Esc · TEXT 영문 대문자 · keyboard-handler 'Space'
## 98. B08 구조물 집계표 「횡단배수 | 배관」 실무 꼴 (sub7)
사용자 확정(10-8) — 배관 컨테이너 안 정보로 참고 표(실무 구조물집계표)처럼 표현 · 대부분 B06 좌측 패널 입력값 · 분석 필요(덧붙임).
정함(브레인) — 열 = 관경별 관매설 · 커플링 · 관보호공 / 기슭막이 형태 · H / 돌붙임 찰 · 메 · 계산 서버 단독 · 1본 길이 · 머리 글은 M02 값 · 돌붙임 칸 새로 · 이번은 배관만(분석_정함 98 절).
- [x] 98-1 서버 집계 길 `GET /api/projects/{id}/quantity/summary`(새 B08 Router 파일 · `M02_Table_Fill` collect_items · 관 길이 · 흙막이 단 재사용) — 관경마다 관매설 · 커플링 · 관보호공 · 기슭막이 형태 · H · 돌붙임 · 계 · 확인 = 2공구 견본 꼴 수치 시험
- 검증완료 — test_98_b08_pipe_summary 8(2공구 꼴 · Φ1200 L22 커플링 3 · Φ800 L16 2 · 1본 8 m 면 1 · ㄷ 1 · ㄴ 1 · 흙막이 메 H2.0 계 40 · 찰붙임 10 · 빈 높이 Φ800 1.8) · 검증_sub7 API 관 9곳 · 1본 8 m(실무 6 m — 변수 안 고침)
- [x] 98-2 집수정 실제 모양을 설계에 남김(`B06_Section_Structure_Layouts.ts` extraWallRows · `B06_Section_Server_Calc_Prebuild.py`) · 확인 = 시험(test_b06_pipe_length 짝)
- 검증완료 — test_b06_pipe_length 8 · B06 [저장] 뒤 설계 inlet_basin 9곳(12+18 U · 21+8 흙막이 null · 나머지 L) · 알림 「집수정 모양 기록 없음 9곳」 사라짐
- [x] 98-3 도수로/돌붙임 컨테이너에 붙임 형식(찰붙임 · 메붙임) · 면적 ㎡ 칸(`design_structure_guard.ts` CHUTE · 구조물정의 · 세트 짝) · 확인 = 폼 · 저장 수치
- 검증완료 — B06 좌측 패널 [+ 도수로/돌붙임] 상자에 붙임 형식 · 면적 칸 · 4+6 메붙임 20 저장 → 집계 20 ㎡ · 붙임 빈칸 상자 안 셈 · test_65_ford_defaults 등 명세 시험 86
- [x] 98-4 화면 머리 3단 + 단위 · 계 줄 · 측점 「71+13」 · 칸 값(`B08_Quantity_UI_Summary.ts` · 펼친 열에도 조합 id) · 확인 = 화면 배관 측점 값 = 서버 값
- 검증완료 — 5182 · 머리 4줄(구조물 · 형식 · 규격 + 단위) · 12+18 = 9 · 1 · ㄷ형 1 · 21+8 찰 10 · 메 10 · 계 80 · 10 · 10 · 20 · 43 · 4 · 3 · 1 = 서버 값 · 조합 이으면 「관 공」 → 조합 경로 · 행 누름 모달 카드 1(복사본) · 닫으면 iframe 0 · 밝음 · 어두움 · test_61_1 · test_61_2 · test_ui_data_table · typecheck · 바꾼 값 · DB 설계 행 · 복사본 되돌림