Commit Graph
9037 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 b0e38de44c refactor(476-1 ②): 측점 · 1차 계획선 셈과 파일 쓰기 나눔(동작 같음)
- Engine_Sections `build_sections`(측점 틀 · 지반 · 438 1차 계획선 · 포장 제안 · 파일 안 씀) · run_section_generation = 읽기 → 셈 → 쓰기
- 횡단 이름 규칙 → 새 `B05_Profile_Engine_Sections_Names`(700줄 · 다시 내보냄)
- resolve_extra_stations 사본 칸(structures · plus) · 따라감 셈 몫 `followed_structures` · `followed_plus_rows` · `followed_pipes` · `section_seed` · `seat_base_pvi` 뗌
- 체인 · 추천 초기 종단이 같은 조각을 부를 자리

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:36:26 +09:00
eomsangdonandClaude Opus 5.5 858ef3b40f fix(476-1 ①): 추천 [적용] = 늘 새 규칙 초기 종단 — 옛 계획고 · 편집 · L 안 옮김
- run_route_save_chain `initial`(= as_initial) — 끔 · 균형 셈 실패면 `_carry_profile` 안 부름 = 막 쓴 1차 계획선(438 · L 20) 그대로
- 손 노선 [저장]은 그대로 계획고 옮김
- 횡단 손 입력 넘김 판정 한 자리 `carries_cross_inputs`(사용자 답 대기 · 지금 = 넘김)
- 시험 test_476_1_apply_initial · 346-3 가짜 _recompute 칸 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:31:16 +09:00
eomsangdonandClaude Opus 5.5 b14de92621 chore(조사): 요구 276 분석 — 추천 후보 초기 종단 미리 셈 · [적용] 438 비껴가는 길 둘
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-19 16:18:08 +09:00
eomsangdonandClaude Opus 5.5 c58b42b01f chore(요구): 요구 276 — 노선 추천 때 초기 종단 미리 셈 · [적용] 늘 새 규칙
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-19 16:07:59 +09:00
eomsangdonandClaude Opus 5.5 83e85ed13b test(472-6 저장 시험): 한 본문 저장 시험이 박은 노선 380 대신 검증_sub8 최신 노선 · 추가 측점 자리를 그때 읽음 — 노선 바뀌어도 됨
- 최신 노선 id = 저장 창구가 견주는 workflow 노선 · 추가 측점 = 가운데 두 측점 사이
- 옛 차례 대 한 본문 비교에서 행 자동 번호(id) 뺌 — 새 추가 측점 행은 두 길이 다른 번호를 받음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:42:09 +09:00
eomsangdonandClaude Opus 5.5 8d577ef330 refactor(472 마무리): 종단도 계획고 [저장] 조각을 design_profile_save 로 떼어 냄 — design_profile 708 → 683 줄 · 동작 같음
- design_profile_save.ts 새 파일 — 한 본문 [저장] 조각 · [확정] 직전 저장 · 저장 뒤 서버 선형 넘김
- 높이 캐스케이드 설명을 B05_Profile_UI_Profile_Heights 머리로 옮김
- 팝아웃 시험 목록에 새 파일 · 저장 조각 시험(test_472_6_profile_save) 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:33:08 +09:00
eomsangdonandClaude Opus 5.5 cfdcf0aed7 fix(472-5 남음): 암선 · 암 경사 · B05 상단측 메모리 맵 걷음 · 노선 저장 뒤 옛 노선 칸 · hold 비움
- 암 경계 · 암 절토 경사 저장소(`B06_Section_UI_Page_Persist`) = 세션 칸이 주인 — 읽을 때마다 측점 열쇠 칸(`readCells`) · 고칠 때 지금 칸을 읽어 그 측점만 바꿔 씀(`putCell`) · 메모리 맵 · load · 갈아끼움 다시 읽기(keyedStores · reloadKeyedStores) 걷음 · ↶ 뒤 다음 조작이 되돌림을 덮던 흠(N5) 고침
- 저장 재료 = `offsets()` · `ratios()`(새 Map) · ↶ ↷ 가 rockb · cutslope 칸을 바꾸면 조정창과 같은 onRestore 로 카드 · 면적 다시
- B05 상단측 메모리 맵(uphillOverrides · load/saveUphillOverrides) 걷음 — 읽는 곳 없이 저장 뒤 비우기만 하던 사본 · 값 주인 = 세션 칸 `uphill` · 상단측 차례 = 기본 조각 그대로
- 노선 바뀐 [저장] 성공 뒤(페이지 다시 세운 뒤) 옛 노선 번호의 노선 범위 초안(`clearRouteDrafts`) · `route-draft-hold` 비움 · 넘김 규칙 그대로 · 같은 번호면 노선 칸 안 지움 · 실패면 그대로
- 시험 test_472_5r_rock_owner 7(옛 코드 빨강 5) · 옛 단언 고침(176_3 · 271 · 443 상단측 조각 · 344_3 저장소 load)
- 위키 암선 · 암 경사 · ↶ ↷ 규칙 · 노선 저장 뒤 정리 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:13:30 +09:00
eomsangdon 1e2e798974 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-19 14:46:35 +09:00
eomsangdon a24214b928 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-19 14:32:40 +09:00
eomsangdon 93c0f4c1ce Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-19 14:31:35 +09:00
eomsangdonandClaude Opus 5.5 136c30aba4 fix(472-5 5-D B06 조정 맵): 조정창 메모리 맵 걷음 — 반폭 · 흙막이 4축 · 유입 형식 · 집수정 · 단 수 · 단별 구간 · 연동 · 세월교 · BOX 값 주인 = 세션 칸 하나(창구 B06_Section_Session_Cells · b_page_state 열쇠 · 읽을 때마다 칸) · 캐시 설계 칸 얹기 = 고치기 전 칸 + 지금 칸(noteAdjustBase · withDraftAdjusts) · ↶ ↷ 가 조정 칸을 바꾼 걸음만 폼 · 상세 얹기 · 카드 · 면적 다시(onRestore) · ↶ 뒤 다음 조작이 되돌림을 덮던 흠(N5) 고침 · 맵 이동 moveSessionMaps · markMovedStates · setStationAdjustReload 걷음(측점 이동 = Station_Keys 세션 칸 바로) · 시험 test_472_5d_adjust_owner(옛 코드 빨강 4) · 옛 단언 고침 318 · 272 H4 · 346_2 · 445 헬퍼 · 위키 조정 칸 줄
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:30:55 +09:00
eomsangdonandClaude Opus 5.5 a02367e615 feat(475-3 요구 275-3): 노선이 바뀌면 자리 칸(암 경계 · 2단 경사 · 손 상단측)은 같은 자리 측점만 넘김 — 새 자리 = 기본값
- 자리 칸 목록 한 벌 = TS `SEAT_KEYS`(Station_Swap · 파이썬 Router_Design 이 그 글을 읽음) — two_stage_slope · rock_boundary_offset_m · cut_slope_ratio_user · section_mode · ditch_side
- 자리 판정 한 벌 = `sameSeat` ↔ 파이썬 `same_seat`(중심 0.01 m · 왼쪽 축 1e-3 · 모르면 같은 자리 = 옛 동작)
- 끌기 세션 넘김 · Node stations.carry = `carryKeyedStates`(목록 측점 자리 · 값마다 쓴 때 자리 `@seat` — 되돌리기로 되살린 값도 제 자리로)
- 미리보기 = `pipelineCrossSource` 가 저장분 · 세션 자리 칸에 자리째 실음 → `crossAtSeat` 가 새 자리면 뺌
- B06 갈아끼움(노선 초안) = 자리 바뀐 측점 설계의 자리 칸 걷고 기본값(`unseated` · 브레인 덧)
- 서버 노선 저장 = `carry_cross_inputs` 자리 칸 같은 자리만 · 손 단면 유형 · 측구 방향 = `compute_default_designs` 입력
- 옛 단언 시험 고침(자리 모름 목록 = 같은 자리 = 손 상단측도 넘김 · 「@seat」 칸 거름) · 새 시험 test_475_3_seat_carry
- 위키 rules 넘김 규칙 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:29:38 +09:00
eomsangdonandClaude Opus 5.5 7aca51596a fix(475-1 노선 자리): 노선 선 소수 자리 한 벌 — 서버 노선 geojson x · y 4자리(= 계획노선 csv) · 브라우저 초안 그린 선 · 곡선표도 같은 자리
- B05_Profile_Engine._route_geojson x · y 3 → 4자리(z 3자리 그대로) · 짝 머리 표시
- draftLine 그린 선 x · y 4자리 · 곡선 start · apex · end 4자리 · R 3자리(= RouteCurve.as_dict) · 파이썬 round 짝(toFixed)
- 교점 끌기 재현 브라우저 ↔ 서버 차 0.81 → 0.00 ㎥ · 옹벽 + 추가 측점 0.88 → 0.00 ㎥(test_475_1_route_digits)
- 472-1 헬퍼 — 옮김 인자 · 페이지 배선(stationsAt · storedPvi) · 단면 모양 = 따라간 구조물(헛 차 덤 고침) · golden 값 그대로
- 옛 시험 두 곳(346_1) — 안 깎은 선 단언 → 서버 저장 자리 단언
- 관 지문 허용오차 주석 · calculations R1 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:23:23 +09:00
eomsangdonandClaude Opus 5.5 67eaca6226 chore(조사): 요구 275 분석 — 저장 차 = 노선 선 반올림 몫 · 초기 종단 438 이력
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-19 14:11:49 +09:00
eomsangdonandClaude Opus 5.5 e5ba2df9c7 refactor(472-5 5-D 나눔): 측점 조정창 제어 687 줄 → 저장 묶음 접기 넷(4축 · 연동 · 단 수 · 단별 구간)을 Link_Session 으로 · 646 줄 · 동작 같음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:54:24 +09:00
eomsangdonandClaude Opus 5.5 11b307d1ca chore(요구): 요구 275 — 소수점 맞춤 · 즉시 저장 유지 · 암 경계 · 2단 경사 안 들고 감 · 초기 종단 이력
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-19 13:50:09 +09:00
eomsangdon 98c382cfc0 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-19 12:42:09 +09:00
eomsangdonandClaude Opus 5.5 7562087fed Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1
충돌 풂: design_pipeline_page holding(472-5 덧) · commit(472-6 6-B) 둘 다 살림 · 위키 [저장] 줄 = 한 본문 판

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2026-10-19 12:41:29 +09:00
eomsangdonandClaude Opus 5.5 a3d24cf494 fix(472-6 6-B 저장 뒤 초안 되씀): 노선 저장 성공 뒤 묶음이 노선 초안 비움을 「버림」으로 보고 초안 전 관 · 구조물 초안을 세션에 되쓰던 흠 — 저장이면 초안 전 값 버림(commitRouteFacilities)
- 화면 검증(검증_sub8)에서 찾음 — 저장 뒤 옹벽 초안이 끌기 전 자리(600)로 남아 다음 [저장]이 옛 자리로 되돌릴 뻔함
- design_pipeline_page 네 줄(commit) · routeSaved 가 노선 초안 비우기 전에 부름 · 시험 test_472_6_route_save

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:34:38 +09:00
eomsangdonandClaude Opus 5.5 fa41db8b4f fix(472 덧 관 자리): 관 파일 누가거리를 그대로 읽던 남은 서버 자리 = 지금 노선에 얹은 관 자리(route_pipe_points 한 벌)
- 옛 노선 지문 관 파일(옛 누가거리 394 · 좌표 351) — 측점 계획 · 관 지점 GET · 화면 · 상세 얹기는 351 인데
  세월교 노면 하강(ford_surface_drops) · 물넘이포장 구간(ford_pavement_ranges · tilt_ranges) · 카드 이름
  (relabel_pipe_stations) · B07 관 글 재료(load_note_sources) · 옛 비정규 측점 이관 심는 자리만 394 로 읽음
  → [저장] 재계산 · [확정] · 상세 값이 화면과 갈림
