Commit Graph
1189 Commits
Author SHA1 Message Date
eomsangdon 52f4b6db49 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-29 13:33:25 +09:00
eomsangdonandClaude Opus 5.5 acc09b0410 fix(B05·B06): 지형 격자 자리 = 서버 표본기와 같은 params DTM 행 · 격자 없는 지형 안 닫힌 측점 「지형 범위 밖」 배지 (PLAN 578-1 · 요구 438 · 439)
- 까닭: 확정 모델 행이 stage 1 params 와 어긋나면(검증_sub1 확정 = sheet · params = classification) terrain-sources 의 grid = null → 브라우저는 미교차 넓힘을 못 하고 ±20 m 에서 멈춤 · 서버 표본기 · Node /calc 는 params 를 따라 넓힘 → 소단 밀린 측점 화면 ≠ 저장
- 고침: `_confirmed_model` → `_design_model` — params 의 `dtm_{filter}.npz` DTM 행(확정 행 먼저) · 표본 폭 상수는 그대로(통째 격자가 이미 최대)
- 횡단 카드: 격자 없는(DTM 아닌) 지형에서 사면 미교차 = 부품 배지 「지형 범위 밖」(값은 [저장] 때 서버)
- 시험: test_344_1_terrain_grid_route 에 어긋난 확정 행 지킴 · test_133_1 · test_505_2 바뀐 이름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 13:32:24 +09:00
eomsangdonandClaude Opus 5.5 bfa2b3a97f fix(평면): 평면 비탈 끝 · B07 계획평면도 = 벽 측점 횡단 최종 모양이 땅과 만나는 점 (PLAN 578-2 · 요구 438 · 439)
- B06 STRUCTURE_ROW_KEYS · 서버 _AREA_KEYS 에 slope_end_left_m · slope_end_right_m — 벽 트림 측점만 · 트림 사면 → 단마다 벽 앞 → 사이 성토부선 윤곽이 처음 땅에 닿는 오프셋
- 평면 발자국 finalSlopeEnd · B07 final_slope_end(짝) — 얹은 값 먼저 · 없으면 설계선 끝(구조물 없는 측점 그대로)
- 시험 test_578_2_plan_slope_end 새로 · test_346_2 거울에 벽 측점 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 13:13:39 +09:00
eomsangdonandClaude Opus 5.5 403722e687 refactor(B05·B06): 소단 = 옹벽처럼 측점에 제원 얹음 — 형상 얹기 한 벌 · 세션 사본 berm 걷음 (PLAN 577-2 · 요구 434 · 437)
- 얹기: attachShapes · attach_shapes 에 소단(section.berm · 덮는 소단 없음 = null) · SHAPE_KEYS 에 berm · TS attachBermSpecs ↔ 파이썬 attach_berm_specs · berm_spans_from 짝
- 읽기: 저장 노선 다시 셈(브라우저 · Node cross.refresh) = 얹힌 section.berm(칸 없음 = 저장분 design.berm) · 노선 초안 · 서버 Node 묶음 cross = crossWithShapes 의 얹힌 제원(bermAt · crossWithBerm 걷음)
- 계단은 계산 안쪽 그대로 · [저장] 길(구조물 정본 → cross.berm_spans) 그대로
- 지움: 시설 줄 syncBerm · putBerm(C4.copy) · writeBermSpans · 세션 칸 berm · bermRequest · design_shared bermAt
- 시험: test_272_berm_source 측점 얹기 거울로 · test_323_4 소단 얹음 · 477 · 511-A · 472 떠남 · 365 · 272 고름 헬퍼가 사본 대신 얹힌 소단 · design_pipeline_page 700 줄 → 699(주석 한 줄)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:33:06 +09:00
eomsangdonandClaude Opus 5.5 f5dbb6e3dc fix(종단): 노선 손 고침 [저장] 바뀐 구간 계획고 = 옛 종단 길이 비례(지반 아님) · 손 [저장]이 「종단 반영」 안 덮음 (PLAN 575-2 · 요구 432 · 434 · 435)
- carry_base(파이썬) ↔ carryBase(TS) 짝 — 같은 자리 = 맞춘 옛 누가거리 · 바뀐 자리 = 앞뒤 같은 자리(없으면 시점 0 · 종점 새 연장 ↔ 옛 연장) 사이 새 누가거리 비례로 옛 누가거리 · 높이 = 옛 기준 꼭짓점 · 지반 첫 계획선은 측점 자리만
- 덧 흠 — 손 [저장](as_initial 아님)은 initial_choice with_profile 을 적힌 값 그대로
- 낡은 시험 고침: test_400 · test_344_2 「바뀐 자리 = 지반」 · 「끝 꼭짓점 = 새 지반」 → 옛 종단 비례 · 옛 끝 높이 / test_459 비균형 「옮긴 시설 측점 = 새 원지반」 단언 지움(옛 규칙 · 시설 세움은 옮긴 계획선 높이) · 거울 단언은 그대로
- 새 시험: test_400 바뀐 자리 비례 4 갈래 · test_346_3 손 [저장] 종단 반영 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:25:12 +09:00
eomsangdonandClaude Opus 5.5 78188cf7a3 fix(B05·B06): 조작 놓은 직후 ↶ 바로 켜짐 · 기다림 중 ↶ = 먼저 찍고 되돌림 (PLAN 477-3 · 요구 433)
- 찍기 기다림(400 ms) 들어가면 한 틱 뒤 단추 맞춤 — 세션이 지금 걸음과 다를 때만 켜짐(바뀐 것 없는 누름은 그대로 꺼짐)
- ↶ ↷ 누르면 기다리던 찍기 먼저(누름 중이어도) — 방금 조작이 한 걸음으로 되돌아감
- 기다림 시간 · 서버 다시 셈 묶음은 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 07:14:34 +09:00
eomsangdonandClaude Opus 5.5 7e0580ffd1 fix(노선 편집): MC 를 일반측점 위에 두면 그 뒤 스냅대로 — 「위」 판정 폭 = 측점 목록 「(MC)」 규칙 · 밀어내는 걸음 막음 (PLAN 576-1 · 요구 432)
- StationFit: 일반측점(측점 간격 배수) 「위」 = curveStations 반올림 폭(mcScale 공유 · 정수 m ±0.5 m) · 폭 안이면 정확히 맞춰 보고 못 맞춰도 「위」 · 10 m N+10 · 간격 격자는 옛 0.05 m 그대로
- offStationCount · offStationMcs 에 측점 간격 인자 · 편집기 · 곡선 띠가 넘김(1 m · 10 m 스냅 동작 전후 같음)
- pushedOff — R · 곡선 길이 입력 등 applyEdit 걸음이 측점 위 곡선을 밖으로 밀면 되돌림(꺾임점 · 곡선 켬 같은 걸음만)
- 시험: test_432_mc_on_station 새로 · helper_366_3 가 편집기처럼 측점 간격을 넘김(옛 helper 는 간격=측점 간격 가정) · test_390_5 배선 문구 offStation 한 곳으로 바뀜
- build:design-calc 다시 지음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:59:17 +09:00
eomsangdon 94decdfc32 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-28 22:03:38 +09:00
eomsangdonandClaude Sonnet 5.5 1241ad6d17 fix(종단): 도구 고름 화면 흠 셋 — 고른 즉시 붉은 강조 · 스크롤 따라감 · 측점선 누름 전파 막음 (PLAN 456-3 · 요구 421 · 423~425)
- design_profile: 도구 고름 뒤 종단도 한 번 다시 그림
- RunHighlight · Render: 붉은 선을 계획선 세로 창 겹 안에 그림
- Render: 도구가 먹은 누름은 전파 막음 — 측점 고름 안 돎
- Panel_Tools: 도구 바꿀 때 겹 안 붉은 선도 같이 뗌
- test_271: 지킴 시험 더함

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 22:02:25 +09:00
eomsangdonandClaude Opus 5.5 b92fa06f34 fix(B05·B06): 노선 고친 [저장] 계획고 = 서버 옮김 위에 사용자 손댐만 (PLAN 498-2 · 요구 411~417)
- 브라우저 — 노선 바뀐 [저장]의 계획고 본문 = 묶음 계획고 대 저장분 옮김(같은 carryEdits · 이 초안 첫 기준)의 다른 열쇠 · 지운 열쇠만(`gradeTouch` · `routeGradeTouch`) · 못 가르면 옛 길(노선 0 칸 통째)
- 서버 — `alignment_cleared` 가 오면 관 · 구조물 · 추가 측점 차례 뒤 새 종단 편집(서버 옮김) 위에 손댐만 얹어 한 번 저장(`touched_alignment` · 얹기 실패도 되돌림 안)
- follow 옮김 측점 = stations 단계와 같은 추가 측점(`plus` 넘김)
- 재현: 꼬리 추가 측점 ▲ 뒤 앞 교점 끌기 [저장] = 990 m 편집 버림 · ▲ 잃음 · 최대 −0.50 m → 고친 뒤 버림 0 · 끌 때 = 저장 뒤
- 시험: test_498_2_grade_touch 새로 · helper_design_store_save 에 묶음 창구 가짜 하나(옛 길)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:51:29 +09:00
eomsangdonandClaude Opus 5.5 2da632dc45 refactor(B05·B06): 부름 0 옛 줄 · 늘 건너뛰는 시험 지움 (PLAN 472-8 ② ③ · 요구 409)
지움
- flushDesignStore(design_store · 부름 0) — 시험 344-4 의 flush 대조 한 줄도
- b_page_state 옛 세션 열쇠 옮김(legacy · migrate) · b_project_switch 옛 키 머리
  — 옛 열쇠는 세션 저장소(탭 닫으면 사라짐) · 지금 코드가 안 씀 · storage · DB 에 없음
  · 시험 290-1 · 401 · 384-1 의 옛 키 줄 뺌
