Communitygithub.com

luo-cccc/hyperframes-previs

Adapter de pré-visualização downstream para storyboard, convertendo roteiros, orçamentos e ativos em storyboards 3D editáveis com Three.js e exportando vídeos de referência via HyperFrames.

O que é hyperframes-previs?

O skill HyperFrames Previs atua como adapter downstream do skill `script-to-storyboard-prompts`, recebendo o roteiro formal finalizado, orçamentos por segmento, arquivos de ativos e estados de início/fim para transformá-los em storyboards 3D editáveis usando Three.js. Ele exporta vídeos de referência via HyperFrames, permitindo que desenvolvedores e diretores revisem e ajustem a composição, blocking e timing antes da produção final. Suporta plataformas como Claude Code, Cursor, Codex e outros agentes de IA, operando em estados de projeto JSON (v1.9/V4) ou texto livre (v1.8/V3). O fluxo de trabalho é totalmente determinístico: cada quadro é calculado a partir do tempo absoluto `t`, sem dependência de acumulação ou estado anterior, garantindo consistência entre reprodução sequencial e não sequencial. O skill não modifica o roteiro upstream, orçamento ou next_required, apenas gera arquivos no diretório `<project>/previs/<formal_id>/<prompt_version>/`. Ele inclui verificação espacial, bloqueio de mudanças aprovadas, histórico de desfazer (100 ações), e anotações com PNG, timecode e IDs de objetos. A saída final é um pacote limpo com vídeo, mapa de fontes e relatório de verificação, mantendo a intenção criativa original para que modelos downstream possam interpretar livremente.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/luo-cccc/hyperframes-previs/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

HyperFrames: Adaptação de Pré-Visualização Downstream para Storyboard

Versão do adaptador 0.4.0. Entrada STORYBOARD_PREVIS_ADAPTER_V1, validação de estado JSON SCOPED_STATE_V2; identidade visual PREVIS_RENDER_CONTENT_V2. Compila o roteiro finalizado do script-to-storyboard-prompts em uma pré-visualização 3D editável e revisável, mantendo os IDs de segmento, roteiro mestre e versão de orçamento originais. Three.js gerencia cenas e ações, HyperFrames exporta quadros.

Como Começar

Primeiro, leia references/upstream-adapter.md para localizar o projeto upstream explícito do usuário, os segmentos formais, a versão do roteiro mestre válido e a versão do orçamento. Leia o texto real, a análise de cena, os ativos de personagens/cenários/adereços e os estados de início/fim de texto. A entrada pode ser um arquivo de projeto ou uma sessão de entrega localizável; não é necessário que o upstream produza uma tabela de storyboard independente adicional.

Herde a proporção de tela confirmada, estilo completo, limite de duração do segmento, tempo real calculado, sequência de câmeras, altura em centímetros, versão do design, orientação espacial, diálogo original, responsabilidades de áudio e pontos de revelação. Não pergunte novamente sobre itens já confirmados, nem use a proporção 16:9/12s da demonstração antiga como padrão do projeto. Se a resolução de renderização e o fps não forem especificados, escolha dimensões pares adequadas à proporção e 24 fps, registrando como parâmetros técnicos de pré-visualização; não altere o orçamento nem adicione enredo por causa disso. Apenas pergunte sobre itens ausentes que afetam esta adaptação.

As sete etapas upstream e a cobertura dos segmentos formais continuam sendo gerenciadas pelo upstream. Este adaptador lê o estado autoritativo, escreve seus próprios arquivos em <project>/previs/<formal_id>/<prompt_version>/, e não modifica next_required, cursor, overrides, roteiro mestre ou orçamento do upstream. Quando o usuário diz apenas "continuar", siga o alvo atual do upstream; só entre em ação quando a solicitação atual incluir pré-visualização ou quando a entrega de pré-visualização tiver sido explicitamente selecionada. Dentro de uma única solicitação de pré-visualização autorizada, a leitura, construção, verificação e exportação podem ser feitas sequencialmente.

Suporta estados de entrega de texto (v1.8/V3) e projetos JSON (v1.9/V4). Para JSON, use scripts/intake_storyboard.py para extração somente leitura; para texto livre/sessões, o agente lê e organiza o conteúdo real, usando scripts/finalize_manual_intake.py para selar as evidências reais, sem migração automática ou adivinhação de estados antigos. Avançar outros segmentos normalmente não invalida automaticamente o segmento alvo; re-adapte quando a versão deste segmento, os ativos relacionados, o início/fim ou o texto original selecionado mudarem. Versões antigas do intake STATE_JSON que carecem de dados de escopo devem solicitar uma nova extração explicitamente, sem atualização silenciosa.