- B05_Profile_Engine_Sections.route_pipe_points — 관 지점 정본을 지금 노선에 얹어 읽음(_load_pipe_points 이월)
  · 노선 경로 안 줌 = 노선 파일 하나(ROUTE_DATA_FILE · 노선 풀기도 같은 이름을 씀) · 노선 못 읽으면 저장분 그대로
- load_culvert_sets · attach_saved_shapes(saved_pipes 걷음) · relabel_pipe_stations(상세 GET 은 노선 경로 넘김)
  · B07 load_note_sources · Structures_Router 이관 심는 자리 = 이 한 벌
- 시험 test_472_d_route_pipe_readers(옛 코드 빨강 2) · test_472_d_pipe_route_attach 「노선 모름 = 파일 누가거리」
  단언은 옛 동작이라 「노선 파일 하나 = 351」로 고침 · 위키 rules · calculations 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:22:09 +09:00
eomsangdonandClaude Opus 5.5 e1f8ba7bff refactor(472 덧 관 자리): 관 세트 읽기 · 얹기를 B06_Section_Engine_Culvert_Sets.py 로 나눔 — 동작 같음 · 700줄 여유
- load_culvert_sets · culvert_sets_from · attach_culvert_sets · attach_culvert_specs + 얹기 상수 셋 옮김(700 → 576)
- 부르는 쪽(Engine_Attach · Engine_Tilt · Router_Design_Ranges) · 시험 import 만 새 자리로
- test_b06_pipe_length 소스 읽기 = 새 파일 · 위키 B06_backend 자리 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:11:06 +09:00
eomsangdonandClaude Opus 5.5 4b6800e387 feat(472-6 6-B 노선 바뀐 [저장] 한 본문): 노선 저장 · 관 · 구조물 다시 얹기 · 횡단 고침 넘김을 서버 한 창구로 — 전부 아니면 없음
- POST /design/save 에 route(노선 초안) · carry(옛 노선 세션 칸) 칸 · 서버 = 노선 저장 → Node facility.rebase(rebasePipeDraft · rebaseStructureDraft) → 6-A 차례(새 노선) → Node stations.carry(routeCarryPatches) → 횡단 저장
- 되돌림 범위 = 노선 행 · 자식 표 · 단계 · 배수 폴더 · 노선 파일 · 지표면 확정(설계 지형 바꿈)
- 손 상단측은 안 넘김(요구 274) · 노선 바뀐 [확정] = [저장](새 노선 본 뒤 다시)
- 브라우저 = 노선 초안 + 사용자 칸만 한 본문 · 옛 차례 길(saveRouteDraft 뒤 flush · carryAfterRouteSave · keepDraftsOnNewRoute) · 부름 0 된 flush 창구 여섯 · saveCachedCrossPatches 걷음
- 등록부 R9 stations.carry · F10 facility.rebase · 옛 차례 단언 시험 한 본문 꼴로 · test_472_6_route_save(옛 길 = 새 길 · 실패 되돌림)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:07:12 +09:00
eomsangdonandClaude Opus 5.5 5f9dec9310 fix(472 덧 폼 옮김 ↶): 열린 관 폼이 ↶ ↷ 로 옮겨진 관을 따라감 — 옛 자리 칸(17+15)이 남고 고름이 풀리던 흠
- 관 목록 받기(followPipeList)가 「고른 관 사라짐」으로 먼저 고름을 풀어 폼 다시 엶이 안 돎 → 사라진 관 하나 · 새로 선 관 하나면 그 관으로 고름을 옮긴 뒤 목록을 받음 · 폼 다시 엶 · 알약 고름도 따라감
- 시험 test_472_5_shop_owner 배선 단언 글을 새 줄로(옛 줄 글 그대로 단언 · 동작 같음 + 따라감)
- 위키 rules · operations_b05 줄(관 자리 읽기 한 벌 · 관 지움 ↶ 정본 설계 · 폼 따라감)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:50:52 +09:00
eomsangdonandClaude Opus 5.5 ff21ef21b7 fix(472 덧 관 지움 ↶): 갈아끼움 — 지금 상세에 없던 측점이 정본 자리로 돌아오면 정본 설계(빈 기본 설계 아님)
- 관 지움 ↶ = 351 측점이 새로 서며 freshDesign(잠정 status · 포장 권장 pavement_suggested 빠짐 → 성토 경고 안내가 달라짐) → 같은 자리 정본 행이 있으면 그 설계 사본
- 지금 상세에 같은 자리 측점이 있으면(격자에 구조물 놓기 등) 옛 규칙 그대로 · 노선 초안 차례 그대로
- 시험 test_272_swap_keeps_canon 관 지움 되돌림(옛 코드 실패)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:34:51 +09:00
eomsangdonandClaude Opus 5.5 de0141b8fc refactor(472-6 6-B 한 벌): 노선 바뀜 넘김 규칙 · 세션 고침 얹기 · [저장] patch 바탕을 순수 TS 로 떼어 냄 — 동작 같음
- logic/B06_Section_Route_Carry.ts = 측점 열쇠 목록 · 측점 열쇠 칸 · 누가거리 칸 넘김(Station_Keys 몸통) · Station_Keys = 세션 겉
- B06_Section_Route_Carry_Patch.ts = 조정창 · 옮긴 고침 · 관 옵션 얹기 · crossPatchesFromCache · 서버용 routeCarryPatches(옛 carryAfterRouteSave 차례) · Section_Adjusts · Section_Store = 겉 · 내줌
- 칸 목록 USER_TOUCHED_KEYS · STRUCTURE_ADJUST_KEYS = logic/B06_Section_Design_Keys.ts · PIPE_MATCH_M = common_util_pipe_match.ts(옛 자리는 내줌)
- 시험 헬퍼 · 글 단언 시험 = 옮긴 자리로(목록 한 벌 자리만 바뀜)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:33:28 +09:00
eomsangdonandClaude Opus 5.5 789bd9ce09 fix(472 덧 관 지움 ↶): 서버 상세 읽기 관 세트 = 지금 노선에 얹은 관 자리 — 측점 계획 · 관 지점 GET · 화면과 한 벌
- 관 지점 정본 지문이 지금 노선과 어긋난 저장분(검증_sub4 · 파일 394 · 좌표 351) — 측점 계획(_load_pipe_points) · GET 은 351 에 얹고 서버 상세 읽기(attach_saved_shapes)만 파일 누가거리로 찾아 351 관 세트 빠짐 → 새로고침 = 관 세트 없음 · 관 지움 ↶ = 화면이 다시 얹어 관 세트 있음(누가토량 갈림)
- saved_pipes(노선 경로) — 상세 GET · 재생성 응답 · 설계 미리보기가 노선 경로를 넘김 · 노선 못 읽으면 저장분 그대로
- 시험 test_472_d_pipe_route_attach(옛 코드 실패) · golden 헬퍼도 같은 읽기

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:22:37 +09:00
eomsangdon 0e77191421 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_8' into sub_laptop_4 2026-10-19 11:09:22 +09:00
eomsangdon d7282afc7f Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-19 11:09:20 +09:00
eomsangdon 8b713b62b6 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-19 11:07:57 +09:00
eomsangdonandClaude Opus 5.5 e26f69cd5b refactor(472-6 6-B 나눔): 계산 등록부 690줄 → 시설 · 토량 · 배수 · 3D · 추천 줄을 design_calc_registry_facility.ts 로 — 동작 같음(460 + 248)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:06:44 +09:00
eomsangdonandClaude Opus 5.5 90c295cebf fix(472-5 덧 노선 초안 ↶): 버림 = 차례 하나 · 값 하나 — 사이 섞인 유토곡선 · 배지 없음
원인(브라우저 차례 엿보기): 관 옆 노선 교점 끌기 = 노선 초안(관은 follow 로 따라감) · ↶ 가
① 버림 차례(조용 · 초안 전 상세 되돌림)와 되돌리기 훅의 관 먹이기 차례 둘로 갈림(버림이 밀림)
② 버림 시작~되돌림 사이 종단도가 초안 때 갈아끼운 저장 상세 · 초안 종단과 섞어 그림
③ 되돌린 뒤 시설 줄이 한 박자 늦어 「낡음」 다시 셈이 옛 관 자리 계획선으로 셈(관 측점 면적 한 틀 틀림)
④ 되돌림 · 갈아끼움이 읽기 길의 얹기(조정창 · 관 옵션)를 빼고 면적부터 셈

