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:
40
.claude/skills/review/SKILL.md
Normal file
40
.claude/skills/review/SKILL.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
name: review
|
||||
description: 최근 코드 변경사항을 CLAUDE.md 규칙 기준으로 리뷰합니다.
|
||||
disable-model-invocation: true
|
||||
context: fork
|
||||
agent: code-reviewer
|
||||
---
|
||||
|
||||
## 코드 리뷰
|
||||
|
||||
최근 변경사항을 CLAUDE.md의 핵심 구현 규칙 기준으로 리뷰하세요.
|
||||
|
||||
### 리뷰 범위
|
||||
|
||||
변경된 파일 확인:
|
||||
!`git diff --name-only HEAD~1 2>/dev/null || echo "git diff 불가 - 전체 파일 리뷰"`
|
||||
|
||||
### 리뷰 기준 (CLAUDE.md에서 발췌)
|
||||
|
||||
**보안:**
|
||||
- Path traversal 방어 (path.resolve + 허용 디렉토리 검증)
|
||||
- 업로드 MIME + FFprobe 검증
|
||||
- CORS 설정
|
||||
|
||||
**메모리:**
|
||||
- URL.createObjectURL → revokeObjectURL 쌍
|
||||
- Canvas 재사용
|
||||
- hls.js backBufferLength: 30
|
||||
|
||||
**성능:**
|
||||
- timeupdate 직접 DOM 조작 금지
|
||||
- requestAnimationFrame/requestVideoFrameCallback 사용
|
||||
- 이진 탐색 O(log n)
|
||||
|
||||
**패턴 준수:**
|
||||
- Range Request: createReadStream + pipeline
|
||||
- FFmpeg: child_process.spawn 래퍼
|
||||
- Video.js: ref + useEffect 패턴
|
||||
|
||||
피드백을 Critical / Warning / Suggestion 으로 분류하세요.
|
||||
Reference in New Issue
Block a user