feat: StationOverlay 렌더링 최적화 및 스무딩 적용 close #1

- 텍스트(측점/POI) 전 프레임 사전 계산 Map (requestIdleCallback 백그라운드)
- 드론 데이터 이동 평균 스무딩 (smoothFrame ±N프레임)
- 30fps→60fps 프레임 간 선형 보간 (performance.now() 기반)
- EMA(지수이동평균) 표시 위치 스무딩 (α=0.01 기본값)
- 글씨 2배 크기, bold, strokeText 테두리, 배경 박스 제거
- 카메라 파라미터 패널에 smooth/EMA α 슬라이더 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-01 15:11:39 +09:00
commit 2aae3d1c0d
89 changed files with 15739 additions and 0 deletions

36
client/package.json Normal file
View File

@@ -0,0 +1,36 @@
{
"name": "@abcvideo/client",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"lint": "eslint src --ext .ts,.tsx"
},
"dependencies": {
"@abcvideo/shared": "*",
"@types/proj4": "^2.5.6",
"@videojs/http-streaming": "^3.17.4",
"hls.js": "^1.6.15",
"interactjs": "^1.10.27",
"proj4": "^2.20.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"subsrt-ts": "^2.1.2",
"video.js": "^8.23.7",
"zustand": "^4.5.2"
},
"devDependencies": {
"@types/react": "^18.2.73",
"@types/react-dom": "^18.2.23",
"@types/video.js": "^7.3.58",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.19",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.1",
"typescript": "^5.4.5",
"vite": "^5.2.6"
}
}