Use a geometria mais simples suficiente para verificar composição, blocking, oclusão e timing. As cores estáveis correspondem aos personagens upstream; o ambiente mantém apenas o espaço e os pontos de referência relevantes. Use modelos licenciados apenas quando for necessária ação detalhada. Separe as responsabilidades de imagem, ação e câmera; não prometa que a pré-visualização simplificada forçará o modelo downstream a seguir pixel a pixel.

Criação e Modificação

  1. Receber e mapear. Use o formal_id, prompt_version, budget_version, IDs de ativos, IDs de câmera e intervalos de tempo do upstream. Converta "enquadramento, posição da câmera", "movimento de câmera e sujeito", "composição" e "conteúdo da cena" em escala geométrica, câmera, ponto de foco e amostragem de tempo absoluto. Marque coordenadas não especificadas como "completadas pelo executor", sem redirecionar. Todos os tempos de câmera e ação são relativos ao tempo 0 do segmento formal atual; fases contínuas não são divididas em cortes.
  2. Construir espaço unificado. Use o sistema métrico, Y para cima, e indique a orientação. Crie cena, IDs de personagens estáveis, adereços atribuídos, portas/janelas como estruturas dinâmicas. Diferencie a aparência dos personagens com cores claras; forneça escala geométrica para evitar adivinhar proporções apenas pela imagem.
  3. Criar animação determinística. A pose, posição, câmera e estado da porta em qualquer quadro devem ser determinados apenas por t. Não use deslocamento cumulativo, números aleatórios não fixados ou estado do quadro anterior para a exportação. Use AnimationMixer.setTime(t) ou amostragem absoluta semelhante para dados de animação. O temporizador de reprodução do navegador só pode chamar o mesmo renderAt(t).
  4. Verificar e ajustar. Verifique o roteiro mestre, pontos de corte e estados de início/fim cena por cena. Use seleção de quadro, timeline, visualização livre, edição de FOV/câmera e pontos-chave de caminho. O template pré-visualiza apenas a trajetória da câmera atual; não altere o número de câmeras ou o orçamento. Câmeras/blockings confirmados podem ser bloqueados explicitamente. Desfazer parcial reverte apenas a modificação preservada mais recente do alvo correspondente. Mudanças que envolvam fatos fotográficos formais, história, duração, diálogo ou revelações devem ser devolvidas ao upstream para revisão; não use templates para substituir a intenção direcional existente. Veja Edição e Feedback de Quadro.
  5. Verificar e exportar. Faça verificação de dados e fontes, verificação espacial amostral, exportação quadro a quadro real, verifique especificações de vídeo, início/fim e pontos de corte. Verifique a entrada em cena apenas para framing.requiredActors explícito; avisos espaciais precisam ser confirmados visualmente; não substitua a aceitação de mídia por avisos de programa. As anotações incluem PNG real, timecode do segmento, IDs de objetos, coordenadas e fontes; marque como expirado quando a fonte mudar; separe itens processados dos aceitos.
  6. Retornar artefato de adaptação. Entregue vídeo limpo, projeto fonte, mapa de fontes, cópia literal do roteiro mestre original, notas adicionais de materiais de referência e recibo de verificação real. O roteiro mestre upstream ou adaptações de modelo existentes continuam sendo a fonte dos prompts; não substitua por prompts curtos gerados por template. O recibo representa apenas a verificação local da pré-visualização; a submissão e a capacidade de geração do modelo final ainda são tratadas pela adaptação de modelo correspondente.

Pontos de Partida Reutilizáveis

assets/starter/ contém exemplos em tempo de execução, incluindo página de revisão, amostragem de tempo absoluto, salvamento e exportação. Corredor, personagens, adereços, três câmeras e evento de porta aberta são conteúdo de demonstração; ao receber dados upstream, substitua geometria e ações com base na entrada real, não reutilize automaticamente esses elementos de história. Se não houver imagens, use placeholders de cor com base no arquivo de texto válido, verificando apenas espaço e timing.

node <skill-dir>/scripts/create_project.mjs <project-dir>
python -X utf8 <skill-dir>/scripts/intake_storyboard.py --state <estado upstream JSON> --budget <orçamento upstream JSON> --formal-id FORMAL_1 --out <project-dir>/upstream-intake.json
cd <project-dir>
npm install
npm run prepare-libs

