Files
Aislo/docs/wiki/concepts/design_page/operations_common.md
T
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

5.7 KiB

type, status, related_pages, last_updated, source
type status related_pages last_updated source
concept stable
design_page/index
design_page/operations_b05
design_page/operations_b06
design_page/session_keys
design_page/rules
2026-10-19
docs/raw/조사/2026-10-19_470_B05B06_데이터흐름.md
docs/raw/조사/2026-10-19_465_요구272_값안변함.md
PLAN.md 466 · 467 · 468

공통 조작 흐름 — 되돌리기 · 보기 · 수명 · 저장

조작 표

조작 처음 놓이는 곳 브라우저 즉시 셈(모듈) 서버 뒤 셈(API) [저장]·[확정] 때 사본 위치(파일:줄)
↶ ↷ 사진첩 = 세션 draft 칸 글(고름 · 관 id 등 뺌) · 빈 칸 「""」·「{}」·「null」 = 칸 없음 · 「[]」 = 값 칸 되씀 → 종단 · 시설 · 노선 다시 먹임 · 횡단 입력 물러섬 = 저장 정본 — — 사진 n B05_Profile_UI_Profile_History.ts:50 · 57 · 186 · 226-245 · design_pipeline_facilities.ts:62-69 · B05_Profile_UI_RouteEdit_History.ts:174-180
B05 ↔ B06 전환 없음(보기 숨김 · 보임) 보인 보기가 가게 · 세션 다시 읽음 · 입력 대 묶음 맞춤(최대 3 바퀴) · 시설 줄 · 묶음은 숨은 동안도 셈 — — — design_page.ts:209-262 · design_pipeline_page.ts:559-582 · design_view_cross.ts:557-565 · design_view_profile.ts:427
종단 판 접기 pref profile-collapsed 본문 0 크기 = 파생값(낡음 예약 · 유토 총괄값 · 배분 선반입 · 측점 자료)만 셈 · 그리기만 건너뜀 — — — B05_Profile_UI_Profile_Render.ts:131-159 · 211-226 · B05_Profile_UI_Profile_Drag.ts:43-58
팝아웃 없음 — 종단 판 DOM 만 새 창 같은 함수 · 같은 가게 — — — design_profile_popout.ts:87-132
새로고침 세션 남음 · 메모리 전부 잃음 세션 상세로 먼저 섬 → 서버 정본과 비교(checkSessionCanon) → 다르면 갈아씀 · 노선 초안 있으면 hold · 관 · 구조물 · 추가 측점 초안 있으면 측점 냄 · 없으면 조용히 열고 가게 측점 = 상세 측점 상세 GET(정본 확인) — — B06_Section_Section_Store.ts:117-135 · design_pipeline_page.ts:528-545 · design_pipeline_page_publish.ts opened · shown
떠남 [취소] 없음 — 페이지 그대로 — — — — design_leave.ts:95-123
떠남 [폐기] 세션 고침 칸 지움(모든 노선 · NOT_EDITS · B08 · B09 칸 뺌) → 떠남 = dispose dispose = 묶음 · 시설 줄 · 페이지 자료(forgetPageData) · 상세 메모리(forgetSectionMemory) 버림 · 다시 열면 새로고침 길 — — — design_leave.ts:27-42 · 85-87 · design_page.ts:286-295 · B06_Section_Section_Store.ts:424-428
[저장] — 앞 단계 prepare = 전 측점 강제 다시 셈(서버가 면적 버림) · 화면 잠금 아래 차례 표 · 서버 정본 다시 셈 끝 = invalidateSectionDetail · 두 보기가 새 상세 한 객체 받음 · 노선 바뀜 = 페이지 다시 세움 — design_shared.ts:395-448 · design_save.ts:237-324
[확정] — [저장]과 같음 [저장] + 빈 측점 기본 설계 · 단계 완료 · 측구 쪽을 B05 종단 파일로 되씀 끝 = invalidateSectionDetail → B07 로 넘어감 · 노선이 바뀐 [확정] = 노선만 저장 · 다시 [확정] 알림 — design_shared.ts:426-432 · design_save.ts:303-310 · B06_Section_Router_Confirm.py:368-496
[초기화] — 상세 비움 · 새로고침(메모리 전부 버림) /route/reset DB 노선 행 지우고 초기값으로 · 파일 트리 복원 · 세션 초안 전부 지움(B08 · B09 뺌) — design_reset.ts:30-62 · B05_Profile_Router_Lifecycle.py:234-390 · common_util_initial_snapshot.py:38-54 · 266-327

[저장] 차례(DESIGN_SAVE_ORDER design_save.ts:58-68)

차례 기본 창구 서버 노선 바뀐 [저장] 위치(파일:줄)
route pendingRouteSave → saveRouteDraft /route/replan · 관 · 구조물 따라감 · 노선 밖 알림 새 노선 id · 관 · 구조물 초안 다시 얹음 design_save.ts:255-274
settings flushPageSettings PUT /route/page-settings 그대로 design_save.ts:177-178
pipes flushPendingPipes + 화면 몫(배수판 다시 받음 · PUT 없음) PUT /drainage/pipe-points 기본 창구만 design_save.ts:179-180 · 289-294
structures flushPendingStructures PUT /route/structures 기본 창구만 design_save.ts:181-182
plusStations flushPlusStations PUT /section/plus-stations 기본 창구만 design_save.ts:183-184
alignment flushAlignmentDraft PUT /route/profile-alignment 초안 노선 0 편집을 새 노선에 design_save.ts:185-186
culvertOptions flushCulvertOptions(culvertopt · 옛 노선 열쇠) pipe_points.json 한 번 더 PUT 옛 노선 열쇠로 읽음 design_save.ts:187-188 · B06_Section_Api_Culvert_Options.ts:67-95
uphill flushRouteParts 상단측 건너뜀 — 횡단 차례가 옮긴 뒤 보냄 design_save.ts:189-190 · 285 · B05_Profile_Api_Fetch.ts:321-342
cross ctx.cross(confirm) = 횡단 패치 한 요청 /sections/{노선}/save · confirm · 재계산 맨 앞 종단 경고 다시 씀(B06_Section_Server_Calc_Prebuild.py refresh_alignment) carryAfterRouteSave(새 측점으로 옮김) design_save.ts:275-283
  • 차례마다 따로 커밋 — 실패 = 그 차례에서 멈춤 · 이름째 알림 · 앞 차례는 저장된 채(design_save.ts:297-299).
  • 저장 중 = saving 표시 · 묶음 맞춤은 저장 뒤로 미룸(design_pipeline_page.ts:520).