thativanng/reels-maker - auditoria de filme

A cada compilação renderizada deve passar por três verificações: colisão em 3D, sobreposição de pixels e auditoria independente, antes de ser enviada.

O que é reels-maker - auditoria de filme?

Este skill automatiza o pipeline de auditoria de filmes renderizados, garantindo que nenhum filme seja enviado sem passar por três verificações rigorosas. A primeira é uma verificação de colisão em 3D a 40 fps usando `node tools/collide.mjs`, que detecta contatos entre objetos móveis e estáticos. A segunda é uma verificação de pixels na tela com `node tools/probe.mjs`, que mede sobreposições de texto, rostos, legendas e bordas do quadro. A terceira é uma auditoria independente: um agente novo (nunca o construtor) analisa o vídeo renderizado a ≥2 fps, usando `tools/sheet.py` para gerar quadros com timestamps, e emite um parecer com status FIXADO / NÃO FIXADO / REGRESSÃO / NOVO, classificado como DEVE-CORRIGIR ou BOM-CORRIGIR. O skill é ideal para uso com agentes como Claude Code, Cursor ou Codex, e deve ser executado a partir da pasta `reels-maker` (clone de github.com/thativanng/reels-maker). Ele é útil para qualquer desenvolvedor que produza conteúdo animado ou renderizado, como reels, filmes ou animações 3D, garantindo qualidade antes da entrega.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thativanng/reels-maker/tree/HEAD/skills/film-audit

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

auditoria-de-filme: nenhum filme sai sem estas verificações

Onde o kit vive: execute todos os comandos deste skill na pasta reels-maker (o clone de github.com/thativanng/reels-maker que contém template/ e tools/). Se o projeto não tiver nenhum, configure-o primeiro seguindo o SETUP.md desse repositório.

A regra: um filme só vai para a pessoa quando (1) a verificação de colisão disser SEM COLISÕES, (2) toda preocupação do tipo "X está sobre um rosto" tiver um número de pixels, e (3) um auditor independente tiver dado o aval sem nenhum DEVE-CORRIGIR em aberto. Uma olhada a 1 fps pela pessoa que construiu é uma verificação superficial, não um portão. Uma correção move outras coisas (mover um balão de fala uma vez empurrou-o para fora do quadro), então cada rodada de correção recebe uma re-verificação estreita das janelas que tocou.

Portão 1 · Colisões em 3D (node tools/collide.mjs)

  • A página expõe window.collide(t). Ela compara as caixas limitadoras de cada malha em AUD_M (coisas que se movem) contra AUD_S (coisas que ficam paradas) e entre si, após encolher cada caixa em 0.03.
  • Registre cada novo movente e sólido, ou a verificação não consegue vê-lo. Caixas arremessadas, copos carregados, cubos passando e vírus flutuantes contam como moventes.
  • Contatos que devem acontecer (um copo na mão) são excluídos por nome, em HELD.
  • Malhas com menos de 0.12 unidades de altura (decals de chão, marcações de estrada, placas finas) são ignoradas, para que uma coisa plana não gere um falso alarme. Um movente realmente fino precisa de sua própria verificação.
  • Execute a 40 fps (STEP=.025, o padrão). A 10 fps perdeu dois contatos de um quadro: caixas arremessadas através das cabeças de duas pessoas.
  • A saída é uma linha por par: de–para s A × B profundidade (quadros). Envie apenas com SEM COLISÕES.

Portão 2 · Pixels na tela (node tools/probe.mjs)

Alguns defeitos nunca colidem em 3D. Uma tampa de garrafa a 3 m atrás da cabeça de alguém ainda pode parecer que está crescendo do cabelo. Meça a tela:

node tools/probe.mjs "4.4,4.6,4.8" "D.CUPS[0]" "head"   # sobreposição de um copo e a cabeça do herói, em pixels
node tools/probe.mjs "24.5,26" "head" "pill"           # a cabeça está atrás da legenda?
node tools/probe.mjs "3.0,3.5" "D.GUESTS[1].v.root"    # um retângulo: esta pessoa está dentro do quadro?
  • Leia overlap: [x, y] (ambos > 0 significa um sobre o outro), gapY e inside (A está totalmente dentro de B).
  • Em qualquer página, inclusive 2D: sel:<seletor css> é o que um elemento realmente pinta (suas letras, medidas linha por linha, mais qualquer fundo, borda ou imagem) e safe é a zona de segurança da plataforma (de window.FILM.safe). Toda palavra na tela deve estar inside: true em relação a safe em cada batida:
    node tools/probe.mjs --page reels/<nome>/page.html --format 9:16 "2,6.4,10.4" "sel:.title,.line,.kicker,.handle,.cap" "safe"
    
  • Para testar uma chave de câmera sem editar o arquivo, passe PRE (executa antes de cada vez): PRE="window._CK.find(k => k[0] === 23.8)[1] = window._dbg.A(72.2, 10, 31, 72, 5.2, 1.5)" node tools/probe.mjs "25,28" "head".
  • As caixas são conservadoras (uma caixa limitadora é maior que a forma), então alguns px de sobreposição podem ser claros na realidade. A decisão do auditor é que prevalece.

