Commit Graph
793 Commits
Author SHA1 Message Date
eomsangdon faadf3f7c3 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-22 20:17:48 +09:00
eomsangdonandClaude Opus 5.5 5098318c96 feat(513-3 우클릭 구조물 삭제): 종단 · 평면 우클릭 「구조물 삭제」 = 관 아닌 구조물도 — 측점 주인 가르기 공용 removeStationOwner(design_pipe_ids · 관 기준 측점 = 관 지점 정본 · 관 구간 끝 = 장부 자리 관 · 그 밖 = 좌측 칸 [삭제]와 같은 removeById) · B05 종단 보기 · B06 횡단 보기 같은 길 · 캐시에만 · [저장] 때 나감 · 시험 test_513_3 — 요구 327-1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:16:50 +09:00
eomsangdon e837f30bb9 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-22 20:13:49 +09:00
eomsangdonandClaude Opus 5.5 c7b9626ef3 feat(512-2 배수유역도 업데이트): 점선 원 · 유역 재분할 · 배관 삭제 · 배관 배치 초기화 걷음 → [업데이트] 하나 · 늘 지금 노선으로 처음부터 셈 · 노선 바뀌어도 옛 그림 그대로(단추 낡음 점 · 자동 모드 걷음) · 노선선 = 답의 노선(route_xy · 초안 노선 셈 뒤 저장 노선을 그려 생기던 노선 곁 빈 곳) · 낡은 답엔 옛 그림 유지 · B06 [>] 낡으면 확인 창 → 업데이트 → 이동 · 요구 326-6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:07:14 +09:00
eomsangdon 90e68a6603 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-22 19:54:35 +09:00
eomsangdonandClaude Opus 5.5 5e38afef28 fix(513-2 패널 열림 상태 유지): 측점 · 구조물 고름 = 내용만 갱신 · B05 우측 횡단 판(393-1 자동 열림) · B05 ~ B06 「구조물 배치」 카드(398-1 onReveal · 우클릭 추가 펴기) 열림 · 닫힘은 사용자 손잡이만 — 요구 327-2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:53:50 +09:00
eomsangdonandClaude Sonnet 5.5 cbfc006834 refactor(512-4 700 줄 나눔 CSS): App.css · B01 · B06 횡단 · B03 스타일 각 둘로 나눔 — 규칙 차례 그대로 · 부르는 곳 이어 부름 · 시험은 두 파일 이어 읽음
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:49:43 +09:00
eomsangdonandClaude Opus 5.5 f1a6de017e feat(508-2 B05 · B06 남은 셋): 3D 길 모형 D3 = 서버 — 낡은 저장본 = 옛 모형 세움(빈 3D 아님) · [3D 업데이트]만 서버 창구(/calc corridor.mesh · 같은 TS · 라이브 계획선 샘플)가 지어 바꿔 끼움 · 같은 입력 다시 안 지음 · 실패 = 옛 모형 · 늦음 남김 · 창 열 때 자동 안 지음(요구 324) · both 그대로 · 추천 창 [재계산] = 저장본 없음(409) 안내 줄 옆 · 칸 바꿈 뒤만 · 노선 편집 도엽 = 놓은 뒤(잠잠) 범위 밖이면 지금 노선 bbox 로 잘린 사본 다시 받아 바꿔 끼움(서버 bbox · 열쇠 = 사본 지문 + 범위 · 여는 때도 통째 사본 안 받음 · 배수유역 범위 그대로) · 시험 test_508_2 셋 · 낡은 기대 셋(383_3 · 309_2 · 345_4) 고침 — 요구 323
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 17:13:41 +09:00
eomsangdonandClaude Opus 5.5 172ff8170b refactor(511-B B-6 정리): 운영 부름 0 파이썬 짝 걷음 · 남는 짝 머리에 남는 까닭 · 등록부 until 걷음 · 알려진 차 까닭 · 322_3 flow 빨강 고침
걷은 함수(운영 부름 0 · 전수 확인 = 화면 · 서버 · 체인 · 추천 엔진 · B07 · 시험)
- common_util/common_util_excavation.py 통째(126 줄 · pipe_trench_width_m · wall_trench_area_m2 · wall_trench_width_m · 서버 = Node excavation.trench)
- Engine_Grade_Carry.carry_edits(Node carry_seat 겉) · Route_Save_Parts.seat_route_moved(시험 헬퍼 helper_475_1_moved 로 옮김)
- Engine_Tilt.attach_underdrains · Engine_Structures_Wall.attach_wall_structures · load_wall_structures
- Engine_Grade_Alignment.tangent_elevation(부름 0) · station_key.dedupe_station_keys · loose_chainage
줄 수 전 → 후: excavation.py 126 → 0 · Grade_Carry 178 → 157 · Save_Parts 289 → 269 · Wall 221 → 197 · Tilt 115 → 112 · station_key 141 → 122 · Alignment 657 → 654

남는 짝(머리 「남는 까닭」 한 줄) — Grade · Grade_Profile · Alignment · CurveLaw(2~4 순위 폴백 · 추천) · NodeEdits · SampleExtend · Router_Design · Ranges · Engine_Design · Areas · cross_berm(DTM 아닌 지표면 · Node 못 부를 때 · B07 · 추천) · Tilt · Wall · Culvert(B04 B07 B08) · route_follow · structure_station · station_key · route_polyline(745 줄 · 까닭 = 등록부 R1 줄)