- 되돌리기 훅: 버림 동안 관 · 구조물 안 먹임(버림 차례가 follow 로 초안 전 값까지)
- 버림 시작부터 종단도 그리기 멈춤(holdDraw) · 되돌림 바로 뒤 저장 기준 맞춤 · 묶음이 조용해지면 한 번 그림
- 종단도가 저장 상세를 받을 때 노선 초안이 이미 없으면 그 자리에서 저장 기준 · 저장 노선 셈 편집 = 그 노선 것(routeAlignment)
- 버림 동안 저장 노선 낡음 다시 셈(recross) 안 띄움(pipelineHolding)
- 상세 가게 얹기 꼬리 한 벌(withAdjustsAndAreas) — 읽기 · 갈아끼움 · 되돌림
- 시험 test_472_5c_drop_once(옛 코드 빨강) · 위키 규칙 한 줄 · 줄 번호

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:01:18 +09:00
eomsangdon 996aea67cd Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_8 2026-10-19 10:53:38 +09:00
eomsangdon 99213c3033 Merge remote-tracking branch 'origin/dev' into sub_laptop_8 2026-10-19 10:53:37 +09:00
eomsangdon 419b83ad64 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-19 10:52:12 +09:00
eomsangdonandClaude Opus 5.5 cd6ad892af test(472-6 6-A 시험 갈래): 서버를 AISLO_DESIGN_SAVE_FAIL_AFTER=<차례> 로 켜면 그 차례 뒤 일부러 실패 — 화면에서 실패 · 되돌림 확인용(평소 없음)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:51:06 +09:00
eomsangdonandClaude Opus 5.5 63f994972c feat(472-6 6-A 브라우저 한 본문): 노선 안 바뀐 [저장] · [확정] = 차례 조각을 모아 /design/save 한 요청
- design_save: 노선 초안이 없으면 saveOneBody — 차례마다 조각(본문 · 저장 뒤 정리) · 서버가 다 저장한 뒤에만 정리(초안 비움 · 화면 맞춤) · 실패 = 차례 이름째 「아무것도 저장 안 함」 · 되돌림 실패 = 「복구 확인 필요」 · 기다림 알림
- 조각 함수: 페이지 설정 · 관 · 구조물(보기 목록) · 추가 측점 · 계획고(한 벌 종단도) · 관 옵션 · 상단측 · 횡단(횡단 보기) — 옛 flush 함수는 노선 바뀐 저장 길에 그대로(조각을 써서 같은 본문)
- 보기 몫 steps · cross → parts · crossPart · 노선 바뀐 저장 길은 옛 차례 그대로(6-B)
- 옛 9 차례를 단언하던 시험 10 개를 한 본문 꼴로(옛 PUT 줄 → SAVE 줄 · 조각 정리 차례) · 위키 [저장] 표

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:41:58 +09:00
eomsangdon 4bbe85a8a9 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-19 10:16:39 +09:00
eomsangdonandClaude Opus 5.5 629c23ac22 fix(472-5 관 폼): 열린 관 폼이 밖에서 바뀐 값(되돌리기 · 횡단 보기)으로 다시 엶
- 흠(화면에서 찾음): ↶ 뒤 종단 「구조물 배치」 관 폼 칸이 옛 값(관경 1200)을 쥐고, 다른 칸(동물이동형)을 바꾸면
  옛 관경이 초안에 되쓰여 되돌림이 사라짐
