Commit Graph

10 Commits

Author SHA1 Message Date
김보곤
2430c39738 feat:튜토리얼 영상 생성 이력에 제작시간 열 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:29:50 +09:00
김보곤
ff85e1c993 fix:AI 분석 504 타임아웃 에러 처리 개선
- Controller: analyzeScreenshots()를 try-catch로 감싸 JSON 에러 응답 보장
- Frontend: api() 함수에서 HTML 응답(504/502 등) 감지 → 친절한 한글 에러 메시지 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:44:35 +09:00
김보곤
3c8f7c9f66 feat:튜토리얼 이력 새로고침 버튼 + 행 클릭 스크립트 상세보기
- TutorialVideoController에 detail/{id} 엔드포인트 추가 (analysis_data 반환)
- HistoryTable에 새로고침 버튼 추가 (스피너 애니메이션)
- 행 클릭 시 스크립트 상세정보 (화면별 단계, 나레이션, 소요시간) 펼침 표시
- 상세 데이터는 캐시하여 재클릭 시 재요청 없음

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:29:27 +09:00
김보곤
36cb6b63cd fix:업로드 진행률 버튼 흰색 배경 문제 수정
- disabled 속성 제거 (브라우저 기본 스타일이 Tailwind을 덮어씌움)
- 클릭 가드로 중복 클릭 방지 대체
- !important로 배경/글자색 강제 적용 (indigo-900/white)
- is-loading 클래스로 진행 중 상태 명확히 구분

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:05:10 +09:00
김보곤
09ff2288e8 feat:업로드 버튼에 진행률 표시 UI 개선
- XHR upload.onprogress로 파일 업로드 실시간 진행률 표시 (0~50%)
- AI 분석 단계 진행률 시뮬레이션 표시 (50~100%)
- 버튼 내부에 반투명 progress fill 애니메이션
- 단계별 텍스트 변경: "업로드 중... 30%" → "AI 분석 중... 75%"
- 업로드+분석을 ScreenshotUpload 내부에서 일괄 처리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:58:02 +09:00
김보곤
7651aebcfc fix:스크린샷 Ctrl+V 연속 붙여넣기 누적 안되는 버그 수정 + 드래그 재정렬
- stale closure 버그 수정: useRef로 최신 files/previews 참조
- 이미지 추가 시 기존 preview URL 유지 (revoke 안 함) → 올바른 누적
- 드래그 앤 드롭 순서 변경 기능 추가
- + 버튼으로 추가 이미지 등록 UI 개선
- 파일 선택 후 input value 리셋 (같은 파일 재선택 가능)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:45:39 +09:00
김보곤
46f1577d65 feat:튜토리얼 영상 멀티스텝 개선 (8초 → 30초~2분)
- ScreenAnalysisService: Gemini 프롬프트를 멀티스텝(3~5 steps) 출력으로 변경 + 하위 호환 fallback
- SlideAnnotationService: 스포트라이트 효과(annotateSlideWithSpotlight), 인트로/아웃트로 슬라이드 생성
- TutorialVideoJob: screen→steps 중첩 루프 + 인트로/아웃트로 씬 추가
- index.blade.php: 단계별 나레이션 편집 UI + 예상 시간 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:36:56 +09:00
김보곤
e182eb91b2 feat:스크린샷 Ctrl+V 클립보드 붙여넣기 지원
화면 캡처 후 바로 Ctrl+V로 업로드 가능.
클립보드 이미지 자동 감지, 파일명 자동 생성,
붙여넣기 시 녹색 플래시 시각 피드백 제공.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:19:39 +09:00
김보곤
0521df47ca fix:영상 미리보기 CORS 에러 해결
preview에서 GCS redirect 대신 서명URL을 JSON 반환(?url=1)하여
video 태그에서 직접 사용. storage.googleapis.com→mng.sam.kr
favicon CORS 차단 문제 해결.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:13:12 +09:00
김보곤
768bc30a6d feat:사용자 매뉴얼 영상 자동 생성 기능 구현
- TutorialVideo 모델 (상태 관리, TenantScope)
- GeminiScriptService에 callGeminiWithParts() 멀티모달 지원 추가
- ScreenAnalysisService: Gemini Vision 스크린샷 AI 분석
- SlideAnnotationService: PHP GD 이미지 어노테이션 (마커, 캡션)
- TutorialAssemblyService: FFmpeg 이미지→영상 합성 (crossfade)
- TutorialVideoJob: 분석→슬라이드→TTS→BGM→합성 파이프라인
- TutorialVideoController: 업로드/분석/생성/상태/다운로드/이력 API
- React-in-Blade UI: 3단계 (업로드→분석확인→생성모니터링) + 이력

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:56:39 +09:00