Commit Graph
677 Commits
Author SHA1 Message Date
eomsangdon 8d06dcadde Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_2 2026-10-17 13:18:04 +09:00
eomsangdonandClaude Opus 5.5 75f4cc982f fix(B06 횡단): 암 경계선 판정 선을 설계선 판정 아래로 — 사면 발치 겹친 자리는 사면이 먼저 골라짐 (370-3)
- 화면 검증에서 1+0 우 절토 사면 누름이 암 판정 선에 먹힘 · 그리는 차례만 아래로(키 차례 그대로)
- test_370_3 판정 선 「설계선 판정 아래」 확인 · helper insertBefore 참조 자리 따름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 13:16:57 +09:00
eomsangdon 39aa85bc07 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1
# Conflicts:
#	B05_Profile/B05_Profile_UI_RouteEdit.ts
#	ui_template/ui_template_locale_b2.ts
2026-10-17 12:29:44 +09:00
eomsangdon acaf0a4856 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-17 12:28:59 +09:00
eomsangdon d37377731e Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-17 12:28:58 +09:00
eomsangdon f47ef52497 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-17 12:28:56 +09:00
eomsangdonandClaude Opus 5.5 ec0bb044c2 feat(365-4): 한 바퀴 정리 — 저장 노선 계획고 = 횡단 한 벌 · B06 다시 그림 한 번
- 저장 노선 cross = 다시 셈 창구 한 벌(refreshCrossDesigns · 카드 · 유토곡선 · [저장] 패치가 보는 상세 설계) — 묶음 cross 가 부르고 그 설계를 냄(detailCross) · 종단도 계획고 편집 뒤 따로 예약 안 함(pipelineOwnsCross)
- B06 다시 그림 — 묶음 차례는 cross 뒤에만 · 겹친 신호(갈아끼움 · 묶음 · 초안)는 refreshDetailForStructures 한 번(최신 차례만)
- 중심점 좌우 = 노선 차례가 cross 전에 밀림 → cross 한 번(계획고 맞춤 차례 · 시험으로 못박음)
- stationDiff → logic/design_pipeline_stations(700줄)
- 시험 test_365(저장 ▲▼ 다시 셈 1 · 상세 설계 그대로 · 중심점 좌우 cross 1) · 346-2 pills · 230-2 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 12:28:14 +09:00
eomsangdonandClaude Opus 5.5 486616aabd fix(B06 맹암거): 371-3 노면 = 표준 경사 · 암거 경사 = 형상 하단 경계(높은 쪽 노면 끝 − 높이에서 내림)
- 암거 경사가 노면으로 가던 길 끊음(tilt_ranges None ↔ facilityRanges null · Cross_Refresh · design_pipeline_cross) · 측구 없음 · 낮은 쪽 한 경사 그대로
- underdrainOutline 하단 = 높은 쪽 노면 끝 z − H + 암거 경사 · 절토 교점 · 성토 교점 · 돌 띠 따라감 · 경사 비면 옛 동작
- 저장분은 tilt_pct 달라 서버가 다시 셈 · B06 · B07 같은 함수(묶음 다시 지음)
- 시험 test_288 하단 경계 · 349_0n 맹암거 자리 경사 비움

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-17 12:21:00 +09:00
eomsangdonandClaude Opus 5.5 fedb5bc166 feat(B06 관 글): 371-2 횡단 카드 관 글 L 뒤 기울기 S=x.x% · 툴팁 매설 경사 지움
- 「관매설 …, L=8 m (7.5), S=0.9%」 소수 한 자리 · 역경사 0.0 · 관 숨김(세월교 · 박스 흙막이) · B07 덧그림 글 없음
- 시험 test_371_2_pipe_slope_text · helper_371_2_pipe_slope

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-17 12:15:32 +09:00
eomsangdonandClaude Opus 5.5 fe025b6db2 feat(B06 횡단): 암 경계선 고름 · 방향키 · 세로 끌기 · 아래 띠 공용 칸 (370-3)
- 새 B06_Section_UI_Cross_Line_Cell.ts — 아래 띠 왼쪽 공용 칸(제목 · ◀▲↺▼▶ 한 벌 · 값 한 줄 말줄임 · 길게 누름 반복) · 숨은 버튼은 방향키 슬롯 뗌
- Design_Pick — 암 점선 위 판정 선(키 rock · ▲▼↺ · ◀▶ 막음 · 방향키 = 암만) · 떠 있는 선 조정창 · 우측 위 치수 라벨 걷음 · 안 고르면 암 칸 · 고르면 그 선(노면 · 사면 · 소단 · 중심점 · 교차점 · 암)
- Center.ts bindAxisDrag(한 축 끌기 · 놓을 때 한 번 · click 한 번 막음) — 중심점 · 암 세로 끌기 같이 씀
- buildRockBoundaryControl = 공용 칸 「안 고름」 꼴(Cross_Design) · Card_Chrome 띠 왼쪽 = 공용 칸 · Detail_Pick 표 강조에 암 판정 선 뺌
- CSS(Cross.css 공용 칸 · Areas.css 암 고름 띠 · Controls.css 주석) · 시험 test_370_3 새로 · 137 · 139_6 · 179_1 · 193_1 · 194_1 · 318 · 356 · 370_2 고쳐 씀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 12:14:43 +09:00
eomsangdonandClaude Opus 5.5 6ba26ee61c fix(B06 벽): 371-1 성토 위 이음 = 윗면 사면 쪽 끝에서 0.1 m · 다단 사이 시작 = 윗단 발끝 · 기본 자리 새 이음 기준
- 공용 벽 fillTop 칸 · 성토 사면선 · 트림 · 3D 실루엣 목표 topJoint → fillTop(무늬 이음선 그대로)
- 0점 · 다단 자동 자리 · 최소 노견 자리 = 배면에서 1.5t − 0.1(노폭 연장 0 유지 · 관 길이 7.9 → 7.5 m)
- 다단 사이 = 늘 윗단 발끝(원지반 무관) · 끝 구간 · 관 유출 벽 = 발끝이 지반 위에 뜬 벽만 발끝
- 시험 186_1 · 139_6 · 225_1 · 139_4 새 수치 · wall_shape_unified 이음 0.1 m 확인

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
2026-10-17 12:12:43 +09:00
eomsangdonandClaude Opus 5.5 c8be383428 feat(B05 종단): 원지반 점 임시 횡단 작은 창 · [측점 추가] · 점선 · 우클릭 측점 삭제 (368-3)
- 도구 꺼진 때 원지반선 근처 누름(정수 m) · 추가 측점 선 누름 = 종단 칸 안 작은 창
- 내용 = 서버 미리 뜬 횡단(저장 계획선 기준) · 평면 우측 횡단과 같은 그림 · 확대 · 이동
- [측점 추가] · [삭제] · [닫기] · 같은 m 측점 있으면 막음 · 우클릭 「측점 삭제」
- 추가 측점 세로선 = 일반측점 색 점선(--plus)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-17 12:09:07 +09:00
eomsangdon 30d95f8a24 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1
# Conflicts:
#	B06_Section/B06_Section_Section_Store.ts
2026-10-17 12:08:30 +09:00
eomsangdonandClaude Opus 5.5 7efee22ab4 feat(365-2): 횡단 고침 → 묶음 cross 입력 · 입력 지문 고리(최대 3바퀴)
- 횡단 입력 = 부를 때마다 저장 상세 + 세션 고침(지반 유형 · 측구 · 2단 경사 · 암 경계 · 암 경사 · 측점 열쇠) + 표준 — 상세 객체마다 기억 걷음
- B06 고침(DesignSync 다시 셈 끝 · 암 경계) 뒤 pipelineCross — 노선 초안 동안 B06 고침이 카드(새 노선 상세)에 보임
- 고리 — 열 때 · 페이지 들어올 때 입력(세션 · 가게)을 묶음 입력(넘긴 값 · follow 뒤 값)과 견줌 · 다르면 한 바퀴 · 끝난 뒤 다시 · 3바퀴 넘으면 「계산 불안정」 한 줄
- 시험 test_365_page_pipeline(초안 동안 고침 카드 · 같은 입력 0바퀴 · 세션만 바뀜 1바퀴 · 불안정 3바퀴 알림 1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 12:08:22 +09:00
eomsangdon 46952414cd Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-17 12:07:30 +09:00
eomsangdon 2accbc3d77 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-17 12:07:29 +09:00
eomsangdonandClaude Opus 5.5 ae515ee778 feat(B05·B06 측점): 추가 측점 자료 · 심기 · [저장] · 좌표 따라감 (368-2)
- 측점 계획 짝 planStations(plus) ↔ plan_stations(plus=) — 주인 plus-{m} · 이름 "" · 같은 m 은 관 · 구조물이 이김
- 정본 B05_Profile/route/plus_stations.json(x · y) · GET/PUT /section/plus-stations · PUT 뒤 측점 맞춤
- 초안 plus-stations(설계 가게 plusStations) · [저장] 차례 구조물 뒤 · 계획고 앞
- 노선 저장 = 좌표로 따라감 · 되살림 대상 · B05 종단 · B06 목록 바뀜 신호
- 종단 세로선 plus 표시(점선 · 끌기 없음 자리)
- 거울 시험 272_1 · 322_3 · 344_3 에 추가 측점 경우 · 322_3 관 id 고정(347) 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-17 12:02:26 +09:00
eomsangdonandClaude Sonnet 5.5 98396f9939 feat(B06 CAD 글): 조합 미지정 구조물 = 종류 이름만 · 같은 측점 같은 종류 한 줄 (372-3)
TS ↔ 파이썬 짝 · 거울 시험에 중복 사례 추가.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWh5wNNycMkbwMpACz1rte
2026-10-17 11:57:41 +09:00
eomsangdonandClaude Opus 5.5 4c017c3bd9 feat(365-1): 묶음 주인 = 페이지 · 초안 동안 세션 상세 안 덮음
- 계산 묶음을 종단도 한 벌(sharedProfile)이 세움 — B06 바로 열기 · 새로고침도 노선 초안 셈 · 종단 보기는 다리만 받음(알림은 pipeline 바인딩)
- 초안 둔 채 열기 = 측점을 가게에 냄 · 초안 전 저장 상세를 열 때 맡김(버리면 saved)
- 초안 동안 측점 갈아끼움 = 메모리만(세션 section-detail = 저장 노선 그대로)
- 시험 test_365_page_pipeline(초안 둔 채 열기 같은 상세 · 버림 saved · 세션 안 덮음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 11:56:26 +09:00
eomsangdonandClaude Opus 5.5 6cac1b7cd4 feat(B06 횡단): 사면 이동 멈춤 · 교차점 손잡이 · 고름 이어받기 (370-2)
- logic/B06_Section_UI_Cross_Fit.ts — extendStop(노견 끝 = 원지반 자리 보간 · 0.001 m) · toePoints(교차점 자리)
- Design_Pick — ◀▶ 한 걸음이 그 자리를 지나면 한 번 섬(↺ 그대로) · 쪽마다 교차점 원(키 toe:left|right · 늘 보임 · 고르면 ◀▶) · 사면 키가 절 ↔ 성으로 바뀌거나 사라지면 같은 쪽 손잡이가 이어받음
- 손잡이 CSS(Areas.css) · Node 시험 test_370_2_toe_stop.py + helper
- 서버 묶음 셋 다시 지음(b07-extent 가 Fit 을 실음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 11:55:51 +09:00
eomsangdonandClaude Opus 5.5 297910d28c fix(B06 횡단): 사면 이동 절 ↔ 성 판정을 옮긴 노견에서 — 마루 너머 = 성토 1:n (370-1)
- 짝 common_util_cross_design_geometry.ts ↔ B06_Section_Engine_Design_Geometry.py — 노견 확장을 tilt 바로 뒤로 · 단면유형 · 자동 측구 판정은 옮긴 뒤
- 거울 사례 「마루 너머 = 성토 1:n」 · 「성 → 절 넘어감」 · 옛 사례 이름 「판정은 옮긴 노견」
- 서버 묶음 셋 다시 지음(이 파일 안 실음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-17 11:47:28 +09:00
eomsangdonandClaude Sonnet 5.5 5238b61406 fix(B06): 364-6 덧 2 암 · 포장 글 = 라벨과 같은 줄 끝(말줄임) · 한 줄 두 칸 어긋남 해소
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 00:39:37 +09:00
eomsangdon 188b8f05fa Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_2' into sub_laptop_7 2026-10-17 00:36:18 +09:00
eomsangdonandClaude Opus 5.5 13fc271eb4 fix(B06): 364-7 덧 중심점 창 ◀▶ 툴팁 = 「이 측점 노선을 화면 왼쪽 · 오른쪽으로 0.1 m」(사면 글 그대로 남던 것) · ↺ · 소단 ▲▼ 숨김 시험
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-17 00:34:58 +09:00
eomsangdonandClaude Opus 5.5 f1e15a7711 feat(B06 표준 횡단): 364-6 덧 공통 칸 끝에 암 · 포장 실제 값 보기 전용 글
- 고치기 전 공통 칸(측구 상단폭 · 횡단경사)이 토사 값과 다른 그룹 값을 라벨 끝 작은 글로(「암 0.69」 · 「암 3 %」)
- 칸을 고치면 한 벌로 펼쳐져 글 사라짐 · 글자색 --color-text-muted · 줄 수 그대로
- 로케일 새 키 둘(끝에 더함) · 시험 test_364_6_std_panel_same_value.py 8 · 관련 17 · typecheck

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 00:29:31 +09:00
eomsangdonandClaude Opus 5.5 be4383f81f fix(B06 표준 횡단): 364-6 칸 열기만으로 암 표준값이 토사 값으로 바뀌던 것 — 편집 없이 B05 = B06 누가토량
- 까닭: 표준 횡단 칸이 열릴 때 공통 칸을 토사 값으로 펼쳐 세션을 고침(암 측구 상폭 0.69 → 0.9 · 암 횡단경사 3 → 3~5) → B06 다시 셈이 암 측점 절토를 키움 · 성토 그대로
- 고침: 열기 · 저장값 복원 · 초기 값 · 다른 프로젝트 불러오기 = 그룹 값 그대로 · 공통 칸은 고칠 때만 펼침
- 검증_sub7 노선 304: 칸 열기 전후 절토 면적 합 402.9 → 444.4 ㎡(56/67 측점) → 고친 뒤 같음 · 서버 셈 = B05 셈
- 시험 test_364_6_std_panel_same_value.py 6(옛 코드 4 실패) · 관련 25 · typecheck

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-17 00:23:06 +09:00
eomsangdonandClaude Opus 5.5 4eadcf073d fix(되돌리기): 364-1 횡단 보기 첫 열기의 표준 횡단 채움 = 씨앗 · 걸음 아님
- 사진첩 seedPageHistory — 비었던 칸을 채운 값을 그 칸이 없는 사진 전부에 넣음(되돌려도 안 지움)
- 표준 횡단 패널이 빈 세션에 기본값을 쓸 때 · 저장 표준 횡단을 채울 때 씨앗으로
- ORCA 5182 · 검증_sub7: 계획고 ▲ 뒤 횡단 보기 · 카드 고름 · 종단 보기 = 걸음 1 · 되돌려도 표준 횡단 남음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 23:59:39 +09:00
eomsangdonandClaude Opus 5.5 c67a39c266 feat(B06): 356-3 횡단 중심점 고름 — ▲▼ 계획고 · ◀▶ · 가로 끌기 = 그 측점 노선 좌우
- 중심점 = 보라 선 고름 끝 조각(판정 원 · 보라 선 위 · 다른 고름과 하나만) · 십자는 누름 통과
- 좌우 = 노선 편집기가 등록한 host(B05_Profile_UI_RouteEdit_Shift) — 0.5 m 안 노드 옮김 · 곡선 안 = 교각점 · 아니면 끼움 · 고정 노드 안 옮김
- 끄는 동안 · 키를 잇는 동안 십자만 옮겨 보임 · 놓을 때 한 번 커밋
- 뒤 측점은 계산 묶음이 조용히 · 그 측점 계획고 = 옮기기 전 값(계획고 편집) · 노선 + 계획고 = 되돌리기 한 걸음
- B06 을 바로 열어 편집기가 없으면 종단 보기를 숨긴 채 세움(design_page 등록)
- 시험 test_356 · helper_356(노드 고름 · 뒤 측점 범위 · 높이 그대로 · 되돌리기 한 걸음 · 바로 열기)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 20:53:10 +09:00
eomsangdonandClaude Opus 5.5 55c5aab90e fix(B06): 356-2 횡단 카드 초점 걷음 — 마우스로 고른 뒤 키를 눌러도 다른 색 테두리 없음
- 카드 tabIndex · Enter/Space 고름 지움 · ▲▼ 계획고는 창 듣개 그대로(219-1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 20:31:32 +09:00
eomsangdonandClaude Opus 5.5 789922cedb fix(B06): 356-1 양측절토 맹암거 — 낮은 쪽 늘인 노면이 원지반과 만나는 점(tilt_reach)에서 끊음
- reach 너머 설계선 점 거름 · 꼬리가 reach 에서 수직으로 옵셋선까지 닫음
- 시험 test_288 · helper_288 에 양측절토 + reach 형상 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 20:30:02 +09:00
eomsangdonandClaude Opus 5.5 25eea13ab2 perf(계산묶음): 349-0s 끌기 한 걸음 = 종단도 한 번 그림 — 다시 그림 한 틀 모음 · 초안 동안 저장 횡단 다시 셈 없음 · 그리기 몫 기록
- 묶음 기록 runs[].work — 알림 받는 쪽 이름별 ms(가게 · 관 · 구조물 · 새 상세 · 종단도 · 다시 셈 대기 · 횡단 카드) · 그리기 몫(종단도 · 유토곡선) · 쉼(profile 뒤 쉬는 동안)
- 종단도 다시 그림 = 다음 틀 한 번(drawSoon) — 갈아끼움 render · 정책 · 이어 공사 기준 · 비정규 측점 · 새 상세 알림 · 다시 셈 뒤가 각각 바로 그리던 것(끌기 한 걸음 6~8 번 → 1 번 · 되돌리기 5 → 1)
- 노선 초안 동안 종단도 횡단 다시 셈(crossPreview)이 갈아끼운 초안 상세를 안 셈(첫 끌기 한 번 통째 다시 셈 없앰)
- 시험 test_349_0s_draw_work 4(다섯 걸음 · 걸음마다 그리기 1 · work 칸 · 되돌리기 그대로 · 다시 셈 0) · 230-2 도움이 drawSoon 도 읽음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 17:42:54 +09:00
eomsangdon b02673aef7 Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-16 17:27:47 +09:00
eomsangdonandClaude Opus 5.5 73935364ef fix(계산묶음): 349-0q 화면 Ctrl+Z 뒤 B05 누가토량 = 열기 값 — 사진첩 되살림이 다시 셈 예약 안 함 · 같은 측점 목록 다시 안 냄
- 원인: 페이지 사진첩 되돌리기가 노선 초안 중인데도 종단도 편집 가게를 저장 노선 것으로 갈아끼우고 다시 그림 → 횡단 다시 셈 예약(16 ms) → 되돌린 저장 상세를 다시 셈 → 배지 · 종단 기준 EP · 토량 분배가 바뀜(B06 다녀오면 다시 셈으로 돌아옴)
- 종단도 되살림: 노선 초안 동안은 노선 0 칸을 다시 읽음 · 계획고가 그대로면 그리기만(다시 셈 예약 없음)
- 되돌림 = 열 때 상세 객체 그대로(사본은 횡단 초안 측점 장부를 잃음) · 횡단 초안 칸 · 측점 열쇠는 그대로 떠 둠
- 묶음이 같은 측점 목록(열쇠 · 자리)은 가게에 다시 안 냄 — 되돌린 상세 측점이 묶음과 달라도 관 · 구조물 메아리 차례가 갈아끼우지 않음
- 다시 셈 창구 막음은 측점이 모두 미리보기인 묶음 새 노선 상세만(관 · 구조물 초안 미리 뜬 측점 몇 개면 다시 셈)
- 시험 test_349_0q_undo_echo 3(진짜 페이지 사진첩 되돌리기 · 다시 하기 · 소수 자리 구조물 측점 · 메아리 차례) · 0k · 0l 같은 객체 기대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 17:19:51 +09:00
eomsangdonandClaude Opus 5.5 78c6080853 fix(계산묶음): 349-0p 초안 새 측점 암 경계 = 서버 기본값 — cross 단계가 입력 없는 측점에 기본 오프셋을 받음 · 소수 자리 관 측점 시험
- 검증_브레인232 를 검증_sub2b(abdc72d0 · 노선 330)로 복제해 같은 끌기(25+0 부근 꺾임점 북동 10 m)로 서버 [저장] 체인 실측: 미리보기 1,169.6 대 정본 1,184.0 · 갈린 곳은 960 측점 하나(초안에서 격자 열쇠라 저장 입력 없음 → 암 경계 비어 흙 · 암 나눔이 다름)
- CrossStageInput.rockBoundaryDefaultM — 입력 없는 측점의 암 경계(서버 config 기본값) · 넘기면 미리보기 1,184.7 대 정본 1,184.0
- 넘기는 줄(design_pipeline_cross.ts `readRockBoundaryDefault(projectId)`)은 남의 도움 파일 가짜 모듈을 깨서 브레인 몫으로 남김
- 시험: test_349_0p_fractional_station 2(소수 자리 관 · 물넘이 · 세월교 측점 = 서버 보정 뒤 · 입력 없는 측점 암 경계) · 관련 97 통과 · typecheck 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 17:04:04 +09:00
eomsangdon 25e2531e05 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-16 16:41:31 +09:00
eomsangdonandClaude Opus 5.5 eb66103797 fix(계산묶음): 349-0o 되돌림 · 다시 하기 · 횡단 보기가 값 한 벌 — 초안 전 상태 사본 · 측점 달라도 저장 상세
- 노선 초안 시작 때 저장 상세 사본 · 측점 열쇠 · 횡단 초안 칸 다섯을 떠 둠(holdDraft · holdSectionDetail) — 버리면 그것으로 되돌림
- 묶음 측점이 저장 상세와 달라도 갈아끼움 대신 초안 전 상세 · 묶음 기록에 첫 다른 측점 · 개수(restoreDiff · restoreWhy saved-diff)
- 되돌린 사본이 묶음 저장 정본 — 다시 하기 · 다시 열기 없이 같은 기준
- 측점 갈아끼움이 앞 상세와 설계 객체를 같이 안 씀 — 면적 얹기 · 다시 셈이 저장 상세를 제자리로 안 고침
- 횡단 다시 셈 창구가 묶음 새 노선 상세(preview)는 안 고침 — 묶음 cross 결과 그대로
- 시험 test_349_0o_redo_same 6(열기 · 끌기 · 되돌리기 · 다시 하기 · 되돌리기 · 횡단 보기 · 종단 보기 · 진짜 Design_Sync 판정) · 0k · 0l 헬퍼 새 길로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 16:39:35 +09:00
eomsangdonandClaude Opus 5.5 ffbda88edf fix(계산묶음): 349-0n 노선 초안 미리보기 = [저장] 정본 — 초안 상세에 넓힌 지반 표본 · cross 단계에 서버 [확정] 보정(포장 구간 · 세월교 노면 하강 · 사토장)
- 남은 차이의 주인 = 초안 상세 지반 표본: 설계는 넓힌 표본으로 셈했는데 상세엔 20 m 표본을 실어 관 측점 구조물 면적이 잘린 지반으로 닫힘(검증_sub2 805 측점 성토 27.5 대 63.4 ㎡) — cross 단계 결과에 넓힌 표본을 싣고 초안 상세가 그 표본을 씀(서버도 넓힌 표본을 상세에 남김)
- 초안 상세 제원 누가거리 = 새 측점(서버 부착과 같음)
- 새 짝 logic/B06_Section_Cross_Enforce — 포장 구간 · 물넘이 기울임 · 세월교 하강 = 새 노선 관 · 구조물 자리로 판정(`pavement_ranges` · `tilt_ranges` · `ford_surface_drops` 짝) · 사토장 맨 뒤 기준 측점 하나 · 용량 이분법(`enforce_spoil_fills` 짝) · 파이썬 세 파일 머리에 짝 표시
- 검증_sub2 실측(서버 체인 실제로 돌리고 일부러 실패시켜 되살림): 25+0 부근 꺾임점 끌기 미리보기 -12,816.9 대 정본 -12,817.1 · 세월교 월류 0.22 · 0.29 넣고 -12,788.7 대 -12,789.0 · 끌기 한 번 103 ms
- 시험: test_349_0n_cross_enforce_mirror 5 · test_349_0j 표본 1 더함 · 관련 114 통과 · typecheck 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 16:36:09 +09:00
eomsangdon ea2c22bd41 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_7 2026-10-16 15:49:42 +09:00
eomsangdonandClaude Opus 5.5 2e4339da52 fix(계산묶음): 349-0k 되돌리기로 저장 노선에 돌아오면 저장 정본 그대로 — 다시 셈 없음
- 노선 초안을 버린 차례는 열 때처럼 측점 · 종단을 가게에 안 냄(상세 갈아끼움 없음)
- 초안 전 상세를 기억해 두었다가 그 객체로 되돌림 — 상세 가게 restoreSectionDetail(열쇠 · 세션 고침은 갈아끼움 길 그대로)
- 되돌릴 상세가 없거나(초안 둔 채 새로고침) 측점이 다르면 옛 갈아끼움 길
- 시험 test_349_0k_undo_saved 4건(옛 코드 누가토량 7292 대 열기 3911 재현)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ
2026-10-16 15:43:28 +09:00
eomsangdonandClaude Opus 5.5 23bb885610 fix(계산묶음): 349-0j 노선 초안 미리보기 누가토량 = [저장] 정본 — cross 단계 미교차 넓힘(서버 짝 그대로)
- 대조(검증_sub2 · 2번째 꺾임점 서쪽 20 m · 서버 [저장] 체인을 실제로 돌리고 체인 스스로 되살림 — 최신 노선 · 관 · 파일 그대로 확인):
  미리보기 -11,378.5 ㎥ = 서버 이월 직후(보정 전) -11,391.3 ㎥(측점 · 계획고 · 면적 측점마다 같음) · 정본 -21,249.3 ㎥
  · 갈린 몫 = [확정] 보정 — 미교차 넓힘(표본 20 m → 지표면 끝) -9,531 ㎥ · 관 구조물 면적 -334 ㎥(넓힌 뒤 기준 1,971 ㎥) · 그 밖 +7 ㎥
- logic/B06_Section_Cross_Stage: createCrossStage({ grid }) — 비탈이 표본 끝에서 원지반과 안 만나면 열린 쪽만 +5 m 씩 격자에서 다시 떠 셈(extendUnclosed ↔ 서버 extend_unclosed 짝 · 격자 없으면 안 넓힘)
- logic/B05_Profile_Pipeline_Detail: 초안 상세 설계 = cross 단계 결과 사본(구조물 면적 얹기가 단계 기억을 안 고침)
- 넓힘 + 서버 구조물 면적이면 검증_sub2 초안 정본과 12.5 ㎥ 차이(측점 끝 EP 0.1 ㎡)
- 시험 test_349_0j_draft_vs_saved 8(가짜 · 검증_sub7 — 넓힌 끝 · 면적 · 누가토량 = 서버 엔진 + extend_unclosed · 검증_sub7 넓힘 17곳 -16,639.8 → -30,757.9 = 서버 · 단계 합 65 ms)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 15:42:14 +09:00
eomsangdonandClaude Opus 5.5 658331b04f fix(유토곡선): 349-0f 노선 초안 동안 「다시 계산 중…」 머묾 — 범위 밖 측점도 계획고가 바뀌면 다시 셈 · 그 차례 cross 뒤 풂
- 원인: cross 단계가 바뀐 범위(노선 = 앞 초안 대비 처음 바뀐 접선점부터) 밖 측점을 앞 결과 그대로 씀 · 첫 계획선은 저장 노선 대비 바뀐 구간 전체를 지반에 맞추므로 범위 앞 측점 계획고도 움직임 → 낡은 측점이 남고 초안 동안은 낡음 하나만 있어도 「다시 계산 중」
- logic/B06_Section_Cross_Stage: 범위 밖 재사용 = 같은 자리 · 같은 계획고(0.1 mm)일 때만 · 그 밖은 지문 기억이 맡음
- Profile_Preview scheduleIfStale(key, draft): 노선 초안 동안은 묶음 그 차례 cross(건너뛰면 뒤 단계)까지만 기다림 · 끝나면 남은 낡음 = 곡선 + 그 측점(342-1) · cross 가 끝내 안 와도 3 s 뒤 풀고 다시 그림
- design_profile 1줄(초안 여부를 넘김 · 700 그대로)
- 시험 test_349_0f_draft_stale 8(가짜 · 검증_sub7 지형 — 2번째 꺾임점 서쪽 20 m + 25+0 부근 꺾임점 북동 10 m 뒤 낡음 0 · 고치기 전 코드는 검증_sub7 에서 140 m~ 낡음) · test_317 본문 검사 새 꼴

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 15:15:21 +09:00
eomsangdon 0eb5fffcb9 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-16 13:46:07 +09:00
eomsangdonandClaude Opus 5.5 281c71b55b refactor(logic): 348-1 순수 계산 TS 49 파일 <페이지>/logic/ 로 옮김 — 이름 앞머리 그대로 · 동작 고침 없음
- 옮김: B04 2 · B05 23 · B06 11 · A00_Common/design 13 (9,299 줄) · 이미 logic/ 에 있던 16 파일 그대로
- 안 옮김: 묶음 입구(package.json build:*) · 파이썬 · 순수지만 계산 아닌 8 (보기 결선 · 콜백 · API 타입 · 갈아끼움 알림판)
- import 266 줄(142 파일) · 시험 · 주석 · 짝 표시 문자열 경로 고침 · B05 · B06 CLAUDE.md 짝 줄 logic/
- 시험 도우미 새 경로: 가짜 require 열쇠 · B05()/B06() 부름 · 형제 import 자리 · tsc 묶어 돌리는 시험 · 정규식 · rglob
- design_view_cross 줄 한도 시험 685 → 688 (긴 import 경로 줄바꿈 3줄)
- 확인: typecheck 0 · 서버 묶음 넷(corridor · server-calc · b07-extent · b07-note) 다시 지어 코드 같음(//#region 경로 주석만 다름) · 관련 시험 270 파일 — 남은 실패 19 는 옮기기 전과 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
2026-10-16 13:44:50 +09:00
eomsangdonandClaude Opus 5.5 b8b4421ff0 fix(349): 횡단 상세 안쪽 호출 길 복구 — GET 처리기만 ETag · 조립 함수는 request 없이
343-2 ETag 가 get_section_detail 에 request 인자를 더해 [저장] 뒤 서버 재계산 · 3D 길 모형 서버
짓기 · B09 인쇄 도면 · B07 덧그림 범위가 TypeError 로 끊기던 흠. 처리기 = get_section_detail_route
(ETag · 304) · get_section_detail = 조립만(안쪽 호출 넷 그대로). 진짜 처리 길 시험 test_349.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 13:21:55 +09:00
eomsangdon 109d5e9a8f Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-16 13:08:22 +09:00
eomsangdonandClaude Opus 5.5 ec28d9d451 feat(횡단보기): 346-2 덧 3 노선 초안 동안 횡단 카드 = 묶음 새 노선 상세
- Station_Swap shownDetail: 노선 초안 동안 카드가 그릴 상세 = pipelineDetail(cross 단계 결과) · 없으면 저장 노선 캐시
- followSwaps 가 묶음 profile · cross 단계 뒤 새 상세를 들음 — 보일 때만 다시 그림(보이는 카드 먼저 길 그대로) · 숨었으면 다시 보일 때
- 묶음은 종단 보기가 세움 — 차례 번호(가게 generation)가 날 때 붙음 · 초안 버리면 상세 null = 저장 노선 카드
- design_view_cross 2줄(가져오기 · 그리기 상세) · 685 줄 그대로 · 저장 · 재계산 길은 저장 노선 상세 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 13:07:20 +09:00
eomsangdonandClaude Opus 5.5 2764117120 fix(종단보기): 346-3 덧 [저장] 뒤 「노선 밖 고침」 알림 두 줄 → 한 줄 — carryStationDrafts 조용히 꼴(quiet · 기본은 알림 그대로) · 수는 결과 한 줄에 합침
- 시험: test_346_3_route_save_screen 9 · 관련 97 통과 · typecheck 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
2026-10-16 12:34:14 +09:00
eomsangdonandClaude Opus 5.5 da3dfc1ca8 feat(종단보기): 346-2 덧 2 B05 종단 보기 · 3D 측점선도 갈아끼운 상세로 — 보일 때만 · 숨었으면 다시 보일 때 · 횡단 보기 없이도
- design_view_profile_sections: 노선마다 상세 갈아끼움을 듣고 종단도 · 표 · 3D 측점선 다시(보일 때만 · 숨으면 flushSwap 이 다시 보일 때) · 가게 stations 도 들어 횡단 보기를 안 열어도 갈아끼움(먼저 부른 쪽만 · 다음은 「같은 목록」)
- design_view_profile: 받는 줄만(보임 · 떠날 때 끊음 · 다시 보일 때 flushSwap)
- 갈아끼움 알림판 B06_Section_Swap_Bus(가져오기 없음 · 돌고 도는 가져오기 막음) — 조정창 값 · 암 경계 옮김을 어느 보기가 갈아끼웠든 한 번 · 횡단 보기는 알림으로 다시 그림
- 시험: 종단 보기 보임 7 → 8 · 숨음 = 안 그림 · 다시 보임 = 6 · 3D 측점선 같은 차례 · 옛 시험 둘(342-1 화면 선 = listedBase · 323-9 열쇠 모듈 진짜로) 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 12:28:11 +09:00
eomsangdonandClaude Opus 5.5 69d84e5ca9 feat(측점열쇠): 346-2 덧 2 열쇠 한 벌 — 구간형 :start · :end · 묶음 측점 종류(grid · end) · 같은 열쇠 둘째 규칙 공용
- common_util_station_key(ts · py 짝): role 덧붙임(구간형 시작 · 끝 = structure:<id>:start · :end · 기준은 structure:<id> 그대로) · grid(원래 격자 번호) · end(BP/EP) 종류 · dedupeStationKeys(같은 열쇠 둘째부터 at:<누가거리>)
- B06 stationKeysOf 가 같은 규칙(측점 계획 · 구조물 목록의 시작 · 끝 자리 · 공용 dedupe)
- 거울 시험에 새 갈래(구간형 · grid · end · dedupe)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 12:20:06 +09:00
eomsangdonandClaude Opus 5.5 20f2044afe feat(횡단목록): 346-2 덧 측점 수가 바뀔 때 횡단 목록 갈아끼움 — 묶음 측점 → 새 상세 · 열쇠로 이어 받기 · 보이는 카드 먼저
- logic/B06_Section_Station_Swap: 묶음 측점(PipelineStation[]) → 새 상세 객체 · 같은 측점(열쇠 · 없으면 같은 자리 같은 종류)은 앞 횡단 이어 받음(설계 · 구조물 제원 · 이름) · 자리 · 지반 표본만 새것 · 새 측점 = 지반 표본 + 기본 설계 · 빠진 측점 뺌 · formatStation(파이썬 format_station 짝)
- Section_Store swapSectionStations: 같은 목록이면 그대로 · 바뀌면 캐시 · 세션 상세 갈아끼움 · 옛 열쇠 = 세워 둔 목록(옮긴 관도 옛 id) · 새 열쇠 = 묶음이 정한 것 · 노선 모양이 바뀐 차례면 세션 고침 넘김(사라진 측점 = 「노선 밖 고침 N 건」) · 듣는 쪽 subscribeSectionDetail
- 횡단 보기 followSwaps(가게 stations 따라감): 조정창 값(반폭 · 기슭막이 · 유입 · 집수정 · 추가 벽)을 옮긴 자리로 · 암 경계 · 암 경사 다시 읽음 · 보일 때 카드 · 종단도 다시 · 떠난 보기의 옛 맵은 지금 값을 안 덮음
- 카드 통째 그리기 = 보이는 줄 + 한 줄만 바로 · 나머지는 같은 id 빈 자리 → 쉬는 틈에 진짜 카드
- 시험: 셋 늘고 둘 빠진 목록(카드 8) · 관 45.054 → 47 m 고침 이어 받음 · 노선 밖 고침 버림 · 조정창 옮김 · 같은 목록 안 갈아끼움 · 보이는 카드 수

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-16 12:14:54 +09:00