Files
Aislo/docs/raw/plans/2026-11-01_plan_623-626.md
T

45 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PLAN 623~626 · 625-5 이관 — 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 · − 노드 색(요구 530 · 531 · 535 · 536 · 540)
## 623~626 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 (요구 530 · 531 승인 · 진행)
- 사용자 확정(요구 531): 요구서 530 4장 결정 거리 전부 권함대로(A①~⑩ · B1~B9 · D1~D10 · E1).
- 1 물결: sub1 624-1 · sub2 623 → 626-2 · sub3 624-2(`D03_PlanAnalysis_UI_Map.ts` 는 625-1 뒤) · sub4 625-1 → 625-2 / 2 물결: 624-3 · 626-1 → 626-3 · 624-4.
- 요구서 `docs/raw/요구_1025/요구서_530_지도일원화_노선긋기_노선추천.md`(1장 요구 · 3장 정함 · 4장 결정 거리 A①~⑩ · B1~B9 · D1~D10 · E1 · 5장 단계 · 창 · 6장 지킴).
- [x] 623 620 고침 — 새 관 기본값에서 집수정이면 `inlet_revet_*` 안 채움(E1) · 시험 기대값
- 검증완료 — 새 자동 관 폼 왕복 차 0(지워짐 · 더함 · 바뀜 0 · Φ800 · 1000 · 1200) · 동물이동형 "true" · 관경 수 1000 · 시험 623 · b05_new_structure_defaults · 211_1 · 494_2 · 173_7 · facility_options_merge · drainage_recommend 통과 · 77a769776
- [x] 624-1 서버 — D03 겹 길 임도 프로젝트도 · 지형 원천 인자 · 지적도 파일 덮어씀 막기
- 검증완료 — 새 시험 7 · D03 겹 시험 142 통과 · typecheck 0 · 실측(B 검증_sub1 · D 검증_sub1_D · 8001) 급경사 B 0.05 s(lidar) · 0.71 s(sheet 첫 셈) · D 0.11 s · 0차곡 B lidar 0.92 s(21 가닥) · B sheet 9.2 s(첫 셈) · D 0.33 s(1440 · 전후 같음) · 보호구역 B 0.75 s · D 0.20 s · 지적 B 0.71 s(113) · D 0.30 s(63) · B04 지적도 파일 안 바뀜 · D lidar 404
- 이음(624-2 · 624-3) — 겹 길 = 종류 안 가림 · `/plan/layers/raster` · `/zero-order` 에 `terrain=sheet|lidar|design`(빈 값 = design · D 는 sheet · B 는 설계 지형) · 응답 `source`(raster = `X-Plan-Raster` 머리 · hillshade · zero-order = 몸) · 없는 원천 404 · 틀린 값 400 · 받은 겹 자리 = `D03_PlanAnalysis/layers/` · B 에서 띠(`bands`) · 올린 임도망도(`forest-roads` = B 400)는 목록에서 빼는 화면 몫(A⑨)
- [x] 624-2 공용 지도 부품(도구줄 표 · 겹 목록 · 범례 · 지형 칩 · 새 공용 폴더)
- 쓰는 법 — 폴더 `A00_Common/map/`: 겹 목록 · 페이지 표 `map_layer_list`(`MAP_LAYER_PAGES` d03 · b05) · GL 꼴 `mapLayerSpecs(light, pick)`(`map_layer_specs`) · 겹 줄 `createMapLayerBar({ page, glOn, onToggle, onGl })` · 범례 `createMapLegend(class).show(rows, tail)` + `tileLegendRows(on)` · 도구줄 `createMapTools({ groups: mapToolGroups(page, parts) })`(`map_toolbar`) · 지형 칩 `createTerrainChip({ page, value, have, onChange })`(값 = 서버 `terrain=` 의 `sheet` · `lidar`) · 받기(fetch) · 받은 자료 범례 줄은 아직 D03(`UI_Layers` · `UI_LayerLegend`)
- 검증완료 — typecheck 0 · 시험 96(새 test_624_2_map_parts 4) · 검증_sub3_D 전후 대조(옛 코드 대 새 코드 · 겹 23 모두 켬 · 모두 끔 · 옛 캔버스 · 어두움): 겹 줄 · 범례 · 켬끔 · GL 42 겹 그린 수 · 받은 수 같음(다른 것 = 급경사 칠 ms) · 화면 차 = 오른쪽 위 지형 칩 자리만 · UI_Layers 683 → 639 줄 · UI_MapGl 423 → 115 줄 · ORCA 도구줄 열 칸 + 칩(수치지형도 고름 · 라이다 막힘) (b96479fd7 · 6c25b864a · 검증 대기)
- [x] 624-3 B05 평면에 붙이기(띠 = 등고선 · 하천만)
- 검증완료 — typecheck 0 · 고친 대상 시험 579 통과(새 test_624_3 4 · 낡은 시험 19 고침 · test_298_3 6 = 전부터 깨짐 · helper 에 design_pipeline_page 가짜 없음) · 검증_sub3 headless + ORCA: 도구줄 15칸(표 b05) + 겹 줄 21+GL · 처음 = 등고선 · 하천 · 둘째 GL 칸 없음 → 위성 · 지적 켬 = 안 자른 둘째 칸(맨 밑 · 지적 20 · 위성 1) · B05 칸만 띠 자름 · 등고선 끔 = 선 · 글 숨김 · 옛 캔버스 = 둘째 칸 0 · 겹 막힘 · 어두움 정상 · [저장] 전후 노선 · 노드 · 곡선 · 구조물 · initial_snapshot · route_recommend 지문 같음 (c6a1efad0 · 99ec4b8ef · 검증 대기)
- [x] 624-4 D03 라이다(D 프로젝트 LAS 올리기 · 지형 칩)
- 검증완료 — 새 시험 4 · 둘레 시험 64 통과(624-1 · B04 전처리 343 · D03 겹 569 · 603 · 608 · 616) · typecheck 0 · 실측(검증_sub1_D · 8001 · 용화 LAS 200×150 m 590 만 점 · 베셀 5176 → 5187 옮김) 올리기 2.3 s · 지형 30.5 s · lidar 급경사 0.10 s · 음영 0.11 s · 0차곡 첫 0.87 s(8 가닥) · 다시 0.06 s · 높이 격자 0.06 s · 수치지형도 겹 전과 같음(0차곡 1440) · B 프로젝트 · 틀린 파일 400 · 화면 칩 잇기는 624-2 push 뒤
- 이음(624-2 지형 칩) — `POST /api/projects/{id}/plan/lidar`(multipart `files` = LAS · LAZ + .prj 하나 · 예정노선만 · 다시 올리면 갈음) → 뒤에서 지형(진행 = `/plan/progress` 의 `lidar`) · `GET …/plan/lidar` → `{ready · epsg · files · source_filter · point_count · bounds}` · 끝나면 `terrain=lidar` 겹 길 됨 · 높이 격자 = `surface_models` 행(경로 `B04_PreProcess/lidar/…`) · LAS 좌표계 다르면 서버가 옮김 · 범위 밖 = 빈칸
- [x] 625-1 예정노선 긋기 작은 고침(기본값 길이+기울기 · 버튼 자유지정 오른쪽 · Tab · 숨김 · 「자유지정」)
- 검증완료 — ORCA 검증_sub4_D: 처음 방식 길이·기울기 고정 · 차례 자유지정/길이·기울기 고정/길이/기울기 · 칸 숨김(자유 0 · 길이 1 · 기울기 1 · 둘 2) · 긋는 중 Tab both↔free · 길이·기울기 단독 → both · 쉴 때 Tab 막지 않음 (5d4737210)
- [x] 625-2 부채꼴 · +/− 색 · 정방향 채움 · Shift 사이 기울기 · 완만한 땅 흠
- 검증완료 — test_625_draw 10(경사면 노드 4 · 호 2 · ± 짝 · 꽃잎 노드 2/4/6/8 · 정방향 · 완만한 땅 · Shift 실제 지형) · ORCA 검증_sub4_D: 허용 호 2(130–148° 정방향 · 288–311°) · Shift 사이 20.000 m · −0.543 %(실제 지형 같음 · 기록 length) · 호 밖 Shift = +9 % · 놓인 노드 − = #29e0ff · + = #ff9e2c · Esc 로 선 0 · 저장 안 함
- [x] 624-4 화면 — 예정노선 지형 칩 라이다 항목 + LAS 올리기 단추(서버 길 = PLAN 624-4 이음 · 626-1 뒤 · `A00_Common/map/map_terrain_chip.ts` 겹침 피함)
- 검증완료 — typecheck 0 · 시험 92(새 test_624_4b 4 · 낡은 글 대조 475 · 624_2 고침) · ORCA 검증_sub1_D(8001 · 5174): 라이다 고름 0.35 s 에 급경사 · 음영 · 0차곡 응답 source = lidar(0차곡 1440 → 8 · 급경사 상자 2 km → 201×151 m) · 수치지형도로 1.5 s · 높이 A–B 기울기 −6.32 → −7.99 % · 라이다 범위 밖 높이 빈칸 · 다시 읽기 = 라이다 되살림 · LAS 없음 흉내(GET ready 거짓) = 「라이다」 숨김 + [LAS 올리기] · 원천 수치지형도 · 끝에 수치지형도 · 겹 끔 · 세션 비움 되돌림 · 실제 올리기는 안 함(LAS 그대로) (92fdf334b · 검증 대기)
- 이음 — 공용 겹 받기 `fetchPlanRaster(id, kind, terrain?)` · `fetchPlanZeroOrder(id, terrain?)`(`map_layer_api` · 안 넘김 = 옛 그대로) · 칩 안은 그대로(예정노선이 `onChange` · `setHave` 를 씀) · 고른 원천 = 세션 `d03-terrain`
- [x] 626-1 노선추천 → 아이콘 드롭다운(저장본 선만) · [적용] 걷음 · 지형 바꿈 = 지형 칩
- 검증완료 — test_626_1 5 · ORCA 검증_sub3: 드롭다운 넷 각각 선 187 · 197 · 195 · 197 점 · 하나만(✓ 1) · 끔 = 0 · 저장본 지문 같음 · 지형 칩 라이다 → 수치지형도(확인창 · 22 s · 새 route_id · 시점 지반고 879.138 → 878.051) → 라이다 되돌림(879.138) · 노선 · 노드 · 곡선 · 구조물 · 예정노선 · initial_snapshot · route_recommend 지문 전후 같음 (99ec4b8ef · 검증 대기)
- 이음(626-3) — 추천 보기 `B05_Profile_UI_RouteEdit_RecPreview` · 지형 칩 `_Terrain` · 서버 `POST /route/design-terrain {terrain}`(`Router_TerrainSwitch`) · 장면 다시 그리기 `chrome.onRedraw` · 그리기 덧 `scene.underRoute` · 부품 `createPickMenu` · RouteEdit.ts 684 줄
- [x] 626-2 서버 `POST /route/follow` · `expected_route_edit.csv`
- 이음(626-3) — `POST /api/projects/{id}/route/follow` 본문 `{points: [[x, y]…], crs: "tm"|"lonlat"}` → `{planned · nodes · curves · node_edits · station_snap · min_radius_m · curve_count · violation_count}`(GET `/route/plan` 칸 이름 · 저장 0) · `RouteDraft.expected`(없음 = 그대로 · [] = 지움 · 점 2 이상 = 씀) → [저장] 때 `B05_Profile/route/expected_route_edit.csv` · GET `/route/plan` 덧칸 `expected_edited` · [초기화] = 지움
- 검증완료 — 검증_sub2 B 331점 → 노드 27 · 곡선 25 · 0.38~0.48 s(8004) · 체인 초기선과 같음(거리 0) · 경위도 5 mm · storage 지문 그대로 · 시험 626_2(5) + 노선 저장 · 초기화 13 파일 109 통과 · typecheck 0 · B05 화면 그대로 · fea37b4ce
- [x] 625-3 놓은 뒤 노드 +/− 색 안 보임(요구 535-2) — sub1
- 검증완료 — 까닭 = 놓인 점 3 px · 테 없음(− 하늘이 민트 노선 선에 묻힘) + 고른 선 흰 네모 손잡이 · 노랑 강조가 덮음 · test_625_draw 11 · 둘레 시험 23 · typecheck 0 · ORCA 검증_sub1_D(5174 · 위성 켬) 길이·기울기 20 m 9 % 넷: 긋는 중 · 끝낸 뒤 · 고른 뒤 점 칠 = #29e0ff ×3(−9 %) · #ff9e2c(+9 %) · 손잡이 테 #ffe94d · 고치기 전 고른 뒤 = #ffffff · 헤드리스 밝음 · 어두움 같음 · 그은 선 지움 · 위성 끔 되돌림 · 저장 안 함 (3de262a4a · 검증 대기)
- [x] 625-4 긋는 중 놓인 점이 부채꼴 밑 · [LAS 올리기] 좁은 폭에서 잘림(점검 535-3) — sub1
- 검증완료 — 긋는 중 마지막 · 바로 앞 점 부채꼴 · 원 위(ORCA · Playwright) · 도구줄 줄바꿈 1280 · 1497 · 1920 폭 [LAS 올리기] 안 잘림(넘침 0) · test_625_draw 12 통과 · typecheck 0 · 그은 선 되돌림(0 줄)
- [x] 626-3 B05 예정노선 그리기(RouteEdit 나눔 · 625 컨테이너) → 편집기 한 걸음 → [저장] · 평면노선 값만 바뀜 지킴 시험 · (요구 535-1) 긋기 · 추가 · 삭제 = 예정노선 페이지와 같음 · 공무원 원본 예정노선 「예정노선(원본)」 겹으로 남겨 보임
- 결정 바뀜(요구 535-1 · 536 · 브레인) — D03 긋기 · 고르기 · 우클릭 메뉴 · 속성 판 함수 그대로 한 선(`oneLine` · 노드 끌기 포함 = D10 대신) · 도구줄 「예정노선 변경」 켬끔 · 「예정노선(원본)」 옅은 점선 켬끔(공용 겹 표 대신 도구줄) · 켠 뒤 첫 고침만 확인창 · 놓인 점 = D03 paintNetwork(625-3 paintNodes 합치면 같이)
- 검증완료 — typecheck 0 · 시험 515 통과(test_626_3 5 · test_298_3 6 = 전부터) · ORCA 검증_sub4: 속성 판 [다시 긋기] → 확인창 → 재추적 노드 19 → 27 · 노드 끌기 · Delete 노드(확인창 없음) · 되돌리기 2 · 다시 1 · [저장] → 다시 열면 고친 예정노선 332 점(원본 331 그대로) · [초기화] → 원본 · 고친 파일 지움 · 지킴 initial_snapshot · route_recommend · expected_route.csv · planned_route_initial · initial_choice 132 파일 차 0 · 바뀐 것 = 평면(planned_route 넷 · route_main · expected_route_edit) + 따라 다시 셈(종단 · 횡단 중심 좌표 · 관 1 측점만(x·y 같음) · 코리도 · 노선 행) · 시작 판 되돌림 차 0 · D03 판 꼴 전과 같음
- [x] 625-5 − 노드 색 진한 파랑(요구 540) — sub4
- 검증완료 — `--draw-map-slope-down` #29e0ff → #3b6bff(− 노드 전용 토큰) · 민트 선 대비 3.18 : 1 · 검은 테 3.8 : 1 · 어두운 바탕 3.31 : 1 · 밝음 · 어두움 × 바탕 여섯 곳 하위 10 % 3.18 · 시험 20 통과 · typecheck 0 · ORCA 실제 paintFan 픽셀 59,107,255