Commit Graph

4 Commits

Author SHA1 Message Date
5b58e94ad1 검토 화면을 컷별 카드 묶음으로 렌더
서버가 하이라이트마다 컷 단위 추천(hl.cuts)을 내려주기 시작해서(6~8번
커밋), 화면도 컷 소속을 알아야 카드를 그 컷 구간 안에 배치할 수 있다.
카드가 어느 컷에 속하는지(selCut)를 추적해 컷별 상한(quota)을 걸고,
sel[hlId]를 항상 컷 순서로 정렬해 업로드 파일명(001.png…)과
card_cuts 배열 인덱스가 어긋나지 않게 했다. hl.cuts가 없으면(추천
실패) 기존  통짜 화면으로 그대로 폴백한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 12:28:11 +09:00
c3556edb9d /auto/build가 card_cuts 폼 필드를 받아 파이프라인에 넘김
- auto_build 시그니처에 card_cuts 폼 필드 추가
- JSON 배열 문자열 파싱 (값 깨져도 빌드 계속)
- job dict에 저장 후 process_paste 호출에 전달
- bool 필터링 강화: JSON true/false가 정수로 둔갑하지 않도록

이유: JSON의 true/false가 Python bool로 파싱되는데, bool이 int의 서브클래스라
isinstance(v, int)를 통과해 컷 인덱스 1/0으로 대신 쓰이는 문제 해결.
capcut_agent/recommend.py 패턴과 일관성 있음.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 12:23:18 +09:00
90ff2b174f /auto/analyze 결과에 컷별 추천(cuts[]) 추가
댓글 매칭 후 recommend.build_highlight_cuts()를 호출해 하이라이트별
cuts/need를 SSE result에 실어 보낸다. Gemini 호출이 블로킹이라
asyncio.to_thread로 스레드에서 돌리고, 실패해도 기존 matched/candidates로
화면이 폴백하도록 warnings에만 기록하고 드래프트 생성은 막지 않는다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 12:12:35 +09:00
bf1b387d6d chore: git 저장소 초기화 (기존 코드 스냅샷)
컷별 댓글 추천 작업을 태스크 단위로 되돌릴 수 있게 버전관리를 시작한다.
.gitignore 로 영상·캐시(.downloads 2.7G, .comments 72M, .media 28M)와
비밀키(.gemini_key)를 제외했다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 11:36:05 +09:00