Commit Graph
483 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 f4a7b183b0 fix(평면): 새 구조물 측점 놓는 즉시 평면 비탈 끝 · 면적 = 저장 뒤 — 튐 없음 · 옮김 계획고 (PLAN 583-1 · 요구 441)
- 원인: 구조물을 새 측점에 놓으면 측점 갈아끼움(비동기)이 끝나기 전 묶음 cross 단계가 옛 상세를 봐 엔진 길로 빠짐 — 구조물 얹기 없는 한 차례(벽 측점 비탈 끝 35 · 55 m · 기존 벽 측점 18.96 m)가 약 80 ms 평면에 튐 · 다음 차례(0.25 s)에 저장 값
- design_shared savedCross = 도는 갈아끼움(swapInFlight)을 기다려 그 상세로 다시 셈 · 상세 가게 swapInFlight 새로
- 종단도 listed() 옛 측점 = 저장 정본 상세 — 갈아끼운 상세로 셈해 옮긴 구조물 옛 측점 꼭짓점이 안 옮겨져 계획고 최대 2.4 cm 갈리던 것(옮김 면적 차 0.17 → 0.0175 ㎡)
- 시험: test_272_swap_keeps_canon 에 도는 갈아끼움 기다림 · test_473_lane_ready 글 대조를 새 호출 꼴로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:05:16 +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 ffa762438f fix(B05·B06): 소단 사본 berm = 결과 통 — 초안 칸 · ↶ 사진 · 떠남 제외 줄에서 빠짐 (PLAN 477-4 · 요구 433)
- berm 은 구조물(소단)에서 셈한 값 · 손 고침 길 없음(쓰는 곳 = 페이지 시설 줄 하나) → 등록부 결과 통으로
- 떠남 확인 제외 목록의 berm 줄 지움(초안 통이 아니라 필요 없음)
- 쓰는 곳 없는 readBermSpans 지움 · 읽는 곳(시설 줄 · 다시 셈) 이름 그대로
- 지킴 시험 test_477_undo_now_berm(즉시 켜짐 · flush · 묶음 · berm 통)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 07:14:40 +09:00
eomsangdonandClaude Sonnet 5.5 481f79f5ee fix(B05·B06): 관 · 구조물을 전부 지우고 떠나도 묻는 창이 뜨게 함 (PLAN 469-3 · 요구 432)
- 빈 목록 초안 "[]" 판정을 draftFilled 한 함수로 — 떠남 확인(design_leave)과 hasDrafts 가 같은 규칙
- 저장분이 있는 목록 칸의 "[]" = 고침 · 저장분도 빈 곳 · 저장분을 모를 때 = 전처럼 빈 칸
- 저장분 있음은 페이지 자료 줄(design_page_data)이 받을 때 적음 — 새 서버 요청 없음
- 지킴 시험 test_469_3 · 자료 줄 흉내 헬퍼 둘에 새 import 흉내

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 22:51: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
eomsangdon e065c765ea Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-28 18:08:05 +09:00
eomsangdonandClaude Opus 5.5 676b46eb9e feat(B 페이지): 떠남 물음 가드 · 지금 프로젝트 = 탭마다 (PLAN 572-2 · 요구 400~403)
- B04 · B07 · B08 · B09 가 공용 guardProjectLeave 에 {dirty, save, discard} 등록 — 고침 있을 때만 [취소 · 폐기 · 저장]
  - B04 = 관 지점 고침(drainageDirty) · 저장 = 관 지점 · 세부유역 영구저장
  - B07 = CAD · 탭 고침 · 저장 = saveEditedDrawings · 폐기 = 고친 도면 CAD 자동백업도 버림(discardEditedRecovery)
  - B08 = 세션 b08-* 칸 넷 · 저장 = saveShown · B09 = b09-estimation 칸 · 저장 = saveChanged