- setPipeFacilities — 고른 관 값이 바뀌면 loadPipeForm(실시간 반영 중 · 임시 배치는 둠)
- 시험 test_472_5_shop_owner 배선 줄 · 화면 검증_sub2: 관경 바꿈 → ↶ 폼 1000 → 동물이동형 바꿔도 관경 1000 · 횡단 보기 관경 1500 → 종단 폼 1500 · ↶ ↷ 따라감

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:15:49 +09:00
eomsangdon 396abc8c3e Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-19 10:14:51 +09:00
eomsangdonandClaude Opus 5.5 12c3282abf feat(472-6 6-A 서버 한 본문 창구): POST /design/save — [저장] · [확정] 차례를 서버 한 창구에서 · 전부 아니면 없음
- B06_Section_Router_DesignSave: 페이지 설정 → 관 → 구조물 → 추가 측점 → 계획고 → 관 옵션 → 상단측 → 횡단 = 옛 창구 함수를 안쪽으로 부름(지우지 않음) · 측점 맞춤 · 재계산 · 하위 차례 실패도 실패
- common_util_save_guard: DB 행(projects · 단계 · 노선과 자식 넷) · storage(저장 범위 · 관 차례면 배수 폴더) 떠 둠 → 실패면 바뀐 표 · 바뀐 파일만 되돌림 · 되돌림 실패 = 500 「복구 확인 필요」 · 프로젝트 잠금(뒤 요청 기다림 · waited)
- 시험 test_472_6_design_save 5(storage 되돌림 · 중간 실패 행 · 해시 그대로 · 정상 = 옛 차례와 행 · 파일 같음 · 복구 실패 알림 · 잠금) — 검증_sub8 끝에 차 0
- 노선 바뀐 저장은 옛 길 그대로(6-B)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:11:36 +09:00
eomsangdonandClaude Opus 5.5 77be773c07 refactor(472-5 5-B 값 주인 하나): 횡단 상세 객체 = 상세 가게 하나 — 계산 묶음 페이지는 지문(노선 · 표본)만
- 상세 가게 칸 셋(B06_Section_Section_Canon.ts · 가벼운 자리): 저장 정본 상세(받을 때 · 세션 · 판 바뀜 · 되돌릴 때 · 갈아끼움 제외) · 초안 전 hold 상세(판 바뀌면 새 판) · 노선 초안 상세(= pipelineDetail)
- 페이지: canon.detail · held.detail · shown 사본 걷음 — 저장 기준 셈(savedEdits · storedPvi · crossNow)은 가게 칸을 읽음 · 초안 버림 = 가게 hold 상세로 정본 잡음
- 떠남(forgetSectionMemory) · invalidate 때 칸 셋 비움 · savedStations 는 sub2 관 · 구조물 줄로 셈 → 남김
- 시험: test_472_5b_detail_owner(옛 코드 빨강 3) · 묶음 헬퍼 넷(365 · 346_2 · 349_0j · 451_drop)이 종단도 흉내 정본을 가게 칸에도 채움
- 위키 design_page 값 · 규칙 · 층 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:07:30 +09:00
eomsangdonandClaude Opus 5.5 a3815bfaa1 fix(472-5 겹침 정리): 되돌리기 알림 한 벌 — 관 · 구조물 = 가게 알림 한 번 · 추가 측점 = 자기 훅 · 묶음 = 출처마다 한 번
- announceDesignStore = 관 · 구조물만(추가 측점은 _Api_PlusStations 훅이 이미 알림 · 페이지 설정은 5-C 훅)
- 계산 묶음 먹이기 — 되돌리는 동안 구독은 안 받음(되살림 훅 한 길) · 묶음 입력과 같은 값 다시 알림은 안 넣음
  (옛: 추가 측점 되돌리기에 묶음 두 번)
