Commit Graph
3057 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 fd3800857d fix(M01): 산림 5장 로직 없음(절 누락) 14절에 새 로직 (PLAN 28-2a)
- GF000290~303: 관목굴취 · 교목굴취(나무높이 · 근원직경) · 뿌리돌림 · 관목식재(단식 · 군식) · 교목식재(나무높이 · 흉고직경) · 단끊기 · 표토절취 · 표토펴기 · 막갈이 · 흙부수기 · 매트 포장
- 쓰는 표의 용도.로직키 · 범위규칙 열 표에 엔진 이름(이상·이하 · 이하)을 앞에 붙임
- 5-5 · 5-26-3 은 표 조건 칸이 없어 못 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:18:31 +09:00
eomsangdonandClaude Opus 5.5 ae51bed23c feat(M02): 담을 로직 읽기 길 /api/m02/logic-lib — 로그인이면 로직 목록 · 갈래 · 하나 · 견본 입력(PLAN 27-2b 서버)
- 회사 · 개인 조합 편집이 M01 관리자 전용 길 없이 로직을 고르고 미리 보기
- 시험 test_m02_combo_layers 한 벌 더함(9)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 13:17:57 +09:00
eomsangdonandClaude Opus 5.5 d8e5723c78 fix(M01): 산림 4·9·10장 로직 없음(절 누락) 38절에 새 로직 (PLAN 28-2a)
- 9장 27절(GF000252~278): 암파쇄 · 발파(10%) · 깎기(90%) · 기계소할 · 콘크리트·아스팔트 깨기 · 포장절단 · 측구·구조물 터파기 암 14절 · 살수 · 발파암 비탈면 고르기
- 10장 7절(GF000279~285): 인력운반 3절 · 짐내리기 · 덤프 자재운반 · 덤프운반(굴착기 적재+15ton) · 묘목 인력운반
- 4장 4절(GF000286~289): 수확베기 · 단목베기 100본·1,000㎡ · 위험목 베기
- 쓰는 표의 용도.로직키 · 4장 범위규칙 네 표에 엔진 이름(이상·이하 · 이상·미만)을 앞에 붙임(원문 설명은 뒤에 그대로)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:17:10 +09:00
eomsangdonandClaude Opus 5.5 16babf0515 fix(M01): 토목 9-5-4 지하시설물 공동구축 절감은 위치측량만 · 3차원 국토공간정보 공정별 계수 원문대로 (PLAN 28-2d)
- GC000502 환산연장(탐사길이)과 공동구축환산연장을 가름 — 위치측량만 절감 · 설계예 다섯 직종 계와 같음
- GC000511 P · K 는 원문 주⑦ 공정에만 · 기초데이터편집 = 면적 ÷ (0.0214 × K) ÷ 8 × 제작방법 × 세밀도 · 가시화 자료취득 = P × K × T × 제작방법 · 점군데이터 제작 계수 없음(점밀도는 9-5-4-9 공정 — 입력 점밀도 뺌) · 설계예1(건물만) 아홉 직종 계와 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:17:01 +09:00
eomsangdonandClaude Opus 5.5 354e6cd029 feat(M02): 일위대가 조합 층 저장소 · 층 길 — 마스터 · 회사 · 개인(PLAN 27-2a · 27-2c 서버)
- 새 M02_MasterTemplete_Combo_Store · Router_Combos — /api/m02/layers/{layer}/combos 목록 · 하나 · 새로 · 고침 · 지움 · 나무 · 알약 · 미리 보기 · /api/m02/combos/all(세 층)
- 키 장부 UC{회사}-###### · UP{사용자}-######(파일 머리 다음 · 지운 번호 안 씀) · 마스터 UA 는 M01 저장 길 그대로
- 나무 = 폴더 [구분, 상세구분] 깊이 2 · 빈 폴더는 머리 폴더 · 쓰는 조합 든 폴더 지우기 409
- 옛 /api/m01/combo* 길 뺌(logic/combos 만 남김) · 조합 화면 Api 는 M02 마스터 층 길로
- use-combo · 갈라 내기 · 항목 이름 · 면적 알약 · 스냅샷 원본이 세 층 조합을 읽음 · 남의 층 조합 403 · 갈라 낸 조합은 그 층에(시스템 관리자 한정 뺌)
- 시험 옮김(test_m01_combo · test_m01_combo_inputs) · 새 test_m02_combo_layers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 13:15:10 +09:00
eomsangdonandClaude Sonnet 5 effde345f7 fix(M01): 토목 1·3장 로직 일부 구현 — 트럭·소형브레이커·동력분무기 줄 더함
- 도로포장공사(1-8-9·10·11·13·14 GC000316·317·319·320·321·322·323·324·326·327): 덤프트럭(옛이름 「트럭·화물트럭」)을 지역 입력과 함께 연결
- 도로포장공사(1-9-4 GC000336): 소형브레이커(공압식) 2.7㎥/min을 GC000273(연료·조종원 없는 기종)으로 연결
- 터널공사(3-4-3 GC000350): 동력분무기 4.85㎾를 GC000272(조종원 없는 기종)로 연결

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Niyrmyr3LQFRxC4DNEynf5
2026-09-30 13:15:09 +09:00
eomsangdonandClaude Opus 5.5 161d0f214b fix(M01): 토목 9-5-1 · 9-5-4 표 주 · 비고 원문대로 (PLAN 28-2d)
- QC000918 주① 평탄지역 수직항공 사진촬영 기준 · QC000927 설계예 재료비(계획용지도) 줄
- QC000960 비고 산식 ÷ 기호 · QC000985 주① 「데이터간의 상호 상관관계를 유지하기 위하여」
- 9-5-4-5 기계비 여덟 표 비고 「S/W포함」 · QC000972 원문 두 값 어긋남 주에 적음
- QC000973 주⑤~⑦ · QC000990 주⑦⑧ · QC000976 주① 원문 문장

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:12:29 +09:00
eomsangdonandClaude Sonnet 5.5 21184fa104 fix(M01): 토목 6장 관부설 주 빠짐 5건 — 공구손료 및 잡재료 인력품 요율 덧줄
6-7-1 · 6-7-3 (1%) · 6-8-1 · 6-8-2 · 6-8-4 (2%) + 원문 주 보충 (28-2c).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-09-30 13:10:41 +09:00
eomsangdonandClaude Sonnet 5.5 417fcb2b29 fix(M01): 토목 5장 강구조 희석재 사용량 칸 — 도료 사용량 25% 로 고침
5-2-3 희석재 단위 ℓ 유지, 값을 비율 식으로 (28-2c).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-09-30 13:10:40 +09:00
eomsangdonandClaude Sonnet 5.5 c105d7ff2e fix(M01): 토목 1장 도로포장 주 빠짐 8건 — 공구손료·잡재료 요율 덧줄과 원문 주 보충
1-6-2 · 1-7-1 · 1-7-2 · 1-8-2 · 1-8-9 · 1-8-13 · 1-8-14 · 1-9-2. 견본 계산으로 요율 곱 확인 (28-2c).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-09-30 13:10:40 +09:00
eomsangdonandClaude Opus 5.5 515e09631a fix(M01): 토목 9-4-3 디지털 도로대장 계 줄 원문대로 (PLAN 28-2d)
- QC000902 계 — 특급 (1.7) · 고급 1.0(7.3) · 중급 6.0(13.8) · 초급 3.0(12.4)(빈 특급 외업 칸이 빠져 밀렸던 것)
- QC000916 설계예 계 초급 2.4 → 4.4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:08:49 +09:00
eomsangdonandClaude Opus 5.5 af1e694c83 fix(M01): 토목 9-3 기준점 배점 비고 · 하천 50m 내업 · 구획정리 · 용지측량 주 원문대로 (PLAN 28-2d)
- QC000858 비고 — 1·2급 「연결을 위한 측량」 · 3·4급 「연결 및 현황측량에 필요한 골격측량」
- QC000871 50m 초급기능사(측량) 내업 20(원문 50(20))
- QC000879 주① · 「정리」 글 칸 · QC000879 · QC000886 주⑧ 성과 작성품 목록
- QC000889 주⑬ 성과작성품 12항목

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:07:36 +09:00
eomsangdonandClaude Opus 5.5 7716f4dd5b fix(M01): 토목 9-2 수준측량 P 위 끝 1 · GNSS 높이측량 답사선점 고급 줄 (PLAN 28-2d)
- GC000458~461 작업량 계수 P = 최소(1, 최대(0.9, 0.8+3/거리)) — 원문 15이내 1 · 견본 10km 1.10→1.00
- QC000846 · QC000849 답사선점 고급기술자 1.2 · 1.6 줄 더함 · GC000462 · GC000463 고급 식에 더함 — 원문 계와 같아짐(10.6 · 7.3)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:05:15 +09:00
eomsangdonandClaude Sonnet 5 de9b3958f3 fix(M01): 산림 10·12장 로직 일부 구현 — 케이블 크레인 운전·유로폼
- GF000144(10-8-3 케이블 크레인 운전): 구분·운반기구·비고 입력을 더해 짐내리기 품(10-8-1)의 보통인부를 찾기로 연결
- GF000210(12-38 유로폼): 패널·내부패널 재료 줄과 부자재·소모자재 요율 덧줄을 더함(패널은 자재품목 「유로폼패널 600×1200㎜」 연결)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Niyrmyr3LQFRxC4DNEynf5
2026-09-30 13:04:35 +09:00
eomsangdonandClaude Opus 5.5 be0317ef74 fix(M01): 토목 8-4-2 케이싱 설치 등 인력품 주② 원문 문장으로 (PLAN 28-2d)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:01:47 +09:00
eomsangdonandClaude Opus 5.5 be37e29093 fix(M01): 토목 7장 준설선 부속선단 · 준설여굴 병합 칸 폄 (PLAN 28-2d)
- QC000749 14,920 줄 양묘선 「186.5 이상」(원문 4열 11~12행 병합)
- QC000771 그래브 보통토사 5.5∼9.0m 미만 0.5 · 암반 5.5∼9.0m 미만 · 9.0m 이상 0.5(원문 병합 0.5m)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:01:09 +09:00
eomsangdonandClaude Opus 5.5 434e65ad94 fix(M01): 토목 5-1 강교 제작 용접공에서 대형단품계수 뺌 · 계수 표 주 정리 (PLAN 28-2d)
- GC000373 용접공 수량 · 공장제작 제경비 식 — 원문 5-1-2 주② 대형단품계수는 철판공 · 가조립 철공에만 · 견본 용접공 1.7801 → 1.8351
- CC000119 주⑤ 끝에 붙은 「여기서, b : 부품 평균중량(㎏)」 을 CC000120 머리로
- CC000120 주③ 뒤 붙은 가조립 식 · 본체 보정 식 · ※ 문장(CC000122~127 에 이미 있음) 뺌
- CC000120 b=150 경계는 엔진 범위규칙 한계라 남김

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 13:00:08 +09:00
eomsangdonandClaude Opus 5.5 5b7bf3d789 fix(M01): 공통 8장 롤러 작업효율 · 경운기 주행속도 병합 칸 폄 (PLAN 28-2d)
- CC000064 노체·축제·노상 타이어롤러 · 진동롤러 · 양족식롤러(자주식) 0.80/0.60/0.40 (원문 3~5열 8~11행 병합)
- CC000072 석재류 적재 83/57/35 · 적하 117/83/57 (원문 3~8열 3~4행 병합)
- 8-1-3 이동속도 표는 새 키가 필요해 남김(sub1 몫)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 12:57:39 +09:00
eomsangdonandClaude Opus 5.5 b18ac9a581 fix(M01): 공통 5-3-1 전용장비 규격 표 병합 칸 폄 (PLAN 28-2d)
- QC000363 둘째 줄(500미만 · 20이상)에 파일천공전용장비 「100이하」 — 원문 3열 1~2행 병합

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 12:56:31 +09:00
eomsangdonandClaude Opus 5.5 158d978434 fix(M01): 산림 10-4 중기운반 표에 빠진 자주식 「크레인(트럭 10TON)」 줄 더함 (PLAN 28-2d)
- QF000307 원문 16줄 = 자료 16줄 · 값은 이름의 규격(10 TON) · 콘크리트 믹서 줄과 같은 꼴
- GF000137 은 자주식 줄을 안 씀 · 견본 계산(t2 30분 · 트레일러) 됨

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 12:55:12 +09:00
eomsangdonandClaude Opus 5.5 50abcb894d feat(B01): 대시보드 시스템 설정 컨테이너 재구성(27-3)
- 「구조물 관리」 컨테이너 삭제 · 「시스템 설정」을 모든 역할 맨 위 한 줄 · 통째로 접힘(attachCollapsible)
- 안은 작은 카드(제목 + 한 줄 설명) 공용 양식 하나 · 역할로 숨김
  - 시스템 관리자: 마스터 데이터 · 일위대가 조합 · 구조물 조합 · 구조물 옵션 · 도면 양식
  - 회사 관리자 · 개인: 일위대가 조합 · 구조물 조합(마스터 읽기 · 회사 수정|읽기 · 개인 수정)
