capcut-agent/capcut_agent
hehihoho3@gmail.com 499223a125 카드 배치를 무음 제거 뒤로 옮겨 3초 약속을 지킨다
카드 시간을 무음 제거 **전** 타임라인에서 만들고 _remap_caps 로 압축하고 있었다.
자막은 그게 맞다(발화 시각을 따라가야 하니까). 하지만 카드는 다르다:

- cards_fixed=True 는 "카드는 정확히 3초"라는 절대 길이 약속이라 압축하면 깨진다.
  컷 한가운데가 무음이면 3.0초짜리가 2.0초로 눌린다.
- fixed=False 에서도 3초 하한이 사라져 있었다. 기존 _load_comment_cards 는
  n = max(1, int(dur // 3)) 으로 카드당 3초를 보장하는데 _cards_by_cut 엔 그게 없었고,
  quota 는 **원본** 컷 길이로 계산되므로 무음이 절반인 24초 컷은 8장 → 압축 12초 →
  장당 1.5초가 됐다.

고친 방식:
- _remap_placements() 추가 — 카드는 '시간'이 아니라 '컷 구간 자체'를 옮긴다.
- _cards_by_cut 호출을 무음 제거 블록 뒤로 옮기고 압축된 구간·timeline_dur 로 계산.
  무음 제거가 꺼져 있으면 card_places = placements 그대로다.
- _cards_by_cut 에 컷당 장수 상한 min(len, max(1, floor(컷길이/min_sec))) 추가.
  초과분은 버린다 — _load_comment_cards 와 같은 규칙.
- 이제 필요 없어진 cut_cards 의 _remap_caps 호출 제거.

기존 탭(process_bg_template)과 _load_comment_cards 는 손대지 않았다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 14:12:31 +09:00
..
__init__.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
comments.py match_slots() 함수 구현 — 구간 슬롯 배정 기능 2026-08-04 11:39:39 +09:00
correct.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
draft.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
highlight.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
media.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
paste.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
pipeline.py 카드 배치를 무음 제거 뒤로 옮겨 3초 약속을 지킨다 2026-08-04 14:12:31 +09:00
plan.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
probe.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
prompts.py 컷별 댓글 추천 프롬프트 파일 로더 구현 2026-08-04 11:50:12 +09:00
recommend.py Gemini 추천 실패를 화면에 알린다 (조용히 삼키지 않음) 2026-08-04 14:09:19 +09:00
scene.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
silence.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
transcribe.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
youtube.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00