- 시험만 부르던 TS — planFootprint(346-2 거울은 footprintRecord + slopePieces 로 그대로)
  · shiftSegment · shiftMovingPoints(쉬프트 단추는 09-02 지움 · min_cover_guard 쉬프트 시험 뺌)
  · dropStationsNear(test_b05_station_merge.mjs 지움) · createIrregularStationsSection(부름 0)
  · generalStations(234-1 은 기본 맞춤 값으로 같은 것 잼) · sameSummaryItem
- test_b05_b06_save_roundtrip + helper_b05_save_payload 둘 — 프로젝트 936be972 storage 없어 늘 skip
  · 같은 저장 왕복은 test_472_6_design_save(창구 원자성) · test_449_save_pipes(관 PUT)
    · test_238_1_save_keeps_structure_stations(구조물 측점)가 잼

남김
- migrateLegacyStations — 부르는 곳 있음(design_view_profile_sections) · storage 에 비정규 측점 남음
- common_util_excavation 셋 — 지금은 운영이 부름(design_calc_node)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:09:50 +09:00
eomsangdonandClaude Sonnet 5.5 f4c43db01b feat(지도 도구줄): 좁으면 한 줄 가로 밀기 · 넘친 쪽 끝 흐림 · 휠 가로 밀기 · D03 도구줄이 겹 단추줄을 안 덮음 (PLAN 571-1 · 요구 399)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 12:07:52 +09:00
eomsangdonandClaude Opus 5.5 dee16cab37 feat(B05): 평면 도구줄 = 공용 지도 도구줄 아이콘 14 (PLAN 568-2 · 요구 395-1)
- 글자 유리 단추 줄 · [?] 안내 판 · 나눔선 다섯 → createMapTools 한 줄(긴 설명은 마우스 글 · 누름 동작 · 단축키 그대로)
- 3D 단추 = mapToolButton("view3d") · 클래스 b05-route__3d-open 유지 · 거리 재기 aria-pressed 맞춤
- 가이드 촬영 선택자(.b05-routeedit__tools · [data-act="hint-toggle"] · .b05-routeedit__hint.is-open) 그대로
- 시험 고침 — 옛 글자 단추 · 나눔선 · 안내 판 CSS 를 잡던 다섯(차례 · 안내 판 · 절/성토선 이름 · 3D 막이)
- 부품 — 빈 묶음 건너뜀 · [hidden] 숨김 규칙

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 07:10:21 +09:00
eomsangdonandClaude Sonnet 5.5 fb707d5a96 fix(B05·B06): 유리 단추 · [적용] 높이를 단에 맞춤 — 아이콘만 든 유리 단추 그림 감쌈 · 배수 제안 머리 단추 안 눌림 (PLAN 553-8 ②)
- 되돌리기 · 다시하기 · 회전 아이콘을 .ui-btn__icon 으로 싸서 냄: B05 도구줄 32 → 34 · 종단 도구줄 18 → 22 가 단 그대로 32 · 18
- 배수 제안 머리 줄 [적용] · [넣기] · [닫기] flex none · nowrap: 제목이 길면 두 줄로 눌려 22 → 34 가 22 그대로
- 시험 test_553_8_glass_height 새

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 00:06:32 +09:00
eomsangdonandClaude Opus 5.5 4668642d2c refactor(B05): 좌측 패널 · 곡선 이름표 날 칸을 부품 입력 · 고르기로 (PLAN 553-2)
- 구조물 배치 · 비정규 측점 · 배수 시설 · 설정 칸 17 자리 = ui-input · ui-select(design_structure_form 포함 — M02 도 같은 꼴)
- 페이지 칸 꼴(테두리 · 바탕 · 둥글기 · 여백) 지움 · 높이 = 좌측 패널 양식(26) 그대로 · 고르기 화살표 자리 = 패널 양식 값
- 구조물 조합 이름 칸 = 부품 칸 · 곡선 반지름 · 길이 칸 = 단 24
- 칸 자리 전후 다름 0 · 그림 색 다름 0(밝음 · 어두움)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:41:58 +09:00
eomsangdonandClaude Opus 5.5 cbfe2b8ac2 refactor(B05): 지도 · 노선 추천 범례 셋을 부품 범례로 (PLAN 553-2)
- 평면 상태 글판 범례 · 추천 지도 범례 · 추천 종단 그림 범례 = 부품 「범례」(선 · 점선 표지)
- 표지 색 = 그린 선 값(종단 그림 = --draw-text-secondary · --draw-primary · 지도 = --map-route) — 옛 범례가 계획선을
  --color-primary(초록)로 그려 그림(보라)과 어긋나던 것 맞춤
