Commit Graph
661 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 b68d6ff12e fix(451 B06 초안 버림): 버림 차례가 뒤 cross 입력에 밀려도 마지막 차례 끝에서 되돌림 — B05 와 같게
- 버림 차례가 뒤 차례에 밀림(dropped) · 노선 초안 그대로 없음 = 마지막 차례 끝에서 finishDrop 다시(새 초안이 밀면 안 함)
- 밀어낸 차례도 조용히(가게에 측점 안 냄 · 종단도는 되돌림 뒤 저장 기준)
- 새 test_451_drop_cross(진짜 묶음 · 가짜 지형)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:10:09 +09:00
eomsangdon 01bd11dd1f Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-18 22:04:20 +09:00
eomsangdon 34e42e0605 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-18 22:02:30 +09:00
eomsangdon 5b3aa0bc18 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-18 22:01:18 +09:00
eomsangdon bf89fb02c8 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-18 21:50:26 +09:00
eomsangdon 18563d5fb9 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-18 21:43:31 +09:00
eomsangdonandClaude Opus 5.5 c4f5530a49 fix(451 B06 새로고침 hold): 노선 초안 전 상태 세션 한 벌 — 초안 둔 채 새로고침해도 초안 전 열쇠 · 칸 · 관으로 되돌림 (440-4)
- 초안 시작 hold = 측점 열쇠 · 횡단 초안 칸 · 가게 관 · 구조물 · 세션 한 칸(route-draft-hold)에도
- 초안 둔 채 새로고침 = 그 한 벌(초안이 옮겨 쓴 세션 칸 · 초안 자리 관을 처음 값으로 안 뜸)
- 묶음 초안 전 가게(beforeDraft) = hold 관 · 구조물 — 버리면 초안 전 관 자리로 되씀
- 되돌림 = 초안 얹기 다시(되쓴 관) 뒤 초안 전 열쇠 · 세션 한 벌 지움

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:43:17 +09:00
eomsangdonandClaude Opus 5.5 e5dcb695e6 feat(448 B05 페이지 설정): [저장] · [확정] 영구저장 — 세션 초안 · settings 차례 · 경고 기준 갈아 끼움
- 세션 칸 pagesettings(설계속도 · 지형 · 기준값 · 최소고 강제 · 시작 측점) · 열 때 최신 응답 위에 얹음
- 저장 차례 settings = 노선 뒤 · 관 앞(기본 창구 · 노선 바꾼 [저장]에도 돎)
- PUT /route/page-settings — stage 2 params 에 사용자 값만 병합(상태 · STALE 그대로) · 종단 정책 · criteria 갱신 뒤 위반 · 요약 다시 셈(기하 그대로)
- 시 · 종점 계획고 조정 = 첫 · 끝 측점 계획고 편집(끝점 ▲▼ 와 같은 길) · 샘플 간격 두 칸 읽기 전용
- E1 재설계 요청이 설계속도 · 최소고 강제 · 시작 측점 옮김 · E2 B06 재생성 지형 기본 특수 · E3 초기값 스냅샷 stage 2 params 뜸 · 되돌림
- 노선 추천 · 평면 R 설정 읽기가 params.options 를 봄(옛 맨 위 칸 폴백)
- 시험 test_442_2_page_settings · test_442_2_grade_limit_mirror · design_store_save 차례 갱신

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:37:54 +09:00
eomsangdonandClaude Opus 5.5 eedafe8db9 fix(451 B06 세션 캐시 판): 세션 상세 뒤에서 서버 판 확인 · 다르면 서버 값 위 내 칸만 · 숨은 종단 보기 관 id 장부 · 384_3 단언 427 의도
- 433-16: 새로고침 · 새 탭 = 세션 상세로 먼저 섬 · 뒤에서 상세 GET(ETag 304) · 판이 다르면 서버 값 위에 이 탭에서 고친 사용자 칸만 · [저장] patch 바탕도 새 판 · 노선 초안 hold 는 버릴 때 새 판
- 440-3: 숨은 종단 보기도 관 세션 id 장부 돌림(평면 마커 누름 = 초안 자리) · 그리기는 보일 때
- 384_3: pvi 단언 = 저장 꼭짓점 + 심은 측점마다 세운 꼭짓점(427)
- 384_7: 세션 쓰기 = 받을 때 · 판 확인 새 판 둘

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:37:07 +09:00
eomsangdonandClaude Opus 5.5 1458010944 refactor(454 계산 줄 유토 단계): 안 쓰는 masshaul · haul 단계 걷음 (433-3)
- 계산 줄 masshaul(유토곡선 계열) · haul(흙 배분 POST) 단계 지움 — 읽는 화면 없음 · 조작마다 헛 셈 · 헛 POST
- 유토곡선 판 계산 · createHaulPlanPrefetch · postHaulPlan 남김 · 표준단면 도착 때 cross 다시 먹이기 남김
- 탐침 시험: 끝 누가토량은 공용 계산 헬퍼(helper_454_final_cumulative) · 뒤 단계 늦은 응답 = corridor · 묶음 흙 배분 POST 0 단언

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:33:18 +09:00
eomsangdonandClaude Opus 5.5 9c76d32c1e fix(455 433-13① 종단 ▲▼ 자동 R): 누른 꼭짓점 R 이 저장 자동 R 과 같으면 지워 기본 L · 사용자 R 은 둠
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:32:43 +09:00
eomsangdonandClaude Opus 5.5 5478eb1f88 fix(452 서버): 구 구조물 이관은 저장 종단만 · 관 PUT 뒤 옛 횡단 파일 지움 · 시종점 열쇠 한 규칙
- 433-17① 이관 원천 = 저장 종단 파일 비정규 측점(서버가 직접 읽음) · 화면은 노선 id 만 보냄 — 초안 관 자리가 「기타」로 안 섞임
- 433-10 구조물 측점 다시 뜸(관 PUT · 측점 만들기) 끝에 옛 자리 cross_*.json 정리
- 433-18 서버 station_keys = 맨 앞 · 맨 끝 end:BP/EP 먼저 · 구간형 :start · :end · B06 stationKeysOf 도 맨 앞 · 맨 끝 end — 거울 시험 test_452

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:32:29 +09:00
eomsangdonandClaude Opus 5.5 33201b14ef fix(449 B05 저장): 관 정본 PUT 은 세션 초안 한 번 · 노선 저장 뒤 실패면 초안을 새 노선 칸으로 · 측점 맞춤 실패 알림
- 433-7 배수판 메모리 다시 PUT 걷음(판 안 선 [저장] 빈 목록 PUT 막음) · [확정] 초안 없음 = 칸 없이 다시 셈 · 판은 저장분 다시 받기만
- 433-12 노선 저장 뒤 다른 차례 실패 = 0 칸 계획고 → 새 노선 칸 · 횡단 초안 넘김(저장 없이 · 두 번 안 넘김) · 새 노선으로 다시 세움
- 433-6 관 PUT 끝 측점 맞춤 실패 = 응답 stations_failed · 알림
- 시험 test_449_save_pipes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:29:23 +09:00
eomsangdonandClaude Opus 5.5 19bca9287b fix(455 433-5 관 옮김 이웃): 새 꼭짓점 이웃이 옮기기 전 계획고에서 뜨면 맞춤 — 바로 앞뒤부터 1mm 넘는 만큼 · 높이 고친 꼭짓점 그대로 · TS ↔ 파이썬 짝
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:28:08 +09:00
eomsangdonandClaude Opus 5.5 b7af85fa98 fix(443-2 B05 저장): 노선 바꾼 저장의 상단측 = 측점 열쇠로 새 측점에 옮겨 횡단 패치 앞에 보냄 · 못 맞춘 것은 빼고 알림
- 옮김 목록(ROUTE_CARRY_STATES)에 uphill 줄 — 노선 저장 · 측점 갈아끼움 때 새 측점으로
- 노선을 저장했으면 상단측 차례 건너뜀 → carryAfterRouteSave 가 옮긴 뒤 보냄(옛 누가거리로 엉뚱한 측점에 안 얹힘)
- 새 노선에 같은 측점이 없으면 뺌 · 「상단측 N곳 … 뺐습니다」 알림 · 노선 밖 고침 수에도
- 시험 test_443_2_uphill_carry.py · 346-3 · 저장 차례 시험 기대값 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-18 18:54:13 +09:00
eomsangdonandClaude Opus 5.5 97b5a78695 fix(441 B05 스냅 끌기): 맞춤 교점 이동 한도 = 간격 · 미리보기 측점 밖 늘면 그 걸음 되돌림 · 초안 없는 측점 단계 = 저장 스냅
- StationFit reach = intervalM(반 간격이면 MC 18+9 ~ 19+1 못 맞춤)
- 끌기 · 방향키 — 미리보기 측점 밖 곡선 수가 누를 때보다 늘면 그 걸음 되돌림 · dragMoved 는 막힘 검사 뒤(433-14)
- 계산 줄 stations 단계 · follow 새 측점 — 초안 없으면 저장 노선 station_snap · station_snap_step(snapOptions)
- 시험 — 390_5 끌기 훑기(놓은 뒤 측점 밖 0 · 자동 · 고정 R) · 344_3 저장 스냅 · 266 사면 이동 한 걸음 · 다시 그림 한 번

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-18 18:42:06 +09:00
eomsangdon df11b14fd6 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_7' into sub_laptop_1 2026-10-18 18:27:28 +09:00
eomsangdonandClaude Opus 5.5 476205757f fix(440 B06 횡단 고름): 노선 초안 카드 번호 = 저장 카드 번호 · 찾기 = 지금 그린 상세 · 평면 빈 곳 누름 = 마커 고름만 · 목록 자리 따라감
- 초안 카드(묶음 새 상세)가 같은 측점 열쇠 저장 카드 번호를 이어 씀(옮긴 관도) — 찾기 상세에 모든 카드 번호
- 카드 고름 · 목록 → 카드 · 넘김 · 풀기 = 지금 그린 상세(drawnDetail)
- B06 위 평면 패널 빈 곳 누름 = 평면 마커가 고른 것만 풂(B06 고름 그대로)
- 바뀜 신호에서 B06 목록 자리가 가게와 다르면 다시 실음(listStale)
- 시험: test_440 새 · 409 마커 고름만 · 298 바뀜 신호 꼴 · 191_1 도우미 stub

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 18:22:19 +09:00
eomsangdonandClaude Opus 5.5 480e62c674 fix(439 B06 카드 단추): 저장 노선 cross 차례 = 카드 자료 늘 다시 셈 · 측점 대조는 돌려줄 값만 · 서버 폴백에 카드 선택 실음
- design_shared refreshSavedCross — 측점 어긋남(1 mm)에도 refreshCrossDesigns 로 카드 설계 고침 · 다르면 null(묶음 엔진)
- refreshFromServer — 지반 · 측구 · 복합경사 선택을 design_choices 로 · 서버 미리보기가 저장분 위에 얹음
- 시험 test_266_card_toggle_mismatch(측점 같음 · 다름 · 서버 폴백 · 서버 얹기)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 18:10:09 +09:00
eomsangdon 2bd7b8a6fe Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-18 17:21:10 +09:00
eomsangdonandClaude Opus 5.5 eac20bd93b fix(436 B06 평면 패널): 처음 높이 바닥 160 px · 높이 상한 = 패널 % 기준 칸(offsetParent) (433-8)
- 종단 판 펼친 B06 = 칸 225 px 라 32 % 가 72 px — max(32%, 160px)
- 끌기 상한이 높이 0 인 횡단 center 를 재어 늘 120 px 로 눌림 — offsetParent 높이 − 48 px
- PLAN 436-1 검증완료

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-18 17:20:38 +09:00
eomsangdon 9da06a1ee2 fix(서랍): 진행 단계 단추 폭 = 서랍 안쪽 폭 · 긴 글 줄임표 (437-1) 2026-10-18 17:07:33 +09:00
eomsangdonandClaude Opus 5.5 9513489847 feat(436 B06 평면 패널): 높이 끌기 · 화면 기억 · 처음 32 % · 조작 B05 그대로 · 처음 보일 때 B05 칸 크기로 셈 (요구 263-2)
- 겹침 패널 누름 막기 걷음 — 끌기 · 끼우기 · 지우기 · 휠 · 팬 = B05 평면 처리기 그대로
- 방향키 범위 = 마지막 누름이 평면 안(.b05-routeedit · 겹침 평면 포함)
- 아래 끝 끌어 높이(120 px ~ 칸 − 48 px · pref plan-peek-height · 두 번 누름 = 처음 높이)
- openView = B06 겹침에서 처음 보여도 가운데 칸 크기로 맞춤 · 기억 판정(433-8)
- 시험 258 고쳐 씀 · 383_2 범위 단언

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-18 17:06:16 +09:00
eomsangdonandClaude Opus 5.5 30d99acbdd fix(427 공용 측점): 꼭짓점 세움 셈을 공용 파일 밖 B05 logic 새 파일로 — 공용이 B05 종단 선형을 안 끎 · 410 시험 오류 3 풂 (427-2)
- common_util_structure_station `followMovedNodes` = 옮김 · 지움 · 세울 측점(`seat`)만 돌려줌
- 새 B05_Profile/logic/B05_Profile_Grade_Seat.ts `seatBornNodes` = 파이썬 `_seat_born_nodes` 짝
- design_profile_base 가 둘을 차례로 부름 · 272-1 · 427-1 도우미 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-18 16:17:24 +09:00
eomsangdon 18ef18e72a Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_3', 'origin/sub_laptop_6' and 'origin/sub_laptop_7' into sub_laptop_4 2026-10-18 16:13:48 +09:00
eomsangdonandClaude Opus 5.5 f9cd31d7c4 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1
design_page.ts import 충돌 = 424 의 좌우 이동 import 지움 + 428 pipelineDetail 살림

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-18 16:13:03 +09:00
eomsangdon a0c8fd6cdf Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-18 15:57:42 +09:00
eomsangdon 37cdebb58a Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-18 15:56:15 +09:00
eomsangdonandClaude Opus 5.5 35758ac6ea fix(428 관 옮김 횡단 한 값): 옮긴 시설 측점 기본 설계 · 다시 셈 미교차 넓힘 · 관 PUT 끝 측점 세움 · 따라가기만 한 관 서버 누가거리
- 측점 갈아끼움 — 상단측 새 지반으로 · 0.5 m 넘게 옮긴 관 · 구조물 측점 = 기본 설계 + 사용자가 만진 칸
- 노선 초안 동안 관 길이 = 계산 줄 새 노선 상세
- 저장 노선 다시 셈 창구에 미교차 넓힘(서버 extend_unclosed 짝 · 격자 유무 지문)
- 관 PUT 끝 서버가 측점 다시 세움 · GET 관 지점에 x · y
- rebasePipeDraft — 땅 위 자리 = 정본인 관은 서버 누가거리
- 「측점이 없는 구조물」 알림 — 관 · 구조물 초안이 비면 저장 끝난 뒤 다시 봄
- 시험 test_428_pipe_move_mirror(옮긴 관 관 길이 브라우저 대 서버) · 416 출처 글 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-18 15:53:03 +09:00
eomsangdonandClaude Opus 5.5 309415a481 fix(B05 종단): 직선 판정 한 벌(꼭짓점 높이 1e-5 m) · 끝점 꼭짓점 · 기울이기 누름 쌓임 · 편집 측점 수 (426)
- TS `logic/B05_Profile_Profile_Straight.ts` ↔ 파이썬 `is_straight_bend` 짝 · 곡선 넣기 · ▲▼ 축 · 직선 찾기
- 적용 한 곳 `tidyEdits` — 직선 위 기억 R · 0 오프셋 지움(모양 그대로)
- 직선화 · 자유지정 끝이 꼭짓점 아니면 지금 높이로 세움 · 고른 직선 기울이기 = 지금 경첩 높이 + 걸음
- 「편집 측점 N개」 = 꺾인 편집 꼭짓점 수 · 시험 test_426 + 헬퍼 스텁 넷

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-18 15:51:08 +09:00
eomsangdonandClaude Opus 5.5 7f3aa6da65 fix(429 [저장] 길): 노선 저장 뒤 횡단 저장 늘 한 번 · 상단측 차례 사용자 값 남김 · 추가 측점 = 계산 줄 입력 · 차례 실패 = 멈춤과 알림
- ④ 노선 저장 뒤 횡단 저장 = 고침 없어도 한 번(뒤에 나간 계획고 초안이 횡단 설계 높이에 실림)
- ⑤ 상단측 다시 셈 = 깎기 경사 · 소단을 기하 입력으로 · 사용자 조작값 목록째 승계 · 측구 끔(None) 저장분 셈
- ⑨ 추가 측점 = 묶음 입력 plusStations(stations 부터) · 가게 초안 · 되돌리기 → 묶음
- ⑨ [저장] 차례 실패 = 그 차례에서 멈춤 · 차례 이름째 알림(뒤 차례 안 보냄)
- 시험 test_429_save_path · test_design_store_save 멈춤 규칙으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 15:47:10 +09:00
eomsangdonandClaude Opus 5.5 91a9a3ece3 fix(B05 종단 계획선): 관 · 구조물 옮김 때 새 측점에 꼭짓점 세움 — 원지반 지남 · 높이 고친 꼭짓점은 높이째 옮김 · 왕복하면 처음 값 (427-1)
- 서버 `_follow_moved_stations` · 새 `_seat_born_nodes` ↔ TS `followMovedNodes` 짝
- 짝 못 찾은 옛 측점 ↔ 새 측점 같은 수면 차례대로 짝 · 다른 꼭짓점 높이 그대로
- 거울 시험 test_427_1_follow_seat · 272-1 헬퍼 새 서명

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-18 15:42:59 +09:00
eomsangdonandClaude Opus 5.5 ff18ee2f2c feat(425 B06 평면 겹침): 횡단 보기 위 평면 겹침 패널 — 평면 노드 옮겨 붙임 · 보기 · 팬 · 휠만 · 평면 방향키 B05 평면 안만 (요구 258)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-18 15:38:45 +09:00
eomsangdonandClaude Opus 5.5 8f5286ad79 feat(424 횡단 설계중심): 중심점 좌우 걷음 — ◀▶ 단추 · 가로 끌기 · 노선 좌우 배선 없음 · ▲▼ 종단 계획고 그대로 (요구 260)
- B06 중심점 칸 = 버튼 없음 · 「▲▼ = 종단 계획고 · 좌우 이동은 평면에서」 · ◀▶ 키 먹어 막음
- B06_Section_UI_Cross_Center = 판정 원 · 한 축 끌기(암 경계선)만 남김
- B05 노선 좌우 host(_RouteEdit_Shift) · 고름 계산(logic/B05_Profile_RouteShift) 지움 · 페이지 · 편집기 배선 한 줄씩 걷음
- 시험 356 = 가짜 DOM 으로 중심점 고름 · 버튼 없음 · 키 · 끌기 없음 확인 · 356_4 = 중심점 좌우 걸음 뺌

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-18 15:37:36 +09:00
eomsangdon d8971b04c7 Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-18 13:16:20 +09:00
eomsangdonandClaude Opus 5.5 d9fec937aa fix(B05·B06 한 페이지): 시설 옮김 = 횡단 편집 열쇠째 · [저장] 중 먹이기 멈춤 · 새 시설 측점 미리보기 걷음 · 되돌리기 뒤 다시 견줌 (415-1 · 415-2)
- H1: 관 · 구조물 밖 측점이 움직인 때만 「노선 바뀜」 넘김 규칙 · 시설만 옮기면 열쇠째 옮김
  (사면 쉬프트 · 소단 깊이 · 단면 유형 · 관 측점 고침 그대로)
