Files
Aislo/docs/raw/plans/2026-10-17_plan_351-364.md
T

150 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PLAN 351~364 이관 (요구 235~239 · 10-16 ~ 10-17)
근거 분석 = `docs/raw/조사/2026-10-16_351_요구235_분석.md` · 브레인 검증 아티팩트 https://claude.ai/artifact/Dg1dzJPsQfVomCGMduxQPN
## 351. 노선 추천 — 저장 빈틈 · 곡선 MC 를 일반측점에 (요구 235-1 · 235-3 · sub1 · Opus high)
- 사용자 확정: 다섯 갈래는 시점 · 종점 · 제한값이 같으면 다시 안 셈 · 모달은 저장본만 읽음 · 곡선 MC(곡선 가운데 법선)가 일반측점(No.N+0) 위 · 곡선 수 ≤ 일반측점 수.
- 정함(브레인): 327 저장은 있음 → 빈틈만 · 「측점 스냅 풀고 점 옮기면 뒤 측점 미세 이동」 = 지금처럼 측점이 누가거리로 따라감(번호 다시 매김 아님) · MC 맞춤 = 추천 다섯 갈래 결과(전처리 초기 노선 · 손 편집 규칙은 그대로) · 근거 = docs/raw/조사/2026-10-16_351_요구235_분석.md 1장 · 3장.
- [x] 351-1 B04 재확정 체인 끝 미리 셈 예약 · 기본값 결과는 「최근 2벌」 정리에서 뺌 · 저장된 제약(initial_choice)으로도 미리 셈 · B01 노선 사용 범위를 바꾸면 expected_route 다시 쓰고 미리 셈 — 확인: 체인 뒤 첫 누름 = 저장본 시험.
- [x] 351-2 추천 결과 곡선 MC → 일반측점(시점부터 차례 · IP 를 4 m 안에서 밀고 R 맞춤 · 남는 측점 없으면 합침/끔 · 실패면 원래 선) · ALGO_VERSION 3 · 모달 미리 보기에 원호 — 확인: 모든 곡선 MC % 20 ≈ 0 · 곡선 수 ≤ 일반측점 수 시험.
— 브레인 확정: 이탈 한도 6 m(따로) · 못 놓는 곡선만 그 자리 · 맞춘 선 · 맞추기 전 선 두 벌 저장 · 모달 「측점 맞춤」 켬끔(기본 켬).
— 검증완료 — 시험 351-1·351-2·route_initial 등 통과 · typecheck 0 · 검증_sub1 예상노선 8벌 중 7벌 전부 · 곡선 99% 측점 위 · 실지형 갈래 95% · 화면 MC 오차 ≤ 9 mm · 저장본 첫 누름 0.2 s · B01 범위 900 m 바꿈 → 예상노선 다시 씀 + 미리 셈 44.9 s → 되돌림(파일 같음) · 검증 대기.
## 352. B05 배치 — 평면 전체 · 위 메뉴 덮개 · 횡단 우측 판 · ☰ · 분석 지형 · 되돌리기 (요구 235-2 · 10 · 13 · 14 · sub5 · Sonnet high)
- 정함(브레인): 「띠」 = 계획노선 머리 줄(.b05-routeedit__head) · 「컨테이너」 = .b05-routeedit__box → 둘 다 걷고 도구는 3D 와 같은 떠 있는 단추(☰ 비킴 그대로) · 횡단 = 지금 「지금 · 이전 횡단」 판을 우측 덮는 판(아래 종단 판이 그 위) · ☰ = 좌측 패널 제목 앞 칸(접히면 떠 있는 ☰) · 서랍 AISLO 로고 · 이름 우측 · 분석 지형 = 고른 적 없으면 데이터대로(라이다 있으면 라이다) · 사용자가 고른 값만 기억 · [저장 전으로] 지움 · 근거 2장.
- [x] 352-1 머리 줄 · 테두리 걷고 도구를 떠 있는 단추로 · [?] 도구줄 아래 · 횡단 판 우측 덮개 · 회전 단추 · 잰 값 · R 이름표 겹침 손봄 — 확인: 평면이 가운데 전체 · 종단 판이 횡단 판 위 시험 + ORCA. 검증완료: 글 시험 통과(chrome_modal · initial · 345_5 · 345_5b · 345_5c · 133_1 · 349_0h) · typecheck 통과 · ORCA 화면 검증완료(5180 · 검증_sub5 · 밝음/어두움 · 횡단 판 펼침 · 접힘 · ☰ 접힘/서랍/Esc · 곡선 삭제 라벨 · 분석 지형 고르기).
- [x] 352-2 ↶ ↷ 글 없이 기호(aria-label) · [저장 전으로] · reset 지움 — 확인: test_b05_routeedit_chrome_modal · test_346_4 고쳐 씀. 검증완료: 시험 4 파일 통과 · typecheck 통과 · 화면 확인 대기.
- [x] 352-3 분석 지형 기본값 = 데이터(sources las) · 열 때 안 씀 · 사용자가 바꿀 때만 기억 · 바꾸면 묶음에 알림 — 확인: 처음 연 프로젝트 고르기 = 실제 지형 시험. 검증완료: test_352_3 · 133_1 · 133_2 통과 · typecheck 통과 · 화면 확인 대기.
- [x] 352-4 ☰ 를 좌측 패널 제목 앞 칸으로(제목 자리 그대로 · 접힘 · 서랍 열림 때도 닫힘) · 서랍 로고 · 이름 우측 — 확인: test_device_drawer 고쳐 씀 + ORCA. 검증완료: 글 시험 통과(☰ 자리 8,8 그대로 · 패널 펼침 때만 테두리 · 바탕 없음) · 브라우저 시험(5174 서버)은 로그인 502 로 못 돎 · 화면 확인 대기.
- [x] 352-5 B05 버튼 명사형 — 곡선 삭제 · 곡선 추가(Label.ts). 검증완료: chrome_modal 통과. 남음: 추천 모달 「다시 셈」(Recommend.ts:194 · 351 몫) · 로케일 「유역 다시 나누기」 「선택한 관 삭제」(locale_b2:35·40 · 357 몫). → 로케일 둘 끝(sub5 73b337f15).
## 353. 평면 그림 — 절/성토선 · 등고선 고정 · 3D 등고선 (요구 235-4 · 5 · 6 · sub8 · Opus high)
- 정함(브레인): 절/성토선 = 측점 값을 그대로 지나는 단조 3차 보간 + 같은 법선 + 접힘 버림(B07 계획평면도 파이썬 짝 함께 · 거울) · 등고선 고정 = 높이값 하나 · 페이지 동안 · 호버 · 고른 가닥에 자물쇠 · 3D 등고선 = 5 m 주곡선 고정 · 1 m 옅게(평면 색 토큰) · B04 3D 도 같게 · 근거 3장.
- [x] 353-1 [발자국] → [절/성토선] · 선 매끄럽게(PCHIP · 법선 통일 · 접힘 제거 · 곡선 촘촘) TS + B07 짝 — 확인: 거울 시험 · 측점 폭 = 횡단 값 · 꺾임 각 상한 시험.
- 검증완료 — test_353_1 · 346_2 · b07_plan_kinds · 119 통과 · ORCA 검증_sub8 실데이터 도로 끝 꺾임 최대 8° · 되돌아감 0 · 곡선 안쪽 접힘은 모서리로 잘림.
- [x] 353-2 등고선 하이라이트 자물쇠(호버 · 누르면 고정 · 다시 누르면 풂 · 고정 동안 다른 지정 안 됨) — 확인: 시험 + ORCA.
- 검증완료 — test_353_2 통과 · ORCA 진짜 마우스 855 m 잠금 뒤 빈 곳 · 845 · 875 눌러도 855 · 수치지형도로 바꿔도 855 다시 짚음 · 풂 뒤 865 고름 · 밝음/어두움.
- [x] 353-3 3D 등고선 5 m · 1 m 선 종류 구별(B05 · B04) — 확인: test_176_2 · test_345_2.
- 검증완료 — test_353_3 · 176_2 · 345_2 통과 · ORCA B05 3D 5 m 진한 남보라 · 1 m 옅은 선(B04 는 같은 재질 파일 · 화면 안 엶).
## 354. 종단 판 — 유토곡선 따로 · 종단 기준 숨김 · 스크롤 끊김 (요구 235-7 · 8 · 9 · sub2 · Opus high)
- 정함(브레인): 유토곡선 = 배수유역도처럼 자기 판(종단 열 아래 칸 · 손잡이 · 높이 · 접기 따로 · X 동기화 · 창 분할 유지 · B05 · B06 공용) · 종단 기준 = 안 셈 · 안 그림(코드 남김 · 저장 범례는 횡단으로) · 스크롤 = 유토 다시 그림은 열림일 때 한 틀 한 번 · 동기화 메아리 막는 공용 도우미 · 근거 4장.
- [x] 354-1 유토곡선 자기 판 — 확인: 시험 고쳐 씀 + ORCA(B05 · B06).
- 검증완료: test_354_1 · 224_1b · 224_1c · 230_2 고쳐 씀 · 관련 시험 138 통과 · typecheck 빨강 0 · ORCA 5177 검증_sub2 B05 · B06 = 종단 칸 504~842 · 유토 판 842~1078 안 겹침 · 표 695~842 종단 칸 안 · 접음 = 25px 머리줄([창 분할] · 손잡이) · 다시 펼침 scrollLeft 999.9 = 999.9 · 측점선 X 같음 · 밝음/어두움 · bf3aaaa41 · f79a33ef3(머리줄 z 6 — [창 분할]이 축 띠에 가려짐 고침).
- [x] 354-2 종단 기준 숨김(저장 범례 맞춤) — 확인: 시험.
- 검증완료: test_354_2 4 통과(저장 종단 범례 → 횡단 · 그리기 기준 횡단만 · 묶음 단계 두 기준 그대로) · test_309 · single_source 통과 · typecheck 빨강 0 · f331f2094.
- [x] 354-3 스크롤 끊김(다시 그림 줄임 · 메아리 무시 · 표 켬/끔 × 분배 켬/끔) — 확인: 메아리 재현 시험 + ORCA 휠.
- 검증완료: test_354_3 재현(옛 잇기 = 휠 1,200px 중 210px 에서 멈춤 · 뒤로 튐 5 / 새 = 8 경우 튐 0 · 끝까지) · ORCA B05 4 경우 + B06 × 종단 · 유토 쪽 휠 = body.scrollLeft 뒤로 튐 0 · 유토 접음 스크롤 다시 그림 0 · 5417cde43. 휠은 ORCA 마우스 휠이 (0,0)에만 떨어져 스크롤러에 WheelEvent 를 eval 로 보냄(scroll · 메아리는 브라우저 그대로).
## 355. 종단 ▲▼ — 이웃 R 점을 축으로 직선 돌림 (요구 235-15 · sub6 · Opus high)
- 정함(브레인): 「R 있는 점」 = 기하 꺾임(종단곡선 있는 변화점) · 누른 점이 꺾임이면 좌우 같은 기울기 마디를 건너 다음 꺾임(없으면 시점 · 종점)을 축으로 사이 측점을 새 직선 위로 · 직선 안쪽 점이면 지금 그대로 · ▲▼ 버튼 · 표 입력 · 방향키 같은 길 · 근거 4장.
- [x] 355-1 adjustStation(Alignment.ts) 고침 — 확인: 새 helper 세 경우(처음 계획선 = 옛 값 · 직선화 뒤 꺾임 ▲ = 사이 한 직선 · 축 표고 그대로 · 직선 안쪽 = 옛 값) · 영향 시험.
- 검증완료: test_355_1 · 영향 시험 55 통과 · typecheck 0 · ORCA 5181 검증_sub6(▲ · ▼ · 방향키 · 표 입력 = 축 사이 측점 정확히 비례 · 축 키 그대로 · 빈 값 무시 · 어두움 · 횡단 오가기) · 1ac1a7d93.
- [x] 355-2 새 Pivot 파일을 가짜 모듈 목록 도우미(helper_344_2 등)가 싣게 — 확인: test_344_2 통과(지금 12 오류).
- 검증완료: 도우미 셋(344_2 · 349_0v · 234_1) 진짜 Pivot 모듈 · 시험 46 통과(메인 재확인) · 47b28e4ed.
## 356. B06 — 맹암거 경계 · 중심점 좌우 · 키 강조 (요구 235-16 · 17 · 18 · sub7 · Opus high)
- 정함(브레인): 양측절토 맹암거 = 낮은 쪽으로 늘인 노면선이 원지반과 만나는 점(tilt_reach)에서 끊음(흐름 방향 규칙은 지금대로) · 중심점 = 고르면 ▲▼ 계획고 · ◀▶ · 가로 끌기 = 그 측점 노선을 좌우로(가까운 노드 옮김 · 없으면 끼움 · 놓을 때 한 번 커밋 · 그 측점 높이 그대로 · 뒤 측점은 묶음이 조용히) · 카드 초점 강조 없앰(▲▼ 계획고 길은 그대로) · 근거 5장.
- [x] 356-1 맹암거 양측절토 reach 에서 끊음 — 확인: test_288 · 306 · B07 묶음 다시 지음.
- 검증완료: test_288 · 306 12 통과(양측절토 reach 수직 끊음 새 시험) · build:b07-extent 다시 지음 · test_b07_cross_overlay_extent 3 통과 · typecheck 통과.
- [x] 356-2 카드 초점(tabIndex · Enter/Space) 걷음 — 확인: 키 눌러도 다른 색 테두리 없음.
- 검증완료: test_356 · 219_1 통과 · ORCA(검증_sub7 · 5182) 카드 마우스 고름 뒤 초점 안 받음 · 빨강 고름 테두리만.
- [x] 356-3 중심점 고름 · 상하 · 좌우(노선 이동 · 놓을 때 커밋 · 높이 보정) — 확인: 시험(Δ → 노드 · 뒤 측점 다시 셈 · 되돌리기 한 걸음) + ORCA.
- 검증완료: test_356 외 고친 대상 196 통과 · typecheck · ORCA 진짜 마우스 — 중심점 고름(원 맨 위 · 조정창 ◀▶) · ▲ 계획고 +0.1 · B06 바로 열기 ◀ 0.1 m = 노드 끼움(49→50) · 끌기 우 2.0 m = 0.5 m 안 노드 옮김 · 측점 40 계획고 867.1767 → 867.1778 / 867.1784(보정 없으면 867.0997) · 끝 측점 1092.269 → 1092.268 · 되돌리기 한 번 = 한 걸음 · 고정 노드 알림 · 밝음/어두움 · 종단 보기 옮김 뒤 초안 유지 · 원상복구.
- [x] 356-4 되돌리기 · 다시하기로 노선이 바뀌는 차례는 계획고 편집 · 횡단 초안을 그 걸음 사진대로(follow · 계획고 옮김이 덮지 않게) — 확인: 중심점 좌우 + 보정 → 되돌리기 = 조작 전 계획고 시험.
- 검증완료: test_356_4 4 통과(옛 동작 대조 = 편집 사라짐 잡음) · 349-0k~0u · 346 · 355 · 356 142 통과 · typecheck · ORCA 진짜 마우스(검증_sub7) — ◀ 0.1 m(z40 867.1772 · 보정 0.0954) → 끌기 우 2 m(867.1779 · −1.427) → 되돌리기 = 867.1772 · 0.0954 그대로 · 다시하기 = 867.1779 · −1.427 · 끝까지 되돌림 = 초안 없음 · 밝음/어두움 · 원상복구. 344-2 시험 12 오류 = 355 피벗 새 파일이 헬퍼 가짜 목록에 없음(sub2 몫 · 무관).
## 357. 설정 · 단축키 · 버튼 이름 (요구 235-11 · 12 · 27 · sub6 · Sonnet high)
- 정함(브레인): 설정 저장 = [닫기]와 같은 크기 · 저장하면 바로 닫힘 · 단축키 글 「단추」 → 「버튼」 · 한 줄 = 「입력 = 동작」(키 칩) · 버튼 이름 = 명사형(분석 6장 표 · -기 꼴은 짧은 한자어 있을 때만 · [닫기] 그대로) · B05 · M02 버튼은 그 장 창이 · 나머지 화면 · 로케일은 sub6 · 근거 6장.
- [x] 357-1 설정 저장 버튼 크기 · 저장 뒤 닫힘 — 확인: test_app_settings 고쳐 씀. 검증완료(시험 통과 · ORCA 저장 59.5×31.7 = [닫기] 같음 · 저장 뒤 창 닫힘 · 잘못 별칭은 창 남음 · 값 되돌림). 검증 대기.
- [x] 357-2 마우스 · 단축키 탭 한 줄씩 · 버튼 — 확인: 시험 + ORCA. 검증완료(마우스 8줄 · 다른 곳 38줄 모두 높이 31 · 「단추」 0 · 밝음/어두움). 검증 대기.
- [x] 357-3 서술형 버튼 이름 명사형(A0x · B01 · B03 · B09 · B11 · M01 · ui_template · spreadsheet · cad_host · 로케일) — 확인: 바뀐 글 시험 고쳐 씀. 검증완료(물음 창 [취소] [폐기] [저장] 화면 확인 · 시험 78 통과 · typecheck). 남김: B05 · M02 · Recommend 버튼 = 각 창 · -기 꼴 중 spreadsheet 「내용/서식/화살표 지우기」 · 주소 등은 그대로. 검증 대기.
## 358. M02 실무자료 맞춤 — 자재 · 별도계상 · 이름 닮은 후보 · 출처 · 옵션 단계 (요구 235-20 · 22 · 236 · sub3 · Opus high)
- 사용자 확정: 데스크탑 옛 판의 유사 로직 찾기가 낫게 느껴짐 · 엑셀 단가산출의 출처 · 옵션 로직으로 단계적으로 확인해 정합성을 올림.
- 정함(브레인): 새 판(1순위 14 → 48/49)은 되돌리지 않고 합침 — 후보를 숨기지 않고 묶음으로 보임(1위 + 판정 / 출처 같음 / 이름 닮은 로직 = 옛 판 다섯 / 숫자만 닮음 = 접고 꼬리표) · 출처 → 옵션 → 이름 → 규격 · 단위 차례는 거름이 아니라 묶음 · 꼬리표 · 자재 · 별도계상 줄도 단계 대조 · 근거 = docs/raw/조사/2026-10-16_351_요구235_분석.md 7장 · 8장.
- [x] 358-1 후보 묶음(이름후보 · 뜻겹침 · 출처 같음 · 책 표시 · 찾기 칸 = 이름 낱말) — 서버 Line · Api 두 칸 · 고르기 창 — 확인: 옛 다섯 ⊂ 후보 ∪ 이름후보 · 1순위 ≥ 116 그대로 시험.
- 검증완료 — 이름후보 = 옛 판 600줄 대조 0 다름 · golden 9 통과(다섯 안 ∪ 이름후보 ≥ 다섯 안) · ORCA 구조물터파기 고르기 창 1위 / 이름 닮은 로직 5 / 숫자만 닮음 4(접힘 · 회색) · 검색 칸 「구조물터파기」 · 밝음/어두움 · 검증 대기
- [x] 358-2 자재 · 별도계상 줄: 갈래 판정(재료비만 = 자재 · 「별도계상」 글 = 표시) · 맞춤(지역 · 관급/사급 꼬리 · 규격 숫자 · 단위) · 단가산출 줄에서도 자재 고름 · 가져올 때 별도계상 · 자재구분 · 운반비 세 칸 넣음 — 확인: 북부청 자재 30줄 맞음 2 → 늚 시험 · 자재 정답 표.
- 검증완료 — 북부청 임도 자재 · 별도계상 30줄 맞음 2 → 8(면목 · 레미콘 둘 · 와이어메쉬 · 열연강판 · 자물쇠 · 돌망태 둘) · 정답 표 5 · 로직 자재 같은 품목 = 자재표시로(400 없음) · ORCA 레미콘 고르기 창 1위 + 변형 · 큰돌 = 가까운 것 없음 + 다른 자재 검색 · 검증 대기
- [x] 358-3 단계 대조가 안 된 것처럼 보이던 까닭 고침: 옛 꼴 장부 짝이 숫자 판정과 다르면 판정 먼저 + 「장부와 다름」 표시 · 목록 숫자 = 확인 창 숫자 한 규칙(% 줄 · 노임 줄은 셈 밖) · 판 2 캐시 없는 층 파일 미리 셈 — 확인: 시험.
- 검증완료 — 목록 수 = 확인 창 수(68호표 같음) · 실물 북부청 제안 113 → 204 / 415 · 장부와 다름 24줄 · 연결할 414 · 연결된 204(sub4 녹색용) · 목록 열 때 뒤 셈 예약 시험 · 검증 대기
## 359. M02 실무자료 화면 — 파일 업로드 · 바로 엑셀 보기 · 수정 · 저장 · 숫자 색 · 확인 창 표 (요구 235-19 · 21 · 23 · 24 · 25 · 26 · sub4 · Opus high)
- 정함(브레인): [엑셀 올리기] → [파일 업로드](구조물 조합 [마스터] 단추 꼴) · 파일 줄 누름 = 바로 엑셀 보기(표가 맡던 지우기 · 검산 · 셈 중 · 고름 표시는 엑셀 보기로) · 엑셀 보기 펼침 표 · [확인 창 열기] 없앰 · 호표 줄 번호 오른쪽 [수정] = 확인 창 · [고른 N개 확인하고 만들기] → [저장] = 체크한 호표를 체크 줄로 만들기 · 숫자 = 다 연결(358-3 한 규칙)이면 녹색 · 확인 창 표 = 일위대가 상세 꼴(로직 표 + 자재 표 · 세 칸) + 품 비교 · 버튼 · 드롭다운 「넣음 · 뺌 둘」 → 「추가 · 로직없음 · 사용안함」(저장 값 그대로) · 별칭 장부는 이름 그대로 두고 단추 · 창 머리에 한 줄 풀이 · 근거 7장.
- [x] 359-1 [파일 업로드] 버튼 · 파일 줄 누름 = 엑셀 보기 · 표 몫 옮김 — 확인: 시험 + ORCA.
- 검증완료 — test_m02_hopyo_screen 18 · 단추 꼴 = [개인] 층 단추와 같음(32px · 14px · 8px 16px) · 파일 줄 = 엑셀 보기 · 머리 막대 · 고름 표시 켜짐/꺼짐 · 검증 대기
- [x] 359-2 [수정] · [저장](체크 기준 만들기) · 펼침 표 · [확인 창 열기] 지움 · 숫자 녹색 — 확인: test_m02_hopyo_screen 고쳐 씀 + ORCA.
- 검증완료 — [수정] 68줄 같은 자리 · [저장]/[삭제] 물음 취소 = 그대로 · 녹색 = success 토큰(밝음 31,138,76 · 어두움 63,187,111) · 북부청 다 연결 0개 · 녹색 칸은 358-3 연결할 · 연결된 두 칸 오면 바꿈 · 검증 대기
- [x] 359-3 확인 창 표 = 일위대가 상세 꼴 + 품 비교 · 드롭다운 글 · Check.ts 쪼갬 — 확인: 시험 + ORCA.
- 검증완료 — sub4 가 끝냄 · test_m02_hopyo_draft_calc(북부청 실물 줄 calc 200 · 저장 안 함) · 제1호표 로직 4 · 자재 2줄 · 금액 미리 셈 채움 · 드롭다운 저장 값 「우리에 없음」 그대로 · 캐시 되돌림 · 검증 대기
- [x] 359-4 별칭 장부 풀이 한 줄 · M02 서술형 버튼 명사형(분석 6장 표의 M02 몫 · Choose.ts 는 sub3) — 확인: 시험. · 덧 0576420d8 M02 로케일 버튼 9개 명사형(en 포함) · ui_checks 4 · 시험 29 통과.
- 검증완료 — 장부 머리 · 좌측 title 풀이 · Hopyo 단추 명사형 · 로케일 단추 글(Layer · UI_Side · UI_Main · Practice)은 sub6 몫으로 남김 · 검증 대기
## 360. 요구 235 · 236 마무리 — 합치기 · 빌드 · 시험 · 보고 (브레인)
- [x] 360-1 창마다 끝나면 메인 합침 · 고친 대상 시험 · typecheck · 서버 Node 묶음 다시 지음 · push. 검증완료: 메인 합침(351~359 · 355-2 · 356-4) · 고친 대상 시험 모두 통과(마지막 351 묶음 60) · typecheck 0 · 서버 묶음 corridor · server-calc · b07-extent 다시 지음 · push.
- [x] 360-2 장이 끝난 창 /clear · 사용자 보고(창 보고 수치 모음 · 남은 것). 검증완료: 창 여덟 /clear · 모델 모두 Opus high 로 되돌림 · ORCA 탭 0 · 사용자 보고.
## 361. M02 실무자료 — 지역만 다른 자재 = 전국 (요구 237-1 · sub3 · Opus high)
- 사용자 확정: 지역 자동 고름 안 함 · 기본 = 전국 · 필요하면 사용자가 바꿈 · 레미콘 = 별도계상 · 관급/사급 · 지역은 나중에 프로젝트에서.
- 정함(브레인): 줄 글에 지역이 적혀 있으면 그 지역(원문 · 자동 고름 아님) · (전국) 품목 있으면 그것 · 없으면(레미콘) 특정 지역 품목 · 단가에 안 묶고 「전국」 · 관급/사급 꼬리 · 별도계상은 지금 규칙 · 근거 = 자재 목록에 레미콘(전국) 없음(시 사급 · 시군 관급만).
- [x] 361-1 맞춤 · 꼬리표(「못 가림 — N개 중 첫째」 → 「전국」) · 고르기 창 지역 변형 고름 / 전국 되돌림 · 만들기 결과도 전국 — 확인: 북부청 레미콘 별도계상 줄 = 전국 시험 + hopyo 묶음 + ORCA.
- 검증완료 — hopyo 묶음 108 통과 · typecheck 0 · ORCA(5178 · HP-000002 제1호표) 레미콘 줄 = 「레미콘(전국)-관급」 · 코드 「전국」 · 금액 — · 고르기 강릉 MT019839(102,410) → 전국 되돌림 · 밝음/어두움 · 캐시 · 테마 되돌림 · 만들기는 임시 층 시험만(본뜬.전국자재 · 빠진 줄 까닭 · 장부 안 남김) · 검증 대기
- [x] 361-2 「전국」 자재(사전조합 본뜬.전국자재)를 상세 화면 자재 표 아래 보기 전용 줄로 — 확인: 있는 것 · 없는 것 시험 + ORCA.
- 검증완료 — 고친 대상 시험 215 통과(national 4 · hopyo 묶음 · Labor 상세 · 사전조합 시험) · typecheck 0 · 전국 자재 표(코드 전국 · 세 칸 · 금액 — · 단추 0) · 없으면 안 그림 · 확인 창 세 칸 = 서버 `세칸`(전국-관급 = 관급) · ORCA 는 브레인 몫(V31) · 검증 대기
## 362. M02 상세 화면 [파일 업로드] · 옛 별칭 정리 (요구 238 · sub4 · Sonnet high)
- 사용자 확정: 「상세도 있음」 = 상세 화면에도 같은 종류 버튼 · 옛 별칭 = 사용자 시험 흔적 · 지워도 됨.
- 정함(브레인): 같은 종류 = M02 도면 상세 머리 📂(파일 불러오기 DXF · DWG) — M02 안 파일 버튼은 이 둘뿐 · B07 도각 편집 [파일 불러오기]는 그대로.
- [x] 362-1 옛 별칭 3짝 지움(사용자 개인 장부 storage/1/3 · 사본 스크래치패드 req237) · 엄상준 개인 장부(1/10) 옛 꼴 2짝은 그대로 — 확인: 장부 줄 0.
- [x] 362-2 도면 상세 머리 📂 → [파일 업로드](실무자료 [파일 업로드]와 같은 꼴 · DXF · DWG 그대로) · 도움말 글 — 확인: 시험 + ORCA.
- 검증완료: 시험 12 + 메인 18 통과 · typecheck · ORCA 5179 도면 상세 [파일 업로드] 102×31.7 px = 실무자료 버튼 102.04×31.74 px · 누름 = 숨은 input click(불러오기 · 저장 안 함) · 밝음/어두움 · bfe0d1d95. 참고: 머리 줄 [저장] 줄바꿈은 옛 그대로.
## 363. 요구 235~238 브레인 화면 검증 · 아티팩트 (요구 239 · 브레인)
- 사용자 확정: 코드 끝난 뒤 브레인이 사용자처럼 브라우저로 검증 · 내일 아침 볼 아티팩트.
- 정함(브레인): 랩탑 메인 5173 · 검증_브레인232 사본 · M02 = 보기 · 확인 창까지(사용자 층 [저장] · 장부 쓰기 안 함) · 바꾼 값 되돌림 · 목록 = 스크래치패드 req239/verify239.md.
- [x] 363-1 요구 1~27 · 236 · 237 · 238 사용자 길 · 수치 · 사진 — 흠은 창에 고침 → 다시 잼.
- 검증완료: V1~V31 모두 통과(흠 10건 고친 뒤 다시 잼) · 목록 스크래치패드 req239/verify239.md · 사진 req239/shots · 사본 검증_브레인232 · 시험 사전조합 SC-000001 지움 · 현재 프로젝트 id 되돌림 · 탭 0.
- [x] 363-2 아티팩트 보고(요구별 결과 · 수치 · 사진 · 남은 것).
- 검증완료: 아티팩트 https://claude.ai/artifact/Dg1dzJPsQfVomCGMduxQPN(요구별 결과 31 · 고친 흠 10 · 화면 16 · 남은 것).
## 364. 브레인 검증에서 찾은 흠 (요구 239)
- 정함(브레인): 보기만 바꾸는 조작 · 뒤에서 오는 파생 값은 되돌리기 걸음 아님 · 설계 값이 바뀐 때만 걸음.
- [x] 364-1 B05 평면 [횡단] 판 열기만으로 ↶ 켜짐 → 보기 조작은 걸음 안 만듦(sub7) — 확인: 판 열기 · 회전 · 맞춤 뒤 canUndo false 시험 + ORCA.
- 검증완료 — 시험 187 통과 · typecheck · ORCA 5182 검증_sub7: 보기 손길 15 종 · 횡단 보기 · 카드 고름 = 걸음 0 · ▲ · 꺾임점 끌기 = 걸음 하나씩 · 밝음/어두움 · 검증 대기.
- [x] 364-2 설정 [다른 곳 단축키] 동작 칸 빈 줄 넷(Esc · Backspace · Esc · CAD 묶음 · Ctrl+C 묶음) → 실제 동작 · 동작마다 한 줄(sub6) — 확인: 모든 줄 「 = 」 시험. 검증완료 — 넷을 「키 = 동작」으로 나눔 · 시험 `test_app_settings.py` 3 통과 · typecheck 통과 · 화면 검증 「탭 차례」 대기.
- [x] 364-3 절/성토선 비탈 끝 아직 뾰족(30° 넘음 왼 14 · 오른 2 · 최대 139°) → 바뀜 자리 빼고 둥글게(sub8 · TS ↔ B07 짝) — 확인: 같은 자료 전후 꺾임 수치 시험. 검증완료 — 세션 자료 30° 넘음 왼 14 · 오른 3 · 최대 140.7° → 0 · 1 · 34.8°(측점 860 · 861 사이 1 m 폭 4.4 → 6.0 m · 측점 점 그대로) · 시험 `test_364_3_slope_end_round.py` 4 + 거울 · 관련 42 통과 · typecheck 통과 · 화면 검증 브레인 V4.
- [x] 364-4 노선 추천 저장본 없는 옛 프로젝트 = 모달 첫 열기 셈(토공 63 s · 갈래마다 9~10 s) → B05 열 때 뒤에서 다섯 갈래 미리 셈(sub1) — 확인: 저장본 없는 사본 → 열고 기다린 뒤 모달 0.2 s. 검증완료 — 시험 `test_364_4_precompute_on_open.py` 4 · 351-1 · 224-3 · 모달 시험 59 통과 · typecheck 통과 · 8001 검증_sub1 판 바뀐 저장본(ALGO 4) B05 열기 → 86.8 s 에 다섯 갈래 끝 → 모달 누름 0.12~0.16 s 저장본 · 다 있으면 미리 셈 1 s 안팎 · 583c200b3 · 화면 검증 브레인.
- 검증완료(sub1): B05 열기 = 다섯 갈래 미리 셈 예약 · 86.8 s 뒤 모달 0.12~0.16 s · 583c200b3 · 메인 68 통과.
- [x] 364-5 측점 맞춤 뒤 측점 밖 곡선 남음(영선 5 · 비중 3 · 토공 8 / 166) → 한 측점 다투는 가까운 두 곡선 합침/끔(sub1) — 확인: 다섯 갈래 전후 수치. 검증완료 — 덜 꺾인 쪽 끔(꺾임점째 뺌 · 안 되면 꺾임만 · 이탈 6 m · 기울기 잣대 그대로) · 브레인 판 측점 밖 16 → 3(영선 5/34 → 0/30 · 비중 3/35 → 1/33 · 토공 8/39 → 2/34 · 기울기 · 예상 0 그대로 · 다투는 쌍 0) · 넘은 곳 옛 맞춤 → 새: 영선 4 → 5 · 비중 6 → 7 · 토공 6 → 4 · 최대 기울기 20.9 → 19.3 · 27.1 그대로 · 26.4 그대로 % · 시험 `test_364_5_crowded_curves.py` 2 · 351-2 · route_initial 43 통과 · 63032d6cc.
- 검증완료(sub1): 측점 밖 곡선 16 → 3 · ALGO 4 · 63032d6cc.
- [x] 364-6 B05 누가토량 2,003.9 → B06 열면 편집 없이 2,918.8(절토 +811 ㎥) → 같은 입력 같은 값(sub7) — 확인: 사본 편집 없이 B05 = B06 시험.
- 검증완료: 메인 B05 = B06 = 2,003.9 ㎥(편집 없이 오가도 그대로) · be4383f81 · 덧 f1e15a771(암 값 보기 전용 글).
- 까닭: B06 표준 횡단 칸이 열릴 때 공통 칸을 토사 값으로 펼쳐 세션을 고침(암 측구 상폭 0.69 → 0.9 · 암 횡단경사 3 → 3~5) → 다시 셈이 암 측점 절토를 키움 · 성토 그대로. 서버 셈 = B05 셈(정본 맞음).
- 고침: 열기 · 저장값 복원 · 초기 값 · 다른 프로젝트 불러오기 = 그룹 값 그대로 · 공통 칸은 고칠 때만 펼침.
- 검증완료 — 검증_sub7 노선 304(67 측점 · 모두 리핑암) 칸 열기 전후 절토 면적 합 402.9 → 444.4 ㎡(56 측점 변함) → 고친 뒤 402.9 = 402.9(0 측점) · 시험 `test_364_6_std_panel_same_value.py` 6(옛 코드 4 실패) · 관련 25 통과 · typecheck · 화면 검증 브레인.
- [x] 덧(브레인 판정): 공통 칸 라벨 끝 보기 전용 작은 글 = 고치기 전 암 · 포장이 실제 쓰는 값(「암 0.69」 · 「암 3 %」) · 고치면 한 벌이 되어 사라짐 · 글자색 토큰 `--color-text-muted`.
- 검증완료 — config 표준: 측구 상단폭 「암 0.69」 · 횡단경사 최대 「암 3 %」 · 최소 · 절토경사 글 없음 · 고친 뒤 넷 모두 없음 · 시험 `test_364_6_std_panel_same_value.py` 8 · 관련 17 통과 · typecheck · 화면 검증 브레인.
- [x] 덧 2: 「암 0.69」 · 「암 3 %」 글이 줄을 늘려 칸이 어긋남 → 라벨과 같은 줄 끝(넘치면 라벨 말줄임)
- 검증완료 — 시험 `test_364_6b_std_note_same_line.py` · `test_364_6_std_panel_same_value.py` 8 통과 · typecheck 통과 · 화면 실측(입력 top 차 ≤ 1 px)은 브레인.
- [x] 364-7 B06 중심점 ◀ 0.1 m 에 40~140 m 계획고 다시 맞춤(최대 −1.27 · +1.73 m · 기울기 18.3 %) → 노면 그대로 옮김 = 계획고 그대로(sub2) — 확인: 사본 ◀ 0.1 m 뒤 모든 측점 계획고 ±0.001 시험.
- 까닭: 노선이 바뀌면 planline 단계가 바뀐 구간을 새 지반 첫 계획선으로 다시 맞춤(꺾임점 끌기와 같은 길 · 바뀐 구간 안 편집 · R 버림) · 옛 보정은 누른 측점 하나만 되돌림.
- 고침: 중심점 좌우 · 끌기 = 옛 · 새 꺾은선 꼭짓점 · 측점을 견줘 다른 곳만 계획고 편집으로 고정 · 옛 R 되살림(`holdGrade`) · B05 꺾임점 끌기 규칙 그대로 · 편집 측점 수는 바뀐 구간 측점만큼 늚.
- 검증완료: test_356 5 · 356-4 4 · 349-0k~0u · 364-1 49 통과(바뀐 구간 안 계획고 · R 든 흉내 = 모든 측점 ±0.001 · 최대 기울기 · R 그대로 · 되돌리기 한 걸음) · typecheck 0 · 842473bce · 덧: 중심점 ◀▶ 툴팁 「이 측점 노선을 화면 왼쪽 · 오른쪽으로 0.1 m」 · ↺ · 소단 ▲▼ 숨김 확인(13fc271eb · 고르기 시험 64 통과) · 화면 검증 브레인.
- [x] 364-8 M02 실무자료 머리 ↔ [파일 업로드] 간격 0 px → 구조물 조합과 같은 12 px(sub4) — 확인: 간격 시험.
- 검증완료: 브레인 화면 간격 12 px · 138c2e2f4.