- 범례 부품 CSS 를 design_page 가 실음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:24:25 +09:00
eomsangdonandClaude Opus 5.5 b309460488 refactor(B05): 노선 추천 창 칸 · 후보 표를 부품 입력 · 표로 (PLAN 553-2)
- 제약 · 비중 · 목표 기울기 칸 = 부품 입력 단 32(옛 작은 칸 30 + 페이지 덮음 둥글기 4 · 글 16 지움) · 지형 고르기 = 단 32
- 후보 표 = 부품 표 데이터표(줄 28 · 수 칸 오른쪽) · 페이지 표 CSS 지움
- 표 부품 CSS 를 design_page 가 실음 · 시험(test_63_4) 머리 칸 글 고침
- 그림 색 전후 다름 0(밝음 · 어두움)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:20:19 +09:00
eomsangdonandClaude Opus 5.5 9f4761a6b0 refactor(B05): 빈 상태 · 안내 글 · 체크를 부품으로 · 날 색 → 공통 값 · 죽은 CSS 지움 (PLAN 553-2)
- 빈 목록 · 빈 유토곡선 = 빈 상태 작은 꼴 · 폼 안내 · 필수 칸 안내 = 보조 글(흐림 · 오류) · 체크 = 부품 체크
  (화면 파일을 시험이 별칭 없이 돌려 클래스로 붙임 · CSS 는 design_page 가 실음)