- H1 덧: 초안 없을 때도 저장분 계획으로 열쇠 주인(관 = 저장 id · 계산 묶음 열쇠와 같음 · 첫 옮김도 열쇠째)
  · 묶음이 세운 열쇠 목록을 같은 측점이면 주인 규칙으로 다시 세지 않음 · 갈아끼운 옛 상세 맞춤 끝냄
- H2: [저장] 도중 관 · 구조물 먹이기 · 맞춤 고리 쉼 · 끝나면 저장 목록 다시 읽고 맞춤(design_pipeline_facilities)
- M4: 새 시설 측점 서버 미리보기(preview-stations) 걷음 · 새 자리 = 계산 묶음 갈아끼움 · 카드 이름만 얹음
  · 종류 바뀐 자리 = 구조물 없는 사본
- 415-2: 되돌리기 · 다시하기(세션만 되씀) 뒤 관 · 구조물을 묶음 입력과 견줘 다시 넣음
- 시험: test_415_page_split 새로 · 미리보기 전제 시험(273-2 · 298 · 317 · 318 · 322-0 · 322-3)을 새 규칙으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 13:14:59 +09:00
eomsangdon 8d5a07bab8 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-18 13:09:00 +09:00
eomsangdon 6cad9956ba Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-18 12:44:31 +09:00
eomsangdonandClaude Opus 5.5 1db2f8f448 fix(B05·B06 한 페이지): 횡단 다시 셈 뒤 좌측 시설 폼 자동 칸 다시 그림 — 관 옮긴 뒤 관 길이 = B06 카드 (416-1)
- design_shared crossDesignsUpdated 한 곳 — 두 보기 알림 + 좌측 시설 폼 recount(관 길이 · 흙막이 수)
- 관을 옮긴 순간 셈한 옛 길이(6.9)가 횡단이 늦게 선 뒤에도 남던 것(캐시 6.6 · B06 카드 L=7 m (6.6))
- 시험 test_416_page_cache.py 한 칸 더

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-18 12:43:15 +09:00
eomsangdonandClaude Opus 5.5 e304f4c8c3 fix(B05·B06 한 페이지): 평면 바꾼 저장 때 B06 조절 · 사면 쉬프트 · 소단 깊이 새 노선 측점으로 · 평면 초안 횡단 입력에 사면 쉬프트 · 조절 · 소단 깊이 (417-1 M2 · M3 · L4)
- 측점 열쇠 이월에 사면 쉬프트 · 소단 깊이 더함(CARRY_WHOLE)
- 측점 옮김 목록 ROUTE_CARRY_STATES — 옹벽 · 세월 · BOX · 집수 · 덧 옹벽 · 경간 · 잇기 · 측점 폭 · 메모 · 상세 표를 노선 저장 때 새 노선 측점으로(구조물 조절 = 관 · 구조물 열쇠만) · 옮긴 값을 새 상세 설계 칸에 얹어 같은 [저장] 횡단 패치로
- 서버 이월 열쇠 짝 ROUTE_CARRY_KEYS — 노선 저장 이월이 측점마다 넘김 · 기본 설계가 사면 쉬프트로 셈
- 평면 초안 횡단 입력에 사면 쉬프트 · 저장분 사면 쉬프트 · 소단 깊이 · 초안 상세에 조절 얹음
- 시험 test_417_route_carry(거울 시험 포함) · 344-3 · 346-3 기대값 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-18 12:30:48 +09:00
eomsangdon 9b560dc241 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_5' into sub_laptop_1 2026-10-18 12:26:40 +09:00
eomsangdonandClaude Opus 5.5 9feba3de10 fix(B05·B06 한 페이지): 저장 끝 캐시 한 번 비움 · 종단 다시 읽음 · 관 길이 = 공용 캐시 · 평면 횡단 판 = 페이지 노선 · 암선 기본 config (416-1)
- M1: [저장] 끝 한 벌이 상세 캐시를 한 번 비움 · 종단 보기 done 이 새 상세 다시 읽어 종단 · 평면 판 그림 (보기마다 비우던 것 지움)
- M5: 관 길이 출처 = 페이지가 거는 공용 캐시(페이지 노선) 한 벌 · 보기마다 걸던 것 지움
- L2: peekSectionDetail(projectId, routeId) = 그 노선 상세 · 가장 큰 노선 번호 고르기 지움
- 암선 기본 = 종단 보기가 기억한 context(config) 값
- 시험 test_416_page_cache.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-18 12:22:53 +09:00
eomsangdonandClaude Opus 5.5 af5c91e277 fix(B05 초기화 정리): 노선 추천 칸 [초기화] 지움 · 아래 [초기화]는 B08 · B09 초안 남김 (418)
- 노선 추천 칸 [초기화] 단추 · 편집기 handler · /route/plan 의 initial_route(전처리 초기 노선) 걷음
- 아래 [초기화] = 마지막 추천 [적용] 노선(초기값 스냅샷 규칙 그대로) · B05 · B06 초안만 지움
- 시험 test_418_reset_cleanup · 옛 시험 단언 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-18 12:20:21 +09:00
eomsangdonandClaude Opus 5.5 274a0f892e fix(B06 측점 열쇠): 옛 자리 관 측점 헛 세션 id 걷음 · 헛 id 정리 (411-E)
- 관 계획을 아는 동안(초안 · 관 주인 있음) 계획에 없는 관 같은 측점 = 옮겨 간 옛 자리 — pipeIdAt 대신 pipeIdNear(안 지음) · 장부에 없으면 at: 열쇠
- 초안 없음 = 옛 갈래 그대로(지음)
- 화면 관 목록 맞춤 때 지금 관 자리 근처에 없는 기록 정리(prunePipeIds)
- 시험 test_411_b 덧붙임(헛 id 0 · 옛 갈래 · 정리)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 09:59:12 +09:00
eomsangdon a87263aa77 Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-18 09:56:20 +09:00
eomsangdonandClaude Opus 5.5 74ae3ac263 fix(B05 관 id · 따라감): 화면 맞춤 = 관 고정 id 가 쥔 세션 id 를 새 자리로 · 초안 둔 채 열기 자리 · 막 놓은 관 따라감 (411-B · 410)
- 관 세션 id 맞춤 — 차례 · 가까운 자리 대신 관 고정 id → 세션 id 표로 새 자리에 놓음(placePipeIds) · 그 자리 헛 id(옛 측점 열쇠가 지은 것) 뺌 · 끌기 · 따라감 · 되돌림 · 초안 버림 모두 그 관 id
- movePipeIds 걷음 · movePipeId 옛 꼴 그대로
- 따라감 단계 — 초안 둔 채 열기(앞 노선 없음)의 가게 값은 초안 노선 자리로 읽음(다시 열 때 두 번 밀림 막음)
- 배수 편집기 따라감 — 초안에 id 없는 막 놓은 관끼리 차례 짝
- 시험 test_411_b 고쳐 씀(헛 id · 되돌림 · 막 놓은 관)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 09:54:04 +09:00
eomsangdon 091691c454 Merge remote-tracking branch 'origin/sub_laptop_7' into sub_laptop_1 2026-10-18 09:30:40 +09:00
eomsangdonandClaude Opus 5.5 ccccb9f527 fix(B05 구조물 · 관 자리): 등고선 좌표 따라감 · 관 짝 id · B06 관 열쇠 pipe (410 · 411-B · 411-D)
- 좌표 낡음 판정 — 좌표가 그 누가거리를 안 낳으면(마커 · 방향키 · 폼으로 누가거리만 옮김) 노선 위 자리로 다시 적음 · TS placeOnLine ↔ 파이썬 fill_structure_coordinates 짝(보낸 좌표가 누가거리를 낳으면 살림)
- 따라감 단계 — 좌표 없는 관 초안은 앞 따라감 좌표 · site 간격 넘김
- 배수 편집기 — 노선 초안 follow 가 다시 매긴 관 자리를 id 짝으로 받음(시설 속성 · 고름 함께) · 초안 버림 = 저장분 다시 읽음
- 관 짝 차례 → id — 관 알림에 고정 id · followPipeReports · shownPipes(movePipeIds 한 번에 옮김) · followedMarks 같은 자리 먼저
- B06 측점 열쇠 — 서버 관 id 도 pipe: (계산 묶음과 같은 갈래)
- 시험 test_410_follow_xy · test_411_b_pipe_id_pairing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 09:26:18 +09:00
eomsangdonandClaude Opus 5.5 f91c59a2f3 fix(B05 평면 구조물 마커): 마커 고름 풂 = 좌측 목록 강조 · 폼도 풂 (409-2)
- 평면 고름 이름 PLAN_PICK_FROM 을 design_pick_escape 로 옮김(Cross · 마커가 같이 씀)
- 종단 고름 구독 = Esc 처럼 b05-plan 풂(값 없음)이면 폼 닫음 · 패널 접힘 · 펼침 그대로 · 오른쪽 판 그대로
- 시험 409 에 409-2 더함(새 helper_409_2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-18 09:19:22 +09:00
eomsangdonandClaude Opus 5.5 fe893cfb8e feat(B05 측점): 곡선 측점 — MC 에 측점이 없으면 곡선 측점 하나 더함 (407-1 · 요구 252-2)
- 서버 generate_sections ↔ TS buildStations 짝 · curve_stations ↔ curveStations 짝 · 종류 curve · 열쇠 curve:<누가거리> · 이름 뒤 (MC)
- 값 = 스냅 간격 자릿수(0.1 = 소수 한 자리 · 그 밖 · 스냅 끔 = 정수) · 0.005 m 안 측점(일반 · 옮긴 · 관 · 구조물) 있으면 안 더함 · BC · EC 안 더함 · 224-2 옮김 그대로
- 격자 번호 안 가져감 · 노선 저장 이월 열쇠 · B06 종류(curve) · 종단 선 색 · 카드 · 종단 이름 (MC) · 평면 눈금 (MC) · 오른쪽 횡단 일반측점 갈래
- 시험: test_407_curve_station 새로 · 344_3 둘 · 224_2 · 346_1 헬퍼 저장 노선 곡선표

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