chore(조사): 472-0 B05 · B06 구조 다시 세움 목록 — 계산 40 갈래 · 안 쓰는 길 · 사본 · 단계 나눔
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
# 472-0 B05 · B06 구조 다시 세움 — 계산 · 안 쓰는 길 · 사본 · 단계 나눔 목록
|
||||
|
||||
분석 = 클로드 에이전트(Opus 5.5 · 읽기만) · 기준 = `main_laptop_1` `ae5a2de91`(466 · 467 반영) · 범위 = B05 · B06(`A00_Common/design/` · `B05_Profile/` · `B06_Section/` · `common_util/` · 서버 파이썬 · 서버 Node 묶음) · 추정은 (추정).
|
||||
근거 스크립트 = scratchpad `g472\`(graph.mjs = TS import 그래프 · 브라우저 · 묶음 다섯 도달 · deadexp.mjs = 바깥 부름 없는 export · keys.mjs = 세션 열쇠 부름 수).
|
||||
|
||||
## 0. 결론
|
||||
|
||||
- 계산 40 갈래 — 이미 ②(같은 TS 를 서버 Node) = 누가토량 · 유토 배분 · 관 길이 · 구조물 면적 · 터파기 · 3D 여섯 · ① 짝(TS ↔ 파이썬) = 23 · 브라우저만(입력 도구 · 표시) = 7 · 서버만(래스터 · 추천) = 4.
|
||||
- 서버 [저장] 정본의 뼈대(측점 · 지반 · 계획선 · 횡단 설계선 · 표준 면적)는 **전부 파이썬** — 브라우저 TS 와 짝. Node 는 그 뒤 구조물 면적 · 누가토량만.
|
||||
- 흠이 몰리는 짝(10-01 뒤 fix 커밋) — 측점 열쇠 13 · 횡단 다시 셈 14 · 측점 갈아끼움 8 · 시설 따라감 7 · B05 확정 10 · 관 세트 6+6 · 횡단 설계 라우터 6.
|
||||
- 짝인데 값이 갈리는 자리 여섯(1.2) — 단면 모양 기본값 · 지반 표본 출처(격자 ↔ npz) · 면적 두 갈래 · 평면 발자국 B07 파이썬 · 경고 기준표 두 벌 · 넘기는 칸 목록 두 벌.
|
||||
- 안 쓰는 길 — 파일 하나 · 엔드포인트 셋 · export 30 · 세션 열쇠 하나 · 파이썬 짝 하나 · 늘 건너뛰는 시험 하나(2장).
|
||||
- 서버 Node 묶음이 화면 · 세션 코드를 끌고 감(1.3) — 등록부 실행기는 logic · common_util 만 끌어야 함.
|
||||
- 700줄 넘음 넷(`mass_haul_view` 866 · `mass_haul_balance` 842 · `route_polyline.py` 745 · `route_geometry.py` 707) · 690 넘음 열하나 — 고치기 전 나눔.
|
||||
|
||||
## 1. 계산 목록
|
||||
|
||||
- 열 — Node = 서버 Node 묶음 이름(sc = server-calc · co = corridor · ex = b07-extent) · 브라 = 브라우저 화면이 부름(묶음 단계) · 저장 = [저장] · [확정]에서 정본을 내는 쪽 · 흠 = 10-01 뒤 fix 커밋 수(TS/py) + PLAN · 조사 번호 · 자리 = 제안 실행 자리(즉시 = 브라우저 즉시 + 서버 정본 같은 TS · 정본 = 서버 정본만 · 서버만 = 무거운 GIS).
|
||||
- 짝 표시는 두 파일 머리 · 부르는 곳 grep 으로 확인 · 거울 시험은 `resources/tester` 에서 두 이름이 함께 나오는 파일.
|
||||
|
||||
### 1.1 표
|
||||
|
||||
| # | 계산 | TS 파일 | 파이썬 짝 | Node | 브라 | 저장 | 낳는 값 | 거울 시험 | 흠 | 난이도 | 자리 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| **노선** ||||||||||||
|
||||
| R1 | 평면 폴리라인 · 곡선(BC · EC · MC) | `logic/B05_Profile_UI_RouteEdit_Curve.ts:243` buildEditedPolyline · `logic/B05_Profile_Pipeline_RouteGround.ts:73` | `common_util_route_polyline.py:579` build_planned_polyline(745줄) | — | route | 파이썬 `/route/replan`(`B05_Profile_Router_Replan.py:552`) | 노선 선 · 곡선표 | `test_route_polyline_browser_mirror` | 0/0 · 398-2 · 433-14 | 어려움 — 파이썬을 추천 엔진 · B04 배수 · 노선 확인도 부름 | 즉시(정본 Node) · 추천 엔진은 파이썬 둠 |
|
||||
| R2 | 손잡이 → IP · R | 같은 파일 dragHandleTo | 짝 아님(반대 방향) | — | 편집기 | 안 셈(IP 저장) | 편집 입력 | `test_route_polyline_handle_drag` | — | 쉬움 | 브라우저(입력 도구) |
|
||||
| R3 | 노드 편집 규칙(곡선 한도 · 고정점) | `logic/B05_Profile_UI_RouteEdit_Edits.ts` | `B05_Profile_Route_NodeEdits.py:21` | — | 편집기 · route | 파이썬 Replan | 고친 노드 | `test_430_route_edit_rules` | 430 · 441 ① · 453 | 쉬움(48줄) | 즉시 |
|
||||
| R4 | 스냅 맞춤(MC → 일반측점) | `logic/B05_Profile_RouteEdit_StationFit.ts` | 짝 아님(머리 명시 · 서버는 저장 IP 그대로) | — | 편집기 | 안 셈 | IP 자리 | `test_366_3_station_fit` | 2 · 390 · 454 | 쉬움 | 브라우저(입력 도구) |
|
||||
| R5 | 측점 틀(법선 · 방위 · 스냅 측점) | `logic/B05_Profile_UI_RouteEdit_Frame.ts:61` | `B05_Profile_Engine_Sections_Core.py:449-519` | — | stations | 파이썬 | 측점 좌표 · 방위 | `test_b05_routeedit_frame_mirror` · `test_224_2_station_snap` | 0/2 · 465 ②(입력 선 다름) | 중간 | 즉시 |
|
||||
| R6 | 측점 목록(일반 · 관 · 구조물 · 곡선 · 시종점) | `logic/B05_Profile_Sections_Stations.ts:276` · `design/logic/design_pipeline_stations.ts` | `Sections_Core.py:449` generate_sections | — | stations | 파이썬(`B05_Profile_Route_Save.py` · `B05_Profile_Router_Confirm.py`) | 측점 · 열쇠 | `test_344_3_pipeline_stations_mirror` · `test_407_curve_station` | 1+2/2 · 412 H1 · 424-1 ① · 433-11 · 450 · 458 | 어려움 — 파이썬을 B03 체인 · B07 IP 표 · 추천도 부름 | 즉시 |
|
||||
| R7 | 측점 열쇠 | `common_util_station_key.ts:32` | `common_util_station_key.py:32`(부르는 곳 `Route_Save_Parts` 하나) | — | stations | 파이썬 | grid:k · pipe: · structure: | `test_344_3_station_key_mirror` | 1 · `B06_Section_Station_Keys.ts` 13 · 457 · 459 | 쉬움 | 즉시 |
|
||||
| R8 | 측점 갈아끼움(새 측점에 횡단 옮김) | `B06_Section/logic/B06_Section_Station_Swap.ts:171` | 없음(서버는 처음부터 셈) | — | 가게 stations 구독 | 안 감 | 초안 상세 | `test_346_2_station_swap` · `test_272_swap_keeps_canon` | 8 · 412 H1 · 433-11 · 450 · 458 · 465 ② | 중간 | 브라우저 — R6 이 서버와 한 벌이 되면 대부분 걷힘 |
|
||||
| **지반** ||||||||||||
|
||||
| G1 | 지반 표본 | `common_util_surface_sampler.ts:65` heightAt · `B05_Profile_Api_TerrainGrid.ts:33-99` · `Pipeline_RouteGround.ts:103` | `common_util_surface_sampler.py:210`(npz) | ex | ground | 파이썬 sample_xy(저장 노선 선) | 측점 표본 | `test_344_1_surface_sampler_mirror` | 0/1 · 465 ② · R7(1e-4) | 중간 — 서버 Node 가 같은 격자 `.bin`(`dtm_grid_file`)을 읽으면 같은 값 · 정본 값 바뀜(협의) | 즉시 · npz → 격자 만들기만 파이썬 |
|
||||
| G2 | 미교차 넓힘 표본 | `logic/B05_Profile_Sections_Ground.ts:269` extendUnclosed | `B06_Section_Engine_SampleExtend.py:62` | — | cross | 파이썬(`Server_Calc_Prebuild.py:208`) | 넓힌 표본 | `test_344_1_sections_ground_mirror` | 349-0j | 중간 | G1 과 함께 |
|
||||
| G3 | 넓힘(표본 폭 넘음) | — | `B06_Section_Router_Widen.py` | — | 서버 요청 | 파이썬이 저장 밖에서 DB 씀(N10) | 표본 폭 | — | 446 | — | 서버만 · 저장 시점 472-6 협의 |
|
||||
| G4 | 상단측(단면 유형 기본 재료) | `logic/B05_Profile_Pipeline_Detail.ts` uphillSide | `Sections_Core.py` uphill_side | — | cross | 파이썬 | 상단측 | `test_346_2_pipeline_cross_page` | 7 | 쉬움 | 즉시 |
|
||||
| **종단** ||||||||||||
|
||||
| P1 | 첫 계획선(지반 따라감 base PVI) | `logic/B05_Profile_Grade_Ground.ts:114` · `Pipeline_Grade.ts:285` | `B05_Profile_Engine_Grade_Profile.py:537` · `Engine_Grade_Solver.py` | — | planline | 파이썬 | base PVI | `test_344_2_route_pairs` · `test_432_1_curve_law` | 4/3 · 438 · 455 | 어려움 — 추천 엔진(`RouteInitial_Profile`)도 파이썬을 씀 | 즉시 · 추천은 파이썬 둠 |
|
||||
| P2 | 계획선 짓기(편집 → 꼭짓점 · 종단곡선) | `logic/B05_Profile_UI_Profile_Alignment.ts:401`(700줄) | `B05_Profile_Engine_Grade_Alignment.py:494`(664줄) | — | profile | 파이썬 `PUT profile-alignment`(`B05_Profile_Router.py:456`) | 측점 계획고 | `test_426_profile_straight` · `test_432_1` · `test_213_1` · `test_438_1` | 2/4 · 426 · 432 · 455 | 중간 — TS 700줄 먼저 나눔 | 즉시 |
|
||||
| P3 | 종단곡선 법칙(L · R = L/Δ · 큰 R 직선) | `logic/B05_Profile_Profile_CurveLaw.ts` | `B05_Profile_Engine_Grade_CurveLaw.py` | — | profile | 파이썬 | L · R | `test_432_1_curve_law` | 1 · 432 · 438 · 461 | 쉬움 | P2 와 함께 |
|
||||
| P4 | 직선 판정 | `logic/B05_Profile_Profile_Straight.ts:21` | `Grade_Alignment.py` | — | profile | 파이썬 | 직선 꼭짓점 | `test_426` · `test_271_straighten_pick` | 1 · 426 | 쉬움 | P2 와 함께 |
|
||||
| P5 | 노선 바뀜 계획고 옮김 | `logic/B05_Profile_Grade_Carry.ts:188` | `B05_Profile_Engine_Grade_Carry.py:149` | — | follow | 파이썬(Route_Save) | 옮긴 편집 | `test_400_profile_carry` · `test_349_0v_route_save_span` | 0 · 400 · 412 M4 | 중간 | 즉시 |
|
||||
| P6 | 옮긴 시설 꼭짓점 세움 | `logic/B05_Profile_Grade_Seat.ts:32` · `common_util_structure_station.ts:355` followMovedNodes | `Router_Confirm._seat_born_nodes` · Route_Save `_carry_profile` | — | follow · planline | 파이썬 | 꼭짓점 | `test_427_1_follow_seat` · `test_459_route_seat_mirror` | 2 · 427 · 433-5 · 459 | 중간 | 즉시 |
|
||||
| P7 | 직선화 · 자유지정 · 쉬프트 · 시종점 | `logic/B05_Profile_UI_Profile_Straighten.ts` · `design/logic/design_profile_free.ts` · `logic/B05_Profile_UI_Profile_Pivot.ts` · `logic/B05_Profile_EndOffsets.ts` | 없음(편집값만 저장 → P2) | — | 종단도 | 안 셈 | 편집 입력 | (짝 아님) | 2+2 · 461 · 426 | 쉬움 | 브라우저(입력 도구) |
|
||||
| P8 | 종단 경고(최대 기울기 · 법정 L · 최소 R · 최소 피복) | `B05_Profile_UI_Panel_Fields.ts` PROFILE_CRITERIA(화면 파일 안 표) · CurveLaw verticalCurveShortfalls · `logic/B05_Profile_UI_Profile_Guard.ts` · `B05_Profile_UI_Profile_MinCover.ts` | `B05_Profile_Engine_Grade.py` resolve_grade_options · `B05_Profile_PageSettings.py` | — | 종단도 | 파이썬(경고만 다시) | 경고 칩 | `test_442_2_grade_limit_mirror` | 448 · 455 · N6 · N7 | 쉬움 — 기준표를 자료 한 벌로 | 즉시 · 기준표는 서버가 내려줌 |
|
||||
| **횡단** ||||||||||||
|
||||
| C1 | 횡단 설계선 | `common_util_cross_design.ts:267` · `_geometry.ts` · `logic/B06_Section_Cross_Stage.ts:93` · `B06_Section_Cross_Refresh.ts` | `B06_Section_Engine_Design.py:195` · `Engine_Design_Geometry.py` | ex(geometry) | cross | 파이썬(`Server_Calc_Prebuild.py:273` → `Router_Design.py:286` enforce_design_lines) | 설계선 · 노면 끝 · 미교차 | `test_b06_cross_design_mirror` · `test_178_2_berm_fill_mirror` | 0+14+4/1+6 · 439 · 465 ⑦ · 349-0j | 중간 — 파이썬을 B07 · 추천 · Route_Save · B05 확정도 부름 | 즉시 |
|
||||
| C2 | 단면적(절 · 성 · 측구 · 층따기) | `common_util_cross_design_areas.ts` | `B06_Section_Engine_Areas.py` | sc · ex | cross | **두 갈래** — 표준 측점 = 파이썬 · 구조물 측점 = Node | 측점 면적 | C1 시험 안 | R7 | 쉬움(C1 과 함께) | 즉시 |
|
||||
| C3 | 확정 보정(포장 구간 · 세월교 하강 · 기울임) | `logic/B06_Section_Cross_Enforce.ts:40` | `Router_Design.py` · `Engine_Tilt.py` · Prebuild `_enforce_stored_designs` | — | cross | 파이썬 | 보정 설계 | `test_349_0n_cross_enforce_mirror` | 2 · 349-0n | 쉬움 | C1 과 함께 |
|
||||
| C4 | 소단 구간(구조물 → 구간) | `B06_Section_UI_Page_Persist.ts:157` bermSpansFromStructures(**화면 파일 안**) | `B06_Section_Engine_Structures_Wall.py:124` load_berm_spans | — | 시설 줄(467) | 파이썬 | 소단 구간 | `test_272_berm_source` | 465 ③ · N3 · 467 | 쉬움 | 즉시 · TS 를 `common_util` 로 |
|
||||
| C5 | 소단 사면 점 | `common_util_cross_berm.ts` | `common_util_cross_berm.py` | sc · co · ex | cross | 파이썬 + Node | 사면 꺾임 | `test_178_2_berm_fill_mirror` | 0 | 쉬움 | C1 과 함께 |
|
||||
| C6 | 맹암거 얹기 · 기울임 | `common_util_structure_underdrain.ts` | `Engine_Tilt.py` load_underdrains · attach_underdrains | — | cross | 파이썬 | underdrain 칸 | 없음(추정) | — | 쉬움 | C1 과 함께 · 거울 먼저 |
|
||||
| C7 | 반폭 맞춤 · 교차점 손잡이 · 성토 5 m 경고 | `logic/B06_Section_UI_Cross_Fit.ts` · `logic/B06_Section_UI_Cross_FillSlope_Warn.ts` | 없음 | ex(Fit) | 카드 | 안 셈 | 표시 반폭 · 경고 | (짝 아님) | 370 · 379 | 쉬움 | 브라우저(표시) |
|
||||
| **시설** ||||||||||||
|
||||
| F1 | 시설 따라감(노선 바뀜 → 관 · 구조물 자리) | `common_util_route_follow.ts:291` · `logic/B05_Profile_Pipeline_Follow.ts` · `logic/B05_Profile_Structure_Follow.ts` | `common_util_route_follow.py:120` | — | follow | 파이썬(Route_Save · `Structures_Router.py` · `Plus_Stations.py`) | 새 좌표 · 누가거리 | `test_410_follow_xy` · `test_344_2_route_pairs` · `test_459` | 7/2 · 364-7 · 400-1 · 411-B · 412 M2 · 427 · 442 H2 · 457 ① | 중간 | 즉시 |
|
||||
| F2 | 추가 측점 따라감 | `B05_Profile_Api_PlusStations.ts` followPlusDraft(**Api 파일 안**) | `B05_Profile_Plus_Stations.py:82` | — | follow | 파이썬 | 추가 측점 | `test_459_route_seat_mirror` | 3 · 459 | 쉬움 | 즉시 · TS 를 logic 으로 |
|
||||
| F3 | 시설 측점 계획 | `common_util_structure_station.ts` | `common_util_structure_station.py` | — | stations | 파이썬 | 시설 측점 | `test_322_3_plan_mirror` · `test_234_1_structure_station` | 5 | 중간 — 파이썬을 B07 · 배수가 넓게 부름 | 즉시 |
|
||||
| F4 | 형상 얹기(관 세트 · 벽 · 포장 · 맹암거 그림 자료) | `common_util_structure_attach.ts:130` · Pipeline_Detail | `B06_Section_Engine_Attach.py:114` | — | cross(초안 상세) | 파이썬(GET detail) | 그림 자료 | `test_323_4_attach_mirror` | 1 · 457 | 중간 | 즉시 |
|
||||
| F5 | 관 세트(관경 · 날개벽 · 집수정) | `common_util_culvert_sets.ts`(668) · `logic/B06_Section_UI_Cross_Culvert_Const.ts` | `B06_Section_Engine_Culvert.py`(700) | Const = sc · co · ex | 카드 | 파이썬(B04 · B07 · B08 도) | 관 세트 | `test_b06_culvert_sets_mirror` · `test_b06_pipe_wall_height_mirror` | 6/6 | 어려움 — 파이썬 소비자 셋 | 짝 유지 · 거울 · 472 뒤 |
|
||||
| F6 | 벽 · 포장 | `common_util_structure_walls.ts` · `common_util_structure_pavement.ts` | `Engine_Structures_Wall.py` · `common_util_structure_pavement.py` | — | 카드 | 파이썬 | 벽 · 포장 | `test_b06_structure_walls_mirror` · `test_b06_structure_pavement_mirror` | — | 중간(B07 소비) | 짝 유지 |
|
||||
| F7 | 관 길이 · 구조물 폐회로 면적 · 다단 벽 | `B06_Section_Structure_Layouts.ts:95 · 287` · `design_structure_pipe_calc.ts` · `common_util_cross_structure_areas.ts` | 없음(한 벌) | sc | 카드 · 관 칸 | Node(`Server_Calc_Prebuild.py:297`) | 관 길이 · 구조물 면적 | `test_b06_pipe_length` · `test_299_ford_span_pipe` | 2+2 · 416 L2 · 449 | — | 이미 ② · 등록부에 올림 |
|
||||
| F8 | 터파기 | `common_util_excavation.ts` | `common_util_excavation.py`(운영 부름 없음) | sc · co · ex | 카드 | Node | 터파기 | `test_excavation_mirror` | — | 쉬움 | ② · 파이썬 짝 걷음(2장) |
|
||||
| F9 | 세월교 높이 · 깊이 | `design_structure_ford_calc.ts` | B04 Basins ford_height_m · B08 ford_depth | — | 폼 | 파이썬 | 높이 | `test_65_ford_defaults` · `test_73_11_b08_hydro_box_ford` | — | 쉬움 | 짝 유지(B04 · B08) |
|
||||
| **토량** ||||||||||||
|
||||
| E1 | 누가토량 | `common_util_mass_haul.ts:426` · `_curve.ts` | 없음(한 벌) | sc | 그릴 때(`B05_Profile_UI_Profile_MassHaul.ts:304-332`) | Node | 누가토량 · 배지 | (같은 코드) | 0 · 272 다섯 길(모두 입력 쪽) | — | 이미 ② |
|
||||
| E2 | 유토 배분 · 운반거리 | `common_util_mass_haul_balance.ts:584`(842) · `_settle.ts` | 없음 | sc | **아니오** — `/haul-plan` 요청 | Node | 배분 | — | 0 | — | 지금 서버 Node 만 · 등록부 = 정본(브라우저 실행 여부 협의) · 842줄 나눔 |
|
||||
| **배수 · 3D · 추천** ||||||||||||
|
||||
| D1 | 배수유역 세부 나눔 | TS 는 일정만(`logic/B05_Profile_Drainage_Live.ts`) | `common_util_drainage_detail.py` · `B04_PreProcess_Router_Basins.py:538` | — | 서버 요청 | 파이썬(관 PUT) | 유역 · 관경 제안 | — | 6 · 369 | — | 서버만(래스터 흐름) |
|
||||
| D2 | 관 자리 제안 | `logic/B05_Profile_Drainage_Suggest.ts`(모으기만) | suggest_pipe_positions | — | 서버 요청 | — | 제안 | — | 369 | — | 서버만 |
|
||||
| D3 | 3D 길 모형 | `B05_Profile_UI_Corridor_Build.ts` 외 · Worker | 없음 | co | worker | Node(`B05_Profile_Corridor_Prebuild.py`) | 3D | — | 0 | — | 이미 ② |
|
||||
| D4 | 평면 발자국(절성토선) | `logic/B05_Profile_PlanFootprint.ts:160` · `Footprint_Stage.ts` | `B07_DesignDetail_Engine_Cad_PlanSlope.py`(B07 이 따로 셈) | — | footprint | 안 셈 | 발자국 | `test_346_2_plan_footprint_mirror` | 1 · 366 · 381 | 중간 | 즉시 · B07 쪽은 472 밖(기록) |
|
||||
| N1 | 노선 추천 | `B05_Profile_UI_RouteEdit_Initial_Model.ts`(보기만) | `B05_Profile_Engine_RouteInitial*`(열 파일) | — | 서버 요청 | 파이썬 | 추천 노선 | `test_419_1_recommend_engine` | 419 · 420 | — | 서버만(무거움 · 점수용) · [적용] 정본은 R1 · R6 길 |
|
||||
|
||||
### 1.2 짝인데 값이 갈리는 자리(flag)
|
||||
|
||||
| # | 자리 | 브라우저 | 서버 | 확인 |
|
||||
|---|---|---|---|---|
|
||||
| X1 | 단면 모양 기본값 | `"left_cut"`(`B06_Section_Cross_Refresh.ts:399` 앞뒤) | 상단측 기준 `default_section_modes`(`B06_Section_Router_Design.py:402`) · 다른 자리는 `"left_cut"`(`:258 · 318 · 374`) | 465 ⑦ · 미결(사용자 협의) |
|
||||
| X2 | 지반 표본 출처 · 입력 선 | 격자 `.bin` heightAt · `/route/plan` planned 선 | npz sample_xy · 저장 경로 폴리라인 | 465 ② · 축 3.3e-4 · 467 B1 로 정본 측점만 막음 |
|
||||
| X3 | 단면적 두 갈래 | 전부 TS | 표준 측점 = 파이썬 Engine_Areas · 구조물 측점 = Node TS | 코드 확인 · R7 1e-4 |
|
||||
| X4 | 평면 발자국 | TS PlanFootprint | B07 파이썬 PlanSlope 따로 | 거울 시험 있음 · 두 벌 |
|
||||
| X5 | 경고 기준표 | 화면 파일 `B05_Profile_UI_Panel_Fields.ts` 안 표 | `FOREST_ROAD_PROFILE_CRITERIA` | 거울 시험 있음 · 자료 두 벌 |
|
||||
| X6 | 노선 바뀜 넘기는 칸 목록 | `B06_Section_Station_Keys.ts:46` 근처 | `CARRY_INPUT_KEYS` · `ROUTE_CARRY_KEYS`(`B05_Profile_Route_Save.py:275-279` · B03 체인 `:477`) | 손으로 맞춘 목록 둘(추정 — 거울 없음) |
|
||||
|
||||
- 짝 표시 낡음 — `RouteEdit_Curve.ts` · `common_util_excavation.py` 머리가 시험을 `tmp/tests/…` 로 가리킴(지금 `resources/tester`).
|
||||
|
||||
### 1.3 서버 Node 묶음이 끄는 화면 · 세션 코드
|
||||
|
||||
| 묶음 | 끌림 | 까닭(import) |
|
||||
|---|---|---|
|
||||
| sc · co | `B05_Profile_UI_IrregularStations.ts`(571 · 화면) | `B06_Section_UI_Section_Common.ts:11` 이 PIPE_DISPLAY_NAME 하나 |
|
||||
| co | `B05_Profile_UI_Profile_History.ts` · `b_page_state.ts` · `design_store.ts` | `B06_Section_Api_Fetch.ts:19-20`(세션 · seedPageHistory) |
|
||||
| sc · co · ex | `design_pick_match` · `design_pipe_ids` · `design_selection`(세션 읽기) | 구조물 그림 파일이 고른 것을 봄 |
|
||||
|
||||
- 지금 브라우저 도달 집합에 없는 것 = `common_util_mass_haul_balance.ts` · `_settle.ts`(sc 만) — 등록부 시험이 이 경계를 지킴(4.4).
|
||||
|
||||
## 2. 안 쓰는 길
|
||||
|
||||
- 증거 = graph.mjs(import 도달 0) · deadexp.mjs(그 이름이 자기 파일 밖 어디에도 없음 · 시험 포함) · grep. 「확실」 = 이름이 저장소 어디에도 안 나옴 · 「추정」 = 옛 자료 · 사용자 판단 필요.
|
||||
|
||||
| 항목 | 자리 | 증거 | 지워도 |
|
||||
|---|---|---|---|
|
||||
| 파일 통째 | `B05_Profile/B05_Profile_UI_Drainage_Facility_Ford.ts`(145) | import 0 · export createFordFields 바깥 0 · 시험 `test_b05_new_structure_defaults.py:83` 은 글 검사만(목록 한 줄 고침) | 확실 |
|
||||
| 엔드포인트 | `POST /sections/{r}/cross-design` `B06_Section_Router.py:602` + TS `B06_Section_Api_Fetch.ts:165` computeCrossDesign | TS 함수 부름 0(같은 이름 `common_util_cross_design` 과 헷갈림) · 시험 0 | 확실 |
|
||||
| 엔드포인트 | `POST /route/replan/reset` `B05_Profile_Router_Replan.py:672` reset_route_plan + TS `B05_Profile_Api_Replan.ts:260` resetRoutePlan | 둘 다 부름 0 | 확실 |
|
||||
| HTTP 길 | `POST /route/solve` TS `B05_Profile_Api_Fetch.ts:194` solveRoute | TS 부름 0 · 파이썬 `solve_route` 는 B03 체인이 함수로 부름(`B03_FileInput_Service_Chain.py:268`) → TS 만 | 확실(TS) · 엔드포인트는 추정 |
|
||||
| 세션 열쇠 | `culvertmove` `A00_Common/b_page_state.ts:156` | 부름 0(keys.mjs) | 확실 |
|
||||
| export | `design_page.ts:49` DESIGN_VIEW_ROUTES · `design_store.ts:77` ALIGNMENT_DRAFT_KEY_PREFIX · `design_structure_status.ts:15` structureStatus | 바깥 0 · 시험 0 | 확실 |
|
||||
| export | `B05_Profile_Api_Structures.ts:371` defaultOptions · `B05_Profile_UI_Corridor_Station.ts:368` cutInnerTo · `B05_Profile_UI_Drainage_Facility_Fields.ts:36 · 368` inletKindOf · createBasinSplitFields · `B05_Profile_UI_Drainage_Parts.ts:61 · 261` COLLAPSED_KEY · pointInRing · `B05_Profile_UI_Profile_MinCover.ts:128` minCoverWarningText · `B05_Profile_UI_RouteEdit_Cross_Draw.ts:57` designHalfWidths · `logic/B05_Profile_UI_Corridor_Region.ts:32` segmentsIntersect · `logic/B05_Profile_Util_Station.ts:39` parseStationText | 바깥 0 · 시험 0 | 확실 |
|
||||
| export | `B06_Section_Cross_Design_Session.ts:35` readCrossDesignChoice · `B06_Section_Station_Keys.ts:236` currentStationScope · `B06_Section_UI_Cross_Culvert_Wire.ts:657` culvertRequiredHalfWidth · `B06_Section_UI_Section_Common.ts:281` calculateYScale · `B06_Section_UI_Section_View_Menu.ts:95` mountSectionStructureMenu · `logic/B06_Section_UI_Cross_Culvert_Const.ts:32 · 125 · 198 · 229 · 245`(REVET_TRAP_TOP_M · REVET_MATERIALS · FILL_SLOPE_RATIO_MAX · FILL_STRUCTURE_HEIGHT_M · BASIN_BOTTOM_CLEARANCE_M) · `logic/B06_Section_UI_Cross_Culvert_Solve.ts:203` outletSlopeFactory | 바깥 0 · 시험 0 · Const · Solve · Wire 는 sc · co · ex 묶음 — 다시 지음 | 확실 |
|
||||
| export | `common_util_cross_berm.ts:54` bermSpec · `common_util_mass_haul_view.ts:115 · 799` MASS_HAUL_HEIGHT · createMassHaulSummary | 바깥 0 · 시험 0 | 확실 |
|
||||
| 부르는 곳 없음 | `design_store.ts:179` flushDesignStore | 시험 하나만 · 470 N12(1 s 안 새로고침 사본 잃음) | 지울지 쓸지 사용자 판단 |
|
||||
| 시험만 부름 | `logic/B05_Profile_PlanFootprint.ts` planFootprint · `logic/B05_Profile_UI_Profile_Alignment.ts` shiftSegment · `logic/B05_Profile_Util_Station.ts` dropStationsNear · `B05_Profile_UI_IrregularStations.ts` createIrregularStationsSection · `common_util_structure_station.ts` generalStations · `common_util_excavation.ts` 셋 · `common_util_summary_item.ts` sameSummaryItem | 운영 부름 0 · 거울 · 단위 시험이 씀 | 추정(시험 정리는 사용자 몫) |
|
||||
| 파이썬 짝 | `common_util/common_util_excavation.py` | 운영 import 0 · 거울 시험만 · TS 가 브라우저 · Node 양쪽 | 추정 |
|
||||
| 옛 자료 길 | `b_page_state.ts` `legacy:` 열쇠 옮김(`b05:*` · `b06:*`) | 옛 세션 이름 읽기 | 추정 |
|
||||
| 옛 자료 길 | `B06_Section_Cross_Refresh.ts:530` refreshFromServer → `POST …/cross-design/preview` | 「선형 저장분 없는 옛 프로젝트」만 | 추정 |
|
||||
| 옛 자료 길 | `B05_Profile_Api_Structures.ts:328` migrateLegacyStations → `/route/structures/migrate` · `B05_Profile_Structures_Migration.py` | 구 비정규 측점 이관(452) | 추정 |
|
||||
| 늘 건너뜀 | `resources/tester/test_b05_b06_save_roundtrip.py:28` | PROJECT_ID `936be972…` storage 에 없음 → skip | 사용자에게 알림(지우지 않음) |
|
||||
| 낡은 주석 | `b_page_state.ts` `std-cross` 설명(「context 가 config 기본값」) | 지금 context 가 저장분을 내림(`B06_Section_Router.py:130-137` · `Api_Fetch.ts:105-107`) | 확실(주석) |
|
||||
|
||||
- 안에서만 쓰는 export 213 곳(export 떼기만) — 값 적음 · 걷어내기 대상 아님.
|
||||
|
||||
## 3. 같은 값 사본
|
||||
|
||||
- ★ = 제안 주인. 서버 정본은 그대로 · 브라우저 쪽 주인 = 가게(`design_store`) 칸 하나 · 나머지는 그 칸을 읽는 파생.
|
||||
|
||||
| 값 | ★ 주인(브라우저) | 서버 정본 | 브라우저 사본(모듈 변수 · 세션 · pref) |
|
||||
|---|---|---|---|
|
||||
| 평면 선형 | ★ 가게 `routeDraft` | DB `routes` · `route_points` · `B05_Profile/route/*`(geojson · csv · 곡선 json) | `B05_Profile_UI_RouteEdit.ts:124-137` plannedLine · planned · curveRadius(+curveArc) · `B05_Profile_UI_RouteEdit_Apply.ts:76` sources · `design_pipeline_page.ts:190` plan · 세션 `route-draft` · `route-draft-hold` · `latest` · pref `routeedit-locks` · `routeedit-snap-step` · 사진첩 · `B05_Profile_Api_Replan.ts:28` terrainContext |
|
||||
| 측점 목록 | ★ 가게 `stations`(초안) | DB `cross_sections` · 종단 파일 stations | 세션 `design-stations` · `B06_Section_Section_Store.ts:68` cache · `B06_Section_Section_Canon.ts:15-17` canon · parsed · 세션 `section-detail` · `design_pipeline_page.ts:196 · 200 · 202 · 224` savedStations · canon · shown · held · `B06_Section_Station_Keys.ts:92` lists |
|
||||
| 지반 표본 | 정본만(브라우저는 새 측점만) | `cross_*.json` samples | `B05_Profile_Api_TerrainGrid.ts:29-31` loaded · ready(+IndexedDB) · cache 상세 samples · 묶음 ground 출력 |
|
||||
| 계획고 편집 | ★ 가게 `alignmentDraft` | 종단 파일 `profile_alignment.edits` | `B05_Profile_UI_Profile_Edit.ts:137` shared EditState(current · saved) · 세션 `alignment-draft`(노선 · 노선 0) · 가게 `profile` + 세션 `design-profile` · 상세 `longitudinal` |
|
||||
| 횡단 입력(카드 · 조정) | ★ 세션 칸 그대로(가게 창구로만 씀) | DB `cross_sections.design` 패치 | B06 조정 메모리 맵(`B06_Section_UI_Page_Link_Session.ts:53-109` · `Station_Controls.ts`) — N5 |
|
||||
| 횡단 설계 결과 | ★ 묶음 cross 출력(초안) | DB `cross_sections.design` | cache(살아 있는 객체 · 제자리 고침) · `B06_Section_Section_Drafts.ts:42` parked · 세션 `section-detail` · canon · pipelineDetail |
|
||||
| 측점 면적 · 누가토량 | 파생(가게 칸 없음 · 셈만) | DB 면적 · 종단 `mass_haul` | cache 면적 · 그릴 때 셈 · `B05_Profile_Api_HaulPlan.ts:28` kept · `_derived/haul` |
|
||||
| 구조물 | ★ 가게 `structures` | `structures.json` | `B05_Profile_UI_Page_Structures.ts:78` ownStructures · `B06_Section_UI_Page_Structures_Panel.ts:175` structures · `design_facility_lane.ts:97` · `design_pipeline_page.ts:193` savedStructures · `design_page_data.ts:25` memo · 세션 `structures` · `structure-type-cache` · cache |
|
||||
| 관 | ★ 가게 `pipes` | `pipe_points.json` | `B05_Profile_UI_Drainage_Panel.ts:123 · 142` facilityStore · pipeEditor · `B05_Profile_UI_Structures_Panel.ts:176` · `B06_Section_UI_Page_Structures_Panel.ts:176` pipeFacilities · `design_facility_lane.ts:101` · `design_view_profile.ts:116` lastPipes · `design_pipeline_page.ts:194` savedPipes · `design_page_data.ts` memo · `B05_Profile_UI_RouteEdit_Apply.ts:153` pipesBeforeSave · `design_pipe_ids.ts:24` · 세션 `pipes` · `pipe-ids` · `culvertopt` · `kindreset` · `pipe-option-queue` · cache culvert · 유역 pkl |
|
||||
| 추가 측점 | ★ 가게 `plusStations` | `plus_stations.json` | `B05_Profile_Api_PlusStations.ts:14 · 74 · 76` saved · beforeRoute · followedOnly · 세션 `plus-stations` |
|
||||
| 소단 구간 | 파생(구조물에서 · 시설 줄 한 곳이 씀) | `structures.json` · 깊이 = DB 패치 | 세션 `berm` · `bermdepth` · cache `design.berm` · 초안 bermAt(`design_shared.ts:248`) |
|
||||
| 페이지 설정 | ★ 가게 칸 새로(지금 없음) | DB 단계 2 params | 세션 `pagesettings` · `profile-enforce-min-cover`(result 통 · N7) · 종단도 기울기 한도 · 폼 |
|
||||
| 표준 횡단 | ★ 세션 `std-cross` | 종단 행 `standard_cross_section` | `std-cross-default` · `section-context` |
|
||||
| 3D | 파생 | corridor 파일(Node) | `B05_Profile_UI_Corridor.ts:45` cache |
|
||||
|
||||
## 4. 단계 나눔 제안
|
||||
|
||||
### 4.1 차례 · 원칙
|
||||
|
||||
- 차례 = 472-1 → 472-2 → 472-3 → 472-4 · 472-5 함께(파일 안 겹침) → 472-6.
|
||||
- 단계마다 문 = 472-1 기준값 두 길 다 그대로 · 고친 대상 시험 · 끌린 묶음 다시 지음(`npm run -s build:server-calc|corridor|b07-extent`).
|
||||
- 690줄 넘는 파일은 그 단계 첫 커밋에서 기능별로 나눔(고침 없이).
|
||||
|
||||
### 4.2 472-1 기준값 시험
|
||||
|
||||
- 고정 자료 — `resources/tester/fixtures/golden_472/`(git) · 검증_랩탑메인(`dad81824…`) 노선 하나를 한 번 떠 둠: 상세 GET 응답(longitudinal + cross_sections · 약 1.3 MB) · `pipe_points.json` · `structures.json` · `plus_stations.json` · `/route/plan` 응답(planned · curves · min_radius) · section context(표준 횡단 · 토량 환산 · 운반 장비) · structure-types · 페이지 설정 · 설계 지표면 격자(npz 0.6–1.4 MB + `.bin`) — 합 약 4–5 MB(추정). storage 는 시놀로지 동기 · 사용자 공용이라 시험이 바로 읽지 않음.
|
||||
- 값 파일 `golden_472_values.json` — 길마다:
|
||||
- 측점 — 수(465 기준 57) · 열쇠 · 누가거리(0.01) · x · y(0.001)
|
||||
- 계획고 — 측점마다(0.001 m)
|
||||
- 면적 — 절 · 성 · 측구 · 층따기 · 구조물(0.0001 ㎡)
|
||||
- 누가토량 — 측점별 + 끝값(465 참값 −17,570.70 ㎥ · 0.01)
|
||||
- 관 길이 — 관 id 마다(0.01 m)
|
||||
- 경고 — 최대 기울기 · 법정 L · 최소 R · 최소 피복 · 성토 5 m(측점 · 종류 목록)
|
||||
- 길 셋:
|
||||
1. 브라우저 길 — vite ssr 헬퍼(`helper_472_1_browser_entry.ts` + `.mjs` · 466 `helper_272_detail_memory` 꼴) · 진짜 단계 함수(createRouteStage · createStationsStage · createGroundStage · createPlanlineStage · profileStage · createCrossStage · footprintStage) + structureAreaRows · computeMassHaul · 관 길이 · 경고 함수를 `createDesignPipeline` 으로 · 세션 = 메모리 가짜(`helper_344_4_design_pipeline.cjs` 꼴) · fetch 없음 · 격자 = 고정 `.bin`.
|
||||
2. 서버 길 — pytest · DB 없이 [저장] 엔진 차례 그대로: `Sections_Core.generate_sections`(고정 선 · 고정 npz 표본기) → `Grade_Profile.rebuild_alignment_profile` → `Router_Design.enforce_design_lines` → `Server_Calc_Prebuild._enforce_stored_designs` → server-calc 묶음(`run_bundle_json`).
|
||||
3. (선택) API 왕복 — `test_b05_b06_save_roundtrip` 꼴(storage 사본 · DB 읽기만 · 쓰기 가짜) · 프로젝트 없으면 건너뜀.
|
||||
- 판정 — 길마다 자기 값과 0 차(472-2 · 3 · 5 · 6 의 문) · 두 길 사이 = 「알려진 차」 목록만 허용(X1 · X2 · X3 · R7) → 472-4 가 하나 옮길 때마다 목록에서 지움 · 마지막에 빈 목록.
|
||||
- 돌림 — `./venv/Scripts/python.exe -m pytest resources/tester/test_472_1_golden.py -q` · 값 다시 뜨기는 따로 `helper_472_1_dump.py`(사용자 승인 때만).
|
||||
- 나눔(둘) — A = 고정 자료 뜨기 + 서버 길 + 값 파일 · B = 브라우저 길 헬퍼. 자료 꼴(파일 이름 · 칸)은 PLAN 472-1 에 먼저 적고 동시 착수.
|
||||
|
||||
### 4.3 472-2 걷어내기(셋 동시)
|
||||
|
||||
| 몫 | 파일 | 덧 |
|
||||
|---|---|---|
|
||||
| 2-A B05 | 2장 B05 줄 전부 + `B05_Profile_Router_Replan.py`(reset_route_plan) + `test_b05_new_structure_defaults.py:83` 목록 한 줄 | corridor 다시 지음(Corridor_Station) |
|
||||
| 2-B B06 | 2장 B06 줄 + `B06_Section_Router.py:602`(+ 그 요청 · 응답 스키마가 다른 곳에 없으면) + 1.3 끌림 정리(PIPE_DISPLAY_NAME → `common_util` · Api_Fetch 세션 · 사진첩 import 를 화면 쪽으로) | sc · co · ex 다시 지음 |
|
||||
| 2-C 공용 | `design_page.ts` · `design_store.ts` · `design_structure_status.ts` · `common_util_cross_berm.ts` · `common_util_mass_haul_view.ts` · `b_page_state.ts`(culvertmove · 낡은 주석) · 낡은 시험 경로 주석 | 묶음 셋 다시 지음(cross_berm) |
|
||||
|
||||
- 추정 줄(옛 자료 길 · excavation.py · flushDesignStore · 늘 건너뛰는 시험)은 사용자 답 뒤.
|
||||
|
||||
### 4.4 472-3 계산 등록부
|
||||
|
||||
- 파일 하나 `A00_Common/design/logic/design_calc_registry.ts` — 순수 자료(함수 import 없음 · 실행기는 글 이름) → 브라우저에 실려도 서버 쪽 코드가 안 딸려감.
|
||||
|
||||
| 칸 | 뜻 |
|
||||
|---|---|
|
||||
| id | `route.polyline` · `stations.list` · `ground.sample` · `profile.alignment` · `cross.design` · `cross.areas` · `facility.follow` · `masshaul.cumulative` · `haul.plan` · `pipe.length` · `corridor.mesh` · `drainage.basins` … (1.1 표 # 마다 하나) |
|
||||
| 입력 | 가게 칸 · 세션 열쇠 · 정본 파일 · 앞 id |
|
||||
| 출력 | 낳는 값 · 가게 칸(있으면) · 서버 정본 자리 |
|
||||
| 실행 자리 | 브라우저 즉시 · 서버 정본 · 서버만(무거운 GIS · 래스터 · 추천 엔진만) |
|
||||
| 브라우저 단계 | 묶음 단계 이름(route · follow · stations · ground · planline · profile · cross · footprint · drainage · corridor) · 없으면 — |
|
||||
| 서버 실행기 | Node 입구 + 함수 이름(글) · 아니면 파이썬 모듈 · 함수(글 · 472-4 동안만) |
|
||||
| 짝 · 거울 | 파이썬 짝 · 거울 시험 이름(짝이 사라지면 비움) |
|
||||
|
||||
- 서버 Node 입구 하나(제안 `A00_Common/design/logic/design_calc_node.ts` · package.json `build:design-calc`) — id → 함수 표 · logic · common_util 만 끔 · 입력 `{run: [id…], inputs}` · 파이썬은 `common_util_node_bundle.run_bundle_json` 한 길로 부름(새 `common_util_calc_runner.py`).
|
||||
- 묶음 `STAGE_DEPS`(`design/logic/design_pipeline.ts:47`)는 등록부 입력에서 만듦 · 지금 표와 같은지 시험.
|
||||
- 시험 — id 마다 실행기 있음 · 「서버만」 id 의 코드가 브라우저 import 그래프에 없음(graph.mjs 꼴) · Node 입구 도달 집합에 화면 · 세션 파일 없음.
|
||||
- 나눔 — 3-A 등록부 · Node 입구 · 시험 · 3-B 파이썬 실행기(3-A 칸 꼴 정해진 뒤).
|
||||
|
||||
### 4.5 472-4 짝 모으기(흠 많은 것부터)
|
||||
|
||||
| 차례 | 묶음 | 서버 파일(바꿈) | 흠 | 난이도 · 위험 | 동시 |
|
||||
|---|---|---|---|---|---|
|
||||
| ① | 측점 열쇠 · 시설 따라감 · 추가 측점 · 꼭짓점 세움(R7 · F1 · F2 · P6) | `common_util_route_follow.py` · `common_util_station_key.py` · `B05_Profile_Plus_Stations.py` · `B05_Profile_Structures_Router.py` · `B05_Profile_Router_Confirm.py` · `B04_PreProcess_Router_Basins.py`(따라감 부르는 자리) | Station_Keys 13 · route_follow 7 · Router_Confirm 10 · Basins 6 | 중간 · Basins 는 B04 — 부르는 줄만 | ② 와 함께 |
|
||||
| ② | 횡단 설계선 · 면적 · 보정 · 소단(C1 – C6 · G4) | `B06_Section_Router_Design.py`(699 — 먼저 나눔) · `B06_Section_Server_Calc_Prebuild.py` · `B06_Section_Engine_Structures_Wall.py`(load_berm_spans) · TS C4 를 `common_util` 로 | Cross_Refresh 14 · Router_Design 6 · Cross_Stage 4 · 465 ③ ⑦ | 중간 · X1 기본값은 협의 뒤 · B07 · 추천 · Route_Save 는 파이썬 짝 그대로 둠(남은 동안 거울) | ① 과 함께 |
|
||||
| ③ | 측점 틀 · 측점 목록 · 지반 표본 · 첫 계획선 · 계획선(R1 · R3 · R5 · R6 · G1 · G2 · P1 – P5) | `B05_Profile_Route_Save.py` · `B05_Profile_Router_Replan.py`(698) · `B05_Profile_Router.py`(profile-alignment) · `B05_Profile_Engine_Grade_Profile.py` · TS `B05_Profile_UI_Profile_Alignment.ts`(700 — 먼저 나눔) | Station_Swap 8 · Pipeline_Grade 4 · Grade_Alignment 4 · Pipeline_Detail 7 | 어려움 · 정본 표본 값 바뀜(X2 · 사용자 협의) · 둘로 — ③-a 측점 · 지반 · ③-b 종단(Route_Save 겹침 → 차례로) | ① ② 뒤 |
|
||||
| 남김 | 관 세트 · 벽 · 포장 · 세월교(F5 · F6 · F9) | — | 6+6 | 파이썬 소비자(B04 · B07 · B08) — 472 밖 · 거울 유지 | — |
|
||||
|
||||
- 옮길 때마다 — 같은 TS 를 Node 로 · 파이썬 짝은 소비자가 남으면 둠 + 거울 시험 유지 · 소비자 0 이면 걷음 · 472-1 「알려진 차」 한 줄 지움.
|
||||
- 파이썬만 남는 것 — R1 · P1 · C1 짝 = 추천 엔진(N1) · B03 체인 · B07 때문 · 등록부에 「짝 남음 · 까닭」 표시.
|
||||
|
||||
### 4.6 472-5 값 주인 하나(넷 동시)
|
||||
|
||||
| 몫 | 파일 | 할 일 |
|
||||
|---|---|---|
|
||||
| 5-A 관 · 구조물 | `B05_Profile_UI_Drainage_Panel.ts`(691) · `B05_Profile_UI_Structures_Panel.ts`(693) · `B06_Section_UI_Page_Structures_Panel.ts`(699) · `B05_Profile_UI_Page_Structures.ts` · `design_facility_lane.ts` · `design_view_profile.ts` · `design_page_data.ts` | 모듈 목록 → 가게 `pipes` · `structures` 읽기 · 먼저 690줄 셋 나눔 |
|
||||
| 5-B 횡단 상세 · 측점 | `B06_Section_Section_Store.ts` · `_Section_Canon.ts` · `_Section_Drafts.ts` · `design_pipeline_page.ts`(694 — 먼저 나눔) · `design_pipeline_page_publish.ts` | canon · shown · held · savedStations 를 상세 가게 한 곳으로 |
|
||||
| 5-C 종단 편집 · 페이지 설정 | `B05_Profile_UI_Profile_Edit.ts` · `B05_Profile_Api_PageSettings.ts` · `design_profile.ts`(691) · `design_store.ts`(칸 더함) · `b_page_state.ts`(N7 통 옮김) | EditState → 가게 `alignmentDraft` · 페이지 설정 가게 칸 |
|
||||
| 5-D B06 조정 맵 | `B06_Section_UI_Page_Link_Session.ts` · `_Station_Controls.ts`(687) · `_Ford_Controls.ts` · `_Span_Control.ts` | 메모리 맵 없앰 · 세션 칸을 가게 창구로(N5 · N6) |
|
||||
|
||||
- 5-C 와 2-C 가 `design_store.ts` · `b_page_state.ts` 를 함께 만짐 → 2-C 먼저 끝냄.
|
||||
|
||||
### 4.7 472-6 [저장] 한 본문
|
||||
|
||||
- 한 창 — `design_save.ts` · `design_shared.ts:380-446` · 서버 새 저장 창구 하나(한 트랜잭션 · 입력만 받아 등록부 「서버 정본」 id 전부 다시 셈 · 하나라도 실패면 없음). 지금은 9 차례 요청 · 재계산 실패해도 저장 남음(`B06_Section_Router_Confirm.py:213-224` · `recomputed: false`).
|
||||
- 사용자 협의 — 넓힘(`/regenerate`) · [측점 만들기] · 추천 [적용]이 저장 밖에서 정본을 바로 씀(N10) → 초안으로 돌릴지 · 「즉시 정본」 표시할지.
|
||||
|
||||
### 4.8 위험 · 협의 목록
|
||||
|
||||
- 값이 바뀌는 고침(사용자 협의 뒤) — X1 단면 모양 기본값 · X2 서버 표본 출처를 격자로 · ③ 의 측점 좌표 mm 차.
|
||||
- 700줄 — 넘음 넷은 손댈 때 나눔(`mass_haul_balance` 는 E2 등록 때 · `route_polyline.py` 는 ③).
|
||||
- Node 묶음은 git 밖 저장본 — 서버 폴더마다 다시 지어야 반영(싱크 뒤).
|
||||
- 시험 헬퍼 263 개가 저마다 TS 옮김 로더를 가짐 — 472-1 은 vite ssr 꼴 하나만 씀(새 로더 안 만듦).
|
||||
Reference in New Issue
Block a user