- 날 색 → 공통 값: 절 · 성토 · 경고 글(rgb 220/37/180) = danger · info · warning · 보라 옛 이름 = accent ·
  #e05b5b = danger · 없는 --border-color(#3a3f4a 로 떨어짐) = --color-border · 떠 있는 판 그림자 · 둥글기 = shadow-lg · radius-cards
- 죽은 CSS(코드 · 시험 0 곳) 지움: route__chip · palette · button-grid · textarea · stale · metrics · drainage__facility-note
- [해제] 단추 안 여백 8 그대로(옆 칸 폭 보호)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:15:19 +09:00
eomsangdonandClaude Opus 5.5 baea638043 refactor(B05): 날 단추 · 작은 도구 단추를 부품 단추 · 아이콘 단추 · 켜기 칩 · 목록 줄로 (PLAN 553-2)
- 종단 도구 · [창 분할] = 단추 유리 · 보조 단 18 · ▲▼ = 아이콘 단추 선 18 · 배율 + − ⤢ = 아이콘 단추 22
- 배수 머리 단추 = 단추 22 · 층 단추 = 켜기 칩 20(색 점 = 층 색) · 유역 줄 = 목록 줄 32
- [추가] · [삭제] · [리셋] · [해제] · 확폭 = 단추 주 · 위험 고스트 · 보조 · [-][+] = 아이콘 단추 24
- 지도 도구줄 · 3D 보기 줄 = 단 32(34 에서) · 접기 ▾ = 아이콘 단추 18 · 잰 값 닫기 = 아이콘 단추 24
- 페이지 CSS 의 단추 꼴(테두리 · 바탕 · 글 · 둥글기) 지움 · 날 색 대체값(#d98a00 · #5b8def · #3a3f4a) 지움
- 시험 선택자 · 가짜 DOM(setAttribute) 같이 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:51:58 +09:00
eomsangdonandClaude Opus 5.5 7e07da4b31 feat(테마): 그림 전용 값 --draw-* — 종단 · 횡단 · 이정표 SVG · 지도 계획선 · CAD 바탕 · 3D 바탕 색을 화면 테마와 떼어 지금 색 고정 (PLAN 551-2)
- ui_template_theme.css 끝 블록 = --draw-* 17 개 · 밝음 / 어두움 / 시스템 어두움 글자 hex
- B05 · B06 · B08 그림 CSS stroke · fill 125 줄 · --b06-tag = --draw-*
- 캔버스 · 3D 읽기 = B05 노선 편집 지도 · 노선 추천 지도 · 3D 바탕 · B04 3D 바탕 · 지도 MC 글 · D03 고른 측점 · CAD 바탕 · 격자
- 지킴 시험 test_551_2_draw_tokens(화면 변수를 모두 바꿔도 그림 풀린 색 같음)
- 기존 시험 7 개 = 그림 줄이 옛 --color-* 이름을 잡던 단정을 --draw-* 로 고침(값 같음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:59:03 +09:00
eomsangdonandClaude Opus 5.5 50e9c1b015 feat(530-3): D03 예정노선 분석 화면 — 평면 · 지점 끌기 · 더 받기 · 갈래 카드 · 측점 · 지반 횡단 · 3D
- 평면 = 위성 + 도엽 등고선 + 다른 갈래(옅게) + 고른 노선 + 측점(누가 = 등록 시작부터) + 지점 끌기 겹
- 끈 지점 = 캐시 · 받기 · 분석 · 보기는 points 로 실어 보냄 · [저장] 때만 D02 규칙으로 정본
- 연도별 갈래 넷 카드(연장 · 최대 기울기 · 위반 수) · 고름 = 캐시 · [저장] = 서버 저장본으로 다시 셈
- 측점 누름 = 하 패널 지반선 횡단(sectionsGround · buildCrossSvg 지반만 인자 · 기본 그대로)
- 3D 모달 = 연도 DEM + 노선 + 측점 막대(코리도 · 구조물 안 부름)
- 화면 계산 logic 짝(pickMode · chainRows · joinedLine ↔ 파이썬) 거울 시험

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:11:23 +09:00
eomsangdonandClaude Opus 5.5 17534a01ad feat(530-1 · 530-2): D 예정노선 지형 받기 · 2단계 분석 서버 — B05 엔진 인자 셋(models_dir · cache_dir · 복도 반폭) · D03 지형 서비스 · 분석 · API
- B05 지형 로더 models_dir · cache_dir=None · 비용면 cache_dir=None · 탐색 복도 corridor_m(기본 100 m · 기본이면 묶음 열쇠 그대로)
- D03_PlanAnalysis_Terrain — 지점 + 1 km 표본 3×3 도엽 · prune 없음 · 병합 옛 ∪ 새 · 위성 합집합 · 연도별 models_<연도> DEM · plan.prj
- D03_PlanAnalysis_Analyze — 연도 구간마다 갈래 넷 · 법정 기준 · 누가 이어 셈 · 파생 저장본(입력 지문)
- D03_PlanAnalysis_Router — POST plan/terrain · plan/analyze(뒤에서 · 진행률) · GET plan/progress · plan/analysis · PUT [저장]
- 지킴 시험 test_530_1_plan_terrain · test_530_2_plan_analyze · test_530_2_plan_router

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:38:40 +09:00
eomsangdonandClaude Opus 5.5 0292c8c722 perf(520-7): B05 배수유역 되돌리기 때 저장분 GET 세 번 → 한 번 · 이음매 대조 차이 0
- B05 Drainage_Saved 새 파일 — 저장분 받기를 패널 밖으로 뗌(Panel 700 → 688 줄) · 떠 있는 받기는 같이 씀 · 화면이 마지막 저장분 그대로면 초안 버림은 GET 없이 그 답을 다시 올림 · 뒤이어 온 reload 가 밀어내면 그 답을 기다림(낡음 남지 않음)
- 원인 — Ctrl+Z 한 번에 관 자리 되돌림(setPipeChainages) · 시설 따라감(reload) · 묶음 초안 버림(backToSaved) 셋이 저장분을 따로 받음
- 관 자리 되돌림 건너뜀 조건 — 요청 몸통만 견주던 것을 「화면이 저장분 답 그대로」까지 봄(지금 노선 [업데이트] 답이 오른 뒤엔 다시 받음)
- 지킴 시험 test_520_7 — 세 부름 = GET 한 번 · 초안 버림 먼저여도 올림 · 저장분 그대로면 GET 없음 · 세션 관 초안은 세부 유역 계산
- 낡은 시험 고침 — test_298 · test_472_d · test_b05_structures_form_summary 가 패널 원문에서 찾던 저장분 받기 줄이 새 파일로 옮겨짐
- 이음매 대조(tmp 일회) — primary-region 길 대 저장 노선 [업데이트] 길 네 프로젝트 도로로 오는 셀 · road_slot · 관별 면적 차이 0 · 초안 2.2~2.3 s · 저장 노선 2.1~2.6 s · Ctrl+Z GET 1 · 낡음 꺼짐 249~258 ms

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 08:57:37 +09:00
eomsangdonandClaude Opus 5.5 0ba4653212 feat(520-2): B05 배수유역 저장 노선 [업데이트] 결과 남김 · 끊김 알림 · 도엽 메모리 보관
- B04 Router_Watershed — 분석 응답 · 단계 산출물 저장을 Output.write_analysis 로 뗌(primary-region 같은 길) · 도엽 좌표 저장본 메모리 보관(2 벌)
- B04 Router_Watershed_Live — 저장 노선 기준(초안 없음 · 지문 같음) 답이면 마지막 끊김 확인 뒤 분석을 남김 · design/save 잠금 중이면 안 남김 · 남길 때 같은 잠금 쥠 · POST /drainage/live/cancel(그 차례가 마지막일 때만 지움) · 셈 멈춤 로그
- B05 Drainage_Live — 요청 끊을 때 서버에 끊김 알림 · 저장 노선 [업데이트] 답이 저장분 낡음 걷음 · 되돌리기로 초안이 없어지면 저장분의 마지막 낡음으로 표시 바로
- 시험 test_349_drainage_live_flow 고침 — 되돌리기 직후 낡음 기대가 옛 동작(답 올 때까지 낡음) · 새 동작 = 저장분 마지막 낡음(여기선 꺼짐) + 끊김 알림 확인
- 시험 test_347_2 — 「작업본에 안 씀」 옛 설명 고침 · 남김 · 초안 안 남김 · 잠금 중 안 남김 · 끊김 알림 시험 더함 · test_347_1 메모리 보관 확인

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 08:18:00 +09:00
eomsangdonandClaude Opus 5.5 3b5ad313df merge(472-3): origin/main_laptop_1(518-2 B06 관 · BOX · 세월교 logic) 합침 · 518-3 과 양쪽 새 logic 경로로 살림 · 기하 끌림 빈 목록
- 충돌 24 파일 = import 줄 다툼 — 518-2 새 경로(Cross_Culvert · Culvert_Geom · Extra · Wire · Types · Box_Geom · Ford_Geom · Ford_Pavement) + 518-3 새 경로(Cross_Body_Guard · Wall_Geom · Wall_Hatch_Geom · Excavation_Geom · Revetment_Geom · Structure_Layouts · Route_Carry_Patch)
- 518-2 logic 셋이 부르던 UI_Cross_Wall · Wall_Hatch · Body_Guard = 518-3 logic 경로로 · 518-3 새 logic 넷의 옛 Culvert_Types · Extra 경로 = 518-2 logic 으로
- test_472_3 GEOMETRY_PULLS 남은 3 줄(Design_Surface · Excavation · Wall_Hatch) 걷음 = 빈 목록
- Corridor_Structures prettier
- 확인 = 518-1 · 518-2 · 518-3 고친 시험 + golden_472 73 파일 444 통과 · typecheck 0 · design-calc · corridor 묶음 · 옛 판(1d5d63875) ↔ 합친 판 덧그림 대조 938 측점 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:45:10 +09:00
eomsangdonandClaude Opus 5.5 dc74627c7d merge(472-3): origin/main_laptop_1(518-1 B05 코리도 logic) 합침 · 518-3 import 줄과 양쪽 살림 · 세션 끌림 빈 목록
- 충돌 6 = 같은 import 줄 — B05 logic 새 자리(sub5) + B06 logic 새 경로(518-3)
- test_472_3 SESSION_PULLS 빈 목록 — 측점 간격 common_util_station 으로 ui_template_locale 끌림 끊김

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:30:22 +09:00
eomsangdonandClaude Opus 5.5 024683fcce Merge origin/sub_laptop_6 — 518-2 B06 관 · BOX · 세월교 계산 떼기
B05 Corridor logic 넷의 import 충돌 = 자리(logic/ · ../../)는 518-1 · 대상(B06 logic/Cross_*)은 518-2 로 양쪽 살림.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:25:44 +09:00
eomsangdonandClaude Opus 5.5 d3315da993 refactor(472-3 B06 벽 · 기슭막이 · 배치): 구조물 기하 logic 분리 · 그림 파일은 그리기만
- logic 새 파일 다섯 — Cross_Wall_Geom(벽 1매) · Cross_Wall_Hatch_Geom(무늬 띠 · 물빼기 · 도수로 띠 · 원지반선) · Cross_Excavation_Geom(벽 터파기) · Cross_Design_Surface_Geom(암선 · 포장층) · Cross_Revetment_Geom(독립 기슭막이 배치)
- logic 으로 옮김 — Body_Guard → Cross_Body_Guard · Structure_Layouts · Route_Carry_Patch(내용 그대로 · import 경로만)
- inferStationInterval → common_util_station(글자표 없는 자리 · common_util_svg 는 다시 내보냄) — Node 묶음 ui_template_locale 끌림 끊음
- 부르는 쪽 import 줄 · 등록부 ts 경로 · 시험 · 도우미 경로
- test_472_3 GEOMETRY_PULLS 다섯 줄 걷음 · Wall_Hatch · Excavation · Design_Surface 세 줄은 Culvert · Box · Ford 그림 파일(518-2)이 그리기 함수로 부르는 동안 남김

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:22:27 +09:00
eomsangdonandClaude Opus 5.5 e4befd158a refactor(472-3 B06 구조물): 관 · BOX · 세월교 · 물넘이 모양 계산을 logic 으로 옮김(518-2)
- logic 새 파일 9 — B06_Section_Cross_Culvert · _Culvert_Geom · _Culvert_Extra · _Culvert_Tiers ·
  _Culvert_Types · _Culvert_Wire · _Box_Geom · _Ford_Geom · _Ford_Pavement
- 그림 파일(UI_Cross_Culvert · _Culvert_Types · _Box · _Ford · _Ford_Pavement)은 받은 좌표로 그리기만 ·
  관 겹 꼭짓점(pipeShellCorners) · 물넘이 노면 끝 · 월류선 · 유출 성토선은 logic 으로
- 옛 순수 기하 6 파일(UI_Cross_Culvert_Geom · _Extra · _Tiers · _Wire · _Box_Geom · _Ford_Geom) 지움 ·
  부르는 쪽(B05 Corridor · Structure_Layouts · Route_Carry_Patch · Wall 등)은 import 줄만
- test_472_3 GEOMETRY_PULLS 자기 11 줄 + 더는 안 끌리는 Design_Surface 1 줄 걷음
- 시험 · helper 경로를 새 logic 파일로 — 옮긴 파일을 가리키던 낡은 경로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:17:23 +09:00
eomsangdonandClaude Opus 5.5 09a064da37 refactor(472-3 B05 코리도): 코리도 계산 8 파일 logic 이동 · 검사 도구 헛잡음 걷음
- B05 Corridor Build · Envelope · Station · Station_Structure · Structures · _Box · _Chute · _Path
  → B05_Profile/logic/B05_Profile_Corridor_*.ts (본문 그대로 · import 경로만)
- Structures 재수출 줄 걷음(700 줄 한도) · Envelope 는 Structures_Hash 를 바로 부름
- helper_472_3_graph = 줄 머리 import · export 만 셈(주석 속 낱말 안 셈)
- test_472_3 SESSION_PULLS 헛잡음 6 줄 · GEOMETRY_PULLS B05 8 줄 걷음
  (남은 ui_template_locale 10 = Route_Carry_Patch → common_util_svg 진짜 끌림)
- 옮긴 파일을 읽는 시험 · 헬퍼 경로 새 자리로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:08:29 +09:00
eomsangdonandClaude Opus 5.5 3736e601ee fix(514-4 추천 저장본 · 끌기 시험): 프로젝트 접근 = 표준 횡단면 「없음」과 config 기본값을 같은 뜻으로 두 꼴 다 견줌(지금 꼴 먼저 · 추천 · 초기 종단 · standard_forms) — B05 · B06 [저장]이 손대지 않은 기본값을 종단 정본에 실어 전처리(None) 저장본 키가 어긋나 다섯 갈래 409 · 고친 표준은 그대로 409 · Store 파일 그대로(엔진 지문 안 바뀜) · test_508_2 끌기 = 계정 보던 화면(user_ui_prefs) 시작 전 비움 · 끝나면 되돌림 · 둘째 도엽 올 때까지 기다림 · 새 시험 test_514_4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 21:53:30 +09:00
eomsangdon f195a0c72c Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-22 21:14:57 +09:00
eomsangdonandClaude Opus 5.5 2d81b69981 feat(514-2 낡은 유량 가림): 배수유역도 낡은 동안 세월교 · 물넘이 칸 설계유량 「설계유량 낡음 — 배수유역도 [업데이트] 뒤 셈」 · 월류 높이 자동값 안 채움 · 판정 = 배수유역 판 낡음 한 곳(setDrainageStale) · [업데이트] 뒤 값 · B06 폼도 새 답 유량 받음 · 요구 328-3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 21:14:14 +09:00
eomsangdonandClaude Opus 5.5 7e39403b52 feat(514-1 알약 우클릭 삭제): 측점선 없는 구조물(대피로 · 노출형 횡단수로 등)도 종단 알약 · 평면 마커 우클릭 「구조물 삭제」 — 513-3 주인 가르기를 알약 id 로(removeMarkOwner · 관 알약 = 관 지점 정본 · 그 밖 = 좌측 칸 [삭제]와 같은 길) · B05 종단 보기 · B06 횡단 보기 같은 길(onStructureMarkRemove) · 캐시에만 · [저장] 때 나감 · 우클릭 삭제 글 = 관 · 세월교 · BOX 도 「구조물 삭제」 하나 · 시험 test_514_1 · test_513_1 글 기대 고침 — 요구 328-1 · 328-2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 21:09:08 +09:00
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 2f06993c7d refactor(513-3 덧 RouteEdit 줄 수): 상태줄 머리 · 고른 등고선 글 짓기 = routeHeadText(_Render) · contourHintText(_Contour) 로 옮김 — RouteEdit.ts 699 → 691 줄 · test_430 편집기 배선 · test_399 줄 수 한도 695 통과
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 b0efdd5d93 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-22 20:05:25 +09:00
eomsangdonandClaude Sonnet 5.5 1a8dddb3cc refactor(512-3 common_util_route_polyline): 점 다듬기·꺾임점 뽑기·원호 맞춤 바탕을 common_util_route_polyline_geom.py 로 나눔 — 745 → 455 줄 · 밖 이름은 common_util_route_polyline 그대로 · 소스 지문 목록은 route_polyline*.py 로 넓힘
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 20:04:45 +09:00
eomsangdon fd63caf0fe Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_4 2026-10-22 19:55:22 +09:00
eomsangdonandClaude Opus 5.5 f4390bdede feat(513-1 B05 평면 우클릭): 평면도 우클릭 = 종단 그래프와 같은 구조물 메뉴 — 항목 짓기 공용 structureMenuItemsAt(가까운 측점 = 배관 · 구조물 · 측점 삭제 · 빈 자리 = 군 → 종류 추가) · 재료 = 지금 선 종단 그래프(liveStructureMenu) · 자리 = 누른 곳을 노선에 내린 누가거리 · 노드 위 = 노드 삭제 그대로 · 노선 밖 = 메뉴 없음 · 시험 test_513_1 · 368_3 낡은 기대 고침 — 요구 327-1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:55:21 +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 381f3d0573 refactor(512-5 700 줄 나눔 TS): 유토 배분 결과 타입 · 사토 잔토 · 공제 · 종단 표 고른 측점 열을 새 파일로 — 동작 · 값 그대로
- common_util_mass_haul_balance 842 → 467 (_types · _apply 분리 · 원래 파일에서 타입 다시 내보냄)
- B05_Profile_UI_Profile_Table 702 → 548 (_Table_Selected 분리)
- test_507_3 는 옮긴 글을 새 파일에서 찾음

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:46:32 +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 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 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