Commit Graph
9994 Commits
Author SHA1 Message Date
eomsangdon 6e4a987ead Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-10-27 20:16:19 +09:00
eomsangdonandClaude Opus 5.5 f76c31b063 Merge origin/dev into sub_laptop_1 — 560-2 전체 시점 · 종점 · 562-2 노선 정본 받기 (PLAN 561-2)
- 충돌 셋 풂: D03 라우터(562-2 가 분석 API 걷음 + 561-2 지형 한 벌 · 범위 API) · 시험 530_2_plan_router 다시 씀 · 530_2_plan_analyze = dev 판
- 지형 범위의 전체 시점 · 종점 = D02 정본 load_base(plan_base_json · 빈 칸이면 옛 연도 행 접음) — 임시 _plan_inputs 감쌈 걷음
- Terrain — 옛 분석이 쓰던 연도 인자 · 복도 상수 걷음(분석 엔진 걷힘)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:16:04 +09:00
eomsangdonandClaude Opus 5.5 0c78438cb1 feat(562-2): D03 노선 정본 GET · PUT 응답에 year_start(사업연도 시작) — 조각 연도 고름 처음 값
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:15:06 +09:00
eomsangdon 2d7f7a3bd2 Merge remote-tracking branch 'origin/sub_laptop_7' into sub_laptop_1 2026-10-27 20:13:00 +09:00
eomsangdon 8c89f8ae82 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_1 2026-10-27 20:12:59 +09:00
eomsangdon 3e747683c0 Merge remote-tracking branch 'origin/sub_laptop_5' into sub_laptop_1 2026-10-27 20:12:57 +09:00
eomsangdon 88ebefde14 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_1 2026-10-27 20:12:56 +09:00
eomsangdon 084c517060 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_1 2026-10-27 20:12:54 +09:00
eomsangdonandClaude Opus 5.5 f17db59ab6 feat(D03): 지형 = 사업 전체 한 벌 · 받기 전 범위 API (PLAN 561-2)
- 지형 받기 — 연도 구간마다 models_<연도> 대신 한 벌 models_plan · 범위 = 전체 시점 · 종점(+ 그은 점) 상자 + 여유 ∪ 받은 범위(줄지 않음) · 받은 범위 plan_terrain.json
- 도엽 = 범위 상자에 닿는 도엽 모두(3×3 이웃 대신) · 위성 = 그 도엽 도곽
- 새 GET …/plan/terrain/extent — 상자 네 귀 경위도 · 도엽 도곽 · 칸 수 어림 · 받은 범위 · covered(더 받기 판정) · 내려받기 없음
- POST …/plan/terrain 몸 = {margin_m, extra} · 여유 처음 값 350 m(옛 DEM 폭) · 바닥 300 m · 실패 글에 병합 도엽 매수
- 전체 시점 · 종점 = 임시로 첫 연도 시점 · 끝 연도 종점(_plan_ends · 560-2 받은 뒤 바꿈)
- 시험 530_1 다시 씀 · 530_2_plan_router 범위 · 받기 둘 더함 · 530_2_plan_analyze 옛 연도 DEM 기대 한 줄 고침(한 벌로 바뀜)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:12:21 +09:00
eomsangdon dd86e12d83 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-27 20:11:46 +09:00
eomsangdonandClaude Opus 5.5 bbe2079cee feat(562-2): D03 노선 정본에 전체 시점 · 종점(base) — D02 load_base 그대로 응답 · 좌표계 다르면 거절 · 옛 접음은 [저장] 전에 칸에 굳힘
- GET · PUT /plan/network 응답에 base({epsg, start, end})
- PUT network.epsg ≠ base.epsg = 400
- plan_base_json 이 비어 옛 연도 행을 접어 보이던 프로젝트 = 연도 행을 바꾸기 전에 접은 두 점을 칸에 씀(D02 시점 · 종점이 안 바뀜)
- 시험 test_530_2_plan_analyze 18 · 실제 호출 한 바퀴(검증_sub3_D)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:10:58 +09:00
eomsangdon 0193c2a0e7 Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_5' into main_laptop_1 2026-10-27 20:10:20 +09:00
eomsangdonandClaude Opus 5.5 cf7db35a54 test(564-1): 체인 시험 3D 열쇠 = 564-2 실제 section_key(가짜 뺌)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:09:14 +09:00
eomsangdonandClaude Opus 5.5 c8f7dc405a feat(560-4): 단계 이동 = 저장 뒤 이동 — mountGroupStep beforeLeave(단계 아이콘 · [<] [>] · 머리 메뉴 · 뒤로 한 길) · D02 바뀐 것 저장 · 첫 불러오기 실패에도 지도 · 옛 캐시가 서버 값 안 덮음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:08:37 +09:00
eomsangdon 68c280ff42 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-27 20:08:25 +09:00
eomsangdonandClaude Opus 5.5 53c30db57b feat(E01·E04·E06·E07): 측점 글 = No.+거리 소수 한 자리 · 간격 = 측점 목록 추정 (PLAN 566-4)
- 공용 stationLabel · inferStationInterval 로 한 벌(예 61+14.5) · 서버 label(STA. 꼴) 안 읽음 · 화면만
- E07 — 측점 표 · 지도 측점 글 · 셀 툴팁 · 지도 글 솎음이 20 m 고정 대신 추정 간격
- E04 — 구간 목록 · 위치(가까운 측점) · 지도 측점 글 · 툴팁 · 솎음 간격
- E06 — 위험 띠 · 측점 표 · 상세 제목 · 스테레오넷 제목 · 띠 양 끝 글
- E01 빠진 측점 띠 — interval 인자(기본 20 m · E02 · E03 이 측점 간격을 넘기면 그 값)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:07:47 +09:00
eomsangdon 84b72ad704 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-10-27 20:06:11 +09:00
eomsangdon 0f9579433d Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-27 20:06:02 +09:00
eomsangdonandClaude Opus 5.5 ba255f2851 feat(562-2): D03 노선 정본 GET · PUT network — 손 그은 선 · 갈래 · 마크 · 조각 → 조각 행 · 연도 행 · 사업연도 끝 · 옛 추천 엔진 · 꺾임점 R 걷음
- 새 D03_PlanAnalysis_Network.py — 서버가 marks 로 조각 경계 · 길이 · 측점 다시 셈(높이 저장 안 함) · 옛 연도 노선은 읽을 때 한 선으로 · 업체 지정 조각 지움 409 · 산림청만
- 새 db_management/021_plan_network.sql — plan_networks · plan_route_pieces · plan_route_assignees.piece_id(DB 반영함)
- main.py 라우터 한 벌 · Router.py 의 POST analyze · GET/PUT analysis 덩이 지움(지형 · 진행 길 그대로)
- 지움: D03_PlanAnalysis_Analyze.py · D03_PlanAnalysis_Edit.py · config PLAN_ANALYZE_WORKERS
- 시험: test_530_2_plan_analyze = 노선 정본 시험으로 다시 씀(옛 엔진 시험은 엔진과 함께 걷음) · test_530_2_plan_router = 분석 API 시험 지우고 끈 지점 규칙만 · test_530_3_plan_logic = Analyze 짝 시험 지움 · test_543_plan_edit 지움(꺾임점 R 고침 걷음 — 요구 389 11 직선만)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:05:44 +09:00
eomsangdonandClaude Opus 5.5 4cf1c61fc1 feat(560-3): D02 지도 [일반][위성] — 카카오 HYBRID · 부품 상자 분할 고르기 · 화면 취향 기억
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:05:06 +09:00
eomsangdon e9c0b85a68 Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_6' and 'origin/sub_laptop_7' into main_laptop_1 2026-10-27 20:04:01 +09:00
eomsangdonandClaude Opus 5.5 429275b96e feat(560-2): D02 전체 시점 · 종점 두 점 — projects.plan_base_json 정본 · 옛 연도 행 접어 보임 · 연도 행 화면 걷음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:03:35 +09:00
eomsangdonandClaude Opus 5.5 95e352205d feat(E06·E07): [해석] = 저장 · E06 [저장] · E07 [다시 해석] 뺌 · E07 엔진 판 해시 · 광역 물성 = E02 (PLAN 564-4)
- E06 — [저장] 단추 뺌 · [해석]이 고친 절리를 먼저 저장 · 안내 글 「[해석] = 저장 + 해석」
- E07 — [다시 해석] 뺌 · 엔진 판 = 엔진 · 길 파일 해시(engine_hash) · 지문에 E02 물성(ground_material)
  → E02 붕적토가 바뀌면 옛 결과 · 캐시 없이 열면 지난 조건 + 지금 E02 물성 값
