teqo-backup/scripts/lib/reelPackage.mjs
Francisco Solla 8504b3b13a feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo
- skill + command finos: shot list é a fonte única; ajuste regenera, nada publica
- scripts/build-reel.mjs + scripts/lib/reel*.mjs: captura CDP com timestamps de
  parede (sem drift), cursor/halo DOM-injected, zoompan do log de cliques,
  legendas queimadas, capa 1080x1350-safe, concat H.264 1080x1920/30fps
- ffmpeg: FFMPEG_PATH -> PATH -> @ffmpeg-installer (registry-only) com probe fail-closed
- kit oficial da campanha: public/campaign-kit (marcas positiva/negativa, numero,
  estrela) + manual em docs/campaign-kit + README de regras; skill e agente de
  design referenciam o material
- 26 testes unit novos + pin do command; changelog 2026-09-18-c196

Closes #1155
2026-09-18 21:50:28 -03:00

28 lines
649 B
JavaScript

/**
* C196 — the reel package metadata: the contract the private library (C195)
* ingests. `shotListHash` identifies the reel version; re-rendering the same
* shot list updates the same entry.
*/
import { REEL } from './reelTimeline.mjs'
export const buildReelMetadata = ({
shotList,
hash,
durationMs,
ffmpeg,
generatedAt = new Date(),
}) => ({
slug: shotList.slug,
title: shotList.title,
feature: shotList.feature,
shotListHash: hash,
durationMs: Math.round(durationMs),
width: REEL.width,
height: REEL.height,
fps: REEL.fps,
codec: 'h264',
audio: false,
generatedAt: generatedAt.toISOString(),
ffmpeg,
})