diff --git a/docs/raw/plans/2026-10-29_plan_582.md b/docs/raw/plans/2026-10-29_plan_582.md new file mode 100644 index 000000000..de88cf1dd --- /dev/null +++ b/docs/raw/plans/2026-10-29_plan_582.md @@ -0,0 +1,9 @@ +# PLAN 582 이관 (2026-10-29 · 요구 440-9 · 441 · 445 B · 446 · 448) + +## 582. 수치지형 등고선 줌아웃 성능 — 공용 · 그림 그대로 (요구 440-9 · 승인 대기) + +- 정함(브레인): 근거 `_분석_440-C` 2장 · 권함 a+b+c+d+e(바탕/위 두 장 · 한 화면 한 번 · 줌 단계 색인 · 한 판 한 번 긋기 · 글 폭 기억) · 끌기 중 비트맵 안 씀(07-28 되돌림) · 공용 = `B04_PreProcess_UI_MapRender_Prepare.ts` · `B04_PreProcess_UI_MapRender.ts`. +- 사용자 확정(요구 441): 먼저 D03 에만 적용해 보고 판단 · 공용으로 넓힐 자리 목록은 보고에 · 그림 그대로. +- [x] 582-0 큰 D 프로젝트 줌아웃 프레임 시간 잼 → 582-1 D03 에만(a · b · 등고선 c · e · d 는 뺌 — 반투명 겹침 색 바뀜 · 래스터 더 느림) · 이음 = `PlanMap.redraw` 위 겹만 · `redrawBase` 바탕까지 · `PlanMapLayer.base`. + - 검증완료 — ORCA 5177 검증_sub2_D 전 → 후: 줌아웃 JS 5.9 → 3.2 ms/화면 · 끊김 28 → 7(30 화면) · 끌기 6.7 → 3.5 ms · 38 → 5(40) · 마우스 6.7 → 0.46 ms · 38 → 0 · 한 화면 꼭짓점 21,675 = 21,675 · 등고선 · 바탕 사진 차 0(위 겹 가장자리 합성 반올림만) · B04 · B05 사진 차 0 · 큰 D(169만 꼭짓점) JS 6.3 → 4.5 ms · 래스터 36 ms(굵은 계곡선) 남음 · test_582 6 · 관련 16 파일 통과 · typecheck 0 · 밝음 · 어두움. +- [x] 582-2 판단 뒤 공용(B04 · B05) · 확인: 그린 꼭짓점 전후 같음(지킴 시험) · 프레임 시간 전후. diff --git a/docs/raw/plans/2026-10-29_plan_586.md b/docs/raw/plans/2026-10-29_plan_586.md new file mode 100644 index 000000000..8d35b65af --- /dev/null +++ b/docs/raw/plans/2026-10-29_plan_586.md @@ -0,0 +1,16 @@ +# PLAN 586 이관 (2026-10-29 · 요구 440-9 · 441 · 445 B · 446 · 448) + +## 586. 노선분석 바탕 지도 WebGL(MapLibre) 시제품 (요구 445 B · 승인 대기) + +- 정함(브레인): 근거 `_분석_445-B` · 바탕만 MapLibre(BSD) · 긋기 · 재기 · 고치기 화면 그대로 · 자료 그대로 · 카카오맵 API 안 씀(회전 없음 · 약관 · 무거움) · 곁 발견 = 위성 · 등고선 대 그은 선 · 급경사 그림 맞춤 가장자리 최대 64~95 m 어긋날 수 있음(셈). +- 사용자 확정(요구 446): 선 · 글 매끈해져도 됨 · 줌인 품질은 좋아야 함 · 늘 인터넷 있음(위성 그때그때 받음) · sub2 Opus high. +- 이음(sub2 ↔ sub1 585): `UI_Map.ts` ScreenMap 의 toScreen · toMetric · pxPerMeter = `metricFrame()`(TM → 경위도 → 바탕 · 586-0) · 장면 `epsg` 덧(`UI_Page` 한 줄) · `screenOfLonLat` 검증 창구 · GL 바탕 = 바탕 캔버스 아래 MapLibre 한 장(누름 · 끌기는 위 캔버스 그대로 · 사건 쪽 안 만짐). +- [x] 586-0 어긋남 화면 확인 · 있으면 고침. + - 검증완료 — 검증_sub2_D 화면 실측 전 → 후: 위성 귀퉁이 58.9 px(63.6 m) → 0.6 px(화면 밖) · 급경사 귀퉁이 17.7~21.1 px → 0.07 px · 가운데 0.02 px · TM 거울 pyproj 1 mm · test_586 5 통과 · typecheck 0. +- [x] 586-1 겹 여섯 시제품 · 582 잣대(끊김 수 · ms · 그림 비교). + - 검증완료 — headless Edge 실 GPU(Iris Xe) 5177 · 겹 여섯: 줌아웃 화면 간격 중앙 20.9 → 4.2 ms · p90 29.2 → 12.5 · 끊김 5 → 0/30 · 끌기 20.8 → 4.2 ms · 끊김 2 → 0/40 · 그은 선 대 GL 0.02 px(돌림 30° 같음) · 재기 차 0 · 긋기 두 판 차 0.00001 m · 고르기 같음 · 줌인 선 자리 같음 · 위성 선명 · ORCA 탭 응답 멈춤으로 ORCA 잼 못 함. +- 정함(브레인 · 586-1 보고): 어긋남 진짜(위성 귀퉁이 58.9 px · 63.6 m → 0.6 px) · GL 바탕(겹 여섯) 줌아웃 중앙 20.9 → 4.2 ms · 끊김 5 → 0/30 · 끌기 20.8 → 4.2 ms · 그은 선 대 GL 0.02 px · 줌인 위성 z19 선명 · ORCA 켬/끔 잼은 탭 멈춤으로 못 함 · B04 · B05 지도도 같은 「같은 직사각형」 가정 = 같은 어긋남 남음 · 586-0 로 옛 그은 선이 바탕 대비 수십 m 옮겨 보임(TM 값 그대로). +- 사용자 확정(요구 448): MapLibre(BSD-3 · 클라이언트 GPU) 전체 적용 — D03 나머지 겹 14 · 글자 · 카메라 · 위성 서버 기억 다 옮기고 기본 켬(옛 캔버스는 끄는 칸으로 남김) · 그 뒤 B04 · B05 지도도(589) · 어긋남 고침(589-0)과 동시에 · 582-2 는 이것으로 갈음 · sub2 Opus high. +- 이음(sub2 586-2 → 589-2): GL 바탕 = `D03_PlanAnalysis_UI_MapGl.ts` `createGlBase(projectId, onFail)` · `setData(소스, GeoJSON | {url, corners})` · `setVisible` · `enable(parent) → 참/거짓` · `camera(경위도, 줌, 도)` · `PlanMap.setGl → 참/거짓` · 자료 돕기 = `LayerDefs` `glTagged`(지물 `_color`) · `glImage` · `shadeImage`(음영 곱하기 꼴) · 서버 `layers.lonlat_corners` · 위성 조각 기억 `_derived/plan_tile`. +- [x] 586-2 사용자 판단 뒤 나머지 겹 · 공용. + - 검증완료 — headless Edge 실 GPU · 검증_sub2_D · 겹 18 켬(자료 있는 겹 전부 · 임도망도 · 산사태위험 = 자료 없음): 줌아웃 화면 간격 중앙 58.4 → 4.2 ms · 끊김 27 → 0/30 · 끌기 62.5 → 4.2 ms · 37 → 0/40 · 마우스 4.2 ms 0 그대로 · 그은 선 대 GL 0.019 px(돌림 30° 0.019 · 확대 0.077) · 고르기 · 끌어 고르기 4/4 · 마크 끌기 10 m · Ctrl+Z · Esc · 재기 0 px 두 판 같음 · 줌인 같은 자리 선 같음 · 위성 선명 · 글 겹침 뺌 · WebGL 끔 = 옛 캔버스 + 알림 · 어두움 같음 · ORCA 5177 처음 GL 켬 · 줌아웃 8.3 ms 끊김 0/30 · 조각 서버 기억 · 지킴 시험 71 · typecheck 0.