개요
볼링 투구 영상을 촬영해 구속(km/h)과 RPM 추정값을 측정하고, 슬로우모션 재생과 히스토리를 제공하는 분석 탭을 추가한다. 외부 AI API 없이 순수 이미지 처리로 구현한다.
탭 위치
홈 / 통계 / 분석(신규) / 내볼 / 설정 (5탭)
주요 기능
- 캐릭터 가이드 — CustomPainter 볼링핀 캐릭터, 촬영 위치 3단계 안내
- 고fps 녹화 — 240fps → 120fps → 60fps 자동 폴백
- 볼 감지 + 속도 계산 — 프레임 차분(motion detection) 기반, 레인 표준 길이(18.29m) 적용
- RPM 추정 — 볼 가장자리 X좌표 진동 분석, 항상 "추정값" 명시
- 슬로우모션 재생 —
video_player.setPlaybackSpeed(0.25), 4배 슬로우
- 히스토리 저장 — 메타데이터 Supabase, 영상 파일 로컬
- 세션 연결 — 당일 세션 있으면 연결 선택 바텀시트
신규 패키지
camera: ^latest
video_player: ^latest
Supabase 테이블
create table ball_analysis (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null,
recorded_at timestamptz not null,
speed_kmh numeric(5,2) not null,
rpm_estimated integer,
fps_used integer not null,
video_local_path text,
linked_session_id uuid references sessions(id) on delete set null,
created_at timestamptz default now()
);
관련 플랜
docs/superpowers/plans/2026-04-25-ball-analysis-tab.md
개요
볼링 투구 영상을 촬영해 구속(km/h)과 RPM 추정값을 측정하고, 슬로우모션 재생과 히스토리를 제공하는 분석 탭을 추가한다. 외부 AI API 없이 순수 이미지 처리로 구현한다.
탭 위치
홈 / 통계 / 분석(신규) / 내볼 / 설정 (5탭)
주요 기능
video_player.setPlaybackSpeed(0.25), 4배 슬로우신규 패키지
Supabase 테이블
관련 플랜
docs/superpowers/plans/2026-04-25-ball-analysis-tab.md