초기 커밋: 스테이션(측점) 기반 주행영상 플레이어

- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel
- 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API
- 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-25 16:37:57 +09:00
co-authored by Claude Opus 4.8
commit 78fc090360
214 changed files with 27897 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';
export default defineConfig({
plugins: [react()],
define: {
__BUILD_TIME__: JSON.stringify(new Date().toISOString()),
},
build: {
rollupOptions: {
output: {
// 큰 라이브러리를 별도 청크로 분리 (변수 충돌 방지 + 로딩 최적화)
// Vite 8(rolldown)은 manualChunks를 함수 형식으로만 허용
manualChunks(id) {
if (id.includes('node_modules/react-dom') || id.includes('node_modules/react/')) {
return 'vendor-react';
}
if (id.includes('node_modules/video.js')) return 'vendor-videojs';
if (id.includes('node_modules/hls.js')) return 'vendor-hls';
},
},
},
},
resolve: {
alias: {
'@abcvideo/shared': path.resolve(__dirname, '../shared/src/index.ts'),
},
},
server: {
port: 5173,
host: '0.0.0.0',
allowedHosts: true,
proxy: {
'/api': {
target: 'http://localhost:3030',
changeOrigin: true,
},
},
},
});