- 카드 누르면 #/m02-master-template?open=…&root=… · 마스터 데이터는 M01
- 시험 test_b01_settings_cards 새로 · test_m02_layer_screen 옛 대시보드 카드 시험 뺌

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 12:53:21 +09:00
eomsangdon 61d82cc060 Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-09-30 10:56:15 +09:00
eomsangdonandClaude Sonnet 5.5 2c87f91f36 fix(B05·B06): 고르기 모달 [해제] 가 [저장] 에서 사라지던 흠 · 항목 더하기 창 빈 칸 안내 (PLAN 26장)
- 구조물 저장은 세션 초안을 보냄(횡단 보기에서 한 지정 · 해제가 종단 보기 메모리 때문에 사라지던 것)
- 관 시설 보관소는 서버 응답을 정본으로(집계 항목 칸이 없으면 미지정 · 옛 지정이 되살아나던 것)
- 항목 더하기 · 새 항목 창: 빈 이름 · 빈 단위에 칸 빨간 테두리 + 한 줄

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-09-30 10:56:13 +09:00
eomsangdonandClaude Opus 5.5 b4100acc6d feat(M02): 관리 화면 「구조물 조합」 — 나무가 주 · 표는 참조표 · 비고 · 전구간 · 합계 숨김(PLAN 26-7a~e)
- 화면 이름 「구조물집계표」 · 「구조물 집계 양식」 → 「구조물 조합」(좌측 줄 · 상세 제목 · 안내글) · 파일 이름 · 양식 키 · API 길 그대로
- 좌측 패널 「항목 나무」 컨테이너 없앰 — 페이지가 나무를 만들어 편집 칸 왼쪽(aside)에 붙임 · 「구조물 조합」일 때만 보임 · 오른쪽 클릭 · 찾기 · 표와 서로 고름 · 고치기 전 저장 물음 그대로
- 표 부품 lockHead — 열 더하기 · 분류N 더하기 · 열 지우기 단추 없음 · 머리 · 층 이름 고치기 없음(단위 · 일위대가 · 조회 후 선택은 그대로)
- 비고 열 · 전구간 줄 · 합계 줄은 보일 문서에서만 뺌(comboView) · [저장] 때 저장본 것을 다시 끼움(comboMerge) · 양식 파일 · M02_Table_Fill 그대로
- 서버 — 화면 표 [저장](store.write screen=True)은 있던 항목의 경로 · 층 이름 · 빈 폴더를 저장본 그대로(tree.keep_paths · 브라우저 머리 안 받음) · 머리는 경로에서 다시 만듦 · 나무 고침 줄기 그대로
- 나무 같은 이름 409 는 「이미 있는 항목」 까닭 그대로 보임(판 다름 안내와 가름)
- 시험 test_m02_combo_screen 3(숨김 · 되끼움 Node · 잠금 · 나무 자리) · test_m02_tree 표 저장 약속 새로 · 이름 · 잠금 기대값 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 10:39:59 +09:00
eomsangdon 551593d040 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-09-30 09:41:51 +09:00
eomsangdonandClaude Opus 5.5 2a3051fbca feat(M02): 마스터 구조물집계표 초기화 · 시험 견본화(PLAN 26-5a)
- 마스터 층 구조물 항목 51개 지움 — 나무 지우기(tree.apply delete) → 집계표 저장(store.write) 한 줄기 · 집계표 구조물 열 · SS 장부 줄 · structure/area/material 파일 153개 · 남김 = no · sta · 비고 열 · 변수 · 쪽줄 · 합계줄 · 바인딩규칙 · 자재조합 · 구조물옵션표시 · drawing · M01 · 회사 · 개인 층 · 프로젝트 복사본 · 지운 열의 열너비만 뺌
- 키 · 번호 다시 안 씀 — 장부 다음 52(새 항목 SS000052) · 지운번호 51개 기록(새 번호는 SD-000001 모양이라 옛 8자리와 안 겹침)
- 지우기 전 사본 tmp/마스터_집계표_초기화전_0930/(git 밖 · 156 파일 = 지우기 전과 같음)
- 시험 안 견본 fixtures/m02_master_sample(옛 집계표 · 장부 · 자재조합 · rv · c4 · pp_len · ms 세 파일 · 도면 줄임) + helper_m02_master_sample — 실제 마스터를 읽던 시험 일곱(table_fill · template_layers · structures_summary_snapshot · item_copy_complete · m02_tree · m02_item_inputs · spreadsheet_saved_values)을 견본으로 · M01 쓰는 곳 찾기(users_of) 시험은 이미 임시 표(combo_inputs)라 그대로
- 새 시험 test_m02_empty_master — 빈 마스터에서 항목 0 · 빈 나무 · 첫 화면 길 · 새 폴더 · 새 항목(SS000052 · SD-000001) · 지우기 · 고르기 모달 마스터 0 · 프로젝트 복사본 calc 그대로 · 원본없음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 09:41:04 +09:00
eomsangdonandClaude Sonnet 5.5 58ba4545f2 feat(B05): 노선 추천 알약 여덟(영선 · 안전 우선 · 계류 횡단 최소 · 공사비 어림 최소) · 영선 목표 기울기 칸 · 비교값 두 묶음 (PLAN 23-5b)
- 알약: 예상노선 추적 · 영선 노선 · 토공 최소 · 기울기 순한 · 안전 우선 · 계류 횡단 최소 · 공사비 어림 최소 · 비중 계산 — 짧은 노선 · 흙 균형 뺌 · 네 칸 두 줄(좁으면 두 칸 네 줄)
- 영선 노선일 때만 「목표 기울기」 칸(criteria.target_grade_pct · 비우면 상한) · 응답에서 쓴 값을 기준값 줄에 보임
- 비교값 두 묶음: 노선 · 기울기(목표 기울기 편차 · 옆경사) / 흙 · 안전 · 비용(위험 구간 통과 · 계류 횡단 · 이격 · 공사비 어림 상대값)
- 옛 저장값 short · balance 는 예상노선 추적으로 읽음 · 시험: 새 이름 · 비교값 · 목표 기울기 · 옛 값 · 왕복에 새 넷

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 09:24:38 +09:00
eomsangdon 4d7a978d0b Merge remote-tracking branch 'origin/sub_laptop_3' into sub_laptop_7 2026-09-30 09:14:23 +09:00
eomsangdonandClaude Opus 5.5 a718c2d67c feat(B05): 추천 갈래 다시 — 영선 · 안전 우선 · 계류 횡단 최소 · 공사비 어림 최소(PLAN 23-5a)
- 갈래 short · balance 뺌(요청 422) · gradeline · safe · crossings · cost 더함 — 각 목표로 제약 탐색한 후보를 묶음에 넣고 제 비교값으로 고름
- 탐색 목표 셋 더함: 목표 기울기 편차(영선 · 등경사선) · 위험(옆경사 35° 이상 · 계류 버퍼 안 통과 길이) · 계류 횡단 링크 · 공사비는 상대 단가 그대로
- 비교값 더함: side_slope_avg_pct · side_slope_max_pct · hazard_m · stream_crossings · stream_offset_avg_m · grade_dev_pct · cost_index
- 공사비 상대 단가(절성토 1 ㎥ = 1 · 연장 1 m = 2 · 계류 횡단 1 곳 = 400)는 임시 상대값 · 브레인 임의 판정
- 요청 criteria.target_grade_pct(영선 목표 기울기 · 없으면 상한) · 응답 criteria.target_grade_pct
- 시험 test_route_initial 31 · 왕복 시험은 화면이 아는 갈래만(새 넷은 23-5b 뒤)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-09-30 09:12:05 +09:00
eomsangdonandClaude Opus 5.5 760e43c8df feat(M02): 항목 키 체계 · 품번 새 모양(PLAN 26-4a)
- 항목 키 = 마스터 SS + 6자리 · 회사 SC{회사}- + 6자리 · 개인 SP{사용자}- + 6자리(장부 key_head · 층 폴더로 가름) · 한 번 주면 안 바뀜 · 지운 키 다시 안 씀 · 층 사이 복사 · 개인에 저장 · 새 항목은 그 층 새 키 + 본뜬 곳
- 회사 · 개인 층의 옛 SS 키는 장부를 맞출 때(처음 읽을 때 한 번) 새 모양으로 옮김(숫자 여섯 그대로 · 겹치면 다음 번호) · 옛 키는 줄 옛키 에 남김 · 옛 키로도 찾음(store.find_combo · 나무 고침 · 입력 목록 · 항목 복사 · M02_Item_Source.row_of)
- summary_item 키 검사 — SC · SP 는 그 층 · 머리 번호 = owner 일 때만 · 옛 SS 는 어느 층이든 받음
- 품번(도번 SD · 면적번 SA · 재료번 SM) 새 일련 = 붙임표 + 6자리(SD-000001) — 옛 8자리(제목행 자리) · 12장 옛 6자리(SD010101)와 모양이 달라 안 겹침 · 옛 번호는 그대로 유효 · 새 모양끼리 셈 · 지운 번호 안 씀
- 시험 test_m02_item_keys 7(층마다 키 모양 · 안 바뀜 · 다시 안 씀 · 복사 본뜬 곳 · 옛 SS 옮김 · 옛 키로 찾음 · 겹친 숫자 · 참조 키 모양 · 120 형제 깊이 6 번호 · 층마다 번호 따로 · 키대장 안 겹침) · 번호 · 키 시험 기대값을 새 모양으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 09:04:39 +09:00
eomsangdon d9ae3a1a7a Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_6' into main_laptop_1 2026-09-30 08:32:05 +09:00
eomsangdonandClaude Sonnet 5.5 b67a3be753 fix(M02): 재적용 뒤 복사본 「고침」 을 끔 — 살린 입력값 · 고른 자재는 「값있음」 으로 따로 알림 · 목록 줄에도 반영 (PLAN 26-2b)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 08:31:31 +09:00
eomsangdonandClaude Sonnet 5.5 8f55366949 feat(M02): 관리 화면 항목 나무 — 좌측 폴더 나무 · 표 ↔ 나무 고름 · 오른쪽 클릭 더하기 · 이름 바꾸기 · 옮기기 · 지우기 (PLAN 26-3a)
- 좌측 「구조물 집계 양식」 아래 「항목 나무」 카드(세 층 공용 · 깊이 자유 · 검색 · 키보드 위아래 · 펼침 · F2 · Delete)
- 항목 누름 → 표 그 열 고름 + 카드 넷 · 표에서 열 고름 → 나무 표시
- 나무 고침 POST /api/m02/layers/{층}/tree · 판 409 다시 읽고 알림 · 저장 안 한 표 고침은 저장/버림/취소 물음
- 읽기만 층은 메뉴 · 키 없음 · 나무 메뉴 자리는 sub5 의 ui_template_tree 그대로
- 시험 test_m02_treepanel 8 · test_m02_layer_screen 문구 맞춤

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-09-30 08:28:42 +09:00
eomsangdonandClaude Sonnet 5.5 542c5cc260 test(spreadsheet): 늦게 불러오는 곳에 고르기 모달 편집 화면을 더함 (PLAN 26-3b)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-09-30 08:26:01 +09:00
eomsangdon 0c79b4e209 Merge remote-tracking branch 'origin/sub_laptop_5' into sub_laptop_7 2026-09-30 08:16:41 +09:00
eomsangdonandClaude Sonnet 5.5 26eac086a8 feat(ui_template): 고르기 모달 — 구조물 복사본 기준 · [재적용] · [개인에 저장] · 나무 오른쪽 클릭 새 항목 · 경로 이름 (PLAN 26-3b)
- 카드 · 편집이 그 구조물의 복사본(폴더 = 구조물 id · 관 = pipe@측점)을 읽고 고침 · 같은 항목을 고른 구조물끼리 값이 따로
- [재적용](덮이는 것을 확인 창으로 알리고 덮임 부분을 알림) · [개인에 저장](경로 · 이름 물음) · 상태 줄에 고침 · 마스터가 바뀜 · 원본 없음 표시
- 나무 개인 그룹 · 폴더 오른쪽 클릭 「새 항목」 → 돌려받은 summary_item 을 폼에 지정 · [적용] 뒤 [저장] 안내 한 줄
- B05 구조물 폼이 구조물 id 를 모달에 넘김

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-09-30 08:15:55 +09:00
eomsangdonandClaude Sonnet 5.5 2deef5a5da feat(B05): 노선 추천 — 알약 여섯(짧은 노선 · 흙 균형) · 남는 흙 비교값 · 같은 노선 알림 줄 · 비중 고정 시험 (PLAN 23-4c 화면 · 26-2c)
- 알약: 예상노선 추적 · 토공 최소 · 기울기 순한 · 짧은 노선(short) · 흙 균형(balance) · 비중 계산 — 짧은 노선 · 흙 균형은 비중 없음
- 비교값에 「남는 흙」(surplus_m3 · + 남음 / − 모자람)
- 응답 similar · band_width_m → 비교값 아래 「이 지형은 제약 안에서 갈 길이 폭 …」 한 줄 + 흐린 안내 · 없으면 줄 숨김
- 시험: 가짜 응답 · 여섯 이름 · 남는 흙 · 알림 줄 · 비중 계산 사유 · 왕복 시험에 short · balance 더함

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 08:10:09 +09:00
eomsangdon 312f4ab8b6 Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-09-30 08:00:51 +09:00
eomsangdonandClaude Opus 5.5 c14717d0c2 feat(B05): 비중 = 탐색 비용의 가중합 · 짧은 노선 · 흙 균형 갈래 · 같은 노선 알림(PLAN 23-4)
- 비중 계산을 후보 고르기에서 탐색 한 번으로 — 몫(이격 · 토공 · 기울기)을 끝 노선 셋(추적 · 토공 최소 · 기울기 순한) 사이 범위로 크기 맞춤 · 제약은 (1 − 예상 몫)만큼 벌점(막지 않음) · 넘은 곳은 「비중 계산」 사유로 목록
- 끝값 100/0/0 · 0/100/0 · 0/0/100 = 추적 · 토공 최소 · 기울기 순한 그 선 · 예상 99 → 추적에서 5.0 m
- 새 갈래 short(연장 최소) · balance(|절토 − 성토| 최소) · 비교값 surplus_m3(흙 남음)
- 응답 similar(10 m 안인 다른 갈래 · 가장 먼 거리) · band_width_m(제약 안 띠 폭 어림)
- 후보 묶음을 새 모듈 _Pool 로 · 토공 ↔ 기울기 쓸기 11 벌을 묶음에 넣어 갈래가 사이 비중보다 제 목표에서 좋게
- 같은 상한 탐색은 간선 틀을 다시 씀 · 같은 노드는 다시 안 잼(첫 요청 엔진 7.1 → 2.2 초)
- 시험 test_route_initial 27

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-09-30 08:00:42 +09:00
eomsangdon 015921c906 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_2 2026-09-30 08:00:38 +09:00
eomsangdonandClaude Opus 5.5 b3b4363120 feat(M02): 프로젝트에서 만든 개인 층 항목도 경로 그대로(PLAN 26-2a · 26-2b 이음)
- M02_Item_Personal.create_item — 경로를 제목행 넷에 접지 않고 그대로(머리 줄 수는 집계표 저장이 맞춤) · 같은 경로면 「이름 (2)」 · 같은 앞마디 형제 곁에 끼움
- 시험 test_m02_tree 6(깊이 5 새 항목 · 같은 경로 이름 (2))

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 07:57:41 +09:00
eomsangdon dd2f51b521 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_4 2026-09-30 07:50:27 +09:00
eomsangdonandClaude Opus 5.5 b5114ec17f feat(M02): 집계 항목 폴더 구조 서버 — 경로 · 일련번호 · 나무 고침 길(PLAN 26-2a)
- 항목 경로 = 폴더 이름 배열(깊이 자유) · 집계표 열 머리(빈 칸 건너뜀)가 곧 경로 · 열에 경로를 같이 적음 · 머리 줄 수(층)는 가장 깊은 경로에 맞춤(넷 밑으로는 안 줄임) · 빈 폴더는 집계표 폴더 칸(M02_MasterTemplete_Tree)
- 표 저장과 나무 고침 한 줄기 — 나무 고침은 집계표 문서를 고쳐 같은 집계표 저장(store.write)을 탐(번호 · SS 장부 · 세 파일 · 입력 연결 파일 지우기가 함께)
- 나무 고침 길 POST /api/m02/layers/{layer}/tree(add-folder · add-item · rename · move · delete · 판 409 · 422 · 404 · 층 권한) · 읽기 GET 같은 길 {판, 폴더, items}
- 번호 = 새 항목은 자리 뜻 없는 일련번호(있던 번호 · 지운 번호 가장 큰 수 + 1) · 있던 번호 그대로
- SS 장부 = M02_MasterTemplete_Book 로 떼어 냄(Store 543 → 478) · 줄에 경로 · 이름 · 옛 종류 · 분류1~3 = 경로 앞 넷 · 경로 없는 옛 줄은 읽을 때 채움 · 옮기는 함수 migrate_paths
- 목록 길 /api/m02/items 줄에 경로 · 이름(경로 이음) · 자재 조합 · 갈라 내기 이름도 경로 이음
- 마스터 집계표 · 장부를 경로 모양으로 옮김(51 항목 · 키 · 번호 그대로 · 빈 글 머리는 null)
- 시험 test_m02_tree 5(옛 51 항목 · 옮기기 두 번 같음 · 깊이 1 · 2 · 5 · 이름 · 옮기기 · 지우기 · 마지막 항목 · 409 · 403 · 표 저장 한 줄기) · 번호 시험을 일련번호 규칙으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 07:50:20 +09:00
eomsangdon 41cf1cd195 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_5 2026-09-30 07:47:31 +09:00
eomsangdonandClaude Opus 5.5 fbb214cd94 feat(M02): 집계 항목 복사본을 구조물마다 — templates/structures/{구조물 id} · 옛 항목 폴더 옮겨 받기 · 재적용(덮임 알림) · 개인에 저장 · 프로젝트에서 새 항목 · 지정 바꿈 · 삭제 때 고친 것은 _지난 (PLAN 26-2b)
- 같은 항목을 고른 구조물 둘도 도면 · 면적 · 재료 · 자재조합 · 일위대가 · 입력연결 · 입력값 · 고른자재 · 단가를 따로 가짐 · 폴더 = structure_id 또는 pipe@측점
- 옛 templates/items/{층}_{주인}_{키} 는 읽을 때 그 항목을 쓰는 구조물마다 복사(고친 값 유지) · 안 쓰이고 고친 것은 structures/_지난
- 길: 미리 가져오기 {structure, layer, owner, key} · POST …/{폴더}/reapply(refresh 옛 이름) · …/save-as {to, 경로, 이름} · …/items/new {structure, 경로, 이름, 단위} · 회사 없음 409
- manifest 원본에 경로(26-1 · 경로 칸 우선 · 옛 종류 · 분류는 건너뛰며 받음) · 원본이 바뀌거나 지워져도 복사본 · 계산 그대로(목록 마스터바뀜 · 원본없음)
- 채움(M02_Table_Fill)은 구조물 복사본의 열 정의를 읽음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 07:45:20 +09:00
eomsangdon 559d445e4e auto: 2026-09-30 07:36 (ESD_LAPTOP) 2026-09-30 07:36:32 +09:00
eomsangdon bf21676ef5 Merge remote-tracking branches 'origin/sub_laptop_3' and 'origin/sub_laptop_5' into main_laptop_1 2026-09-30 00:15:48 +09:00
eomsangdonandClaude Sonnet 5.5 3a59f715f6 feat(ui_template): 항목 고르기 모달을 실서버에 이음 · 선택 입력 카드는 sub2 파일 한 벌 (PLAN 25-2d)
- 복사본 창구를 sub6 길 모양({항목} · {종류, 판, 내용} · PUT {판, 내용} · 409 message · refresh · calc)으로 — 가짜 응답 지움
- 입력 목록 · 항목 연결은 sub4 길(fetchItemInputs · readInputLinks) · 알약은 pillsOf
- 값 받기 카드를 M02_MasterTemplete_Inputs.ts 에 모드 view · value 로 더함(InputsCard 지움 · 두 벌 금지) · 셈은 _Inputs_Model
- 상태 줄에 복사본 계산 한 줄(계 · 빠진 입력) · 목록은 모달에서 한 번만 받아 들고 있음
- Structure.ts: sub2 의 선택 입력 카드를 ItemCards 의 extraCards 로 다시 얹음

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-09-30 00:06:37 +09:00
eomsangdon 4a1a71fd3a Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_5 2026-09-30 00:00:54 +09:00
eomsangdon 7c62d90d9a Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_5 (선택 입력 카드 sub2 판 · Structure.ts 는 ItemCards 위에 다시 얹음) 2026-09-30 00:00:53 +09:00