capcut-agent/server
hehihoho3@gmail.com c6092a93ac 섹션을 컷 안으로 흡수 — 고른 카드가 마지막 컷에 처박히지 않게
독립 " 좋아요 상위 후보" 섹션은 cardSection 에 ci 를 안 넘겨서
toggle(hlId,idx,undefined) → selCut 에 기록 안 됨 → 빌드 때 마지막 컷으로 폴백했다.
계획서는 "맨 뒤로 가니 마지막 컷 뒤에 붙는다, 배치상 문제 없다"고 적었는데 틀렸다.
_cards_by_cut 은 컷 뒤에 붙이지 않고 **컷 안에서 균등 분할**한다 —
4초짜리 마지막 컷에 5장이 들어가면 0.8초씩 번쩍인다.

AI 프롬프트가 "억지로 채우지 마라, 없으면 빈 배열로 둬라"라고 지시하므로
quota 미달이 기본 동작이고, 스펙 §7 은 그 미달을 "사람이 에서 채운다"로 풀었다.
즉 이건 예외가 아니라 주 워크플로다.

- hl.cuts 가 있으면 컷마다 두 섹션(둘 다 ci=cu.i):
  ① 컷 N · X초 · 카드 Q장 — 자막   ② ↳ 좋아요 상위에서 채우기
  ②는 컷마다 반복되므로 초기 렌더를 6장(CUT_FILL_PAGE)으로 줄이고 나머지는 더보기.
- 마지막 컷 폴백 제거. ci 가 없으면 엉뚱한 컷에 넣지 말고 그 카드를 건너뛴다
  (fd.append("cards") 와 sentCuts.push 는 반드시 쌍으로 — 하나만 돌면 전부 어긋난다).
- hl.cuts 가 없는 폴백 경로( + 독립 )는 그대로 둔다.

같이: 컷 섹션의 '나머지'를 그 컷 시간대 언급 댓글로 좁혔다.
hl.matched 전체를 컷마다 복제하면 컷 12개 × 30장 = 360장, 하이라이트 5개면 1800장으로
부풀고(기존 300장) 같은 댓글이 여러 섹션에 중복돼 한쪽을 고르면 쌍둥이까지 하이라이트됐다.
데이터(byIdx[i].times, paste.cuts[i].start/end)는 이미 클라이언트에 다 있다.
호출되지 않는 죽은 함수 cutOf() 도 제거.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 14:15:06 +09:00
..
static 섹션을 컷 안으로 흡수 — 고른 카드가 마지막 컷에 처박히지 않게 2026-08-04 14:15:06 +09:00
__init__.py chore: git 저장소 초기화 (기존 코드 스냅샷) 2026-08-04 11:36:05 +09:00
app.py 추천 단계에 진행 표시 추가 (최대 450초 무반응 제거) 2026-08-04 14:09:41 +09:00