- POST /sections/{r}/cross-design 엔드포인트 · CrossDesignResponse(파이썬 · TS) · CrossDesignRequest(TS) · TS computeCrossDesign 지움 — 부름 0(파이썬 CrossDesignRequest 는 test_316 이 써서 둠)
- 바깥 부름 0 export 지움 — readCrossDesignChoice · currentStationScope · culvertRequiredHalfWidth · calculateYScale · mountSectionStructureMenu · Culvert_Const 다섯 · outletSlopeFactory
- PIPE_DISPLAY_NAME = common_util_structure_catalog 로 — Section_Common 이 IrregularStations(화면) 안 끔
- Api_Fetch 세션 · 사진첩 창구 = 새 B06_Section_Api_Context.ts(fetchSectionContext · fetchCurrentRouteId · seedStandardCross) — Api_Fetch 가 b_page_state · Profile_History 안 끔
- 시험 경로 따라 고침(seedStandardCross 글 검사 · 헬퍼 흉내 모듈 이름 · 라우터 목록 시험)
- 위키 줄 번호 · 지운 엔드포인트 줄
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
type, status, related_pages, last_updated, source
| type | status | related_pages | last_updated | source | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concept | stable |
|
2026-10-19 |
|
B05 · B06 지킬 규칙
불변 규칙
| 규칙 | 지키는 자리(파일:줄) | 시험 |
|---|---|---|
| 파생값 = 입력(저장 정본 + 세션 초안)만의 함수 — 보기 차례 · 접힘 · 메모리 · 새로고침 · 들어온 길로 안 갈림 | logic/design_pipeline.ts:49 STAGE_DEPS · design_pipeline_page.ts:559-582 reconcile |
test_272_* |
상세 가게 메모리 = 페이지 수명 — 떠남 = forgetSectionMemory · [저장] · [확정] · [초기화] · 노선 저장 = invalidateSectionDetail |
design_page.ts:294 · design_shared.ts:428 · 435 · design_reset.ts:41 · design_view_profile.ts:469 · B05_Profile_UI_RouteEdit_Apply.ts:171 · 211 |
test_272_detail_memory |
| [폐기] = 세션 고침 칸만 지움 · 메모리는 떠남(dispose)이 비움 | design_leave.ts:85-87 · design_page.ts:286-295 |
test_346_4_design_leave |
| 조용한 차례(열 때 · 노선 초안 버림) 끝 = 가게 측점 · 종단 = 지금 상세 측점 · 저장 기준 · 같은 목록은 다시 안 냄 | design_pipeline_page_publish.ts shown · opened · design_pipeline_page.ts:417-419 · 544 |
test_272_drop_store_stations |
| 노선 초안 없는 차례 = 서버 정본 측점 기하 · 표본을 브라우저 값으로 안 덮음(같은 자리 0.01 m · 축 1e-3 → 앞 횡단 → 그 자리 옛 횡단 → 저장 정본) | logic/B06_Section_Station_Swap.ts:171-182 · 238-247 · B06_Section_Section_Store.ts:241-248 |
test_272_swap_keeps_canon |
| 노선 초안 차례 = 새 · 옮긴 측점만 브라우저 지반 표본 | logic/B06_Section_Station_Swap.ts:249-251 |
test_346_2_station_swap |
| 다시 셈 입력 물러섬 = 세션 고름 → 저장 정본 설계 → config 기본값 · 고름 단추는 메모리 상세 설계를 안 덮음 | B06_Section_Cross_Refresh.ts:402-408 · B06_Section_UI_Page_Design_Sync.ts:59-104 |
test_272_choice_undo |
소단 사본 쓰는 자리 = 시설 줄 하나(B05 만 열어도) · 같으면 안 씀 · 사본 없으면 저장분 design.berm |
design_facility_lane.ts:151-166 · B06_Section_Cross_Refresh.ts:362-368 |
test_272_berm_source |
| 두 보기가 보는 파생값은 페이지 한 벌이 숨은 동안도 셈 · 보기는 그리기만 · 접힘 = 그리기만 건너뜀 | design_facility_lane.ts:1-12 · B05_Profile_UI_Profile_Render.ts:211-226 |
test_272_hidden_summary · test_271_facility_lane |
| 되돌리기 걸음 = 사용자 조작으로 값이 실제로 바뀐 때만 · 빈 칸(「""」「{}」「null」) = 칸 없음 · 빈 맵 persist = 칸 지움 | B05_Profile_UI_Profile_History.ts:50 · 235-236 · B06_Section_UI_Page_Link_Session.ts:97-105 · 153 |
test_272_history_empty_cells |
| 짝 없는 새 측점(구조물 · 추가 측점 · 새 관) = 계획선 꼭짓점 안 세움 · 짝 있는 옮긴 측점 = 꼭짓점 따라감 | common_util_structure_station.ts:356 · B05_Profile_Router_Confirm.py:306-400 |
test_427_1_follow_seat · test_459_route_seat_mirror |
| [저장] · [확정] = 서버가 입력만으로 정본 다시 셈 · 브라우저 결과(면적 · 표본 · 측점) 받아 적지 않음 | design_save.ts:58-68 · B06_Section_Router_Confirm.py:203-215 |
test_b06_save_recompute |
| 자동저장(디바운스 PUT) 없음 · 화면 잠금 = [저장] · [확정] · [초기화] · 추천 [적용]만 | design_save.ts:249 |
— |
측점 열쇠 = common_util_station_key 한 벌 · 노선 바뀜 = 관 · 구조물 좌표(x · y) 따라감 · 누가거리 다시 매김 |
common_util_station_key.ts:32 · common_util_route_follow.ts:291 |
test_344_3_station_key_mirror · test_410_follow_xy |
| B05 · B06 캐시 = 한 벌 · [저장] 한 번에 함께 나감 | design_shared.ts:395-448 · design_save.ts:237 |
— |
정본 자리 = 값을 낳은 주인 — 노선 시설 = pipe_points.json · structures.json · 횡단 값 = 횡단 패치 |
B05_Profile_Api_Pipes_Draft.ts:30-37 · B05_Profile_Structures_Router.py:386-405 · B06_Section_Section_Store.ts:449 |
— |
바꿀 때 할 일
| 경우 | 할 일 |
|---|---|
| 새 계산 | CLAUDE.md §5 ① 짝 · ② TS → 서버 Node · ③ 서버 단독 중 먼저 고름 · design_page/calculations 한 줄 |
| ① 짝 | 두 파일 머리에 짝 · 거울 시험 이름 · resources/tester 거울 시험 |
| ② TS → Node | 끌려가는 파일 모듈 맨 위 DOM · window · sessionStorage 금지 · 묶음 다시 지음 |
| 조작 · 흐름 바꿈 | 같은 커밋에 design_page/operations_b05 · design_page/operations_b06 · design_page/operations_common · design_page/values 고침 |
| 새 세션 칸 | b_page_state.ts 등록부 · 저장 타입 · design_page/session_keys |
| 새 메모리 사본 | 비우는 때(떠남 · [폐기] · [저장] · [확정] · [초기화])를 정하고 design_page/values 사본 칸에 적음 |
| 줄 번호 | 고친 함수의 줄이 바뀌면 이 폴더 줄 번호도 고침 |
예외 · 남은 틈
| 내용 | 자리(파일:줄) | 상태 |
|---|---|---|
저장 밖 정본 쓰기 셋 — 넓힘 /regenerate · [측점 만들기] · 추천 [적용] |
B06_Section_Router.py:378-388 · B06_Section_Router_Stations.py:236-296 · B05_Profile_UI_RouteEdit_Apply.ts:220-245 |
사용자 확정 · 확인창 · 472-6 협의 |
| [저장] 9 차례 · 차례마다 따로 커밋 — 실패 = 앞 차례만 저장 | design_save.ts:253-299 |
472-6 |
pipe_points.json 한 [저장]에 두 번 PUT(관 · 관 옵션) |
B06_Section_Api_Culvert_Options.ts:67-95 |
코드 확인 |
| 노선 바뀐 [저장]의 관 옵션 차례 = 옛 노선 열쇠 | design_save.ts:187-188 |
추정 |
| ↶ ↷ 가 세션을 직접 되씀 — B06 조정 메모리 맵 · B05 상단측 맵이 옛 값일 수 있음 | design_store.ts:231-235 |
추정 |
페이지 설정 ↶ = 세션만 · 폼 · 기울기 한도 안 얹음 · profile-enforce-min-cover = result 통 |
b_page_state.ts:226 |
추정 |
| 스냅 켬 · 간격 = 되돌리기 밖 | B05_Profile_UI_RouteEdit_SnapStep.ts:74-78 |
추정 |
flushDesignStore 부름 없음 — 멈춘 뒤 1 s 안 새로고침 = 가게 세션 사본 잃음(다시 셈) |
design_store.ts:179 |
코드 확인 |
| 「[]」 — 되돌리기 = 값 · 떠남 확인 = 빈 칸 | B05_Profile_UI_Profile_History.ts:50 · design_leave.ts:41-42 |
코드 확인 |
| 단면 모양 기본값 짝 다름(X1) | B06_Section_Cross_Refresh.ts:438 · B06_Section_Router_Design.py:402 |
사용자 협의 |