Commit Graph

5 Commits (main)

Author SHA1 Message Date
jwkim cb7c463f98 feat(generator): AI브리핑 폴링 안정화 + 리뷰 요약 폴백 + 브랜드 로고 (shorts_all 동기화)
- naver.py: AI 브리핑이 하단 lazy-load 되는 특성 반영 — 섹션을 뷰에 올려
  본문 불릿이 실제 로드될 때까지 스크롤·폴링(간헐 빈결과 수정).
  리뷰 크롤·요약 함수(fetch_reviews/summarize_reviews) 추가.
- main.py(3): AI 브리핑이 없는 가게는 방문자 리뷰를 긁어 Gemini로 요약해
  소재로 사용하는 폴백 추가.
- 각 엔진 fonts/brand_logo.png 추가(상단 밴드 제목 옆 로고 — 렌더에 필요).
- emile 잔여물(generator/data/emile_*) 제거.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 09:08:56 +09:00
jwkim f24818860b fix(render): 떨림 제거 + 자막 자동축소 + 공유폰트 인식 (shorts_all 동기화)
- Ken Burns 떨림 제거: zoompan 입력 업스케일 1.2→4배 + flags=lanczos.
  정수픽셀 반올림 흔들림 소멸(측정: 세로 튐 47→0회/60f).
- 자막 자동 축소: 나레이션이 밴드 높이를 넘치면 폰트를 NARR_MIN_SIZE(30)까지
  단계 축소 후 흰 밴드 안에만 렌더(아래 그림 침범 방지).
- 폰트 경로 견고화(_find_font): per-engine fonts/ 우선, 없으면 상위 공유
  generator/fonts/ 사용 → ssulbox 공유폰트 레이아웃에서도 주아체 정상 로드.
  (shorts_all/ssulbox render.py 3종 동일 유지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 09:05:57 +09:00
jwkim 061d6b36b8 fix: 네이버 가게명 추출(og:title) + 뷰어 재생바 노출 + 생성 진행 UI 단순화
- naver.py: span.GHAhO 난독 클래스 변경으로 가게명이 'AI 브리핑'으로
  잘못 잡히던 버그 수정. og:title 메타 우선 추출(_store_name/_clean_store),
  섹션명·'네이버' 포함값 배제. 브리핑·사진 크롤 양쪽 적용.
- 뷰어: 하단 제목/설명 오버레이가 네이티브 재생바를 가리던 문제 →
  56px 위로 올리고 pointer-events:none 으로 탐색바 조작 가능하게.
- 생성 진행: 시나리오/가게/로그 등 제거, '영상 생성 중' + 진행바 + 퍼센트만.
  step(0~4)→% (완료 전 96% 상한, 완성 100%), shimmer 애니메이션.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 16:56:06 +09:00
jwkim 39483e2bfb feat: 완성 mp4 Azure Blob 저장(ADO2 계정 재사용) + 로컬 자동정리
- blob_client: SDK 없이 aiohttp+SAS로 PUT 업로드, 공개 URL 반환(실패 시 None)
- content_sync: 새 영상 발견 시 블롭 업로드 → Content.video에 공개 URL,
  DB 커밋 성공 후 로컬 output job 폴더 삭제(OUTPUT_DIR 하위 안전장치)
- SAS 미설정 시 기존 로컬 /videos fallback 유지
- 경로 ssulbox/ 프리픽스로 ADO2 콘텐츠와 격리
- config/.env.example: AZURE_BLOB_BASE_URL/SAS_TOKEN/PREFIX 추가(실 SAS는 .env, 미커밋)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 15:26:43 +09:00
jwkim 9ab618db10 init: 썰박스(SSULBOX) 마케팅 쇼츠 플랫폼
- frontend: React+Vite+TS+Tailwind (모바일 우선 인스타형 피드/뷰어/채널)
- backend: FastAPI + SQLAlchemy async + SQLite, 카카오 로그인/유튜브 연동/크레딧
- generator: 네이버 크롤 기반 AI 쇼츠 생성기(애니메이션 3종)
- 시크릿(.env)·DB·node_modules·output·bgm 은 커밋 제외

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 14:55:47 +09:00