- 지금 프로젝트 직접 읽기(localStorage) → currentProjectId() · B02 새 프로젝트 = setCurrentProject — B02 · B03 · B04 · B07 · B08 · B09 · B11
- 다른 프로젝트 보관함 지우기 셋(B04 · B05 종단 · B11) 뺌 — enterProject 한 곳 · 다른 탭 보관분 안 지움
- B02 · B03 은 가드 없음 — 저장 안 한 프로젝트 값 없음(B03 올리기 끊김은 이어 올리기 배너가 받음)
- 시험 test_560_4 넓힘(B 가드 · 탭 프로젝트 · 보관함) · helper_298_2 · helper_481_2 · test_204_2 흉내를 currentProjectId 로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:07:58 +09:00
eomsangdon a98533cf39 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-28 18:06:40 +09:00
eomsangdonandClaude Opus 5.5 2ba46341ee feat(공용): 프로젝트마다 따로 동작 공용 — 탭 프로젝트 · 떠남 비움 · 떠남 물음 한 벌 (PLAN 572-1 · 요구 400~403)
- b_project_switch: currentProjectId(탭 세션 먼저 · 새 탭 = 마지막 값) · setCurrentProject · forgetProject · leaveProject(그 프로젝트 세션 칸 · 준비 표식 · 3D 보관함 몫) · reloadIfOtherProject(다른 프로젝트 화면 = 새로 엶) · guardProjectLeave · askProjectLeave([취소 · 폐기 · 저장] 한 번) · linkRouter(라우터가 이어 줌) · 화면 모듈은 부를 때만 들임
- b_asset_cache purgeProject · b_page_state 등록표 D02 · E 일곱 칸(옛 키 한 번 옮김) · router isProjectRoute
- 가드 helper: design_leave = 공용 가드 위 껍질(B05 고침 지문에 D · E 칸 안 섞임) · group_workflow { dirty, save, discard } · b_workflow_nav · b_page_scaffold · overlay · design_store · design_page 직접 읽기 → currentProjectId
- 시험 test_401_project_isolation 새로(탭 둘 흉내 · 떠남 · 보관함 · 가드 · 직접 읽기 한 곳) · 290_1 시드에 D02 · E 옛 키
- 낡은 시험 고침: 298_3 · 346_4 · 384_s · 520_3 헬퍼 = 공용 가드 · 탭 프로젝트 흉내 더함 · 298_3 탭 닫기 듣개 자리 b_project_switch 로 · 302_1 라우터 판별 글 isProjectRoute 꼴로 · 343_3 헬퍼 가짜 IndexedDB 내보냄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:06:14 +09:00
eomsangdonandClaude Opus 5.5 92d952d8ac fix(B04 · B06): 유입 캐시 상한 넷 · 흙막이 보낸 값 열쇠에 프로젝트 · 노선 (PLAN 572-2)
- B04 유입 배열 캐시 = 최근 프로젝트 넷만(_DETAIL_CACHE 꼴) · 서버 켠 뒤 본 프로젝트마다 쌓이던 것
- B06 soilSent 열쇠 = {프로젝트}:{노선}:측점:역할 · 다른 프로젝트 · 노선 같은 측점에 같은 값 안 먹던 흠
- 시험 test_572_2_inflow_cache 새로 · test_54_10 다른 프로젝트 같은 값 · helper_387_4b scope 칸

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 17:24:07 +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 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 5d65e14e4c fix(520-4): B06 [>] 이미 확정이어도 배수유역 낡음이면 확정 저장 — 서버 관 차례가 한 번 다시 셈
- 옛 낡음 확인 창이 막던 길(단계 2 · 3 완료 · 고침 없음 · 배수유역 낡음)을 건너뜀 판정에 넣음
- 시험 298_3 글 약속 새 길

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 08:37:55 +09:00
eomsangdonandClaude Opus 5.5 ed9e014db2 feat(520-4): B05 · B06 페이지 넘김 공용 moveStage — B06 [>] 잠금판 「설계 확정」 서버 저장 차례 n/N 이름 · 배수유역 다시 셈 한 번
- B06 [>] · 단계 판 B07~B09 = moveStage 한 단계(설계 확정) · progress = GET /design/save/progress 1 s 물음 · B03 · B04 로 = moveStage 잠금 길(떠남 확인은 잠금 풀린 뒤)
- 낡음 확인 창 · 화면 side.update() 걷음 — 배수유역은 서버 [확정] 관 차례가 한 번만 셈 · 진행 이름 「배수유역 다시 셈」(basins)
- 서버 _run_steps step() 진행을 메모리(B06_Section_Router_DesignSave_Progress) · 차례 목록 = N · 끝에 비움
- 노선 바뀐 채 [>] = 물음(잠금판 위 · z 1050 > 900) → 다시 세운 페이지 둘째 확정을 저장 줄 밖에서 기다림 → 잠금판이 다시 마운트를 넘어 이어져 이동 · 120 s 넘으면 머묾
- saveSharedDesign 이 참 · 거짓을 돌려줌 · 확정 이동은 부른 쪽(moveStage)
- 낡은 시험 고침 — 512_2(확인 창 → 잠금판 한 단계 · 서버 basins) · 298_3 · 272 · b06_save_channels · b06_save_recompute(글 약속 새 길)
- helper_ts_stub_loader .css = 빈 모듈 — 520-3 ui_template_progress.css import 로 451 · 384_4 · 416 등 helper 시험이 깨짐(브레인 승인)
- 새 시험 test_520_4_save_progress(n/N · 배수유역 자리)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 08:19:22 +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 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 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
eomsangdon ad5680be72 test(계산등록부): 거울 시험 참조 정리
- 삭제된 화면 시험 참조 10건을 기존 지킴 시험으로 정리
- 노드 편집 TS·파이썬 합성 거울 대조 보강
2026-10-23 14:04:19 +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 5098318c96 feat(513-3 우클릭 구조물 삭제): 종단 · 평면 우클릭 「구조물 삭제」 = 관 아닌 구조물도 — 측점 주인 가르기 공용 removeStationOwner(design_pipe_ids · 관 기준 측점 = 관 지점 정본 · 관 구간 끝 = 장부 자리 관 · 그 밖 = 좌측 칸 [삭제]와 같은 removeById) · B05 종단 보기 · B06 횡단 보기 같은 길 · 캐시에만 · [저장] 때 나감 · 시험 test_513_3 — 요구 327-1
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 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 cbfc006834 refactor(512-4 700 줄 나눔 CSS): App.css · B01 · B06 횡단 · B03 스타일 각 둘로 나눔 — 규칙 차례 그대로 · 부르는 곳 이어 부름 · 시험은 두 파일 이어 읽음
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:49:43 +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 210ff06dee refactor(511-B B-6 옛 server-calc 묶음 걷음): 운영 부름 0 · 시험 대조만이던 옛 묶음 걷음 — 걷기 전용 커밋(되돌리기 = 이 커밋 revert)
걷은 것
- B06_Section/B06_Section_Server_Calc_Node.ts 통째(135 줄 · 입구 · haul_plan_for 갈래 · 면적 · 유토곡선 · 다단 벽)
- package.json:8 build 안 「&& npm run build:server-calc」 · package.json:10 「build:server-calc」 줄
- B06_Section/B06_Section_Server_Calc_Prebuild.py:61 ROOT · :62-63 옛 묶음 주석 · BUNDLE · :66 _NPM_SCRIPT
- 지어진 묶음 config/server_calc_node/B06_Section_Server_Calc_Node.js = git 밖(.gitignore:63-64 그대로) · 폴더마다 찌꺼기 남음

