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

12 KiB
Raw Blame History

PLAN 623~626 · 625-5 이관 — 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 · − 노드 색(요구 530 · 531 · 535 · 536 · 540)

623~626 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 (요구 530 · 531 승인 · 진행)

  • 사용자 확정(요구 531): 요구서 530 4장 결정 거리 전부 권함대로(A①⑩ · B1B9 · 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①⑩ · B1B9 · D1~D10 · E1 · 5장 단계 · 창 · 6장 지킴).

  • 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
  • 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⑨)
  • 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 · 검증 대기)
  • 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 · 검증 대기)
  • 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 좌표계 다르면 서버가 옮김 · 범위 밖 = 빈칸
  • 625-1 예정노선 긋기 작은 고침(기본값 길이+기울기 · 버튼 자유지정 오른쪽 · Tab · 숨김 · 「자유지정」)

    • 검증완료 — ORCA 검증_sub4_D: 처음 방식 길이·기울기 고정 · 차례 자유지정/길이·기울기 고정/길이/기울기 · 칸 숨김(자유 0 · 길이 1 · 기울기 1 · 둘 2) · 긋는 중 Tab both↔free · 길이·기울기 단독 → both · 쉴 때 Tab 막지 않음 (5d4737210)
  • 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 · 저장 안 함
  • 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
  • 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 줄
  • 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
  • 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 · 검증 대기)
  • 625-4 긋는 중 놓인 점이 부채꼴 밑 · [LAS 올리기] 좁은 폭에서 잘림(점검 535-3) — sub1

    • 검증완료 — 긋는 중 마지막 · 바로 앞 점 부채꼴 · 원 위(ORCA · Playwright) · 도구줄 줄바꿈 1280 · 1497 · 1920 폭 [LAS 올리기] 안 잘림(넘침 0) · test_625_draw 12 통과 · typecheck 0 · 그은 선 되돌림(0 줄)
  • 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 판 꼴 전과 같음
  • 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