Commit Graph
8220 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 c0ad3edc80 refactor(배수유역): 347-2 세부 유역 엔진 700줄 — 관경 산정(강우표 · 합리식 · 추천 구조물)을 common_util_drainage_sizing 으로 나눔
- 이름은 common_util_drainage_detail 에서도 그대로 읽힘(옛 자리 import 유지) · 내용 고침 없음
- 시험 test_b05_drainage_recommend · test_96_b08_hydro_linked · test_342_3_* 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:33:06 +09:00
eomsangdon 99a8714160 Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_5' and 'origin/sub_laptop_8' into sub_laptop_3 2026-10-16 11:29:20 +09:00
eomsangdonandClaude Opus 5.5 7a26d21881 feat(계산묶음): 346-1 격자 준비 — designTerrainGridNow(받는 중엔 null · 서버 길 · 받은 뒤 브라우저 길) · groundStageDeps(격자 · elevations 서버 길 4,000점씩 · AbortSignal)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-16 11:28:19 +09:00
eomsangdonandClaude Opus 5.5 f8d44cd8e9 feat(계산묶음): 346-1 route · ground 단계 — 노선 초안 → 그린 노선(buildEditedPolyline 짝 그대로 · 길이 붙든 곡선 R 다시 잡음) · 측점 → 지반 채움 · 종단 지반선(계약 꼴) · 범위 밖 측점 · 종단 재사용(자리 · 축 · 지형 같을 때만) · 격자 없음 · 분석 지형 다름 = 주입 서버 길 · 시험(서버 generate_sections 와 같음 · 노선 1,078 m 1.4~6.9 ms)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-16 11:28:18 +09:00
eomsangdonandClaude Opus 5.5 58c86e525f feat(종단보기): 345-4 노선 추천 → 좌측 새 칸 「노선 추천」(지운 「계획노선」 자리) — [노선 추천] · 현재 추천 · [초기화] · 추천 창 공용 모달 하나 · [적용] = 본문 평면 되돌리기 한 칸
- 새 _Panel_Recommend(칸 재료) · 칸 차례 30 · 편집 머리에서 단추 셋 지움
- _RouteEdit_Initial 이 칸 요소를 밖에서 받음 · 추천 창 「지금 노선」 = 본문 편집기 지금 노드
- 추천 창 키 막기 주석 정리(뒤 판 Ctrl+Z 끊음 그대로)
- 시험: test_345_4_recommend_panel 4 · 칸 · 머리 시험 고쳐 씀 · 관련 415 통과(옛 3 실패 그대로) · typecheck 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-16 11:27:32 +09:00
eomsangdon 27f0f5b8a1 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-16 11:27:21 +09:00
eomsangdon 70ad119cf3 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_5' into sub_laptop_1 2026-10-16 11:24:59 +09:00
eomsangdonandClaude Opus 5.5 d985c24f5c feat(종단보기): 345-3 노선 편집 → 종단 보기 가운데 위 본문(페이지 수명) · 종단도 판 흐름 배치 · [노선 반영] 뒤 새로고침 없이 다시 세움 · Ctrl+Z · Y 는 마지막에 만진 판 · 「계획노선」 칸 · 편집 단추 지움
- mountRouteEditor(parent, host, …) — 덮개 · 전체 화면 · 닫기 걷음 · 이력 · 키 듣기 = host 보임 · 숨김 · 떠남 · 칸 크기 = ResizeObserver
- [취소] → [반영 전으로](이력 처음으로 · 되돌리기로 다시 살림) · [확인] → [노선 반영] · 대기 막 = 화면 전체(노선 재탐색)
- [노선 반영] 끝 = 초안 · 결과 · 옛 노선 · 종단면 캐시 비움 → remountRoute(location.reload 없앰)
- R 라벨 = 칸 안 절대 위치 · 오른쪽 횡단 미리보기 = 접는 칸 · [3D] 단추 = 평면 머리 도구줄
- 새 _RouteEdit_UndoOwner(누른 판 기억) · 종단도 Ctrl+Z 줄이 물음
- 시험: test_345_3_route_body 5 · 칸 · 겉틀 시험 고쳐 씀 · 관련 411 통과(옛 3 실패 그대로) · typecheck 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-16 11:23:27 +09:00
eomsangdon 7e9f541b70 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-16 11:22:42 +09:00
eomsangdon 6984ed0bd9 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-16 11:22:41 +09:00
eomsangdon 16d4f3dfaa Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-16 11:22:40 +09:00
eomsangdonandClaude Opus 5.5 e0051bff72 perf(전처리 화면): 343-3 B04 다시 열기 받는 양 — 보관함 저장 실패 고침 · 점군 고정 표본 이진 · 꺼진 층은 켤 때 · 남은 층 ETag · 등고선 주소 한 벌
- b_asset_cache — 쓰기 끝 = 트랜잭션 완료(용량 초과 취소 잡음) · 실패 한 줄 경고(까닭당 한 번) · onblocked · onversionchange · 열기 실패 null 안 기억 · 지우기는 색인 열쇠 · 앞머리 범위(값 안 읽음)
- 점군 미리보기 — 전처리 때 고정 표본 이진(preview_points_{필터}.bin · 원천 지문 같으면 건너뜀) · GET point-cloud/binary(ETag) · 화면은 fetchCachedBytes(IndexedDB) + decodePointPreview(py 짝)
- B04 지도 — 켜진 층만 처음에 받음 · 꺼진 층은 켤 때 · 같은 층 겹쳐 받기 막음
- geojson(지적도 · 행정구역 · 등고선) 파일 그대로 cached_file_response(ETag) · 등고선 단순화본은 원본이 새로우면 다시 만듦
- 등고선 주소 contourAssetUrl 하나(B04 · 미리 받기) — B05 두 곳은 sub5 몫
- 시험 test_343_3_browser_cache 13건 + helper_343_3_asset_cache.cjs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-16 11:21:51 +09:00
eomsangdon 85e293011b Merge remote-tracking branch 'origin/sub_laptop_3' into sub_laptop_7 2026-10-16 11:21:30 +09:00
eomsangdonandClaude Opus 5.5 0e0c1be1c0 perf(배수유역): 347-1 흐름 방향 · 도엽 좌표 저장 — 격자 원점 좌표 정수 m · 노선이 범위 안이면 읽기만
- 격자 원점 = 좌표 정수 m(GRID_ORIGIN_XY · 옛 「도로 시작점」 지시를 바꿈 · 사용자 확정)
- 흐름 방향 저장본 drainage/descent_<입력 지문>_<범위>.npz — 입력 지문 = 도엽 등고선 지문 + 남긴 등고 단 + 셀 + 계산 규칙 · 덮으면 읽어 잘라 씀 · 최근 2벌
- 도엽(하천 · 등고선) 사업지 좌표 저장본 drainage/00_sheet_metric.pkl — 원본 자국 · 좌표계가 같으면 재투영 안 함
- 검증_sub3 실측: 저장본 읽기 = 지은 것과 칸마다 같음(적색 · 해석 영역 · 화살표 · 귀속 차이 0) · 108 → 10.8 s(붐빔 · 340 기준 약 6 s) · 원점 바뀜으로 적색 460,035 → 459,792칸(−0.05 %) · 관 자리 같음
- 시험 test_347_1_descent_store · 실측 bench 저장본 갈래

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:21:13 +09:00
eomsangdon e26568e997 Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_8 2026-10-16 11:20:54 +09:00
eomsangdonandClaude Opus 5.5 bb63b30aae feat(344-2): 첫 계획선 · 관 자리 투영 · 구조물 좌표 따라감 · 계획고 옮김 짝
- 첫 계획선(계획고 = 지반고) base_pvi TS 짝 = B05_Profile/logic/B05_Profile_Grade_Ground.ts(1순위만 · 못 서는 땅은 null = 서버로 다시 셈)
- 관 자리 투영 TS 짝 · 구조물 따라감 py · ts 짝 = common_util_route_follow(정수 m · 구간 끝 밂 · 0 ~ 연장 자름 · 20 m 넘으면 멀어짐 표시 · 상수 STRUCTURE_ROUTE_DRIFT_MAX_M)
- 구조물 x · y 저장(저장 때 노선 위 자리 · 자리가 그대로면 옛 좌표 지킴 · 옛 자료는 읽을 때 채움) · 노선 [확인] 때 구조물 정본이 좌표를 따라감
- 노선 바뀜 때 계획고 옮김 = 바뀐 구간만 새 지반 첫 계획선 · 앞 그대로 · 뒤 길이 차만큼 밂(B05_Profile_Engine_Grade_Carry.py ↔ logic/B05_Profile_Grade_Carry.ts)
- 거울 시험 test_344_2_route_pairs(+ helper cjs) · buildCurves · evaluateAt 내보냄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 11:19:54 +09:00
eomsangdon fc3175e399 Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2', 'origin/sub_laptop_3', 'origin/sub_laptop_4', 'origin/sub_laptop_5' and 'origin/sub_laptop_6' into main_laptop_1 2026-10-16 11:17:44 +09:00
eomsangdon 40deca9ed9 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-16 11:16:26 +09:00
eomsangdonandClaude Opus 5.5 ca8c88f810 perf(횡단): 346-2 국부 연산 · [전체 측점 반영] 한 번 · 보이는 카드 먼저
- 횡단 다시 셈이 측점별 입력 지문(지반 표본 · 계획고 · 횡단 입력 · 구조물 맥락 · 표준값)을 기억 — 같으면 앞 결과 그대로 · 계획고 ▲ 한 번 = 10 측점 중 2 측점만 다시 셈 · 결과는 통째 셈과 같음
- [전체 측점 반영] = 다시 셈 한 번(측점마다 66 × 66 돌던 것) · 지금 값을 「사용자 선택」으로 박는 동작 없앰(암 경계 다시 셈 포함 · 사용자 확정 10-16)
- 횡단 카드: 보이는 카드만 바로 갈아 끼움 · 화면 밖은 쉬는 틈에 몇 장씩(경고칩 · 면적 합은 계산값이라 그대로)
- 머묾 재현 · 국부 연산 · 흙 배분 열쇠 · 전체 반영 · 카드 시험(vite ssr 로 진짜 모듈 묶음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 11:16:19 +09:00
eomsangdonandClaude Opus 5.5 eac37456e2 chore(지침): 342-4 폴더별 CLAUDE.md 넷 — B04_PreProcess · B05_Profile · B06_Section · A00_Common/design
- 갈래 지도 · ① 짝 목록(시험) · 서버 Node 묶음 입구 · 끌려가는 파일 · 남의 페이지가 부르는 파일 · logic/ 규칙 · 금지
- 40줄 안 · 뿌리 CLAUDE.md 안 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 11:16:00 +09:00
eomsangdonandClaude Opus 5.5 48ddca36a2 fix(종횡단): 342-1 계획선 한 벌 · 남은 낡음 표시 · 흙 배분 열쇠
- 횡단 다시 셈이 화면이 쥔 선(측점 한 벌 · 관 지점 · 옮긴 꼭짓점)을 받음 — 종단도가 선을 맡기고 B06 진입 정합 · 3D [업데이트] 앞 다시 셈도 같은 선 · 낡음 판정도 그 선 기준(staleAgainstScreen)
- 다시 셈 뒤에도 낡은 측점이 남으면 유토곡선은 그리고 그 측점만 표시 · 콘솔 경고 한 줄 · 흙 배분도 건너뛰지 않음(09-03 「새 값만 보여주기」 바꿈 · 사용자 확정 10-16)
- 흙 배분: 실패한 열쇠 다시 보냄 · 받은 열쇠(누가토량 결과 전체)는 다시 안 물음 · 서버도 같은 열쇠 기억 · 묶음 실패는 500
- 옛 시험 셋 새 동작으로 맞춤 · 서버 열쇠 시험 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 11:15:22 +09:00
eomsangdonandClaude Opus 5.5 51cebefd40 feat(지형표본): 344-1 횡단 지반선 생성 짝 — B05 logic sectionsGround(종단 1 m · 측점 중심 · 횡단 ±20 m 0.5 m · 상단측) · groundProfile · groundAt(측점 지반고) · extendUnclosed(미교차 덧붙임) · 두 쪽 머리 짝 표시 · 거울 시험(서버 생성 · 저장된 종 · 횡단과 같음 · 노선 1,078 m 3.9 ms)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-16 11:14:46 +09:00
eomsangdonandClaude Opus 5.5 fba1eb8a5d perf(배수유역): 342-3 세부 유역 저장본 — 열쇠가 같으면 다시 나누지 않음(부록 4 R15)
- 열쇠 = 관 목록 · 노선(평면 · 종단 Z) · 분석 산출물(03 road_routing · 01 primary_region) · 강우표 · 구조물 정의 자국
- GET · POST · DELETE pipe-points = 메모리 최근 4벌 + 파일 한 벌(drainage/04_detail_cache.pkl · [저장] 때 GET 열쇠로 씀)
- [저장](PUT)은 늘 정본으로 다시 셈 · 관 목록은 사본으로 돌려줌
- 시험 test_342_3_detail_cache(같은 열쇠 재사용 · 입력 바뀌면 다시 셈 · 다시 켜도 파일로 읽힘)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:13:24 +09:00
eomsangdonandClaude Opus 5.5 f8fcb812d3 feat(종단보기): 345-2 3D → 큰 모달 — [3D] 단추 · 처음 열 때 지형 · 닫으면 숨긴 자리로 · 그리기 멈춤 · 떠날 때만 버림 · 3D 노선 점 옮김 · 지움 + 「선택 포인트 상세」 칸 지움
- 새 design_view_profile_3d_modal.ts(공용 openModal wide · 보기 조작 줄 · [3D 업데이트] · 3D 고름이 같은 노드로 따라감)
- 지형 올리기는 페이지 열기에서 빠짐 · 모달 처음 열 때(로딩 원) · 등고선 간격 바꿈도 그 값으로
- 시험: test_345_2_3d_modal 4 통과(닫힌 동안 그리기 0) · 칸 시험(parity · 311) 고쳐 씀 · typecheck 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-16 11:11:10 +09:00
eomsangdonandClaude Opus 5.5 e503189cb8 feat(배수유역): 342-3 노선 · 관 자리 지문 — 노선이 분석 때와 다르면 세부 유역 안 나누고 「낡음」
- 분석 응답 · 저장분(00_watershed_response.json)에 route_signature · pipe_signature
- 세부 유역(GET · POST · DELETE · PUT pipe-points): 분석 지문 ≠ 지금 노선(옛 저장분 = 지문 없음) → 관 자리만 · basins 없음 · stale 까닭 글 · 관 목록도 없으면 409
- PUT 낡음 = 관 자리 · 속성만 정본 · 세부 유역 산출물(04_detailed_basins) 안 씀
- 응답에 지금 route_signature · pipe_signature · B05 배수유역 칸 = 낡음 글 표시(DetailBasinResponse 칸 셋)
- 시험 test_342_3_drainage_stale

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:10:49 +09:00
eomsangdonandClaude Opus 5.5 1fcdf5aa4c perf(영구저장): 343-2 도엽 3D 면 열쇠 · 지표면 모델 id 유지 · 비용면 메모리 기억 · 추천 노선 열쇠 · 횡단 상세 ETag
- 도엽 3D 면 — 결과 옆 dtm_sheet_{방식}.key.json(등고선 이름:mtime:크기 · 노선 · CRS · 격자 · 여유 · 스무딩 · 화면 상자 · ALGO) 같으면 건너뜀
- 지표면 모델 — (방식 · 필터 · 파일) + 파일 지문 같으면 행 id 살려 고쳐 씀 · 이번 결과에 없는 옛 행만 지움
- 비용면 · 계류 메모리 기억(비용면 서명 · 계류 파일 지문 · 좌표계) · 추천 열쇠 = 서명(배열 통째 해시 없앰)
- 추천 저장본 종류(갈래 · 지형)당 최근 2벌 · 꺼내면 최근으로
- 횡단 상세 GET — 측점 파일 안 지움(valid_cross_names) · 본문 해시 ETag 304
- 시험 test_343_2_persist_keys 13건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-16 11:10:13 +09:00
eomsangdonandClaude Opus 5.5 aac091dacc feat(B05 발자국): 346-2 평면 발자국 계산(순수) — B07 평면 비탈의 ① 짝
- B05_Profile/logic/B05_Profile_PlanFootprint.ts — 측점(중심 · 진행 방향) + 횡단 설계 결과 → 도로 끝 좌 · 우 · 비탈 끝 깎기 · 쌓기 · 눈금
- 짝 = B07_DesignDetail_Engine_Cad_PlanSlope.py(route_frame · side_is_cut · slope_end · slope_pieces) · 머리에 짝 표시
- 거울 시험 test_346_2_plan_footprint_mirror.py · 그리기는 2파(sub2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 11:10:05 +09:00
eomsangdonandClaude Opus 5.5 e8c6cfd1ea feat(지형표본): 344-1 격자 통로 · 노선 편집 지반고 브라우저 표본 — GET surface/models/{mid}/grid(원시 이진 · ETag · 첫 요청 때 .bin 저장본 · DTM 아니면 404) · terrain-sources 에 격자 받을 자리(manifest 서명) · IndexedDB 받기 · B05 미리 받기 한 줄 · elevations = 격자 있으면 브라우저 · 없으면 서버
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-16 11:08:17 +09:00
eomsangdonandClaude Opus 5.5 73a251db26 perf(342-2): [확정] · [저장] 서버 재계산 입력 지문 · 바뀐 행만 씀 · 행 읽기 한 번
- 지문 = Node 입력 전부 + 번들 판 · 같은 입력이면 Node 건너뜀(틀 = B07 덧그림 기억 · TS 가 번들보다 새로우면 버림)
- 측점 행 쓰기: 여러 벌을 읽기 한 번 · 바뀐 행만 한 문장(merge_cross_section_design_batches) · 앞 벌의 새 행을 뒤 벌이 찾음
- 종단 다시 읽기 지움(병렬 조회 한 번) · 유토곡선 같은 값이면 안 씀 · Node 결과 사본에 balloon 위치
- 시험 test_342_2_confirm_fingerprint

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 11:07:25 +09:00
eomsangdonandClaude Opus 5.5 2124bc85b9 fix(B05 배수유역): 342-3 첫 열기 세부 유역 요청 11번 → 1번 — 같은 틱 analyze 를 한 번으로
- B05_Profile_UI_Drainage_Pipes batched(같은 틱 부름 = 한 요청) · 배수유역 판 analyze 에 씌움
- 옛 소수 관 정수 맞춤(snapOldStations)이 관마다 부르던 POST detail-basins 가 한 번 · 계획고 따라가기 · 속성 이어받기 길은 그대로
- 시험 test_342_3_b05_detail_once(11번 부름 = 1번 · 다음 조작은 다시)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:06:47 +09:00
eomsangdonandClaude Opus 5.5 3d6c5584d1 fix(묶음): 342-4 서버 Node 묶음 낡음 판정 보강 — ui_template · A00_Common(b_page_state 등) · config 더함
- SOURCE_DIRS 에 ui_template · A00_Common(하위 폴더째 · node_modules 뺌) · SOURCE_GLOBS 에 config/*.ts
- 새 logic/ 하위 폴더 잡힘 · node_modules · CAD 앱은 안 봄 — 시험 test_342_4_bundle_stale.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 11:06:18 +09:00
eomsangdonandClaude Opus 5.5 8be42a302f feat(설계묶음): 344-4 계산 묶음 본체 · 가게 칸 — 차례 번호 · 옛 결과 버림 · 옛 요청 끊기 · 바뀐 범위 · 단계 시간 기록 · 결과 칸 메모리 우선
- design_pipeline.ts 새 — 단계 주입 · deps 판 같으면 건너뜀 · 단계마다 범위 쌓기(못 끝낸 단계는 합침) · follow 만 입력 한 번 고침 · 단계 · 알림 안 입력 쓰기 막음 · window.__aisloPipeline 20 번
- design_store — routeDraft(세션 즉시) · stations · profile · footprint(메모리 우선 · 멈춘 뒤 1 s 한 번) · generation(메모리만)
- b_page_state — onStateRemoved(키 지움 알림 · clearResults 때 메모리도 버림)
- 시험 test_344_4_design_pipeline 10 건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 11:04:38 +09:00
eomsangdonandClaude Opus 5.5 a2c512b30c chore(B05 정리): 342-4 B05_Profile/Old 27파일 지움 · 노선 거울 시험 resources/tester 로
- Old/ 부르는 곳 0(주석만) · tsconfig exclude 줄 정리 · typecheck 통과
- test_route_polyline_browser_mirror.py — tmp/tests 에서 옮김 · 빌드 자리 = pytest 임시 폴더 · 10 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 11:04:19 +09:00
eomsangdonandClaude Opus 5.5 5025313b29 perf(342-2): 노선 [확인] 체인 종횡단 생성 한 번 · 자동 체인 재계산 한 번 · 3D 길 모형 서버 짓기
- 노선 [확인] 체인: solve 안 첫 생성을 건너뛰고 관 정한 뒤 한 번만(건너뛴 생성의 옵션을 넘겨 입력 같음 · 배수유역 실패 때도 종횡단 세움)
- 자동 체인: 서버 재계산 · 3D 짓기를 [확정] 끝 한 번씩(재계산 → 짓기 차례)
- 3D 길 모형: B06 [저장] · [확정] 끝에 서버 Node 가 지음 · 브라우저 올림(PUT) 길 없앰 · 브라우저는 해시 맞으면 받기만 · 어긋나면 미리보기만
- 시험 test_342_2_chain_once · corridor router 시험 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 11:03:45 +09:00
eomsangdonandClaude Opus 5.5 b8ed082874 fix(배수유역): 342-3 관경 · 시설 자동 지정 끔 — 새 관 = 마스터 기본 · 추천은 응답 제안만
- _apply_recommendations 지움(시설 BOX암거 · 세월교 바꿈 · 관경 넣기) · 새 관은 _apply_new_defaults 가 구조물정의 배관 기본(1000)
- 응답 recommended_facility · recommended_diameter_mm 그대로(제안)
- 시험 test_b05_drainage_recommend 고쳐 씀(추천 얹지 않음 · 옛 관 그대로 · 마스터 기본 1000)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:03:37 +09:00
eomsangdonandClaude Opus 5.5 5d37c851f3 feat(지형표본): 344-1 지형 격자 표본기 짝 — TS heightAt(쌍선형 · 축 이진 탐색 · 네 칸 유효) · 서버 표본기 메모리 기억(경로 · mtime · 크기) · 격자 이진 꼴 · 거울 시험(서버와 차 0)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-16 11:03:34 +09:00
eomsangdonandClaude Opus 5.5 8eb5ba5450 refactor(종단보기): 345-1 design_view_profile 쪼갬 — 노선 · 종단면 그리기(_sections) · 3D 몫(_3d) · 상태 한 벌(ProfileViewState) · 동작 그대로
- design_view_profile.ts 700 → 517줄 · _sections 179 · _3d 114
- 시험: 관련 51벌 370 통과(이전과 같은 3 실패 = 205_1 · 더하기 글 · 손 안 댄 곳) · typecheck 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-16 11:02:18 +09:00
eomsangdonandClaude Opus 5.5 a22b72fb10 fix(B05 지반고): 342-4 지반고 값 갈림 둘 맞춤 — 노선 꼭짓점 z · 종단 미리보기 = 공용 1 m 쌍선형 표본기
- 노선 꼭짓점 z: 한 칸 값 · 빈칸 0.0 대신 build_surface_sampler · 빈칸 · 밖은 이웃 정점 누가거리 보간 · 모두 밖이면 멈춤
- 종단 미리보기 · [확인] 균형 목표: 2 m 비용면 대신 1 m 표본기(추천 점수 비용면은 그대로)
- 시험 test_342_4_ground_unify.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 11:01:38 +09:00
eomsangdonandClaude Opus 5.5 0efc77380e perf(배수유역): 342-3 빠른 길 — 흐름 방향 큰 격자 한 번 · 도로 닿음 판정 한꺼번에
- 하강 방향장 = 해석 격자 둘레 400 m 큰 격자로 한 번 짓고 회차마다 잘라 씀(crop_descent) · 넘으면 그때 다시 지음
- classify_flow 한 칸씩 걷기 → 포인터 더블링(_reach_by_doubling) · 기록용 출발 셀 수는 최외곽 · 나머지 셀 수로
- 거울 시험 test_342_3_watershed_fast(옛 걷기와 칸마다 같음 · 잘라 씀 안쪽 같음) · 실측 bench_342_watershed
- 검증_sub3 실측: 적색 차이 0칸 · 도로 귀속 · 강도 · 관 자리 같음 · 108 → 27 s(붐빈 랩탑 · 340 기준 약 15 s)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 11:01:28 +09:00
eomsangdonandClaude Opus 5.5 cf5de56418 perf(전처리): 343-1 같은 지형 파일 다시 올림 = 전처리 결과 살림 · 다시 돌 때 점군 안 풂 · 도엽 병합 · 국가 GIS · 타일 기억 열쇠
- B03 재올림 — 지형 파일이 source_identity.json 과 같으면 B04 폴더 · 지표면 DB 행 남기고 단계 표시만 되돌림
- 확인 창 「처음부터 다시」 따로 고름(fresh_start) · 409 응답에 preprocess_kept
- B04 다시 돎 — 점 수 · 평균 Z 를 structured_stats.json 에 · xyz 는 쓸 때만 풂
- 도엽 병합 열쇠 = 도엽 번호 목록 · 국가 GIS 열쇠 = 범위 · 좌표계
- 지도 타일 메모리 기억 열쇠에 mtime · 크기
- 시험 test_343_1_preprocess_keep 13건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-16 11:00:04 +09:00
eomsangdonandClaude Opus 5.5 5e8df73763 feat(설계묶음): 344-4 계산 묶음 계약 — 단계 입력 · 출력 · 측점 · 노선 초안 모양 · route-draft 캐시 칸 · 결과 칸 셋
- design_pipeline_types.ts 새 — 단계 차례 · 주인 · deps · 키별 모양(측점 · 지반 · 노선 초안 · 발자국)
- b_page_state 등록표 — route-draft(draft · project) · design-stations · design-profile · design-footprint(result)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 10:59:09 +09:00
eomsangdonandClaude Opus 5.5 2879f9bea9 chore(요구): 232 — 초기값 = 전처리 결과 · 추천 노선 바꾸면 그게 초기값 · 평면 · 종단 · 횡단 0.3 s 양방향 연동이면 배관 · 구조물 제안도 · 국부 연산 · 상세 계획서 · 브레인 수행 · 브라우저 검증 · 아티팩트
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-16 10:39:58 +09:00
eomsangdonandClaude Opus 5.5 dc90611b9c chore(조사): 341 실시간 연동 방향 검토 — 평면 · 종단 · 횡단 · 유토곡선 한 페이지 실시간 가능(점 놓고 종단 0.1 s 안) · 막는 배수유역 60 → 13 → 5.5 s · 3D 큰 모달 · 노선 편집 B05 본문 · 영구저장 29건 · 하위 폴더 조건부 · 부록 8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-16 10:13:02 +09:00
eomsangdonandClaude Opus 5.5 9018ee4986 chore(요구): 231 — 실시간 연동 방향 검토(3D 모달 · 영구저장 · 노선 편집 B05 본문 · 노선 추천 컨테이너 · 평면 · 종단 · 횡단 한 페이지 실시간 · 관경 기본 1000 · 배수유역 자동/수동 · B04~B06 하위 폴더 · 분석 뒤 계획서 · 표 아티팩트)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-16 09:41:31 +09:00
eomsangdonandClaude Opus 5.5 b224c3d680 chore(조사): 340 계산 시간 측정 — 파일 입력 · 전처리 → 계획노선 · 종단 · 횡단 · 유토곡선 · 배수유역 화면에 보이기까지 · 막는 것 = 배수유역 큰 계산 60 s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-16 07:48:57 +09:00
eomsangdonandClaude Opus 5.5 7d94c49c1d chore(요구): 230 — 계산 시간 측정(파일 입력 · 전처리 → 계획노선 · 종단 · 횡단 · 유토곡선 · 배수유역 · 화면에 보이기까지 · 표 · 코드 수정 없음)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-16 06:40:31 +09:00
eomsangdonandClaude Opus 5.5 94838450d8 fix(일위대가실무): 339 덧고침 4 — 우리 지문 build() 가 메모(표 · 표판)까지 갱신 · warm() 중복 갱신 줄 지움
- 빈 캐시 폴더에서 table() 이 None 을 먼저 메모하면 build() 뒤에도 ready() 거짓 · 맞춤 「맞음」 0 이던 흠
- 시험: 캐시 쓰기 읽기 준비 전 none 에 build 직후 ready() 참 · table() = build 결과 한 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 06:26:09 +09:00
eomsangdon a03e9e139b Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-16 01:33:37 +09:00
eomsangdonandClaude Opus 5.5 912575d9bb fix(일위대가실무): 339 덧고침 맞춤 셋 — 규격 다른 별칭 꼬리표만 · 같은 장비 여러 줄 품 비교 합침 · 근거 안 닿은 덧 로직 후보로
- 규격 다른 별칭(품명|단위 느슨 열쇠) = 꼬리표 「별칭 · 규격 다름」 · 짝은 후보 끝 덤 · 상태 · 옵션은 줄 숫자 맞춤
- 품 비교 같은 갈래 장비 여러 줄은 합쳐 견줌(서버 _qty · 화면 compareText)
- 조합 덧 로직 = 단위 맞음 + 조항 · 직종 · 이름 하나 닿을 때만 · 아니면 덧 후보 · 섞인 줄 그대로 · 맞춤셈 판 2
- 골든 사람 126 1순위 118 · 다섯 안 122 · 맞음 57 틀림 0 · 조합 62/83 그대로 · 338 대상 시험 142 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 01:32:53 +09:00
eomsangdonandClaude Opus 5.5 ca5485b208 fix(M02 실무자료): 339 덧고침 2 — 본 칸 호표 목록 제안 수 · 셈 중 표시 셈 끝까지 다시 읽음
- 본 칸 호표 표: 뒤 숫자 판정 셈 중이면 3 초마다 다시 읽어 「제안 n / 줄 m」 · 호표 줄 갱신(찾기 글 그대로)
- 머리 줄 「숫자 판정 셈 중 n/m」 표시 · 셈 끝 · 호표 하나로 감 · 못 읽음이면 멈춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-16 01:13:13 +09:00