등록부 — until 칸 걷음(G1 = py 표본기 남김 · 까닭 note) · C6 pair = attach_underdrain_specs · F8 pair null
알려진 차 — golden KNOWN 셋 그대로 나타남(R7 표본 출처 · W0 저장 때 경고 · X2 입력 선 자릿수 · 까닭 고침) · underdrain 알려진 차 까닭 · 511_b5 KNOWN_ARC 그대로
계산 자리 창 — 45 줄 · 서버만 아닌 41(바꿀 수 있음 40 + F9) · 서버만 넷(G3 D1 D2 N1 줄마다 까닭) · 옛 까닭 「짝 모으는 중 · B-4」 글 걷음
test_322_3_flow 빨강 — 헬퍼가 @config/config_frontend 흉내(511-A design_calc_server import)
시험 기준 — 걷은 짝 거울 = 걷기 전 파이썬 값 고정(excavation · station_key) · Node carry_seat · attach_underdrain_specs · wall_specs_from

검증: 고친 대상 시험 97 파일 562 통과 · 21 건너뜀 · typecheck 0 · 700 줄 넘는 새 파일 없음 — 요구 320-4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:34:08 +09:00
eomsangdonandClaude Opus 5.5 210ff06dee refactor(511-B B-6 옛 server-calc 묶음 걷음): 운영 부름 0 · 시험 대조만이던 옛 묶음 걷음 — 걷기 전용 커밋(되돌리기 = 이 커밋 revert)
걷은 것
- B06_Section/B06_Section_Server_Calc_Node.ts 통째(135 줄 · 입구 · haul_plan_for 갈래 · 면적 · 유토곡선 · 다단 벽)
- package.json:8 build 안 「&& npm run build:server-calc」 · package.json:10 「build:server-calc」 줄
- B06_Section/B06_Section_Server_Calc_Prebuild.py:61 ROOT · :62-63 옛 묶음 주석 · BUNDLE · :66 _NPM_SCRIPT
- 지어진 묶음 config/server_calc_node/B06_Section_Server_Calc_Node.js = git 밖(.gitignore:63-64 그대로) · 폴더마다 찌꺼기 남음

시험 옮김(새 입구 = Prebuild._run_node · 등록부 Node design_calc_node)
- 110 · 120 · 131 · 73_4 · 178_1 · helper_472_1_paths = _run_node
- b06_ground_unlock · height_unlock = design_calc_node.js 판 검사(build:design-calc)
- 472_3 registry · runner = 옛 묶음 대조 → Node 입구 정본 값 · 늘 떠 있는 Node = 새 프로세스
- 511_c = 옛 대 새 대조 → 새 Node = 브라우저 TS(computeHaulPlan · structureAreaRows · extraWallRows)
- haul_plan_quantity_unpruned = 새 입구 · /haul-plan 그림 갈래 글 검사 · server_calc_node.mjs = design_calc_node structure.layouts
- 글만: Schema · HaulPlan · design_calc_node 주석 · B06 CLAUDE.md · 시험 셋 머리

