### 🛠️ Issue Overview - S3 Presigned URL 적용을 통한 이미지 보안 처리 - TTS 재사용 전략 도입으로 오디오 파이프라인 최적화 - 관리자 폼 인물 필드 구조 개편 및 미리보기 동기화 수정 - N+1 쿼리 개선 및 홈 화면 조회 성능 개선 ### 📝 Issue Description - 기존 S3 URL이 외부에 노출되는 문제를 Presigned URL 방식으로 개선 - 대사 텍스트가 변경되지 않은 경우 기존 TTS 오디오를 재활용하여 API 호출 비용 절감 - 시나리오 노드/대사 삭제 시 S3 파일도 함께 정리되도록 처리 - 관리자 폼의 인물 필드 구조(주장/철학자명/주장요약)로 재편 및 미리보기 동기화 오류 수정 - `findByBattleIn` 배치 쿼리 도입으로 N+1 문제 해결 ### ✅ To do - [X] S3 Presigned URL 생성 / 삭제 / 다운로드 기능 구현 - [X] TTS 재사용 전략 및 스마트 대본 업데이트 로직 적용 - [X] 시나리오 생성/수정 status 필드 추가 및 오디오 파이프라인 자동 트리거 - [X] 배틀 생성/수정 이미지 변경 시 기존 S3 파일 자동 삭제 - [X] N+1 개선 및 홈 화면 limit 파라미터 적용 - [X] 관리자 폼 인물 필드 구조 개편 및 미리보기 동기화 수정 - [X] FFmpeg 환경변수 주입 및 배포 설정 개선
🛠️ Issue Overview
📝 Issue Description
findByBattleIn배치 쿼리 도입으로 N+1 문제 해결✅ To do