Commit Graph
1114 Commits
Author SHA1 Message Date
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 Opus 5.5 7ae7515773 fix(505-1 덧 · 505-2 5d B05): 추천 접근 = 엔진 지문 달라도 저장본 읽음 · 모델 없는 sheet 고르기 숨김 · 409 사유
- 추천 저장본: 프로젝트 접근(화면 기본 갈래)은 같은 판 · 같은 입력이면 그 파일 소스 지문으로 키를 다시 내 찾음(read_stored_any) · 지문 견줌 · 다시 셈은 전처리 체인만
- 초기 종단 저장본: 접근은 코드 지문 빼고 입력만 견줌 · 파일에 코드 지문 칸 · 지문 칸 없는 옛 파일은 그대로 읽음
- 분석 지형 고르기 목록: 설계 지형 아닌 쪽은 DB 완료 모델도 있어야 둠(없으면 숨김)
- 노선 [저장] 설계 지형 바꿈에 모델 없음(LookupError) = 되돌림 + 409 사유 한 줄
- 시험 test_309_3 둘 더함 · test_505_2_terrain_sheet 새로 · test_133_1 DB 모델 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:28:06 +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
eomsangdon 1d0cc2f97f Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_4' into sub_laptop_3 2026-10-21 13:16:05 +09:00
eomsangdon 26a574830a Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-21 13:16:04 +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 d42726030e fix(505-1 B05): 추천 노선 미리 셈 = 전처리 체인에서만 · 프로젝트 접근은 저장본 읽기만
- B05 열기(GET /route/plan) 미리 셈 예약 걷음 · 체인 쪽(업로드 · B04 재확정 · B01 사용 범위) 그대로
- 추천 창 기본 갈래(기본 다섯 · 저장 제약 · 종단 켬 · 설계 지형) = 저장본만 · 없으면 409 「전처리를 다시 하면 생깁니다」(판 글 · 토스트)
- 사용자가 바꾼 제약 · 비중 · 종단 끔 · 다른 분석 지형 · [재계산] = 그 자리 셈
- 화면이 실은 분석 지형이 설계 지형과 같으면 설계 지형으로 봄
- 저장본 꺼내기 path.touch 걷음 · 초기 종단 지문 노선 파일 칸 걷음(셈이 안 읽음) · 초기 종단 지문 함수 캐시
- B04 _prepare 재투영 · 피클 읽기 · followed_pipes 스레드로
- 시험 test_309_3 새로 · 224_3 · 364_4 · 476_1 새 규칙에 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:14:33 +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 5555be5e42 fix(498-1 메모리): 평면 편집 키 듣개 둘을 캔버스 수명에 묶음 — 요구 298-3
- B05_Profile_UI_RouteEdit_StructureMarks · B05_Profile_UI_RouteEdit_Keys 의 창 keydown · keyup · blur 듣개를 listenWhileAlive 로 · 다음 키 누름 때만 떨어지던 detach 걷음
- 시험: test_298_3_page_dispose 두 칸 더함 · test_383_2 · helper_399 가 @ui 듣기 틀을 읽음
- 확인: 키 누름 없이 [저장] 다섯 번 GC 뒤 힙 39 → 123 → 205 → 205 → 206 → 206 MB(둘째부터 평탄)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 23:32:28 +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
eomsangdon 1c179ac5e3 Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_4' and 'origin/sub_laptop_7' into sub_laptop_5 2026-10-20 20:19:18 +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 Sonnet 5.5 80127fdd57 feat(500-2 측점선 띠): B05 종단 — 원지반선 ±12 px 띠 안 측점선 = 임시 횡단 먼저(표시 · 누름 같은 판정) · 띠 밖 측점선 = 측점 고름
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:13:50 +09:00
eomsangdonandClaude Opus 5.5 d35b9b74d4 fix(500-1 곡선 누름 고름 유지): B05 평면 교각점 · 손잡이 · 호 누름 = 측점 고름 유지 · 풀림 = 오른쪽 판도 비움 · 임시 횡단 띠 ±12 px · 창 단추 제목 줄 · 제목 줄 끌어 옮김
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:42:49 +09:00
eomsangdonandClaude Opus 5.5 52553a6c6a fix(494-2 새 교차 관 기본값): 노선 바뀜 길(손 고침 저장 · 추천 적용 · 초기 종단) 새 세류선 교차 관 = B04 새 관 기본값
- followed_pipes 에서 새로 더한 관(짝 -1)만 _apply_new_defaults · 옛 빈 관 · 사용자 관 그대로
- 시험 test_494_2(옛 코드 빨강) · test_283 새 교차 관 옵션 기대 = 기본값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 13:19:14 +09:00
eomsangdonandClaude Opus 5.5 7978579313 fix(494-1 구조물 측점 횡단 형상): B06 화면 밖 카드 = 쉬는 틈 한도 · B05 횡단 판 = 들어올 때 고른 측점
- 원인 B06 = 구조물을 놓으면 새 측점 카드가 빈 설계로 먼저 서고 다시 셈 뒤 화면 밖 카드는 쉬는 틈 줄에서만 갈아 끼움 · 시간 제한이 없어 틈이 안 오는 창(ORCA 내장 · 가려진 창)에서는 설계선 · 옹벽 없는 카드가 그대로 남음(검증_sub1 옹벽 7+5 · 7+10 재현 · 다시 셈 값은 맞음)
- 고침 = createIdleQueue 쉬는 틈 한도 200 ms(늦어도 그 안에 그림)
- 원인 B05 = 「횡단」 판이 고름 바뀜만 들어 고른 구조물을 들고 들어오면 빈 판 · 다시 누르면 고름이 풀림
- 고침 = 판 만들 때 지금 고름을 한 번 따라감(판은 안 폄)
- 시험 test_494_1_idle_queue(쉬는 틈 없는 창 흉내 · 들어올 때 고름 · 고치기 전 빨강) · helper_411_a 에 readSelection 흉내 · 들어옴 장면

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:54:12 +09:00
eomsangdonandClaude Opus 5.5 4aeaa9442b fix(493-5 [적용] 뒤 화면 초안 = 새 초기값): 추천 [적용] 뒤 추가 측점 저장분 다시 받음
- 원인: 페이지를 다시 세워도 추가 측점 저장분 기억(모듈 캐시 · 따라감 기억)이 남아 [적용]으로 지운 측점을 목록 · [저장]에 되살림
- reloadSavedPlusStations — 저장분 · 땅 위 자리 · 받음 표시 · 따라감 기억 비우고 다시 받음 · saveRecommendedRoute 가 clearDrafts 뒤 · 다시 세우기 앞에서 부름
- 시험: test_283_route_reset_confirm 에 [적용] 뒤 저장분 = 서버(0) · [저장] 본문 없음 · 대조(다시 안 받으면 옛 저장분) · 배선 차례

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 11:14:00 +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
eomsangdon 6140e1eecf Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_2 2026-10-20 09:51:16 +09:00
eomsangdon 990e6a5b55 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1 2026-10-20 09:51:15 +09:00
eomsangdonandClaude Opus 5.5 21b8c3231b fix(493-1 손 고침 저장 = 화면 그대로): 노선 손 고침 [저장] 초기화 갈래 걷음 · 시설 따라감 되살림 · 추천 [적용] 500 고침
- 손 고침 [저장](교점 끌기 · 더함 · 지움 · R · /design/save) = 492 이전 따라감 — 구조물 · 관(옵션) · 추가 측점 지킴 · 새 세류선 교차 관만 더함 · 초기값 그대로(요구 289 · 290)
- 추천 [적용](as_initial) = 초기화 + 초기값 다시 뜸 그대로 · 응답 route_reset 은 [적용]에만
- route_shape_changed 걷음(TS 짝 걷기 = sub1) · 한 본문 초기화 갈래 · 초기값 사본 떠 두기 걷음
- [적용] 500 = 떠 두기 중 뒤 추천 미리 셈이 _derived 파일을 지움(FileNotFoundError) → 떠 두기 · 되돌림이 사라진 파일 건너뜀
- 시험: test_283_route_change_reset 고쳐 씀(손 고침 = 따라감 · [적용] = 초기화 · 사라진 파일) · 492 때 고친 따라감 시험 원래 기대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 09:48:52 +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
eomsangdon 51204db543 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_4' into main_laptop_1 2026-10-20 07:32:22 +09:00
eomsangdonandClaude Opus 5.5 6dfadcbd42 fix(492-2 띠): 노선 바뀜 띠 한 줄 폭(max-content)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 07:29:02 +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
eomsangdonandClaude Opus 5.5 7a857d626a fix(492-1 노선 바뀜 초기화): 노선 모양이 바뀐 [저장] · 추천 [적용] = 서버 초기화 + 초기값 다시 뜸
- 판정 = 저장 · 새 계획 폴리라인 1 mm 견줌(`route_shape_changed` · TS 짝 `routeShapeChanged` = sub1) · 스냅 · 간격만 = 따라감 그대로
- 체인 초기화 = 사용자 구조물 · 추가 측점 · 관(옵션 포함) 버림 · 관 = 새 노선 세류선 교차만 · 1차 계획선 · 횡단 기본 설계 · 응답 route_reset {reset, dropped}
- 한 본문 초기화 = 보낸 관 · 구조물 · 추가 측점 · 계획고 · 관 옵션 · 넘김 칸 안 씀(페이지 설정만) · 되돌림 범위에 initial_snapshot
- 추천 초기 종단 미리 셈 = 같은 초기화 시설 · 지문에서 시설 파일 뺌
- 시험: 새 test_283_route_change_reset(옛 코드 8 실패) · 검증_sub8 자료 고정 · 실DB 시험 둘 = storage 임시 사본(helper_temp_storage) · 따라감 기대 시험 문구 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 07:12:35 +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
eomsangdonandClaude Opus 5.5 2307d7d9f4 fix(482-2 이관 막이): 옛 비정규 측점 이관이 「기타 구조물」을 만들지 않게 — 이름 빈 측점 건너뜀 · 낡은 종단이면 건너뜀 · 저장 잠금 안 · 이미 생긴 것은 알림만 · 측점 맞춤 실패 알림
- Migration: 이름 빈 측점 = 추가 측점 정본 소관
- Structures_Router: 이관 = 프로젝트 저장 잠금 안 · 종단 정본이 지금 심는 자리를 다 못 세웠으면 skipped · 응답 legacy_etc(옛 이관 「기타 구조물」)
- B05 화면: legacy_etc 가 있으면 경고 알림(지우지 않음)
- Router_Stations: 맞출 측점이 있는데 샘플링 조건 없음 = StationsUnsynced · 추가 측점 PUT 응답 stations_synced
- 새 시험 test_280_3_migrate_guard(임시 폴더) · 옛 코드에서 다섯 실패

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 22:51:52 +09:00
eomsangdonandClaude Opus 5.5 6414fb83d8 feat(490-1 임시 횡단 표시): B05 종단 그래프 — 누르면 임시 횡단이 열리는 자리 가까이 원 · 세로 점선 · 측점 글 · 손가락 커서
- 판정 셈을 logic/B05_Profile_Profile_CrossPick.ts 한 함수(crossPickAt)로 뺌 — 누름 · 표시가 같은 판정
- 원지반선 위아래 8 px · 추가 측점 선 = 그 측점 · 측점선 · 단추 · 도구 중 · 끌기 · 스크롤 = 안 그림
- 포인터 이동 소수 px 를 누름과 같이 내려 맞춤 — 0.5 m 경계 1 m 어긋남 막음
- 시험 test_490_1_cross_pick · test_368_3 연결 자리 갱신

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 22:43:19 +09:00
eomsangdonandClaude Opus 5.5 75f990c97e fix(483-3 B05 스냅): 손대지 않은 곡선 MC 꼴(N+0 · N+10) 유지 — 고친 곡선만 고른 간격
- StationFit fitAfter · fitDrag(before) — 고치기 전 노선의 곡선 꼴을 IP 자리 + 곡선 칸 열쇠로 기억 · 밀 거리 = 측점 간격
- 10 m 배수(No.N+10)도 측점 위(offStationMcs · 맞춤) · 서로 다른 측점 = 누가거리
- RouteEdit = fitAfter 한 줄 · fitLimits stationM · 694줄
- 시험 = 새 test_280_4_fit(고치기 전 동작 = 190 → 180 대조) · 366_3 · 390_5 이음 글

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 22:08:09 +09:00
eomsangdonandClaude Opus 5.5 20d0fd5e51 fix(483-1·2 B05 스냅): 일반측점을 MC 로 옮기지 않음 · MC 특별측점 더함 · 스냅 간격 1 m · 0.1 m 지움
- 서버 snap_curve_stations ↔ TS snapCurveStations · gridIndices 지움 — 스냅 켬 = 끔과 같은 측점(20 m 그대로 + 「No.N+10 (MC)」)
- 고르기 = 10 m · 측점 No. 둘 · load_station_snap_step = 10 만 · 옛 0.1 · 1 = 측점 No.
- 시험 = 새 test_280_4_stations(거울 다섯 경우) · 224_2 · 344_3 · 366_3 · 390_4 · 390_5 · 407 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 21:58:53 +09:00
eomsangdon 6dee76952f Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-19 17:24:18 +09:00
eomsangdonandClaude Opus 5.5 466a2d6204 fix(476-1 · 요구 277): 추천 [적용] = 횡단 손 입력도 버림 — 새 노선 기준 초기화
- carries_cross_inputs(initial) = not initial — [적용]이면 측점마다 기본 설계(손 노선 [저장]은 같은 자리 넘김 그대로)
- 시험 test_476_1_apply_initial 「적용은 횡단 손 입력 버림」(옛 코드 = 넘김)
- 위키 rules · operations_b05 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:23:21 +09:00
eomsangdon 5e6dd88fdb Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-19 17:03:43 +09:00
eomsangdonandClaude Opus 5.5 b916397141 fix(476-2 추천 초기 종단): 초기 종단 한 줄 = 알림 N건 · 알림 글은 마우스 올림
화면 확인(검증_sub1) 알림 37~94건이 한 줄에 다 붙어 줄이 넘침.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:02:56 +09:00
eomsangdonandClaude Opus 5.5 f9b157f002 fix(476-1 ④): 추천 [적용]도 [저장]과 같은 프로젝트 잠금 · 떠 두고 실패면 되돌림
- replan_route as_initial = guard.project_lock 안 · DB 행(지표면 확정 포함) · storage(STORAGE_SCOPE + 배수) 떠 둠 → 실패(409 · 예외)면 되돌림 · 응답 waited
- 본체 `_save_route`(손 노선 [저장] = /design/save 가 잠금 · 떠 두기)
- 부름 없던 `_write_working_route` 지움(700줄)
- 시험 test_476_1_apply_initial 겹침 기다림 · 실패 되돌림 · 손 저장 잠금 밖 · 346-3 가짜 세계에 떠 두기 가짜

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:56:48 +09:00
eomsangdon 2083ad15b2 Merge remote-tracking branch 'origin/sub_laptop_7' into sub_laptop_1 2026-10-19 16:51:03 +09:00
eomsangdonandClaude Opus 5.5 aa87dcfd68 feat(476-1 ③): 추천 후보 초기 종단 미리 셈 — 응답 칸 initial_profile · 저장본
- 새 `B05_Profile_Engine_InitialProfile` — 후보 노드 → 화면 펴기 짝(`draft_nodes` ↔ TS flattenServerPlan) → 노선 짜기(csv 4자리) → 관 · 구조물 · 추가 측점 따라감(새 세류선 교차 관 포함) → build_sections(438 1차 계획선) → 켬 = 1 m 균형 종단 얹기(seat_base_pvi)
- 새 `B05_Profile_Router_RouteInitial_Initial.initial_profile_of` — [적용] 체인과 같은 입력 모으기 · 지문(후보 · 지형 · 페이지 설정 · 시설 파일 · 측점 옵션 · 균형 인자 · 코드) · 저장본 `route_recommend/initial/<키>.json` · 실패 = {error}
- compute_initial 응답에 `initial_profile`(stations_m · ground_m · plan_m · line · pvi_count · curve_count · straightened · max_grade_pct · curve_length_m · warnings · with_profile · seconds)
- 시험 test_476_1_recommend_initial — 미리 셈 ↔ 체인 파일 길 꼭짓점 차 0 mm(끔 · 노선 바뀜 + 옹벽 + 추가 측점 · 켬) · 지문 · 응답 칸
- 위키 calculations N2 · rules 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:49:59 +09:00
eomsangdon 0ff310604e Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-19 16:46:15 +09:00
eomsangdonandClaude Opus 5.5 be9d1b9185 fix(472 덧 B05 관 지움 ↶): 관 초안 없는 걸음 = 저장분 — 판이 마지막 저장분 답과 견줘 다르면 조용히 다시 읽음 · 옛 「처음 본 관 목록」(판이 읽기 전 빈 목록 · 관 하나 지움 ↶ 이 같은 목록으로 멈춤 → 배수판 · 시설 줄 · 알약 · 목록 관 없음 · −17,385.4 · B06 보기 배수유역도 관 · 세부유역 빠짐) 걷음 · 종단 ↶ ↷ 켜짐 = 사진첩 change 알림으로 바로(삭제 직후 꺼져 있던 흠) · 시험 test_472_d_b05_pipe_undo(옛 코드 빨강 2) · 옛 단언 215_1 이름 · 219_1 흉내 · 위키 operations_common · _b05 · rules 줄
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:45:44 +09:00
eomsangdonandClaude Opus 5.5 8ebb8258f9 fix(472 덧 B06 헛 초안 · 지반): B06 열기만 해도 세션 표준 횡단 초안(std-cross)이 생기던 흠 — 패널이 열 때 config 를 · 설정값 받기가 저장분을 베껴 씀 → 안 씀 · 계산 = 세션 → 저장분(section-context) → config · 같은 값이면 칸 지움 · 카드 단추가 일곱 칸 통째로 실어 안 바꾼 지반(ripping_rock) · 단면 유형을 사용자 선택으로 박던 흠 → 바꾼 칸만(앞서 바꾼 칸에 얹음 · [저장] patch · 노선 넘김도 빈 칸 안 실음) · 소단 사본 berm = 떠남 확인 밖 · 카드 「토사」 = 단추 꺼짐 = 상세 ripping_rock(값 같음) · 시험 test_472_open_no_draft(옛 코드 빨강 9) · 옛 씨앗 단언 셋 고침(364_6 · stored_standard · user_values) · 위키 세션 칸 · 규칙 · B06 조작 줄
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:41:03 +09:00
eomsangdonandClaude Opus 5.5 e758117991 fix(476-2 추천 초기 종단): [적용] 확인 글 = 종단 · 횡단 손 입력 모두 지움(요구 277)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:39:42 +09:00
eomsangdonandClaude Opus 5.5 b0e38de44c refactor(476-1 ②): 측점 · 1차 계획선 셈과 파일 쓰기 나눔(동작 같음)
- Engine_Sections `build_sections`(측점 틀 · 지반 · 438 1차 계획선 · 포장 제안 · 파일 안 씀) · run_section_generation = 읽기 → 셈 → 쓰기
- 횡단 이름 규칙 → 새 `B05_Profile_Engine_Sections_Names`(700줄 · 다시 내보냄)
- resolve_extra_stations 사본 칸(structures · plus) · 따라감 셈 몫 `followed_structures` · `followed_plus_rows` · `followed_pipes` · `section_seed` · `seat_base_pvi` 뗌
- 체인 · 추천 초기 종단이 같은 조각을 부를 자리

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:36:26 +09:00
eomsangdonandClaude Opus 5.5 858ef3b40f fix(476-1 ①): 추천 [적용] = 늘 새 규칙 초기 종단 — 옛 계획고 · 편집 · L 안 옮김
- run_route_save_chain `initial`(= as_initial) — 끔 · 균형 셈 실패면 `_carry_profile` 안 부름 = 막 쓴 1차 계획선(438 · L 20) 그대로
- 손 노선 [저장]은 그대로 계획고 옮김
- 횡단 손 입력 넘김 판정 한 자리 `carries_cross_inputs`(사용자 답 대기 · 지금 = 넘김)
- 시험 test_476_1_apply_initial · 346-3 가짜 _recompute 칸 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:31:16 +09:00
eomsangdonandClaude Opus 5.5 84e9fddcf8 fix(476-2 추천 초기 종단): 그림이 비면 범례도 안 붙임
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:26:35 +09:00
eomsangdonandClaude Opus 5.5 f3322d1575 feat(476-2 추천 초기 종단): 추천 모달에 적용될 초기 종단 선 · 한 줄 · [적용] 확인 글
- 서버 initial_profile 펴기(세션에 안 적음) · 실패면 이유 한 줄
- 종단 그림에 초기 종단 선(주황 점선 · 끔이면 지반선 + 초기 종단) · 범례
- 한 줄 = 꼭짓점 · 종단곡선 · 직선화 수 · 최대 종단경사(L)
- [적용] = 「종단 손 편집은 새 초기 종단으로 바뀜」 확인 뒤
- 시험 test_476_2 · test_421 [적용] 단언 = 확인 창 뒤 고른 후보

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:23:06 +09:00
eomsangdonandClaude Opus 5.5 8d577ef330 refactor(472 마무리): 종단도 계획고 [저장] 조각을 design_profile_save 로 떼어 냄 — design_profile 708 → 683 줄 · 동작 같음
- design_profile_save.ts 새 파일 — 한 본문 [저장] 조각 · [확정] 직전 저장 · 저장 뒤 서버 선형 넘김
- 높이 캐스케이드 설명을 B05_Profile_UI_Profile_Heights 머리로 옮김
- 팝아웃 시험 목록에 새 파일 · 저장 조각 시험(test_472_6_profile_save) 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:33:08 +09:00