검증: 고친 시험 15 파일 87 통과 · typecheck 0 — 요구 320-4 · 322

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:17:45 +09:00
eomsangdonandClaude Opus 5.5 55f1a7c5cc merge(511-B B-5 follow 합치기): origin/sub_laptop_3(follow 줄 엶 · /calc follow 서버 맥락) 받음 — 공유 파일 충돌 풂
- /calc 창구 차례 = 격자 경로 막기 → 단계 · 화면 길 서버 맥락(B-4) → follow 저장 정본 맥락(B-5 · stages 다시 짬)
- 까닭 글 = cross 그대로 · pair_B5 걷음(follow 엶)
- 시험 511_b1 · 309_2 · 309_2_browser = 잠긴 단계 줄 없음 · 잠금 예시 = form_default · 화면 열린 줄에 P5 P6 F1 F2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:02:25 +09:00
eomsangdonandClaude Opus 5.5 de6975363d feat(511-B B-5 follow 줄 엶): 계산 자리 follow(P5 P6 F1 F2) 바꿀 수 있음 · 기본 both 그대로 · 「서버」 = 끌기 도구 꼴(끌기 중 화면 셈 · 잠잠 뒤 창구 /calc stage.follow until follow → 서버 Node route · follow 두 단계 · 답 오면 묶음을 노선부터 다시 돌려 서버 값으로 · 곁 자료 plusAt · followedAt 같이 돌려받아 다시 붙임 · 열쇠 = 노선 초안 + 저장 계획고) · 저장 정본 맥락(노선 계획 · 종류 · 정의 · 관 · 구조물 · 추가 측점 · 측점 간격 · 저장 종단) = 창구가 프로젝트 id 로 모음(B06_Section_Router_Calc_Context · 브라우저 정본 칸 버림 · 정본 쓰기 없음) · 묶음 refresh(입력 그대로 다시 돎) · 계획고 옮김 = 끌기 중 화면이 옮긴 입력 그대로(서버 follow 는 옮김 기준 없음) · 검증_sub3 끌기 네 걸음 뒤 서버 = 화면 0 차(관 · 입력 · 첫 계획선 · 종단 PVI 61 · 왕복 231 ms · Node 5 ms) · Node 두 단계 = 묶음 첫 바퀴 0 차(golden) · 까닭 글 follow · pair_B5 걷음 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:56:39 +09:00
eomsangdonandClaude Opus 5.5 f15ca04bb0 merge(511-B · 511-C 합치기): origin/sub_laptop_4(511-C 유토 배분 E2 · 판 haul 줄) 받음 — 공유 파일 충돌 풂
- Node 입구 design_calc_node.ts 등록부 밖 id = 시험 길 · 단계 · 화면 길(PAGE_IDS) · haul.view
- calc_runner = PAGE_IDS(cross.refresh) · VIEW_IDS(haul.view) 둘 다 받음
- calc_sites.py 머리 글 = B-4 cross · 511-C haul(기본 server) 함께 · 묶음 13 줄
- 시험 309_2 · 309_2_browser · 511_b1 = 열린 줄에 haul 더함 · 화면 시험 「지금 서버」 = haul 기본 server 로 1 줄(바꾼 뒤 2 줄)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:55:17 +09:00
eomsangdonandClaude Opus 5.5 0e18b0759b merge(511-B 합치기): origin/sub_laptop_3(B-2 측점 · B-3 종단 · /calc 경로 막기 · B-5 route) 받음 — 공유 파일 충돌 한 번 풂
- 판 calc_sites.json = route · stations · profile · cross 모두 both · 열린 줄 = 네 줄 모두 · 잠긴 단계 줄 = follow(pair_B5) 하나
- Node 입구 design_calc_node.ts = 입력 꼴 · runner 표 양쪽(cross · sections · route · profile) · NODE_IDS = facility.attach · cross.enforce · stations.list · stations.sections · route.polyline · stations.plan
- /calc 창구 Router_Calc = 서버 측점 생성 거절 · 경로 칸 거절 · {model_id} 격자 서버가 정함(B-2 · 경로 막기) 뒤 단계 · 화면 길 서버 맥락(B-4) — 단계 격자 칸이 없을 때만 설계 지형 격자로 채움
- 시험 309_2 · 309_2_browser · 472_3 · 511_b1 = 양쪽 열린 줄 합 · 잠금 예시 = follow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:47:07 +09:00
eomsangdonandClaude Opus 5.5 5cada4bbd5 feat(511-C 유토 배분 E2 · 판 haul 줄 · 서버만 넷 까닭): /haul-plan 창구 = 늘 떠 있는 Node haul.view(computeHaulPlan 화면 꼴 · design_calc_node.ts 입구만 · 시험 길 표에 두면 브라우저 첫 묶음에 실림) · [저장] 정본 면적 · 유토곡선 · 배분 = 늘 떠 있는 Node 셋(structure.layouts · masshaul.cumulative · haul.plan · 못 부르면 새 프로세스) · 옛 server-calc 묶음 = 시험 대조만 · 판 haul 줄 엶(요구 321 · 기본 server = 지금 /haul-plan 그대로 · 판 파일 바뀜 0 · both = 배분 모듈 dynamic import 해 브라우저 셈 · 정적 import 0) · 서버만 G3 D1 D2 N1 = 줄마다 까닭 글(DB 씀 · 래스터 · D1 래스터 위 · 큰 지형 파일) · 거울 test_511_c_haul_node(프로젝트 일곱 × 문맥 넷 × 그림 · 수량 + 끝 경우 여섯 = 새 길 · 옛 묶음 · 브라우저 함수 0 차 · [저장] 정본 golden 문맥 셋 0 차) — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:42:35 +09:00
eomsangdonandClaude Opus 5.5 70a24c2416 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3
511-B B-3(종단 Node · profile 줄 엶) 합침 — 충돌 줄 단위 양쪽 살림: 계산 입구 입력 · 부름 표(profile · sections · route) · 판 열린 줄(route · stations · profile) · 잠금 줄 시험(follow · cross 만) · 문구(Why route · stations · profile · pair_B2 B3 걷음) · Route_Save import(keyed_stations 남김 · seat_route_moved 걷음 = B-3)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:02:29 +09:00
eomsangdonandClaude Opus 5.5 99cb8f0ae9 feat(511-B B-5 노선 · 좌표 맞춤 · 남은 측점 계획 Node · route 줄 엶): Router_Replan 688 → 612(폴리라인 파일 쓰기 = B05_Profile_Route_Polyline_Write.py) · 노선 저장 폴리라인(편집 갈래) = 늘 떠 있는 Node route.polyline(buildEditedPolyline + nodeEdits · 파이썬은 csv 4자리 · 곡선 as_dict 반올림만 · 단순화 갈래 · Node 못 돌림 = 파이썬 짝) · 위반 글 반올림 = 파이썬 꼴(fixed1 · R 12.25 → 12.2) · 저장 좌표 맞춤(F1) = Node facility.follow + fill(fillStructureCoordinates · 옛 좌표 지킴 · 0.1 mm · placeOnLine 노선 위 자리와 한 벌 pointAtChainage) · 남은 측점 계획(F3 · 이월 열쇠 주인 · 옛 측점 옮기기) = Node stations.plan · 등록부 R1 R3 F3 node: · 판 route 줄 엶(「서버」 = 잠잠 뒤 서버 route.polyline · 못 내면 화면 셈) · 저장 노선 전수 6 벌 = 파이썬 길 바이트 0 차 · 알려진 차 = 교각 딱 5° 배수 원호 점 ±1(브레인 승인) · 시험 test_511_b5_route_node — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:59:14 +09:00
eomsangdonandClaude Opus 5.5 f830088298 feat(511-B B-4 cross 줄 엶 · 페이지 cross 서버 길): 계산 자리 cross = server(DTM 격자 있음)면 묶음 cross 를 서버 Node 가 같은 TS 로 — 저장 노선 다시 셈 = cross.refresh(Cross_Refresh 셈 몫을 logic/B06_Section_Cross_Refresh_Calc.ts 로 나눔 · 세션 읽기는 화면 · 구조물 폐회로 면적 층까지) · 엔진 길(노선 초안) = stage.cross(design_pipeline_cross_server.ts · 페이지 676 줄) · 못 받음 = 브라우저 · DTM 아닌 지표면 = 브라우저 · /calc 단계 · 화면 길 = 서버가 격자 경로 · 구조물 정의 채움(화면이 보낸 경로 버림) · 판 cross 줄 엶(기본값 both 그대로 · 까닭 글) · 화면 시험 test_511_b4_cross_server_browser(검증_sub2 · both 대 server 0 차 · 저장 노선 535 ms · 초안 462 ms 왕복 = 잠잠 400 포함) · 글 읽는 시험 10 = 셈 몫 파일도 읽게 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:54:20 +09:00
eomsangdon 578b48f7ab Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-22 14:35:04 +09:00
eomsangdonandClaude Opus 5.5 761f6707f9 feat(511-B B-4 [저장] 횡단 한 바퀴 · 형상 얹기 Node): [저장] · [확정] 서버 다시 셈의 횡단 한 바퀴(설계선 다시 냄 → 미교차 넓힘 → 포장 구간 → 세월교 하강 · G2 C3) = DTM 이면 늘 떠 있는 Node cross.enforce 한 부름(logic/B06_Section_Cross_Save.ts · 파이썬 차례 · 승계 · 입력 그대로 · 격자 = npz 곁 이진 · 넓힌 표본 = 횡단 파일) · DTM 아닌 지표면 · Node 못 부름 = 파이썬 길 · GET 상세 · 재생성 형상 얹기(F4 F5 F6 C6) = Node facility.attach(측점 자리만 보냄 · 구조물 정의 M02 반영 넘김 · 못 부르면 파이썬 짝) · 구조물 정본 못 읽음 = 소단 저장분 그대로 · 등록부 G2 C3 C6 F4 node: · 거울 test_511_b4_cross_save_mirror 4(가짜 지형 넓힘 · 지표면 끝 · 포장 · 기울임 · 세월교 · 소단 · 파이썬 길 = Node 길 0 차) · 검증_sub2 [저장] · [확정] 값 차 0 · 다시 셈 0.7 → 0.5 s · [확정] 2.2 → 2.1 s · GET 형상 얹기 +5.6 ms — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:32:16 +09:00
eomsangdonandClaude Opus 5.5 9ed6a23d03 feat(511-B B-2 stations 줄 엶): 계산 자리 판 stations(R5 R6 R7 F3) 바꿀 수 있음 · 기본 both 그대로 · 「서버」 = 묶음 stations 단계가 잠잠 뒤 서버 Node stations.list(같은 buildStations · 못 내면 화면 셈 · 화면 셈은 동기 그대로) · 창구가 stations.list 에 서버 구조물 정의를 붙임(브라우저 정의 안 씀) · 까닭 글 stations · 309-2 · 511-B1 시험 = 열린 줄 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:27:06 +09:00
eomsangdonandClaude Opus 5.5 e043aee953 feat(511-B B-3 판 종단 줄 엶): 계산 자리 profile 줄 = 고를 수 있음(기본값 both 그대로 · 판 파일 profile both) · 「서버」 = 묶음 planline 새 지반 첫 계획선 꼭짓점(profile.base) · profile 단계 계획선 짓기(profile.alignment)를 창구 → 서버 Node 같은 TS(design_calc_profile.ts) · both = 단계 동기 그대로(묶음 차례 바뀜 0) · 서버 실패 = 경고 · 브라우저 값 · 까닭 글 pair_B3 → 끄면 서버 Node — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:26:11 +09:00
eomsangdonandClaude Opus 5.5 a88faa731b feat(511-B B-3 종단 짝 Node): 종단 다시 셈(rebuild_alignment_profile · 일곱 곳) · 1순위 첫 계획선(design_ground_following_profile) · 계획고 옮김(carry_edits) = 서버 늘 떠 있는 Node 가 같은 TS(profile.base · profile.alignment · profile.carry · design_calc_node_profile.ts) · 파이썬 = 입력 모음 + 정본 꼴(Engine_Grade_Node.alignment_record · 옛 build_alignment 글 그대로) · 노선 [저장] 계획고 옮김 = 편집 옮김 + 꼭짓점 세움 Node 한 부름 · P1 2~4 순위 폴백 파이썬 남김 · TS 표본 격자 0.000001 m(np.round 짝) · Alignment.ts 700 → 630 + _Edit 100(쉬프트 · R) · 기준표 logic(Grade_Criteria · X5) · plantedBase 셈 logic(design_planted_base · Profile_Planted) = Node 입구 끌림 11 걷힘 · 등록부 P1~P5 P8 node: · 정본 글 같음 = 시험 9 + storage 종단 16 파일 첫 계획선 · 다시 셈 16/16 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:26:04 +09:00
eomsangdonandClaude Opus 5.5 f7e9751b81 feat(511-B B-2 서버 측점 생성 = 같은 TS): build_sections(B03 체인 · 노선 저장 · 재생성 · 넓힘 · 추천 초기 종단) = DTM 이면 늘 떠 있는 Node stations.sections(buildStations · sectionsGround · 측점 열쇠 key 더함 · 파이썬은 머리만) · DTM 아닌 지표면 · Node 못 돌림 = 파이썬 generate_sections · stations.list(측점 목록 · 열쇠) · /calc 창구는 stations.sections 안 받음(서버 경로 입력) · 등록부 R5 R6 R7 = node:stations.list · G4 = node:stations.sections · round6 = 십진 반올림(파이썬 round 꼴) · 추천 저장본 지문에 TS 더함 · 고정 자료 Node 길 = 파이썬 길 0 차(다섯 갈래) · golden 그대로 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:22:25 +09:00
eomsangdonandClaude Opus 5.5 f40ff98819 refactor(511-B B-4 기본 설계 셋 Node · preview 걷음): run_calc = 늘 떠 있는 Node(못 띄우면 새 프로세스) · 기본 설계 셋(체인 · 노선 저장 이월 · [측점 만들기] · GET 빈 측점 · B05 확정 측구 방향 역반영) = 측점 묶음 Node cross.design 한 번 · 포장 · 기울임 · 세월교 하강 = TS facilityRanges(cross.design facilities · Node 못 부르면 파이썬 구간 짝) · /cross-design/preview 걷음(창구 · 스키마 · recompute_designs_for_alignment · 화면 refreshFromServer) · crossOptions = logic/B06_Section_Cross_Save.ts(다음 단계 [저장] 횡단 한 바퀴 짝 · 아직 안 부름) · 시험 266 · 475_3 · masshaul_single_source 기대 맞춤 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:18:09 +09:00
eomsangdonandClaude Opus 5.5 f9f606622f feat(511-B B-1 단계 Node 입구 · 판 다섯 줄): stage.route · follow · stations · profile · cross = 페이지 묶음 단계를 서버 Node 가 같은 단계 함수 · 같은 붙임으로 셈(design_calc_node_stages.ts · 등록부 밖 STAGE_IDS · 창구가 받음 · 한 요청 = 묶음 한 바퀴 · DTM 격자 경로 기억 · 관 세션 장부 사본) · follow 자리 맞춤 · cross 맥락 = logic/design_pipeline_stage_inputs.ts(페이지 693 → 659 · 빼기만) · 판 = 단계 다섯 줄 잠금(짝 모으는 중 · B-n) · F9 = 폼 기본값 · 기본값 바뀜 0 · 화면 검증_sub2 = 초안 다섯 단계 · 저장 노선 넷 0 차 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:49:58 +09:00
eomsangdon 59c2907b73 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-10-22 13:09:50 +09:00
eomsangdonandClaude Opus 5.5 eff9d7f5d0 feat(511-A ⑧ 고정 브라우저 시험용 열기): fixed_browser = server 면 P7 직선화 · D4 발자국 단계 = 잠잠 뒤 서버 값(끊긴 차례 = 묶음이 버림 · 못 받으면 브라우저) · 끌기 도구 R2 손잡이 · R4 측점 맞춤 · R8 갈아끼움 · C7 반폭 맞춤 = 브라우저 값 + 놓은 뒤 서버 대조 · 둘레 시험 글 · 가짜 모듈 맞춤 · 화면 시험(묶음마다 /calc 답 = 그 페이지 TS) — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:09:00 +09:00
eomsangdonandClaude Opus 5.5 e71efdfeb5 feat(511-A ③ 토량 · 구조물 셈 열기): 계산 자리 판 quantity · carry · fixed_browser 바꿀 수 있음(기본 both · 판 줄 차례 고정) · quantity = server 면 F7 저장 노선 면적 · C4 소단 사본 = 잠잠 뒤 서버 값만 · E1 유토곡선 = 서버 값으로 다시 그림(그 사이 앞 곡선 · 「서버 셈 중」) · F7 초안 면적 · C4 초안 소단 = 브라우저 값 + 서버 대조(다르면 얹음) · F8 = 브라우저 부름 없음 · 거울 시험(서버 답 = 브라우저 TS 답) — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:45:47 +09:00
eomsangdonandClaude Opus 5.5 5df40ccc47 feat(511-A 계산 자리 서버 창구): POST /api/projects/{id}/calc — 프로젝트 권한 · 본문 상한 8 MB · 늘 떠 있는 Node 하나(design_calc_node --serve · 죽음 · 묶음 바뀜 = 다시 띄움 · 1.4 MB 33 ms · 새 Node 110~170 ms) · 시험 길 id 따로(TRIAL_IDS) · 브라우저 길 design_calc_server(잠잠 400 ms · 늦은 답 버림 · 대조 · 기록 __aisloCalcServer) — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:37:08 +09:00
eomsangdonandClaude Opus 5.5 1abac6377f feat(510-1 자동 관 제안 = B05 배수유역 후보 고름): [자동 제안] = 서버 후보(지금 노선 × 세류선 교차 5 m 솎기 · 정수 m · 라벨 + 분석이 지금 노선이면 간격 보충) · 상태 있음(라벨 짝 · 교차 5 m 안 관) · 지운 관(지움 표지 짝) · 새 · 배수유역 칸 목록 + 지도 점선 원 · 고른 것만 관 넣기 길(addPipe · 세류선 교차 = 라벨 실음) · 옛 두 방식 창(전체 자동 · 지정 포함 추가) 걷음
- 서버 POST drainage/pipe-proposals(아무것도 안 씀) · propose_pipes(common_util_stream_crossing) · claim_crossings = {교차점: 라벨} 짝
- 라벨 왕복 — 계산 carry 가 화면 라벨 실음 · 관 속성 보관소가 응답 · 초안 · 요청에 라벨 실어 나름 · 옵션 고침에도 남김
- 지운 관을 다시 넣으면 지움 표지 걷음(keep_labels)
- 계산 등록부 D2 runner = propose_pipes · 시험 test_510 · 349 낡은 두 방식 기대 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:36:48 +09:00
eomsangdon 7c4941c53a Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-22 05:56:36 +09:00
eomsangdonandClaude Opus 5.5 3bc710a636 perf(509-1 · 509-3 · 509-6 도엽 등고선 범위 · 화면 밖 건너뜀): 노선 편집 = 노선 띠(저장 노선 bbox + 300 + 여유 300 m)로 자른 도엽 · 배수유역도 = 세부 유역 ∪ 줌아웃 한계 + 300 m 로 따로 자른 도엽(서버 _derived/sheet_<범위> · 사본 지문 + 범위 열쇠) · 띠가 범위 밖인 초안 = 통째 사본 · 미리 받기도 범위본 · 공용 선 그리기 = 같은 쪽 화면 밖 구간 끊음(돌린 화면 = 반 대각선 넓힘) — 요구 317
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 20:41:54 +09:00
eomsangdonandClaude Opus 5.5 4eec3a4b37 feat(509-5 · 509-2 B05 추천 지형): 분석 지형 고르기 = 추천 노선 창 안 · 지형마다 추천 미리 셈 · [적용] = 창 지형이 설계 지형 · 평면은 지형 이름만 · 설계 지형 격자 하나(수치지형도 적용이면 그 격자)
- 전처리 미리 셈이 고를 수 있는 지형마다(설계 지형 먼저 · 수치지형도는 DB 모델 있을 때만) 다섯 갈래 + 초기 종단
- 창 지형 바꿈 = 그 지형 저장본만 · 없으면 409 안내(+[재계산]) · 기본값 판정에서 지형 뺌
- POST /route/initial terrain = 창 지형 · [적용] draft.terrain = 창 지형 · 손 [저장]은 지형 안 바꿈(서버도 as_initial 일 때만)
- 평면 분석 지형 고르기 · 화면 취향(routeedit-terrain) 걷음 · 지반고 · 묶음 초안 = 설계 지형(null) · 적용 뒤 받아 둔 격자 버림
- 시험 test_509_5 · test_509_2 · 걷은 고르기를 보던 옛 시험 새 동작으로(352_3 건너뜀)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 20:41:20 +09:00
eomsangdonandClaude Opus 5.5 396207035b fix(508-1c): 맞춤 cross 견줌 = 지금 측점 자리로 가른 뒤 — 노선 초안 넘김이 새 자리 자리 칸만 걷은 군더더기 cross 차례 없앰
- 맞춤(reconcile) 다시 먹일 입력 판정을 design_pipeline_cross.ts staleInputs 로 · cross 는 crossAtSeat 뒤 견줌
- 끌기 cross 차례 · 횡단 보기 진입 cross 차례 사라짐(cross 셈 2 → 0) · 값(누가토량 · 횡단 · 측점 · 칸) 그대로
- design_pipeline_page.ts 699 → 697 줄
- test_349_0o xfail 둘 걷음 · 쓰지 않는 DRIFT 표지 지움

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 17:18:30 +09:00
eomsangdon c6695297fa Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into main_laptop_1 2026-10-21 15:24:14 +09:00
eomsangdonandClaude Opus 5.5 99a224c6c9 fix(505-2 B05 · B06 저장 · 고름): 확정 중 고침 알림 · 저장 중 초기화 막음 + 서버 잠금 · 계산 중 누름 폄 · B06 목록 밂 · 추가 측점 data-plus · 옛 초안 간격 · 풀개 — 요구 309-3 · 310
- 1 가림막 저장(확정)도 도중 고침 검사 · 「저장 중 고친 값」 알림(키는 안 막음 · B07~B09 안 번짐)
- 2b snapOptions 간격 = 10 만 · 옛 초안 0.1 · 1 m = null(load_station_snap_step 거울)
- 3 추가 측점 = 측점 묶음 data-plus · B05 누름 · 가까이 표시가 그 속성으로
- 4d 숨은 동안 고른 카드 = 다음 다시 그림 끝에 밂 · 휠 · 누름이면 버림
- 7 pipe_calc set 다섯 = 풀개 · 횡단 · 종단 보기 onDispose
- 8 저장 중 [초기화] = [저장]과 같은 알림 + 막음 · /route/reset = 프로젝트 잠금 안
- 9 isUserPick 거름 = 묶음 띄운 그 누름만 · 계산 중 새 누름 = 폄
- 시험 test_505_2_save_pick 새 · 398_1 busyPick 1 · 390_5 글 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:44:25 +09:00
eomsangdonandClaude Sonnet 5.5 2473f954c6 fix(505-4 B05 작은 흠 둘): 구조물 고른 채 새로 고침 = 횡단 뜸 콜백 한 박자 뒤 그림(TDZ) · 관경 빈칸 = 빈 선택지(안 채움)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 13:27:49 +09:00
eomsangdonandClaude Opus 5.5 673ba60e4c fix(505-3 B05 그림 · 글): 임시 횡단 창 = B06 카드(형상 얹은 단면) · 빈칸 칩 그래프 오른쪽 위 · 곡선 판 가둠 · 지반선 누름 통과 · STALE 글 · 창 단추 공용 꼴 — 요구 309-3 · 310
- 측점 뜨기(design_pipeline_probe)가 형상 · 이름 얹은 단면도 돌려줌 · 창은 「횡단」 판과 같은 routeCrossCard(서버 미리 뜬 것만 선 그림)
- Cross_Card 판 재료 crossSourceOf 로 나눔(창 · 판 한 벌) · 카드 머리 걷기 전 경고 칩을 그래프 오른쪽 위로
- 곡선 판 가둠 = 편집 도구줄 아래 · 열린 횡단 판 왼쪽 · 뜬 종단 판 위 · 판 크기 바뀌면 다시 가둠
- 종단 지반선 · 계획선 pointer-events none · WF_State_Stale = 「다시 확인 필요 (앞 단계 변경)」 · ui-button → ui-btn
- 시험 test_505_3_cross_card_text · test_505_3_cross_card_screen(5179)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:15:54 +09:00
eomsangdonandClaude Opus 5.5 282b481f81 feat(504-2 계산 자리 스위치): 시스템 관리자 「계산 자리」 카드 · 창 · 판 · G1 · D3 연결
- 판 = resources/master_template/calc_sites.json(기본값 = 등록부 자리 그대로 · 전부 both)
- common_util_calc_sites — 묶음 8 줄(등록부 45 #) · 읽기 · 검사(잠금 · 모르는 줄 · 값 = 400) · 통째 쓰기
- GET /api/dashboard/calc-sites(로그인) · PUT /api/dashboard/admin/calc-sites(시스템 관리자) · 바뀐 줄마다 CALC_SITE_CHANGE 시스템 로그
- 대시보드 시스템 설정 「계산 자리」 카드(시스템 관리자만 · ☰ 엔 없음) · 체크 창(칸 둘 · 잠긴 줄 까닭 · 지금 서버 N 줄 · 다음 열기부터)
- design_calc_sites — B05 · B06 열 때 한 번 받음 · G1 server = ground 단계 안에서만 서버 표본(cross 격자 그대로) · D3 server = 워커 안 띄움
- 시험 test_309_2_calc_sites 새 · test_b01_settings_cards · test_225_drawer_shortcuts 덧

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:23:11 +09:00
eomsangdonandClaude Opus 5.5 4046178a5d fix(498-3 저장 모양): 노선 그대로 [저장] = 잠금 없이 뒤에서 · 저장 중 [저장] 막음 · 저장 중 [>] = 앞 저장 끝 뒤 확정 · 결과 한 줄 토스트 걷음 — 요구 298-3 · 302 D1
- 잠금 = 확정 · 노선 모양 바뀐 [저장]만 · 그 밖 [저장]은 뒤에서 · 끝나면 「저장했습니다」
- 줄 세움 queueDesignSave — 저장 중 [저장] = 「이전 수정을 저장 중입니다…」 + 막음 · 저장 중 확정 = 잠그고 기다린 뒤 지금 화면 · 서버 저장 도중 안 끊음
- 저장 도중 고침 = 조각 정리 · 깨끗한 표 건너뜀(초안 남아 다음 저장에서 다시 나감)
- 노선 바뀐 [저장] = 옛 페이지 두 보기 헛 다시 읽기 걷음 · 떠남 표 · 알림만 뒤 다시 세움
- B06 [>] = 고친 것 없음 + 단계 2 · 3 COMPLETE 면 저장 없이 이동 · 그 밖 496 확정 그대로
- 노선 저장 알림 = 따라감 실패 · 새 교차 관 한 줄만(routeSaveSummary · 노선 밖 되풀이 지움)
- 시험 test_298_3_save_shape 새로 · 옛 요약 · 잠금 단언 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:08:12 +09:00
eomsangdonandClaude Opus 5.5 fcb3c994b3 fix(498-1 렌더러 멈춤): 밀린 버림 차례가 같은 기록을 되받는 finishDrop 고리 그침 — 요구 298-3
- design_pipeline_page finishDrop — lastRun 이 이미 끝난 같은 기록을 돌려주면 다시 부르지 않고 그 기록으로 마침(마이크로태스크 고리 · 렌더러 메모리 4.7 GB 뒤 죽음)
- 시험 test_298_3_finishdrop_loop(finishDrop 본문을 떼어 같은 기록 되받기 → 한 번만 · 고치기 전 51 번)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 22:49:19 +09:00
eomsangdonandClaude Opus 5.5 76f74037af feat(499-1 좌측 패널 하이라이트): 닫힌 패널 안 엶 · 카드 폄 + 열 때 고른 줄 · 우클릭 [추가] 포장도 바로 · B06 평면 겹침 기준 main 전체 — 요구 298-4 · 298-6 · 300 E2 · E3 · 304 E1
- onReveal = 사용자 고름이면 「구조물 배치」 카드 폄만 · revealLeft 지움(부르는 열네 길 그대로)
- 좌측 패널 열림 알림(workflow_layout onOptionsOpenChange) → 고른 목록 줄 · 강조 상자로 한 번 밂
- addsAtOnce = 등록부 기본값 뒤 필수 빈칸만 봄 · 포장 폼만 갈래 지움(물넘이 걸침 = 확인창 그대로)
- design_page.css 횡단 보기 가운데 칸 position: static · 평면 z 4 그대로
- 시험 398_1 뒤집음 · 116 · 126 포장 바로 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:25:44 +09:00
eomsangdonandClaude Opus 5.5 1f673ab2c3 fix(498-1 옛 페이지 풀림): 노선 [저장] 뒤 다시 세운 옛 페이지를 붙드는 전역 듣개 넷 · 코리도 캐시 — 요구 298-3
- 새 공용 ui_template_window_watch(listenWhileAlive) — 창 · 문서 듣개는 종류마다 하나 · 화면 노드는 약하게 쥠 · 노드가 버려지면 저절로 빠짐
- design_leave beforeunload · overlay_drag pointermove · pointerup · pointercancel · resize · Panel_Settings document pointerup · keyup · side_panels scroll · resize 를 노드 수명으로
- side_panels 크기 감시가 place 를 약하게 쥠(감시가 노드를 안 붙듦)
- 코리도 모듈 캐시 = 지금 노선 한 칸
- 시험 test_298_3_page_dispose(다섯 번 다시 세움 뒤 창 듣개 수 그대로 · 옛 노드 풀림) · helper_346_4 새 모듈 읽기

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:17:04 +09:00
eomsangdonandClaude Opus 5.5 21e0f10df9 feat(496-1 B05·B06 단추 줄): [확정] 지움 · 차례 [?] [<] [>] [저장] [초기화] · B06 [>] = 확정 뒤 B07
- 새 단추 꼴 danger-ghost(테두리 · 글 빨강 · 올리면 채움) · [초기화]만
- B05 [<] 흐림 · 주소 바뀔 때마다 [<] [>] 다시 맞춤
- 단계 판 B07~B09 · B06 [>] = 확정 뒤 그 주소 · 실패 · 자료 서기 전 = 머묾
- 노선 바뀐 채 확정 = 저장 뒤 물음 [머묾] / [B07 로](새 노선으로 확정 뒤 이동)
- 막힘 = NOT_STARTED 만(STALE 은 색만) · B05·B06 화면 2 · 3 · 4 칸 늘 켬 · [저장] 뒤 단계 색 다시 읽음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:54:16 +09:00
eomsangdonandClaude Opus 5.5 38037895b1 Merge origin/sub_laptop_1 (493-2) into main_laptop_1
충돌 1 = B05_Profile_Api_PlusStations.ts 붙어 있는 두 추가(493-3 savedPlusRows · 493-2 fetchSavedPlusStations) 양쪽 살림

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbccG79TsSMUjnGqBq1MUE
2026-10-20 10:11:13 +09:00
eomsangdonandClaude Opus 5.5 2b7b129566 fix(493-3 화면 ↔ 저장 자리): 추가 측점 = 끌기 동안 땅 위 좌표를 들고 따라감 — 걸음마다 정수 m 에서 다시 놓아 [저장] 자리와 2~4 m 어긋나던 것
- 원인 = 노선 초안 follow 가 추가 측점을 누가거리만 들고 걸음마다 앞 선 위 정수 m 자리에서 다시 투영(반올림 누적) · 서버 [저장]은 정본 좌표에서 한 번 · 관 · 구조물은 좌표를 들고 가 차 0
- followPlusGround(common_util_route_follow) — 같은 누가거리 저장분 · 앞 걸음 좌표에서 따라감 · follow 단계가 걸음 출력마다 좌표 줄을 기억(B05_Profile_Pipeline_Grade)
- 첫 걸음 = 서버 정본 좌표 — GET plus-stations 에 stations(누가거리 · x · y) · 화면 savedPlusRows · 초안 둔 채 열기 = 초안 노선 자리
- 거울 시험 test_493_3_follow_screen_save(직선 · 곡선 교점 · R · 교점 더함 · 지움 · 앞 교점 여러 걸음 오감 = 관 · 구조물 · 추가 측점 화면 자리 = 서버 자리 · 고치기 전 셈 대조 = 2 m 넘게 어긋남)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 09:45:41 +09:00
eomsangdonandClaude Opus 5.5 7f5019c7ff fix(493-2 손 고침 저장 그대로): 492-2 띠 · [저장] 확인 창 · 저장 뒤 초기화 알림 걷음 · 추천 [적용] 창 수 = 서버 지울 수
- 손 고침 [저장] = 492 이전처럼 바로 저장(확인 창 없음 · 세션 초안 통째 비움 없음) · 평면 · B06 평면 패널 띠 걷음
- 추천 [적용] 확인 창 = 서버 저장분(구조물 · 관 저장 파일 · 추가 측점) 수 — 응답 route_reset.dropped 와 같은 셈 · 세션 초안 안 셈 · 종단 편집 수 뺌
- 안 쓰게 된 것 걷음: routeShapeChanged(TS) · draftShapeChanged · askRouteReset · ROUTE_RESET_BAND · pageRoutePlan · 띠 CSS
- 추가 측점 저장분 받기 fetchSavedPlusStations 한 줄
- 시험: test_283_route_reset_confirm 고쳐 씀(걷음 소스 · 창 수 = 알림 수 · 관 저장 파일 없음 0) · 저장 헬퍼 셋 확인 창 가짜 걷음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 09:34:05 +09:00
eomsangdonandClaude Opus 5.5 d2bf68b598 feat(492-2 노선 바뀜 확인): 모양 바뀐 노선 초안 띠 · [저장] · 추천 [적용] 확인 창(지워질 수) · 저장 뒤 초기화 알림
- 판정 = 저장 노선 대 초안이 그릴 선 정점 1 mm(`routeShapeChanged` · 파이썬 `route_shape_changed` 짝) · 스냅 · 간격 · 지형만 = 아님
- 띠 = 평면(노선 편집) 위 한 줄 · B06 평면 패널로 같이 옮겨짐 · 저장 노선 = 페이지 자료 줄 `pageRoutePlan`(조작마다 안 물음)
- [저장] 확인 창 = 잠금 막 · 서버 요청 앞 · 구조물 · 관 · 추가 측점 · 종단 편집 수 · [취소] = 요청 0 · 추천 [적용] 같은 글 · 수
- 저장 뒤 = 응답 `steps.route.route_reset` 지운 수 한 줄 · 초기화면 세션 초안 통째 비움 → 서버 정본으로 다시 세움 · 옛 서버(칸 없음) = 알림 건너뜀
- 시험: 새 test_283_route_reset_confirm(띠 · 확인 창 수 · [취소] · 스냅만 · 거울) · 저장 헬퍼 셋 확인 창 가짜 · 476-2 확인 글 기대 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 07:20:10 +09:00
eomsangdon 77e31953ef Merge remote-tracking branches 'origin/sub_laptop_4' and 'origin/sub_laptop_8' into main_laptop_1 2026-10-19 22:54:54 +09:00