- 시험 test_472_5_shop_owner 알림 수(옛 코드 실패 확인) · helper_429 가짜 묶음이 받은 값을 입력으로(까닭: 실제 묶음과 같게)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:06:03 +09:00
eomsangdon d204cd7932 Merge remote-tracking branches 'origin/sub_laptop_4' and 'origin/sub_laptop_8' into sub_laptop_2 2026-10-19 09:57:37 +09:00
eomsangdonandClaude Opus 5.5 3b5022a9c0 refactor(472-5 5-B 나눔): design_pipeline_page.ts 저장 기준(정본 지문 · savedSource · savedEdits · storedPvi · crossNow)을 design_pipeline_page_saved.ts 로 — 동작 같음(694 → 646줄)
- 시험 anchor 한 줄(test_272_detail_memory 화면 선만 바뀜 = 정본 노선 번호를 나눈 파일에서 읽음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:56:17 +09:00
eomsangdonandClaude Opus 5.5 086ead9d6a fix(472-5 5-A 값 주인 하나): 관 · 구조물 주인 = 설계 가게 칸 — 화면 사본은 가게 알림으로 맞춤 · 되돌리기도 알림
- 되돌리기 · 다시하기(세션 직접 되씀) 뒤 announceDesignStore — 관 · 구조물 · 추가 측점 듣는 쪽을 되돌린 값으로
  (옛: 종단 목록 · 횡단 판 · 배수 편집기가 옛 값을 쥐고 다음 조작이 되돌림을 덮음)
- 종단 보기 — 가게 관 → 배수 편집기 adoptPipes(숨어도 · 제 쓰기 메아리 빼고 · 옵션만 바뀐 것도) · 가게 구조물 → takeStructures(보일 때)
- 횡단 보기 — 판이 마지막으로 읽거나 쓴 값과 다르면(옵션만도) 다시 실음(seen · foreign) · 제 쓰기는 쓰기 전에 적음
- 종단 고름 · 알약 관 = 시설 줄(가게 초안 자리 · 노선 따라감 뒤도) — 옛 알림 자리 안 봄
- 시험 test_472_5_shop_owner(옛 코드 실패 확인) · test_188_1 글 한 줄(까닭: 고름 관 원천 바뀜) · 위키 values · rules

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:53:26 +09:00
eomsangdonandClaude Opus 5.5 0accf68888 chore(472-4 ① R7 등록부): 서버 측점 열쇠는 ③ Route_Save · F3 시설 측점 계획과 같이 Node 로 — note 한 줄
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:51:51 +09:00
eomsangdonandClaude Opus 5.5 6564c9811d test(472-4 ① 요구 274): 노선이 바뀌면 손 상단측은 안 들고 감 — 새 지형이 정함(지금 규칙 굳힘)
- 넘기는 칸(CARRY_INPUT · ROUTE_CARRY · STRUCTURE_ADJUST)에 측구 방향 · 단면 유형 · 상단측 없음 · 노선 저장 코드에 uphill 없음
- 옮긴 구조물 새 자리 측점 = 지형 자동(출처 칸 없음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:51:06 +09:00
eomsangdonandClaude Opus 5.5 919cd68ba5 refactor(472-4 ① X6 넘기는 칸 한 벌): 옮긴 측점 · 노선 바뀜 횡단 입력 목록 정본 = TS ROW_CARRY_KEYS 하나 · 파이썬은 그 글을 읽음
- B06_Section_Router_Design.CARRY_INPUT_KEYS = Station_Swap.ts 의 ROW_CARRY_KEYS 선언을 읽음(손 목록 걷음)
- 공유 JSON 은 안 씀 — 이 TS 를 끄는 헬퍼 로더(측점 가게 · 묶음 단계)가 JSON 가져오기를 못 풀어 넓게 깨짐
- 시험 test_472_station_user_fields X6(파이썬 목록 글 없음 · 같은 일곱) · Router_Design · Station_Swap 관련 298 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:50:34 +09:00
eomsangdonandClaude Opus 5.5 b43c4f1060 test(시험 정리 둘): 구조물 정책 시험 = 사용자 구조물정의 판 23 을 읽어 판정 · 취향 저장소 시험 = 저장소 고르는 자리만
- test_b05_structures_registry_policy: 우클릭 목록 수 28 · 끈 종류 목록 · 바닥막이 켬 단언 → 마스터 파일(켬 · 끔 · managed_by)과 같은지로(수 · 이름 안 박음) · 맹암거 암거 높이 3 m · 경사 3 % = 사용자 지시(요구 223 · 4baf49ba4) 근거로 허용 목록
- test_prefs_persist_across_tabs: 388-3 세션 넘침 때 결과 칸 비우는 글(setOrMakeRoom)을 저장소 가름으로 오판 → storageFor 안만 판정

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:46:03 +09:00
eomsangdon 31175dd58e Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_8' into sub_laptop_3 2026-10-19 09:43:41 +09:00