Após ler o roteiro mestre completo, implemente os ativos reais, câmeras e ações como scene.json e código de cena, escrevendo assetBindings, sourceAssetIds e adaptationMap. Em seguida, execute as seguintes vinculações e verificações; não pule a vinculação para reverter o projeto para o branch de demonstração:

npm run bind-upstream
npm run validate
npm run studio

sourceAssetIds.scenes/props lista explicitamente os IDs de ativos realmente usados neste segmento; escreva [] se nenhum for usado. Os personagens especificam a versão LOOK/STATE e a altura via assetBindings. Verificações de números, versões e dependências não substituem a verificação semântica de história, diálogo e fotografia.

studio.html para revisão, index.html para exportação limpa. Clique em um personagem para selecionar o objeto; clique em espaço vazio para selecionar o quadro. Salvar câmera/ponto-chave individual não carrega outros rascunhos; conflitos são explicitamente indicados. O bloqueio é aplicado pelo servidor; o desfazer parcial mantém 100 históricos; alterações externas conflitantes são rejeitadas. A captura primeiro salva ou descarta o rascunho da câmera, volta para a câmera oficial, oculta a caixa de seleção e alinha ao quadro de vídeo.

npm run lint
npm run spatial-check
npm run snapshot
npm run render
npm run handoff
npm run feedback
node scripts/bundle.mjs --project . --out <novo diretório de pacote fora do projeto>

Os comandos acima são definidos no package.json do template. As dependências são fixadas no HyperFrames 0.9.10 e Three.js 0.187.0 verificados; novos ambientes podem atualizar, mas primeiro verifique a API oficial atual, depois repita a validação da exportação; não apenas altere o número da versão.

Consulte Contrato de Cena, Adaptação Upstream e Edição e Feedback de Quadro para campos, fontes/revisões, bloqueio/desfazer/anotações/verificação espacial. Leia Runtime de Renderização, Pacote de Entrega e Pacote Portátil conforme necessário. Os designs adotados e adiados estão em Fundamentos de Design; não é necessário tratar repositórios externos como pré-requisitos de produção.

Critérios de Entrega

  • As ações narrativas são identificáveis, com continuidade de personagens/câmeras/adereços entre as cenas. Verifique realmente o eixo, oclusão e quebra de moldura; se a quebra de eixo for intencional, explique qual câmera estabelece a direção.
  • O mesmo momento, após reprodução sequencial, salto direto e salto reverso, produz o mesmo estado; verifique pelo menos uma amostragem não sequencial, por exemplo, 8 → 2 → 8.
  • O diálogo original e os tempos de áudio são totalmente preservados no mapeamento e no recibo; itens não verificados (áudio não sintetizado, lábios não implementados, ações complexas) são explicitamente marcados como não verificados. Registre separadamente: prompt de ativo entregue, imagem existente, imagem lida, modelo vinculado.
  • O mesmo segmento formal é exportado independentemente por padrão; a junção de cenas ou cruzamento de segmentos requer solicitação explícita, com mapa de deslocamento salvo separadamente. Os limites de arquivo não se tornam automaticamente cortes; não repita eventos do segmento anterior; não estenda ou arredonde o orçamento; quadros finais não inteiros devem ter um mapeamento explícito entre o clock de origem e o clock de saída.
  • A exportação usa os dados de câmera salvos. O primeiro quadro está carregado, sem quadros pretos, recursos ausentes, interface de revisão intrusiva ou vestígios de ponto de corte.
  • A exportação primeiro armazena temporariamente e verifica antes de publicar; falhas mantêm o vídeo de sucesso antigo. Bloqueio, histórico e anotações não alteram a identidade visual; apenas mudanças substanciais de câmera/caminho/modelo/código tornam as evidências de quadro antigo expiradas. A revisão ainda requer consistência entre os quatro itens relacionados. VERIFIED em anotações significa apenas que o usuário registrou evidências individuais, não substitui a aceitação de mídia do modelo final.
  • A geração do modelo reinterpretará materiais, membros e detalhes. Escreva claramente "intenção de composição e ação que deve ser preservada" versus "performance e textura que podem ser naturalizadas"; não prometa controle em nível de pixel ou esqueleto.
  • O relatório final declara o escopo real concluído e verificado. Se referências de personagens não foram fornecidas ou o modelo downstream não foi executado, não descreva os placeholders de cor como "validação de consistência de personagem" nem descreva a saída da pré-visualização como a geração final do filme.

Habilidades Relacionadas