- 기본값 정의처는 config_system_design 한 곳 그대로. 고른 값은 프로젝트 설정
quantity.conversion_factors_override 에 얹고, earthwork_conversion_factors() 한 함수가
기본값 위에 얹어 풀어 냄.
- 그 함수를 거치는 자리 여섯 — 토적표·운반표·기초단가(B08), 유토곡선 컨텍스트·
배분 계산·[저장] 재계산(B06). 상수를 직접 드는 자리를 없앰.
- 산출 조건 패널에 갈래별 계수 칸 신설 — 기본값·품셈 범위를 함께 보이고,
「유토곡선·운반표·기초단가에도 같이 닿음」 안내 한 줄. 범위 밖은 막지 않고 사유를 받음.
- 품셈 체적변화율 범위를 서버 상수로 두고 화면에 내려보냄(프론트에 다시 적지 않음).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GrXDD23Dvt2sR7q3X6oekp
사용자 지시(2026-09-09): 「값을 코드에 박고 끝내지 말 것 · 대신 페이지에 남길 것」
- 층따기 길이(확정 2차 ①) — 비면 층따기 줄이 막힘. 칸이 없어 값이 안 들어가던 자리
- 기초잡석 두께(확정 3차 ②, 0.2m) — 근거: 폭은 버림 폭과 같음(KCS 34 50 05),
두께는 품셈 12-25 가 안 정해 사용자 확정값
- 사토장까지 거리(확정 3차 ③ 미정) — 비어 있고, 비면 사토 운반 줄이 막힘
- 구조물터파기 용수(확정 3차 ④) — 기본 「육상」이 **통상값이고 사용자 확정 아님**을
칸 밑 근거 줄에 적음. 품셈 9-13 의 18구분이 이 값으로 갈림
- 칸마다 근거 한 줄(`b08-quantity__hint`)을 붙임 — 왜 그 값인지 화면에서 보이게
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
목록에만 있고 화면에 없으면 사용자는 그것이 잠정인 줄도 모름. 셋 다
「지금 어떤 값으로 돌고 있는지 + 왜 잠정인지」를 함께 보임.
- 콘크리트 타설 방식을 좌측 패널 칸으로 냄. ⚠ 금액에 바로 걸리는 값이라
기본값으로 돌고 있으면 「기본값 「레디믹스트」로 계산 중 — 아직 안 정한 값」
안내를 띄움. 설정 기본을 None 으로 바꿔 「안 정함」과 「일부러 레디믹스트를
고른 것」을 가름 — 값을 미리 넣으면 그 구별이 사라짐. 되돌리기도 됨.
- 물구멍 근거에 잠정값을 적음 — 「관 Ø 미정(법 3~6㎝ / 실무 Ø50) ·
간격 2.0㎡당 1개소(법 2~3㎡당 1개소 이상)」. 「미확정」만으로는 무엇을
정해야 하는지 모름.
- 준비공의 벌목 줄에 공종 미확정 사유와 후보를 함께 적음(수확베기·단목베기·
위험목 베기 중 어느 것인지 원본이 말하지 않음).
검증 — 전체 580 passed, tsc 오류 0. 화면에서 셋 다 뜨는 것과 타설 방식
저장·되돌리기까지 확인 후 검증으로 바꾼 값은 원래대로 복원.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- 암 시공법(ripping/blasting)을 갈래 비율 칸 아래에 붙임. 갈래 이름만으로는
품셈 공종(암절취 FP-09-04 / 발파암 FP-09-05)을 못 고르던 자리. 기본은
「안 정함」이고, 안 정하면 인계에서 사유와 함께 드러남. 비율 미입력 상태의
「암」 한 줄에도 칸을 냄.
- 관급/사급은 표 안에서 줄마다 고름. 관급 줄에만 설치주체가 열리고 사급으로
되돌리면 잠기며 비워짐. 만진 줄은 표시가 남음.
- 산출 요약(최소·중앙·최대)을 원단위·자재총괄·인계에 붙임. 단위별로 갈라 냄 —
값이 있기만 하면 시험이 못 잡는 자릿수 어긋남을 사람이 훑게 하는 장치.
화면에서 걸려 고친 것 둘
- 관급을 골라도 설치주체 칸이 잠긴 채 남던 것. 고른 즉시 열고 닫게 함.
- 한 번 고른 시공법을 되돌릴 길이 없던 것. 설정 저장이 병합이라 빈 값을 보내도
옛 값이 남았음. `save_section(replace_keys=…)` 로 되돌릴 수 있어야 하는 칸만
통째로 갈아 끼움. 나머지는 그대로 병합.
앞 커밋에서 온 타입 오류 2건도 고침 (`slopeColumnCount` 미사용,
`variant: "outlined"` 는 없는 값). 앞선 확인에서 npx 가 엉뚱한 패키지를 실행해
「오류 없음」으로 잘못 봤음 — tsc 는 config/node_modules 것으로 부를 것.
검증 — 새 시험 5건 + 인계 28건 통과, 전체 509 passed. tsc 오류 0.
화면 실조작으로 시공법 저장·되돌리기, 관급/설치주체 저장·되돌리기 확인 후
검증으로 바꾼 값은 원래대로 복원.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
B06 담당(랩탑) 실측 회신 반영. 미교차는 드문 예외가 아니라 상시임 —
route 169 는 22/105(21 %), 이 노선은 17/65(26 %). 매번 요란하면 곧 무시당함.
고친 것 셋
· 붉은 오류 → **주의 표시**(테두리를 danger 에서 muted 로). 잘린 줄 표시도 같게.
· 목록을 `details` 로 **접어 둠**. 필요할 때만 폄.
· 문구를 **한 덩어리**로 묶음 — 절·성토 면적 · 사면길이 · 사면적이 전부 같은 사유로
잘리므로 항목마다 따로 띄우지 않음.
안 넓히는 까닭 (주석에 남김)
미교차 절반 이상이 계곡·절벽처럼 지형이 설계 사면에서 멀어지는 자리라 반폭을 늘려도
영원히 안 닫힘. 닫히는 쪽도 중앙값 +3m 인데 꼬리가 +292m 이라 전역 확대는 값이 안 남.
2026-09-03 사용자 확정 「경고로 대체」가 그대로 유효함.
정본 키 대조 — StationSlope.unclosed 가 design.slope_unclosed 에서 나오는 것 확인
(B06_Section_Engine_Design.py:807 이 내는 그 값).
검증 — 공용 브라우저 실화면. 타입검사 오류 0.
접힌 상태 `details[open=false]` · 요약 문구 한 줄 · 측점 단추 17개.
펴면 목록이 보이고, 첫 단추(NO.13)를 누르면 그 줄로 가서 강조됨.
조작한 화면은 사용자가 보던 주소로 되돌려 놓음.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
일감 3 의 API·화면 덩어리. 토적표 오른쪽 절반(실무 V~AI)이 화면에 섬.
한 응답으로 냄
실무 토적표가 한 장이라 화면도 한 장임. 나눠 부르면 두 번 왕복하고 같은 측점
목록을 두 벌로 들게 됨. earthwork-table 응답에 slope 를 함께 실음.
열 구성 — 계열 4 x 성토면/절토면 = (거리, 면적) 7쌍
층따기[성토면] · 면고르기 · 법면보호공(종자파종) · 지장목제거.
거리 = 그 측점 사면길이, 면적은 토적표와 같은 평균단면적법.
합계행은 면적만 — 거리(사면길이)는 합이 뜻이 없음(실무 시트도 비움).
⚠ 잘린 측점을 감추지 않음 (PLAN 8-4b)
사면이 원지반을 못 만난 측점은 사면길이·면적이 그 지점에서 잘려 있음.
경고 문구에 **무엇이 잘렸는지**를 적고(「실제 값은 이보다 큼」), 측점 단추를
누르면 그 줄로 가서 잠깐 강조됨 — 17곳을 눈으로 찾게 하지 않음.
잘린 줄은 측점 칸 왼쪽에 표시가 남음.
검증 — 공용 브라우저 실화면. 타입검사 오류 0.
머리글 3단 13/12/28셀, 대분류에 층따기·면고르기·법면보호공·지장목제거,
3단에 거리/면적 쌍. 본문 65행 x 34열(토공 20 + 사면 14).
NO.1 사면값 6.4/64.4 · 3.5/93.0 등이 엔진값과 일치.
잘린 줄 17개 표시 · 경고 문구 · 측점 단추 17개 확인.
합계 면고르기 성토 13,518.6㎡ · 절토 5,433.7㎡ 로 엔진 합계와 같음.
회귀 404 passed (실패 1건은 B05 코리도 기존 깨짐).
조작한 화면은 사용자가 보던 주소로 되돌려 놓음.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PLAN 8-4b 열 명세를 화면에 세움. 일감 2 의 마지막 덩어리(엔진 → API → 화면).
왜 실무 서식 그대로인가
이 화면의 첫 사용자는 「프로그램이 맞나」를 확인하려는 설계자임. 보기 좋게
재배치하면 실무 산출서와 눈으로 대조를 못 함. 열 순서·머리글 문구를 실무
토적표(= 오솔길 1.BOM 36열)에 맞춤.
소수 자리는 표기 규칙일 뿐 (PLAN 8-16)
서버는 전정밀 값을 주고 자르는 것은 화면뿐임. 실무 시트 관측대로
단면적·체적 2자리 · 보정량계·유용토·차인·누가 1자리 · 거리 정수.
원가 쪽(줄마다 원 단위 절사)과 규칙이 반대라 그 코드를 옮기지 말 것.
구성
좌측 = 산출 조건 읽기 전용(산출법·토량환산계수). 계수는 서버 상수가 유일
정의처라 화면이 값을 다시 적지 않음.
우측 = 시트 탭 + 표. 지금 서는 장은 토적표 하나, 나머지 6장은 차례로 붙임.
표는 한 번만 받아 좌측·우측이 함께 씀(중복 호출 없음).
측점 열·머리글은 sticky — 가로로 굴러도 어느 줄인지 보임.
locale 은 B08 키 8개만 추가 (다른 창과 겹치는 파일이라 기존 줄 무접촉).
검증 — 공용 브라우저 실화면.
타입검사 오류 0. 탭 「토적표」, 3단 머리글 3행(9/5/14셀), 본문 65행 x 20열,
합계행 표시. 둘째 줄이 API 값과 일치: NO.1 거리 20 · 절토토사 1.96/22.34/20.10
· 암 2.54/25.43/29.24 · 측구 0.08/2.58/2.33 + 0.10/1.02/1.17 · 보정량계 52.8
· 성토 4.82/48.79 · 유용 48.8 · 차인 4.0 · 누가 4.0.
⚠ 어두운 테마에서 머리글이 묻히던 것을 프로젝트 테마 변수로 바꿔 고침 —
대비 실측 머리글 10.51:1 · 본문 11.32:1 (기준 4.5:1).
조작으로 바꾼 화면은 사용자가 보던 주소로 되돌려 놓음.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>