- 시험 536_2 지문(E02 물성 · 엔진 해시) 함수 하나 덧

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:03:03 +09:00
eomsangdonandClaude Opus 5.5 0ea6b032a4 feat(E03): 3D 보기 설계 지형 + 노면 구멍 (PLAN 566-3)
- corridor3d 응답에 terrain 칸 — E 복사본 DTM 을 노선면 둘레 80 m 띠로 · 2 m 칸(25만 칸 넘으면 키움) · 리본 발자국 안 = None(깎기 지형이 노면을 덮지 않게) · 리본과 같은 원점 · 캐시 열쇠에 DTM 수정시각
- 3D 보기 = E04 terrainMesh 로 지형 메쉬 · 한 색(--e03-terrain 밝음 · 어두움) · [설계 지형] 켬끔 · 노면 쪽으로 겹침 밀어 둠
- 시험 532_3 노선면 설계 지형(꼴 · 구멍 · 표고 = DTM − 원점)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:02:45 +09:00
eomsangdon 391c199c69 Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_6' into sub_laptop_5 2026-10-27 20:01:10 +09:00
eomsangdon 2959023ffd Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-10-27 20:01:08 +09:00
eomsangdonandClaude Opus 5.5 bef1e8c15b feat(564-3): E02 [해석 시작] · 진행 막대 · 단계 줄 · [끊기] — [저장] 뺌 · 갔다 와도 진행 이어 봄
- [저장] 자리에 [해석 시작](POST /stab/run = 검사 · 저장 → 체인) · 잠금판은 저장 순간만
- 진행 막대(ui_template_progress) · 단계 줄 다섯(ui_template_list_row · 상태 띠 · 걸린 초) · [끊기]
- 열 때 GET /stab/run/progress — 도는 중이면 이어서 봄 · 끝난 결과면 단계 줄만
- locale_e 글 · 저장 안 됨 글 = 「해석 전」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:00:59 +09:00
eomsangdonandClaude Opus 5.5 9ec63ac4f5 feat(560-1): D01 생성 칸 여섯 걷음 · 이름 자동 「<시작 연도> <사업 지역> 노선 계획」 · 임도 종류 필수 풂 · D04 새 임도 이름 연도 한 번
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:00:41 +09:00
eomsangdonandClaude Opus 5.5 205bc275cd feat(E04): 화면 열쇠에 조건 · 건기 · 우기 결과 함께 표시 · 열 때 저장 설정 되살림 · [다시 해석] 뺌 (PLAN 564-2)
- 구간 목록 = 구간마다 건기 · 우기 안전율 둘 다 · 고른 조건 결과를 엶
- 캐시가 없으면 저장된 결과의 탐색 설정으로 칸을 채움
- [다시 해석] 뺌 — 엔진이 바뀌면 지문(엔진 파일 해시)이 바뀌어 [해석]이 다시 셈
- [기본값]이 조건을 건기로 되돌리지 않음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:00:22 +09:00
eomsangdon 0b4c34a81e Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_3' and 'origin/sub_laptop_7' into main_laptop_1 2026-10-27 19:59:22 +09:00
eomsangdonandClaude Opus 5.5 70d3a69847 fix(B04): .cpg 없는 도엽 dbf = cp949 로 읽음 · 병합 캐시 열쇠에 파서 판 번호 (PLAN 561-1)
- 도엽 파서 — zip 안 .cpg 가 없으면 encoding cp949 (latin-1 로 읽어 「등고수치」 칸 이름이 깨지던 흠)
- 병합 열쇠 {"sheets", "parser"} — B04 · D03 둘 다 · 옛 깨진 병합본은 다음 받기 때 다시 지음
- 새 지킴 시험 test_561_1 — .cpg 없는 cp949 견본 → 등고수치 읽힘
- 재현(4250c7bc tmp 사본) — 2026 구간 지형면 0 셀 → 201,088 셀 · 등고수치 빈 선 5,280 → 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:58:56 +09:00
eomsangdonandClaude Opus 5.5 ae24e29d12 feat(562-1): D03 수동 그리기 셈 짝 — 길이 · 원지반 기울기 · 길이 고정 · 기울기 고정 · 양각기 · 선 위 거리 ↔ 점 · 측점
- logic/D03_PlanAnalysis_Draw.ts ↔ D03_PlanAnalysis_Draw.py 같은 이름 짝 · 높이는 인자 heightAt
- 거울 시험 test_562_1_plan_draw.py — 두 쪽 값 대조 + 손셈 값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:58:56 +09:00
eomsangdonandClaude Opus 5.5 7d5f516b84 feat(E03): 측점 No.+거리 · 위험 띠 확대 · 이동 · 측점 글 · 900 높이 겹침 · 대표 단면 바로 저장 (PLAN 566-2)
- 좌측 목록 · 횡단 카드 제목 = 공용 stationLabel(누가, 측점 목록 추정 간격, 소수 한 자리)
- 평면 위험 띠 = 공용 attachSvgZoomPan(휠 · 가운데 끌기 · 두 번 누름 원배율) · 측점 글 솎음(logic labelStride · planLabelKeys) · 선 굵기 · 글 크기 고정 · 배율은 다시 그려도 유지
- .e03-page 행 셋(auto auto minmax) — 화면 높이 900 에서 띠 · 본문 겹침 고침
- 대표 단면 별 = 누르면 바로 PUT representative · 뒤에서 E05 보고서 갱신 길(GET report · POST refresh) · [대표 단면 저장] 단추 · 캐시 뺌
- 시험 532_3 logic TS 에 솎음 걸음 · 글 열쇠

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:58:44 +09:00
eomsangdon e97a77082a Merge remote-tracking branches 'origin/sub_laptop_4', 'origin/sub_laptop_5' and 'origin/sub_laptop_6' into main_laptop_1 2026-10-27 19:58:27 +09:00
eomsangdonandClaude Opus 5.5 f747e41e28 feat(E04): 3D 결과 열쇠에 조건 · 옛 이름 읽기 · 엔진 판 = 엔진 파일 해시 (PLAN 564-2)
- section_key(start, end, condition) → 0.00_100.00_dry 꼴 · 건기 → 우기가 서로 덮지 않음
- 옛 시작_끝.json 은 그 안 조건 열쇠로 읽음(load · saved_summaries)
- ENGINE_VERSION 대신 engine_hash()(엔진 파일 넷 해시) — 판 올리기 잊음 없음
- 시험 533_3 router(건기 → 우기 둘 다 남음 · 옛 이름 · 엔진 해시) · 534_3 견본 파일 새 이름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:57:56 +09:00
eomsangdonandClaude Opus 5.5 8f7bb8e7e6 feat(564-1): E02 한 번에 해석 체인 — 지반 저장 → 2D → 3D 건기 · 우기 → 암반 → 광역 → 보고서 · 진행 · 끊기
- 새 E02_StabGround_Chain.py — 페이지 해석 함수 그대로 부름 · 지문 같은 단계 건너뜀 · 단계 실패 격리 · 페이지 _JOBS 꽂음 · 3D 진행률 = 구간 × 조건 수로 나눔
- E02 Router 길 셋(POST /stab/run · GET /stab/run/progress · POST /stab/run/cancel) · PUT 과 같은 저장 함수
- 3D 열쇠 = section_key(start, end, condition) 꼴(564-2 뒤 실제 연결) · 단계 상태 적기 자리 = 565-1 뒤
- 새 시험 test_564_1_e02_chain.py(차례 · 비율 · 건너뜀 · 끊기 · 실패 격리 · 3D 조각 · 길)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:57:52 +09:00
eomsangdonandClaude Opus 5.5 02a511e400 fix(562-3): 설정 창 D03 노선분석 단축키 글 줄바꿈 고침
- 앞 커밋 b9a342596 은 글 파일이 옛 것으로 남아 제목이 틀림(실제 내용 = 562-3 회전 아이콘 둘 rotateCcw · rotateCw · 설정 ③ D03 노선분석 단축키 줄)
- 그 커밋의 D03 단축키 글이 날 줄바꿈으로 깨져 \n 꼴로 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:56:44 +09:00
eomsangdonandClaude Sonnet 5.5 b9a342596a fix(가이드): B04 모델 표시 옵션 그림 번호 자리 · 글 맞춤(PLAN 540-1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 19:55:52 +09:00
eomsangdonandClaude Opus 5.5 6d4964ae55 chore(요구): 요구 392 — 2D 탐색 범위 = 모형 끝까지 · 389 · 390 진행
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:50:46 +09:00
eomsangdonandClaude Opus 5.5 865fb30d7d chore(요구): 요구 390 요구서 · 분석 셋 — 안정성평가 한 번에 해석 · 바로 저장 · 측점 표기 · 보고서 맨 뒤 · 계산 점검
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:35:23 +09:00
eomsangdonandClaude Opus 5.5 00e4275e78 chore(요구): 요구 391 — 요구서 389 답 · 업체 지정 = 조각(연도 · 갈래)마다
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:09:22 +09:00
eomsangdonandClaude Opus 5.5 4dc32fc6cb chore(요구): 요구 390 — 안정성평가 추가 7 항목(해석 한 번에 · 바로 저장 · 측점 표기 · 3D 지형 · 위험 띠 줌 · 보고서 맨 뒤 · 계산 점검)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:08:14 +09:00
eomsangdonandClaude Opus 5.5 7f9919bd59 chore(요구): 요구 389 요구서 · 분석 셋 — 예정노선 생성 칸 걷기 · 기준 지정 두 점 · 위성 · 노선분석 수동 직선 그리기 · 연도 구역
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:56:15 +09:00
eomsangdonandClaude Opus 5.5 d6551bb582 chore(요구): 요구 389 — 예정노선 개선 요구 15 항목(생성 칸 · 기준 지정 · 위성 · 노선분석 수동 직선 그리기 · 연도 구역)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:38:08 +09:00
eomsangdonandClaude Opus 5.5 17982e42eb chore(계획): PLAN 559 이관 — CAD 시험 옛 실패 11 정리 끝(408/408)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:02:46 +09:00
eomsangdonandClaude Sonnet 5.5 354c6b58c6 test(559-2): CAD 시험 설정 경로 — URL.pathname 을 fileURLToPath 로 바꿔 한글 · 띄어쓰기 폴더에서도 @ui 별칭 풀이
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 18:01:57 +09:00
eomsangdonandClaude Opus 5.5 043af8349c test(559-1): CAD 시험 옛 실패 11 정리 — openwebcad npx vitest run 한 번에 tester/cad 시험까지
- 실패 11(259/270) = 코드 흠 0 · 시험 낡음 0 · 지움 0 — 모두 실행 설정 갈래
- 원인: resources/tester/cad 시험을 전용 설정(vitest.tmp.config.ts) 없이 openwebcad 기본 설정으로 돌림(--dir) → 시험 쪽 · src 쪽 flatten-js 가 다른 사본 → Illegal Parameters 10 · distanceTo()[0] undefined 1
- 덤 파일 다섯 로더 오류 = vitest 꼴 아닌 시험(node --experimental-strip-types 넷 통과 · ctrl-shortcut-sheet 는 vitest.ui.config.ts 로 2 통과)
- vitest.config.ts = workspace 셋(openwebcad · tester-cad · tester-cad-ui) — 설정 파일을 그대로 넣으면 root 가 덮여 시험을 못 찾아 extends + root 로 적음
- 결과: npx vitest run 408/408(136 + 270 + 2) · 옛 --dir 명령도 408/408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:58:51 +09:00
eomsangdonandClaude Opus 5.5 7b94288b6d chore(요구): 요구 388 — CAD 시험 옛 실패 11 정리 · 다른 부분 개선 협의
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:51:58 +09:00
eomsangdonandClaude Opus 5.5 0d3fdc1c17 chore(계획): 요구 387 — 반영됐는데 체크 안 된 항목 점검 · 완료 여섯(335-2 · 336-2 · 395-1 · 406-5 · 460-1 · 472 덧) 이관 · 일부 완료 열하나는 남은 것만
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:37:01 +09:00
eomsangdonandClaude Opus 5.5 e081ecca09 chore(요구): 요구 387 — 계획서 반영됐는데 체크 안 된 항목 점검
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:22:01 +09:00