Commit Graph
736 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 48a376f211 fix(445 B06 관 폼): 관 초안에 관 id 실음 — 옮긴 관 측점이 앞 설계(지반 · 메모 · 조절)를 잃지 않게
- B06 구조물 패널이 관 초안을 쓸 때 id 를 빠뜨려 측점 열쇠가 pipe:<id> → pipe:pipe-<누가거리> 로 바뀜 · 갈아끼움이 앞 횡단을 못 찾아 새 기본 설계(리핑암 · 메모 없음)로 섬(화면 실측 관 351 → 356)
- PipeFacilityItem 에 id · 불러올 때 · 초안 쓸 때 실음(B05 초안과 같은 꼴)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 19:18:33 +09:00
eomsangdonandClaude Opus 5.5 857b2d89d4 fix(445 B06 저장 patch): 바탕 = 캐시 설계 사용자 칸 + 세션 얹음 · 되돌림 null · 옮긴 측점 입력 · 집수정 범위 · 버린 수
- H3 — 횡단 patch 바탕을 캐시 설계 사용자 칸(측점마다 통째)으로 · 세션 고침은 벽 · 단 · 쪽 열쇠마다 합침(mergeCrossPatches)
- M2 — 벽 ↺ · 연동 풂 = 세션 null(안쪽 열쇠 지움) · 추가 벽 0 · 빈 전체 폭 0 을 세션에 남김 · 새 탭 − 가 저장분 단 수에서 출발
- H2 — 옮긴 관 · 구조물(정본 행 없음) = 지반 등 입력(CARRY_INPUT_KEYS)까지 실음 · 화면도 들고 감 · 서버 기본 설계가 그 입력으로 섬
- H5 — 노선 바꾼 [저장] 본문에 카드 선택 · 암선 · 암 경사 · 표준 횡단면 · 풍선 자리
- M1 — 집수정 내공 화면 범위 = 서버 1.0~2.0
- M5 — /save · /confirm 응답에 버린 patch 측점 · 기본 설계 실패 · 측점 맞춤 실패 · 화면 알림
- M7 — kindreset 을 측점 옮김 · 노선 저장에 따라 옮김
- 시험 test_445_save_patch · 기존 시험 꼴 맞춤(318 · 384 · 428 · 429 · fills_empty)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 18:55:25 +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
eomsangdonandClaude Sonnet 5.5 458ba4f453 feat(B06 횡단): 절·성토 바뀜 자리 원 작게 — 점 8 → 5 px · 잡는 범위 그대로 (435-1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-18 17:01:07 +09:00
eomsangdon cb231a4ae3 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-18 16:14:35 +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 199e9062e5 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-18 15:54:44 +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 93966a7f11 fix(B06 측점 열쇠): MC 가 움직여 곡선 열쇠가 바뀌어도 고침이 가까운 새 곡선 측점(10 m 안 · 하나씩)으로 넘어감 — 세션 초안 · 누가거리 칸 · 서버 노선 저장 넘김 짝 (432-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-18 15:51:26 +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 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
eomsangdonandClaude Opus 5.5 1ee4febad7 fix(B05·B06 한 페이지): 측점 갈아끼움 뒤 누가거리 조절 세션 칸 바로 옮김 — 조정창 맵이 안 선 페이지도 초안 카드로 (415-3)
- 관 측점 열쇠 갈림(세션 pipe-s1 ↔ 계산 줄 pipe:p35100) = 415-1 로 풀림 · B06 연 길은 초안 카드 조절 그대로(화면)
- B05 만 연 길(새로고침 · 조정창 맵 없음) · 세월 · BOX · 연동 칸은 안 옮겨짐 → 갈아끼움 알림 뒤 Station_Keys 가
  ROUTE_CARRY_STATES(측점 열쇠 칸 빼고) 세션 칸을 바로 새 자리로 · 조정창 맵이 옮긴 칸은 그대로(Swap_Bus afterAnySwap)
- 시험: test_415 누가거리 조절 · 노선 바뀜 대조 = 417 넘김 규칙(사면 쉬프트 · 소단 깊이 넘김)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-18 13:34:28 +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
eomsangdonandClaude Opus 5.5 041a22b4b3 fix(B05·B06 한 페이지): 노선 바뀐 저장 때 옛 저장 관 자리 조절 = 같은 관 id 의 새 자리로 (417-1 M2)
- 노선 저장 직전 저장 관(id · 옛 누가거리)을 떠 두고 저장 뒤 같은 id 새 자리로 — 초안으로 안 따라간 관 조절(첫 초안 측점 짝 · 관 id 규칙 갈림)
- carryChainageStates 시설 풀이 = 옛 자리 → 새 자리 · 관 열쇠 → 새 자리
- 시험 test_417 옛 자리 짝 · 346-3 저장 차례(관 받기)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-18 13:04:33 +09:00
eomsangdonandClaude Opus 5.5 42af5add77 fix(B05·B06 한 페이지): 노선 바뀐 저장 때 관 조절 옮김 — 관 열쇠 규칙이 갈려도(세션 id ↔ 저장 관 id) 관의 새 자리로 (417-1 M2)
- carryChainageStates 에 시설 자리 풀이 — 세션 id = 관 장부 · 저장 관 id = 서버가 옮긴 관 · 없으면 같은 자리 측점
- 시험 test_417 관 id 갈림 · 346-3 차례(관 받기)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-18 12:48:40 +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
eomsangdon 71da77f105 Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_1', 'origin/sub_laptop_3' and 'origin/sub_laptop_6' into sub_laptop_2 2026-10-18 12:22:28 +09:00
eomsangdonandClaude Opus 5.5 c9b4f0bede fix(B06 십자선): 십자선 = 형상과 한 높이(측점 설계 높이) · 원지반 십자선 · 평면 초안 계획선 표본도 초안 종단 (413-1)
- 카드 · B05 오른쪽 판 · [상세] 창 십자선 · 계획 상자 = section.design.design_elevation_m · 설계 없을 때만 종단 표본
- 원지반 십자선(center_z · 원지반 색 · 다른 무리) 먼저 그림 · 겹치면 보라 위 · 확대 보정 둘 다
- [상세] 표 원지반고 = 원지반 십자 · 절성토고 = 둘 다
- 시험 318 · 150 · 164 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 12:19:39 +09:00
eomsangdonandClaude Opus 5.5 e488605d72 fix(B06 교차 원): 절토 · 성토 바뀜 자리(노견 끝 = 원지반)만 원 · 평소 투명 · 올리거나 고르면 보임 (414-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-18 12:15:29 +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
eomsangdonandClaude Opus 5.5 501d9ca907 fix(B05 종단 표): 가까운 측점끼리 겹치는 값 칸은 그 자리에서 세움 (407-5)
- 계획고 · 지반고 · 측점 행 = 이웃과 겹치는 칸만 세로쓰기 · 두께 = 이웃 사이 틈 − 1(6 ~ 16 px) · 겹침 없는 칸 그대로 · 지우지 않음
- 곡선 L · R 행도 같은 판정(crowdedThickness) — 1.6 m 이웃에서 16 px 칸끼리 겹치던 것 고침
- logic/B06_Section_Label_Tiers crowdedThickness 새로 · 시험 test_407_4_label_tiers 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 09:37:50 +09:00
eomsangdon caffd14cd4 Merge remote-tracking branch 'origin/dev' into sub_laptop_6 2026-10-18 09:35:31 +09:00
eomsangdonandClaude Opus 5.5 98755730e3 fix(B06 종단): 올린 측점 이름 한 단 13 px — B05 종단에서 축선에 안 걸침 (407-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 09:34:12 +09:00
eomsangdonandClaude Opus 5.5 e8f2ae02d5 fix(B06 종단): 가까운 측점 · 구조물 이름 겹치면 위 단으로 비켜 그림 (407-4)
- logic/B06_Section_Label_Tiers 새로(labelTiers · labelWidthPx) · 이름은 지우지 않음 · 위 끝 3단
- 올린 측점 이름 = 맨 위 겹 · 바탕색 테두리 · 고른 측점 색 그대로 · 구조물 이름은 올린 측점 이름 위로
- B05 종단도 같은 함수(createLongitudinalProfile)
- 시험: test_407_4_label_tiers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 09:31:15 +09:00
eomsangdonandClaude Opus 5.5 5269859ee2 fix(B05·B06 측점): 구조물 놓음 · 뺌에도 서버 종단 곡선 측점 다시 셈 (407-3)
- [저장] 횡단 차례 ensure_structure_stations 가 곡선 측점 어긋남(_curve_marks)도 셈 · 노선 저장 안 기다림
- 다시 뜰 때 곡선 측점도 뜸(sample_structure_sections with_curves) · 종단 병합이 옛 곡선 측점도 갈음
- 측점 자리 한 벌 _station_layout 으로 뺌 · planned_curve_stations = generate_sections 와 같은 목록(표본 없음)
- 시험: test_407_3_curve_station_follow(놓음 = 구조물 측점 하나 · 뺌 = 곡선 측점 되살아남)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-18 09:31:14 +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 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
eomsangdonandClaude Opus 5.5 bd78a41c90 feat(393-4): B05 우측 횡단 판 제목 행 걷음 · 측점은 그래프 왼쪽 위 작은 글 · 가로 범위 = B06 「횡단 반폭」 보기값 한 벌(B06_Section_Display_Width — B06 입력칸 · B05 판 같이 읽음 · 그릴 때마다)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-17 20:02:22 +09:00
eomsangdon 1c0f1af4f0 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_4' into sub_laptop_3 2026-10-17 19:57:16 +09:00
eomsangdonandClaude Opus 5.5 89728f83fb fix(387-8): 낡음 판정 = 상세 가게 몫 — 접힌 종단 판 · 관 초안 다시 열기 = 펼친 때 값
- 상세를 읽은 뒤 묶음 차례가 끝나면 화면 선 대비 낡음을 보고 cross 한 번 더(미리 뜬 측점이 cross 뒤에 얹힘)
- 같은 낡음은 한 번만 · 묶음이 안 섬 · 노선 초안 = 안 부탁 · 기다림 = settled(맞춤 안 부름)
- 새 시험 test_387_8_folded_profile

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 19:52:30 +09:00
eomsangdonandClaude Opus 5.5 15092ee2b8 feat(B06 횡단): 카드 그래프 Ctrl+휠 = 마우스 자리 확대 · 축소 — 맨 휠은 목록 스크롤 그대로 (397)
공용 줌 부품 wheelZoom 에 "ctrl" 갈래 · 트랙패드 핀치 같은 확대 · 그래프 위 브라우저 확대 막음.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-17 19:41:49 +09:00
eomsangdonandClaude Opus 5.5 9d3e6b2421 fix(387-4b): 갈아끼운 상세 cross 한 번 더 · 다시 셈 앞 관 제원 형상 규칙으로 — B05 만 연 면적 = B06
- 저장 노선 측점을 갈아끼운 뒤 묶음이 다 돈 다음 cross 한 번 더(그 차례 cross 는 옛 상세 · 옛 화면 선을 봄)
- 다시 셈 창구 앞에서 초안 형상을 다시 얹음(B06 폼 되보내기가 관 제원에 옵션 값을 그대로 써 최소 높이 · 집수정 쪽 칸이 서버와 갈림)
- 화면(검증_sub4) B05 만 연 절토 · 성토 합 = B06 연 뒤 442.3726 · 824.768 · 관 옵션 2 → 2.1 뒤도 443.2174 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 19:35:29 +09:00
eomsangdonandClaude Opus 5.5 111dd6a1d0 fix(387-4b): 관 옵션 → 횡단 조정값을 상세 가게가 얹음 — B05 만 연 면적 = B06 연 뒤
- 관 벽 높이 · 형태(조정 h · m) · 흙막이 n 단(h · m · 구간)을 layPipeOptions 가 얹음(관 초안 ?? 저장 관)
- 상세 가게 읽기 · 다시 셈 창구(관 옵션을 고친 뒤 묶음 cross)에서 부름 — 예전에는 B06 보기가 열릴 때만
- 새 test_387_4b_pipe_options(상세 가게 얹기 = B06 폼 되보내기 · 면적 같음 · 옵션 바꿔도)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 18:55:36 +09:00
eomsangdon cf51d0139c Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-17 18:41:06 +09:00
eomsangdonandClaude Opus 5.5 01a4a54bdf refactor(387-7): 세션 상세 = 저장 정본만 · 열 때 세션 상세 한 번만 풂
- 새 Section_Canon — 정본 설계 사본 · 세션 글 풂 한 번(상세 가게 · 묶음 cross 입력 같이 봄)
- 갈아끼움 · 되돌림은 세션 상세 안 씀(메모리만) · 받을 때만 씀
- 묶음 cross 입력이 세션 글을 따로 안 풂(storedText 지움)
- 새 test_384_7_section_canon · test_365_1 세션 = 정본 기대값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 18:28:38 +09:00
eomsangdonandClaude Opus 5.5 6a3f9647f3 refactor(387-4): 횡단 다시 셈 창구 하나 · 면적 얹기 한 곳 — 화면은 묶음에 부탁
- 다시 셈(refreshCrossDesigns) 부르는 곳 = 묶음 cross 단계 하나(design_shared savedCross)
- 종단 미리 셈 · B06 설계 맞춤 · 3D 업데이트 = pipelineCross · reconcilePagePipeline(▲ 한 번 = cross 한 번)
- 입력 칸 밖 세션 고침(노견 · 소단 · 단면 유형 · 조정창)은 forceCross 로 같은 입력이어도 한 번 더
- 카드 그리기 · 횡단 보기 면적 쓰기 지움 · 다시 셈 창구가 면적을 늘 얹음(바뀐 측점만 알림)
- 저장 안 한 조정창 값을 상세 가게가 읽을 때 얹음(새 Section_Adjusts · B05 만 열어도 같은 면적)
- 새 test_384_4_cross_window · 옛 약속 시험 넷 새 약속으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 18:19:21 +09:00
eomsangdon b321e2d348 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-17 18:13:26 +09:00
eomsangdonandClaude Opus 5.5 80cfc187c6 feat(B05·B06 한 페이지): 페이지 자료 줄 · 묶음 입력 = 가게만 (386-2 · 386-3)
- design_page_data 새로 — 저장분(구조물 · 관 · 정의 판 확인) 페이지에서 한 번 · 저장 정본 바뀜(invalidate) · 페이지 떠남에 비움 · 보기 전환 요청 0
- 묶음 · 두 보기 구조물 칸 · 초안 측점이 같은 줄 · 「계산 중」 점(도크 · 묶음 차례 동안)
- 묶음 planline 저장 기준 = 입력(관 · 구조물)이 심는 측점(design_pipeline_base · 페이지가 옵션으로) · baseMoved 지움 · 종류 한 벌
- design_pipeline_page 700줄 앞 쪼갬(design_pipeline_page_types)
- 시험 test_384_2 · test_384_3 · 엄격 흉내 helper 에 자료 줄 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 18:08:17 +09:00
eomsangdon c922923cec Merge remote-tracking branches 'origin/sub_laptop_3', 'origin/sub_laptop_4' and 'origin/sub_laptop_8' into sub_laptop_5 2026-10-17 17:47:20 +09:00
eomsangdonandClaude Opus 5.5 a3dd0a1cf1 feat(393-2): B05 우측 「횡단」 · 「이전 횡단」 판 = B06 횡단 카드 읽기 전용 — 구조물 · 포장 · 면적 · 축 · 단면 사본(B06 고름 · 줌 기억 안 건드림) · 정본만 읽는 제어기 export
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-17 17:30:03 +09:00
eomsangdonandClaude Opus 5.5 002d0e85ac refactor(387-1): 설계 화면 세션 직접 접근 → 등록부 · 프로젝트 없는 열쇠 걷음
- 되돌리기 사진 = 연 프로젝트 초안 칸만(projectStateKeys) · 옛 b05/b06 접두 지움
- 관 자리 b05:pipes 걷음 → 가게 pipes 초안으로 되돌림
- 조정창 · 연동 · 세월교 · BOX 세션 맵 = readByKey · writeByKey
- 노선 편집 횡단 반폭 = routeStateKeys · 계획고 옛 키(프로젝트 없음) 안 받음
- 새 test_384_1_session_keys · 사진첩 시험 헬퍼 = 진짜 등록부 부름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 17:29:17 +09:00
eomsangdonandClaude Opus 5.5 23c6645839 fix(388-2 보안): [확정] 면적 · 관 길이 = 서버 셈만 · 재계산 실패 경고
- 화면 [저장] · [확정]이 면적 · 관 길이 9칸을 안 보냄
- 서버가 받아도 _AREA_KEYS 걷음(옛 화면 · 위조 값 정본에 안 남음)
- 서버 재계산 실패(상세 못 받음 · Node 실패)를 삼키지 않음 → 응답 recomputed:false
- 화면 경고 한 줄(저장은 됨 · 옛 서버 값 남음 · 다시 [저장])
- 새 test_384_s_area_keys · 옛 시험 셋 새 동작에 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-17 17:21:38 +09:00
eomsangdonandClaude Opus 5.5 f050dcc08d fix(B06 횡단): 넘어간 사면이 원지반과 못 만나도 고름 유지 — 같은 쪽 사면 선이 이어받음 (370-5)
- pickedLineAt — 키가 사라지면 같은 쪽 교차점 손잡이 → 그것도 없으면(사면 미교차) 같은 쪽 첫 절·성토 사면 선
- 손잡이(toe:) 를 고른 채 넘어가도 이어받음 — 고름이 풀려 공용 칸이 암 경계로 넘어가던 흠
- 시험: helper_370_2 「손잡이 없는 넘어감」 사례(성토 사면 · 「사면 이동 (우)」 · ◀↺▶)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 16:19:51 +09:00