시험 옮김(새 입구 = Prebuild._run_node · 등록부 Node design_calc_node)
- 110 · 120 · 131 · 73_4 · 178_1 · helper_472_1_paths = _run_node
- b06_ground_unlock · height_unlock = design_calc_node.js 판 검사(build:design-calc)
- 472_3 registry · runner = 옛 묶음 대조 → Node 입구 정본 값 · 늘 떠 있는 Node = 새 프로세스
- 511_c = 옛 대 새 대조 → 새 Node = 브라우저 TS(computeHaulPlan · structureAreaRows · extraWallRows)
- haul_plan_quantity_unpruned = 새 입구 · /haul-plan 그림 갈래 글 검사 · server_calc_node.mjs = design_calc_node structure.layouts
- 글만: Schema · HaulPlan · design_calc_node 주석 · B06 CLAUDE.md · 시험 셋 머리

검증: 고친 시험 15 파일 87 통과 · typecheck 0 — 요구 320-4 · 322

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:17:45 +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 f15ca04bb0 merge(511-B · 511-C 합치기): origin/sub_laptop_4(511-C 유토 배분 E2 · 판 haul 줄) 받음 — 공유 파일 충돌 풂
- Node 입구 design_calc_node.ts 등록부 밖 id = 시험 길 · 단계 · 화면 길(PAGE_IDS) · haul.view
- calc_runner = PAGE_IDS(cross.refresh) · VIEW_IDS(haul.view) 둘 다 받음
- calc_sites.py 머리 글 = B-4 cross · 511-C haul(기본 server) 함께 · 묶음 13 줄
- 시험 309_2 · 309_2_browser · 511_b1 = 열린 줄에 haul 더함 · 화면 시험 「지금 서버」 = haul 기본 server 로 1 줄(바꾼 뒤 2 줄)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:55:17 +09:00
eomsangdonandClaude Opus 5.5 0e18b0759b merge(511-B 합치기): origin/sub_laptop_3(B-2 측점 · B-3 종단 · /calc 경로 막기 · B-5 route) 받음 — 공유 파일 충돌 한 번 풂
- 판 calc_sites.json = route · stations · profile · cross 모두 both · 열린 줄 = 네 줄 모두 · 잠긴 단계 줄 = follow(pair_B5) 하나
- Node 입구 design_calc_node.ts = 입력 꼴 · runner 표 양쪽(cross · sections · route · profile) · NODE_IDS = facility.attach · cross.enforce · stations.list · stations.sections · route.polyline · stations.plan
- /calc 창구 Router_Calc = 서버 측점 생성 거절 · 경로 칸 거절 · {model_id} 격자 서버가 정함(B-2 · 경로 막기) 뒤 단계 · 화면 길 서버 맥락(B-4) — 단계 격자 칸이 없을 때만 설계 지형 격자로 채움
- 시험 309_2 · 309_2_browser · 472_3 · 511_b1 = 양쪽 열린 줄 합 · 잠금 예시 = follow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:47:07 +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
eomsangdonandClaude Opus 5.5 70a24c2416 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3
511-B B-3(종단 Node · profile 줄 엶) 합침 — 충돌 줄 단위 양쪽 살림: 계산 입구 입력 · 부름 표(profile · sections · route) · 판 열린 줄(route · stations · profile) · 잠금 줄 시험(follow · cross 만) · 문구(Why route · stations · profile · pair_B2 B3 걷음) · Route_Save import(keyed_stations 남김 · seat_route_moved 걷음 = B-3)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:02:29 +09:00
eomsangdonandClaude Opus 5.5 99cb8f0ae9 feat(511-B B-5 노선 · 좌표 맞춤 · 남은 측점 계획 Node · route 줄 엶): Router_Replan 688 → 612(폴리라인 파일 쓰기 = B05_Profile_Route_Polyline_Write.py) · 노선 저장 폴리라인(편집 갈래) = 늘 떠 있는 Node route.polyline(buildEditedPolyline + nodeEdits · 파이썬은 csv 4자리 · 곡선 as_dict 반올림만 · 단순화 갈래 · Node 못 돌림 = 파이썬 짝) · 위반 글 반올림 = 파이썬 꼴(fixed1 · R 12.25 → 12.2) · 저장 좌표 맞춤(F1) = Node facility.follow + fill(fillStructureCoordinates · 옛 좌표 지킴 · 0.1 mm · placeOnLine 노선 위 자리와 한 벌 pointAtChainage) · 남은 측점 계획(F3 · 이월 열쇠 주인 · 옛 측점 옮기기) = Node stations.plan · 등록부 R1 R3 F3 node: · 판 route 줄 엶(「서버」 = 잠잠 뒤 서버 route.polyline · 못 내면 화면 셈) · 저장 노선 전수 6 벌 = 파이썬 길 바이트 0 차 · 알려진 차 = 교각 딱 5° 배수 원호 점 ±1(브레인 승인) · 시험 test_511_b5_route_node — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:59:14 +09:00
eomsangdonandClaude Opus 5.5 f830088298 feat(511-B B-4 cross 줄 엶 · 페이지 cross 서버 길): 계산 자리 cross = server(DTM 격자 있음)면 묶음 cross 를 서버 Node 가 같은 TS 로 — 저장 노선 다시 셈 = cross.refresh(Cross_Refresh 셈 몫을 logic/B06_Section_Cross_Refresh_Calc.ts 로 나눔 · 세션 읽기는 화면 · 구조물 폐회로 면적 층까지) · 엔진 길(노선 초안) = stage.cross(design_pipeline_cross_server.ts · 페이지 676 줄) · 못 받음 = 브라우저 · DTM 아닌 지표면 = 브라우저 · /calc 단계 · 화면 길 = 서버가 격자 경로 · 구조물 정의 채움(화면이 보낸 경로 버림) · 판 cross 줄 엶(기본값 both 그대로 · 까닭 글) · 화면 시험 test_511_b4_cross_server_browser(검증_sub2 · both 대 server 0 차 · 저장 노선 535 ms · 초안 462 ms 왕복 = 잠잠 400 포함) · 글 읽는 시험 10 = 셈 몫 파일도 읽게 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:54:20 +09:00
eomsangdon 578b48f7ab Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-22 14:35:04 +09:00
eomsangdonandClaude Opus 5.5 761f6707f9 feat(511-B B-4 [저장] 횡단 한 바퀴 · 형상 얹기 Node): [저장] · [확정] 서버 다시 셈의 횡단 한 바퀴(설계선 다시 냄 → 미교차 넓힘 → 포장 구간 → 세월교 하강 · G2 C3) = DTM 이면 늘 떠 있는 Node cross.enforce 한 부름(logic/B06_Section_Cross_Save.ts · 파이썬 차례 · 승계 · 입력 그대로 · 격자 = npz 곁 이진 · 넓힌 표본 = 횡단 파일) · DTM 아닌 지표면 · Node 못 부름 = 파이썬 길 · GET 상세 · 재생성 형상 얹기(F4 F5 F6 C6) = Node facility.attach(측점 자리만 보냄 · 구조물 정의 M02 반영 넘김 · 못 부르면 파이썬 짝) · 구조물 정본 못 읽음 = 소단 저장분 그대로 · 등록부 G2 C3 C6 F4 node: · 거울 test_511_b4_cross_save_mirror 4(가짜 지형 넓힘 · 지표면 끝 · 포장 · 기울임 · 세월교 · 소단 · 파이썬 길 = Node 길 0 차) · 검증_sub2 [저장] · [확정] 값 차 0 · 다시 셈 0.7 → 0.5 s · [확정] 2.2 → 2.1 s · GET 형상 얹기 +5.6 ms — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:32:16 +09:00
eomsangdonandClaude Opus 5.5 9ed6a23d03 feat(511-B B-2 stations 줄 엶): 계산 자리 판 stations(R5 R6 R7 F3) 바꿀 수 있음 · 기본 both 그대로 · 「서버」 = 묶음 stations 단계가 잠잠 뒤 서버 Node stations.list(같은 buildStations · 못 내면 화면 셈 · 화면 셈은 동기 그대로) · 창구가 stations.list 에 서버 구조물 정의를 붙임(브라우저 정의 안 씀) · 까닭 글 stations · 309-2 · 511-B1 시험 = 열린 줄 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:27:06 +09:00
eomsangdonandClaude Opus 5.5 e043aee953 feat(511-B B-3 판 종단 줄 엶): 계산 자리 profile 줄 = 고를 수 있음(기본값 both 그대로 · 판 파일 profile both) · 「서버」 = 묶음 planline 새 지반 첫 계획선 꼭짓점(profile.base) · profile 단계 계획선 짓기(profile.alignment)를 창구 → 서버 Node 같은 TS(design_calc_profile.ts) · both = 단계 동기 그대로(묶음 차례 바뀜 0) · 서버 실패 = 경고 · 브라우저 값 · 까닭 글 pair_B3 → 끄면 서버 Node — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:26:11 +09:00