Verifique cada um destes com um número antes de renderizar:

  • Toda palavra, legenda e logotipo dentro da zona de segurança da plataforma (safe, de template/formats.json). Em reels orgânicos 9:16, essa é a faixa do meio (o app cobre o quarto inferior e a barra de botões à direita); em um reel pago, tudo acima dos 35% inferiores
  • Qualquer coisa perto de um rosto: bonés, telas atrás da cabeça (o halo), cubos passando, adereços na boca
  • O herói contra a legenda durante movimentos de câmera
  • O balão de fala contra a borda do quadro e adereços próximos
  • Pessoas e veículos contra a borda do quadro (≥24 px é seguro)
  • Coisas voadoras (caixas arremessadas, moedas, aglomerados de vírus) contra cada cabeça que passam

Portão 3 · O auditor independente

Inicie um agente NOVO (nunca o construtor, nunca um que viu a construção) com references/auditor-brief.md.

  • Ele lê o MP4 renderizado, não a página ao vivo: ffmpeg -i out/filme.mp4 -vf fps=2 …, depois planilhas com timestamp (tools/sheet.py).
  • ≥2 fps para o filme inteiro, ≥4 fps em cada janela alterada, quadro a quadro (30 fps) em pontos de contato como uma pega ou uma entrega.
  • Ele responde por item: CORRIGIDO / NÃO CORRIGIDO / REGRESSÃO / NOVO, classificado DEVE-CORRIGIR / BOM-CORRIGIR, depois uma linha: APROVADO ou NÃO.
  • Uma re-verificação após correções é estreita: apenas as janelas que as correções tocaram, mais um olhar rápido para regressões. Pode ser mais barato iniciar um novo agente do que retomar um que carrega todo o seu histórico.

O que os auditores continuavam encontrando (procure primeiro por estes)

  • Algo tocando ou atrás de uma cabeça: uma tampa de garrafa no cabelo, alfinetes de mapa atrás da cabeça, um monitor brilhando atrás da cabeça, um cubo atravessando um queixo
  • Coisas passando através de coisas: caminhões através de prédios e uns dos outros, uma van estacionada debaixo de uma mesa
  • Lógica: um caminhão atracando de frente, o segundo caminhão ultrapassando o primeiro, um copo deixado na borda de uma mesa que deveria cair
  • Pessoas: duas pessoas tão próximas que suas cabeças se fundem em uma figura; alguém meio fora do quadro
  • Movimento: um pulo de um quadro (teletransporte), coisas caindo pelo chão em 0,1 s, o herói desaparecendo entre cenas
  • Palavras: texto dentro de uma zona que os botões da plataforma cobrem, chinês quebrado no meio de uma palavra, um banner fora de sincronia com sua cena, ortografia mista UK/US, um número que ninguém pode defender, a legenda cobrindo o herói
  • Som: whooshes, uma deixa que está inaudível sob a música, deixas flutuando após uma batida inserida

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

thativanng/reels-maker

Build and render a film, reel or animation as code. One HTML page draws any frame on demand with window.seek(t), and a headless browser renders every frame at 2x into an MP4 with sound. Use it whenever someone wants a video made with code rather than a video generator, says "make a film / reel / animated explainer / career video", "render this to MP4", "turn this page into a video", or needs the finishing steps (audio cues, loudness, colour-safe encode, phone preview). It is style-agnostic and renders 9:16, 4:5, 1:1 or 16:9. It runs after reel-intake (the brief) and reel-style (the look), builds on template/starter.html or a style pack such as voxel-walk, and passes film-audit before anything is shown to anyone.

thativanng/reels-maker

The interview before any video is built. It reads what the person already gave (source text, CV, links, brand files), then asks the rest in a few short rounds of numbered questions with a recommended answer marked, always including the format (platform, reel or video, ratio, layout, length, sound). It ends in a one-screen brief that splits "you said" from "I assumed", plus a storyboard, and builds nothing until the person says yes. Use it whenever someone asks for a reel, a video, an explainer, a career film, an animation or a "make a video about X", before film-engine or any style pack, and again when a request changes its purpose, platform or audience mid-way.

thativanng/reels-maker

Picks the look of a reel or film before it is built. It shows three genuinely different looks as stills of the same opening frame with the same words, so the person judges the look and not the content. It keeps a log of every look ever shown, so no look comes back unless asked for, and it locks one look on purpose for a series. Use it after reel-intake's brief is signed and before any test strip, whenever someone says "what should it look like", "give me options", "make it look different from last time", "it looks cheap", or starts a new reel or a new series.

thativanng/reels-maker

The voxel career-film style. A blocky 3D version of the person walks, without ever vanishing, through one scene per role. Their outfit changes as they walk, each scene rises out of the floor ahead of them, and a dark banner tracks year, company and role. Use it when someone wants their career, a journey or a "how I got here" told as a short 3D film for LinkedIn or a portfolio, says "make my career film", "turn my CV into a video", "voxel film", or wants a new chapter added to an existing one. It runs on film-engine (render, audio, finish) and must pass film-audit before anything is sent.

Habilidades Relacionadas