🎙️ LocStudio

FreshWomen S3

👋 Bem-vindo(a) ao LocStudio

Este é o painel de dublagem do FreshWomen S3. Aqui você acompanha as cenas e os personagens, e é por aqui que você envia as suas gravações. Antes de começar, dá uma olhada nas orientações abaixo.

🎬
Casting encerrado — vozes definidas
As votações de elenco foram encerradas. Já têm voz definida: Alyssa, Bartholomew, Brooke, Bruce, Charlotte, Chloe, Devilla, Dylan, Gabby, Himiko, Julia, Laura, Lily, Naomi, Riko, Sakura, Sue, Susan e Watson. Seguem sem voz definida Angela e Emily, que não entraram nesta rodada. O resultado completo está em Resultado do elenco.

✨ Features do dashboard

Recursos do LocStudio além de acompanhar cenas e enviar gravações. Cada card explica uma funcionalidade e onde encontrá-la.

Reports de QA em tabela e download em Excel
Na aba Reports, sub-aba Comentários de QA, além dos cards existem dois botões ao lado das guias (Pendentes / Histórico / Todos):
  • ▤ Ver em tabela simples — troca os cards por uma tabela enxuta com Cena · Personagem · Fala · Report · ID da fala. Clicar de novo volta pros cards.
  • ⬇ Baixar em Excel — baixa essa mesma tabela em .xlsx (abre no Excel com as colunas certas).
As duas seguem a guia ativa: em Pendentes saem só os reports em aberto; em Histórico ou Todos, o recorte acompanha. Tabela e planilha são geradas na hora a partir dos reports ao vivo, então um report novo aparece assim que você abre a tabela, baixa o Excel ou dá F5. A coluna Fala vem do texto da fala pelo id; o texto do report é o comentário deixado pela QA no player.
🎧
AuditarAudios.bat — conferir a entrega e enviar pro jogo
Para quem faz a pós-produção. Depois de tratar os áudios de um período, este script confere a pasta inteira e, se estiver tudo certo, envia os arquivos novos pra pasta voice do jogo. Roda em qualquer PC com o Dropbox sincronizado, sem configurar nada: é só dar dois cliques no .bat.
1Confere o PC. Checa o Python e as pastas do projeto antes de qualquer coisa, e diz em português o que está faltando. Em máquina nova, quase sempre é o Dropbox ainda sincronizando.
2Lista os períodos. Mostra as pastas Periodo ... que existem ali e você escolhe pelo número.
3Audita os áudios. Mostra, por cena e personagem, quantos .opus a pasta tem, quantos deveria ter e quantas palavras foram gravadas.
4Aponta as inconsistências. Lista nominalmente os arquivos faltando em cada cena, os que estão fora do padrão de nome (extensão errada, nome.opus.opus) e os órfãos, que não batem com nenhuma fala do roteiro.
5Pergunta se envia. Só com o seu s ele copia pra voice, e copia apenas os que ainda não estão lá. Responder n não escreve nada: dá pra rodar só pra conferir, quantas vezes quiser.
O relatório de cada auditoria fica salvo em Audios\Debug, com data e hora no nome, então dá pra comparar entregas depois. O script não publica nada e não sobrescreve áudio que já está no jogo: quem publica continua sendo o PublicarTudo.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Audios\AuditarAudios.bat
🗣
Glossário de pronúncia dos personagens
Uma referência de como falar o nome de cada personagem, com a pronúncia correta (sílaba tônica em destaque) e o erro que mais aparece em cada um. Vale para a gravação e também para as falas em que o nome é dito por outro personagem: o nome precisa soar igual na boca de todo mundo.
  • Está em 🗣 Glossário de pronúncia (menu do topo, e aba dentro de Personagens).
  • Dividido em Principais e Secundários com nome próprio, com uma busca por nome.
  • Botão ⬇ Baixar em Excel para levar a lista inteira pro estúdio.
Cada linha traz três colunas: o personagem, como pronunciar (ex.: Charlotte = XÁRlot) e o que evitar (ex.: "Tchárlote"). Serve como fonte única pra pronúncia não variar entre cenas.

🛠️ Scripts de publicação

Tudo roda do Dropbox: qualquer PC sincronizado consegue publicar, sem configurar nada e sem depender da máquina do admin. Os arquivos ficam em Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\. Na dúvida, rode o PublicarTudo abaixo: ele resolve o resto.

▶️
O principal · comece por aqui
PublicarTudo.bat — publicar cena nova ou alterada
É o "rode sempre": toda vez que alguém criar ou alterar uma cena, rode este e acabou. Ele faz o serviço inteiro sozinho, na ordem certa, e já inclui tudo que os outros scripts fazem.
1Prepara o PC. Confere o que falta e instala sozinho (Python, Node.js, wrangler, openpyxl). O token do Cloudflare vem do Dropbox, então não tem nada pra configurar.
2Pergunta o que publicar. Lista os updates e você escolhe: um só (3), vários soltos (1,3,5), um intervalo (1-13) ou tudo.
3Monta o player. Gera as cenas escolhidas com renders e falas e publica no /jogar. Os áudios (.opus) não entram no deploy: são sincronizados para o R2 (armazenamento) e o player os toca de lá. Isso mantém o deploy pequeno (o Cloudflare Pages tem limite de 20.000 arquivos). Só o que mudou sobe.
4Atualiza a dashboard. Recontagem de falas, palavras e personagens, planilhas de cada cena, a planilha geral e o bloco do changelog. Publica em locstudio.pages.dev.
5Oferece repetir. No fim pergunta se quer publicar outro update; S volta ao menu.
Escolher um update mexe só nele: os demais ficam exatamente como já estavam publicados. Se o /jogar falhar no meio, ele marca a pendência e se conserta sozinho no próximo run.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\PublicarTudo.bat
Já vêm no PublicarTudo — dispensáveis
Estes são etapas que o PublicarTudo já faz. Só rode solto se quiser uma etapa isolada (ex.: atualizar só a dashboard sem republicar o player). Se você usa o PublicarTudo, não precisa deles.
📊
Atualizar só a dashboard (Cenas, Personagens, Stats)
Use o PublicarDashboard.bat — ele recalcula falas, palavras e personagens, gera as planilhas e publica em locstudio.pages.dev. Só republica o que mudou. É o passo 4 do PublicarTudo, solto.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\Dashboard\PublicarDashboard.bat
📄
Gerar a planilha de uma cena avulsa
Use o GerarPlanilhaCena.bat — gera o .xlsx de uma cena/update sob demanda (não publica). A dashboard já gera as planilhas sozinha; esse é pra casos pontuais.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\Dashboard\GerarPlanilhaCena.bat
Ferramentas de áudio — rode quando precisar
Estas não fazem parte do PublicarTudo. Servem para trazer e conferir os áudios gravados antes de publicar. Atenção: o ImportarAudios é o único que mexe no Financeiro.
📥
Importar os áudios gravados (mexe no Financeiro)
Use o ImportarAudios.bat. Ele lista as pastas de período e você escolhe pelo número (ou cola um caminho). Lê a pasta inteira, mostra o relatório da build, copia pro voice só os .opus novos e pergunta se quer atualizar o Financeiro. O alcance de um período só muda por aqui.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\Audio\ImportarAudios.bat
🎧
Auditar os áudios de uma pasta (sem financeiro)
Use o AuditarAudios.bat — igual ao Importar no relatório e na cópia dos .opus novos pro voice, mas não toca no Financeiro. Bom pra pós-produção conferir e enviar sem risco de alterar alcance. Fica em LocStudio\Audios\AuditarAudios.bat.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Audios\AuditarAudios.bat
🔎
Conferir o que já está gravado
Use o ConferirAudios.bat — raio-x do voice: palavras gravadas, o que falta cena a cena e personagem a personagem (só as incompletas) e nomes fora do padrão. No fim pergunta se quer publicar a conferência na Revisão da Build (em /reports).
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\Audio\ConferirAudios.bat

🚚 Migração para os servidores da Oppaiman

O LocStudio e o player de QA saem do Cloudflare e vão para os servidores da Oppaiman, no endereço locstudio.oppaiman.com. São 2,6 GB de arquivo estático, 13 endpoints de API e 338 KB de dados. Esta página responde as duas perguntas que o programador da Oppaiman faz primeiro. O plano completo está em Scripts\docs\MIGRACAO-OFF-CLOUDFLARE.md.

📦
Pergunta 1
Onde estão os arquivos para migrar?
Nada precisa ser extraído do Cloudflare. Está tudo no Dropbox e é entregue empacotado. A raiz de todos os caminhos abaixo é Games\FreshWomen S3 Renpy\Voice Acting\Locução\.
1Site do LocStudio — 30 MB
LocStudio\Scripts\site\
2Player /jogar — 2,0 GB, 9.400 arquivos
LocStudio\Scripts\_build\locucao-fw-dist\jogar\
3Áudios de locução — 583 MB, 11.815 arquivos .opus
LocStudio\Scripts\Player\audios\ e ...\audios-loc\
4Página "médias" — 1 arquivo
LocStudio\Scripts\_build\locucao-fw-dist\locstudio\medias.html
511 endpoints de API — 1.004 linhas de JS
LocStudio\Scripts\site\functions\api\
62 endpoints de API — 128 linhas de JS
LocStudio\Scripts\Player\functions\api\
7Dados dinâmicos, já capturados do sistema no ar — 338 KB de JSON e 10 documentos fiscais
LocStudio\Scripts\migracao\gabarito-2026-07-30\
Os dados foram capturados em 30/07/2026 e servem como backup e como gabarito de teste: o endpoint novo tem que devolver exatamente aquilo. Era a única parte irreversível, porque depois de desligar o Cloudflare essa informação não volta.
Pergunta 2
O ponto que mais gera mal-entendido com quem chega agora no projeto.
🔄
Como a dashboard é atualizada?
Nunca editando arquivo no servidor. O servidor é só o destino, nunca a origem. A origem é o Dropbox, e o conteúdo é gerado a partir da pasta do jogo Ren'Py.
Quem publica é o PublicarTudo.bat. Ele roda de qualquer PC com o Dropbox sincronizado e, na primeira execução, instala sozinho o que faltar.
1Abre um menu perguntando quais updates de cena entram.
2Chama os scripts Python que leem a pasta do jogo Ren'Py.
3Reconstrói as páginas do LocStudio e do player.
4Envia o resultado pro ar. Hoje quem envia é a ferramenta do Cloudflare; depois da migração será o método liberado pela Oppaiman.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\PublicarTudo.bat
🖥️
PublicarDashboard.bat — só o LocStudio
Publica apenas esta dashboard, sem mexer no player. São esses dois arquivos, e só eles. Não existe publicação manual nem edição direta no servidor.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\Dashboard\PublicarDashboard.bat
⚠️
Consequência para quem for mexer no servidor
Qualquer coisa alterada direto no servidor será sobrescrita na próxima publicação. Se precisar mudar algo, tem que ser na origem, no Dropbox. Isso vale também para coisa nova: uma página nova ou um endpoint novo é um arquivo criado na pasta de origem, e a mesma publicação coloca no ar.
Pergunta 3
Nem tudo aqui vem de script. Existe uma segunda origem de conteúdo, editada à mão.
✍️
E o que não é gerado por script? Página nova, feature nova, foto de personagem
A dashboard tem duas origens de conteúdo, e as duas vivem no Dropbox. A publicação é a mesma para as duas.
AGerado pelos scripts, a partir da pasta do jogo Ren'Py: cenas, falas, contagens de palavras, personagens secundários e as builds do changelog. Sai nos arquivos cenas.js, changelog_auto.js, entregas_auto.js, planilhas_auto.js, secundarios.js e rev.json. Ninguém edita esses arquivos à mão: eles são reescritos a cada publicação.
BEditado à mão no código-fonte, dentro de LocStudio\Scripts\site\: as abas, o layout, os textos fixos, as features, as páginas soltas e a lista de personagens principais com suas fotos. É aqui que entram os pedidos do dia a dia.
Esta página que você está lendo é do tipo B: foi escrita direto no index.html e publicada.
🖼️
Exemplo: trocar ou adicionar a foto de um personagem
O arquivo de imagem entra em site\imagens-personagens\ (hoje com 22 arquivos, em .jpg, .avif e .webp) e é apontado no index.html. A lista de personagens principais também é declarada lá, na constante PERSONAGENS. Depois é só publicar.
📁 Games\FreshWomen S3 Renpy\Voice Acting\Locução\LocStudio\Scripts\site\imagens-personagens\
📄
Exemplo: página nova ou feature nova
Uma aba nova é uma seção a mais no index.html. Uma página solta é um arquivo .html novo dentro de site\, como já acontece com escolha-de-elenco, glossario-personagens e processo. Se a feature precisar guardar dado, entra também um arquivo de endpoint em site\functions\api\.
É por isso que o servidor novo precisa reconhecer arquivo de rota novo sem intervenção de ninguém. Hoje o Cloudflare faz isso sozinho, e é o requisito de autonomia que está no plano de migração.
💬
Como esses pedidos chegam
Não existe fila nem processo formal: o pedido é feito em conversa com o Claude Code, a alteração é feita no código-fonte dentro do Dropbox e publicada com os mesmos .bat da Pergunta 2. Em nenhum momento se edita algo no servidor, e nada disso depende da equipe que hospeda.
O que a migração NÃO muda
Vale para quem for hospedar: o que muda de mão é só a hospedagem.
🔒
Quem desenvolve continua o mesmo, e o sistema continua o mesmo
1O desenvolvimento não muda de mão. O LocStudio é desenvolvido pelo André usando o Claude Code, direto no código-fonte do Dropbox. Depois da migração continua exatamente assim: página nova, feature nova e ajuste de tela seguem sendo pedidos em conversa e publicados pelo mesmo caminho.
2Quem hospeda não herda manutenção. Não vai receber chamado de feature, de bug de tela nem de conteúdo. Só o servidor muda de lugar.
3Tudo que existe hoje funciona igual. Mesmas telas, mesmos endpoints, mesmo comportamento, mesma forma de publicar. Não é uma reescrita e não é oportunidade de melhoria: é o mesmo sistema em outro endereço.
4Isso é verificável, não é promessa. Cada endpoint é comparado contra a resposta real do sistema atual, capturada em 30/07/2026, e o aceite só é assinado quando o checklist inteiro passa.
É por esse motivo que o plano exige que o servidor novo reconheça página nova e rota nova sem intervenção de ninguém. Sem isso, cada alteração do dia a dia viraria um chamado para a equipe de hospedagem, que é justamente o que não pode acontecer.

📝 Changelog

Builds são as publicações, geradas sozinhas a cada PublicarTudo. Sistema são as mudanças feitas nos scripts e no painel.

Nenhuma build registrada ainda. A próxima publicação (PublicarTudo) aparece aqui.
29/07/2026 · áudios do player migrados para o R2 (fim do limite de 20.000 arquivos)
  • O problema: o deploy do /jogar passou a falhar em toda build. O Cloudflare Pages aceita no máximo 20.000 arquivos por deploy e a pasta do player tinha chegado a 21.038 (11.424 áudios + 7.480 imagens + vídeos). O painel subia, mas o player não atualizava.
  • A solução: os 11.586 .opus saíram de dentro do deploy e passaram a viver num bucket de armazenamento (Cloudflare R2, fw-audios), servidos por um Worker com CORS. O deploy do player caiu de 21.038 para ~9.400 arquivos, bem abaixo do limite, e para de crescer com cada cena nova.
  • Player e /reports passaram a tocar o áudio direto do R2 (mesma estrutura de caminho de antes, só muda o endereço). Para o usuário é idêntico, o áudio toca igual.
  • Automático no PublicarTudo: a cada publicação, os .opus novos ou alterados sobem sozinhos para o R2 (sincronização incremental por manifesto) antes do deploy, e o build já não inclui áudio. Não volta a estourar.
  • SubirAudios aposentado: ele copiava os áudios direto para o deploy, o que hoje re-estouraria o limite. Foi para o backup. Publicar áudio agora é só via PublicarTudo.
29/07/2026 · organização dos scripts e aposentadorias
  • ImportarAudios com menu: em vez de colar o caminho da pasta, ele agora lista as pastas Periodo ... e você escolhe pelo número, igual ao AuditarAudios.
  • BaixarAudiosDrive aposentado: o download automático do Google Drive não é mais usado (os áudios chegam por pasta local). Foi para o backup; nenhum script dependia dele.
  • Raiz da pasta Scripts arrumada: só o PublicarTudo.bat fica solto. O token do Cloudflare foi para config/ e a documentação (README, regras do financeiro) para docs/, com as referências dos scripts e do hook atualizadas.
29/07/2026 · /reports em tabela e Excel, e aba Features nas Instruções
  • Reports de QA em tabela: na aba /reports, ao lado das guias, dois botões: Ver em tabela simples (Cena, Personagem, Fala, Report, ID da fala) e Baixar em Excel. Seguem a guia ativa e são gerados na hora com os reports ao vivo, então um report novo aparece assim que você abre a tabela, baixa ou dá F5.
  • /instrucoes ganhou a aba Features: um submenu que documenta os recursos do painel, cada um num card que expande ao clicar. Já com: reports em tabela/Excel, o AuditarAudios e o Glossário de pronúncia dos personagens.
28/07/2026 · elenco encerrado, personagens, estatísticas e status de aprovação
  • Votações de elenco encerradas: as escolhas de voz foram fechadas, os vencedores apurados e aplicados. A nota da voz vencedora aparece como estrela nos cards de /personagens, e /escolha-de-elenco e /resultado-escolha-de-elenco viraram histórico (sem novo voto).
  • Donna promovida a personagem principal, com bio escrita a partir da participação dela no update 15 e imagem própria no card.
  • /estatisticas com métrica única: tudo passou a medir palavras. O bloco "Entrega por personagem" usava contagem por falas (tudo-ou-nada), que divergia do resto do painel; agora bate com os demais.
  • Status de aprovação da cena virou automático: no /cenas, o dropdown de aprovação existe só no nível da parte (personagem). O status da cena é derivado sozinho: qualquer parte com pendência deixa a cena em Pendências; todas aprovadas, Aprovado; qualquer mistura, Em análise.
  • Financeiro: meta total ajustada para 160.000 palavras, com 20.000/semana a partir do Período 4 (12.000/semana nos Períodos 1 a 3).
23/07/2026 · player, provável rename no /reports e regra do financeiro
  • Cenas com label diferente do arquivo voltaram a tocar no /jogar: quando o nome do label dentro do .rpy não é igual ao nome do arquivo (ex.: f11_volleyknowledge.rpy tem label f11_volleyknowledge1), a cena estava sendo gerada vazia no player. Passou a resolver o label de entrada certo. Corrigiu 8 cenas: f01_charm01/02/03, f09_01_mansion22, f11_volleykindness, f11_volleyknowledge (e f01_charm0, f01_julia0, que são só narração).
  • Revisão da Build agrupa "Provável troca de id (rename)": quando a mesma cena tem fala sem áudio e arquivo órfão na pasta, os dois viram um aviso só, no topo, com os órfãos e as falas sem áudio lado a lado. Serve pra distinguir "mudou de id" (tem órfão) de "nunca foi enviado" (não tem). Os órfãos assim explicados saem de "Fora do padrão" pra não reportar duas vezes.
  • Limpeza da pasta voice: removidos 10 .opus fora do padrão (6 de teste antigos, 3 órfãos de rename da f12_chloe3 e 1 take alternativo), com backup fora da pasta do jogo.
  • Regra do Alcance documentada: criado o REGRAS-FINANCEIRO-ALCANCE.md (rastreado arquivo:linha) e um hook que injeta a regra sozinho quando o assunto é financeiro. O Alcance dos períodos 2+ é o valor manual do ImportarAudios; só o Período 1 usa o cálculo automático por data como fallback.
23/07/2026 · falas sem id saíram do QA e viraram item do changelog da build
  • Fala sem id não é trabalho do QA: não tem o que gravar nem o que revisar enquanto a cena não gera as traduções no Ren'Py. Por isso o tipo Fala sem id saiu da Revisão da Build em /reports — não gera mais pendência nem entra no histórico de lá.
  • Agora é reportado no changelog de cada build: o card da build mostra quantas falas ficaram sem id e em quais cenas, com o personagem e o texto de cada uma (abrindo o card). Se não houver nenhuma, o card confirma isso.
  • As pendências de "fala sem id" que já estavam no ledger do /reports foram descartadas na primeira publicação depois dessa mudança.
20/07/2026 · reports completos, casting e casamento fala↔áudio
  • Casamento fala↔áudio corrigido: falas dubladas estavam ficando sem id (e por isso nunca contavam como gravadas) quando o texto do roteiro e o da tradução diferiam por um detalhe de escape. A comparação passou a normalizar aspas (\' vs ') e porcento (\% vs %%) e a aceitar também o texto original do bloco, não só o traduzido. Eram 52 falas afetadas em 29 cenas; caem a zero conforme as cenas são republicadas.
  • Falas sem id viram pendência: quando ainda sobrar uma fala sem id (roteiro alterado sem regerar o mapeamento), ela aparece como item na Revisão da Build, com o texto da fala, em vez de sumir só no log.
  • Cada report tem tudo pra localizar a fala: nome da cena, id da fala, o texto da fala (sempre visível), quem comentou, o comentário e o áudio pra ouvir se houver. O id da fala passou a ser enviado mesmo quando ela não tem áudio gravado, e reports antigos recuperam o texto pelo id.
  • /escolha-de-elenco: duas abas, Em avaliação (quem ainda não tem nota) e Histórico (voz já definida). A voz vencedora de cada personagem é destacada com selo. Cada personagem em avaliação mostra a foto grande ao lado dos áudios, pra quem ouve ver quem é.
  • /cenas: o Status de aprovação (por cena e por personagem) ficou liberado pra qualquer um alterar, não só no modo dev.
17/07/2026 · Revisão da Build no /reports, personagens e planilha geral
  • /reports ganhou duas sub-abas: Comentários de QA (os feedbacks deixados no /jogar, como sempre) e Revisão da Build. A antiga aba Revisar deixou de existir e virou essa sub-aba; quem acessa /revisar cai em /reports.
  • Revisão da Build (checklist automático): a cada PublicarTudo, a build varre a pasta voice e lista os problemas como itens marcáveis: gravação incompleta (faltam áudios de um personagem) e fora do padrão (arquivo com nome que não bate com o roteiro). Ninguém marca à mão: quem resolve é a build.
  • Pendente → Histórico automático: arrumou o áudio na pasta e rodou de novo, o item some das pendências e vai pro histórico com data. Se o problema regride, ele reabre e volta pras pendências. Filtro Pendentes / Histórico em cada sub-aba.
  • Bolinha de alerta com a quantidade de pendentes em cada sub-aba e a soma no topo da aba Reports.
  • PublicarTudo agora publica a conferência sozinho: ao final de cada build, além de publicar as cenas, ele roda a conferência da pasta e alimenta a Revisão da Build (mesma detecção do ConferirAudios, reusada, sem código duplicado).
  • Planilha geral de palavras: em /instrucoes, um .xlsx com uma linha por Update / Cena / Personagem / Palavras, gerado a cada PublicarTudo, com a data e hora da última atualização.
  • /personagens: promovidos a principais, com imagem e bio, Riko, Himiko, Bruce, Sakura, Emily e Angela. Cada card ganhou um botão ▶ JOGAR que abre a cena com mais falas do personagem.
  • /scripts reorganizado: o PublicarTudo virou o card principal, com o passo a passo do que ele faz; os demais scripts viraram "ações individuais", opcionais pra quem usa o principal. Caminhos escritos por extenso a partir de Games\.
  • /processo: workflow de dublagem reescrito em 6 etapas (do estúdio grava até fechar o financeiro e pagar).
  • Changelog: os cards passaram a nascer comprimidos, abrindo ao clique.
  • Acesso: Scripts, Changelog e as páginas de Elenco (escolha e resultado) ficaram públicas, sem depender do modo dev.
16/07/2026 · importação de áudios, conferência e financeiro manual
  • ImportarAudios.bat (novo): aponte a pasta do período (o .zip do Drive descompactado) e ele lê a pasta inteira a cada run, mostra o relatório da build, copia pro voice só os .opus novos e pergunta se quer atualizar o Financeiro. Cada run gera o relatório relatorio-build_ImportarAudios_<data>, que responde sempre as mesmas 6 perguntas: período, data do período, palavras gravadas, se teve problema, data/hora da build e se está tudo no voice.
  • ConferirAudios.bat (novo): raio-x do voice, encabeçado pelas palavras gravadas e pelo que falta gravar. Audita só cenas/personagens que já têm pelo menos 1 áudio e lista só as incompletas. Detecta nome fora do padrão (.opus.opus, arquivo que não é .opus, órfão fora do mapeamento) — o padrão é um só: <bloco_id>.opus. No fim pergunta se quer publicar a conferência em /revisar.
  • BaixarAudiosDrive.bat (novo): baixa do Drive só os .opus que ainda não estão no voice, com o mesmo relatório de build. Para volume grande, o caminho do .zip + ImportarAudios é bem mais rápido que baixar um a um.
  • Financeiro virou manual: o alcance de um período só muda quando você manda, pelo ImportarAudios. Acabou qualquer comparação ou carimbo automático por data. O Período 1 é intocável: o script recusa alterá-lo, não importa a conta.
  • Relatório dentro do período: ao expandir a linha de um período no Financeiro aparecem os relatórios de build daquele período, expansíveis, com nome e data/hora. As conferências do ConferirAudios aparecem do mesmo jeito em /revisar.
  • Financeiro — pago: valor a pagar por período e uma bolinha verde com cifrão ao lado do valor quando está pago.
  • PublicarTudo.bat roda em qualquer PC: basta o Dropbox sincronizado. Ele instala sozinho Python, Node.js, wrangler e openpyxl, recarrega o PATH (o winget não atualiza a janela aberta) e lê o token do Cloudflare de _CLOUDFLARE_TOKEN.txt quando a máquina não tem a variável. A versão antiga ficou em _BACKUP-antigos\PublicarTudo_v1.bat.
  • /cenas: o f14 saiu do oculto. A coluna GRAVADO passou a mostrar as palavras reais além do percentual (333 (33%)), e o rodapé agora fecha por palavras, não por cena — era daí que vinha o 19% brigando com o 28% dos cards.
  • /estatisticas: card renomeado para PALAVRAS GRAVADAS, com o total gravado sobre o total do roteiro. Duas seções novas: Elenco por update e Participação por personagem (top 25, mostrando de quais updates cada um participa e quantas palavras tem em cada).
  • /personagens: Naomi e Bartholomew foram promovidos a principais, com imagem e bio.
  • /revisar: item pode ser removido da lista, e não só marcado como feito.
  • 1 script por tarefa: o mapeamento de falas por personagem saiu do contar_palavras.py como função reusável, e os scripts de áudio importam dele. Nenhuma contagem duplicada em dois lugares.
10/07/2026 · scripts de publicação
  • PublicarTudo.bat — menu de escolha: lista os updates e você digita quais publicar (um, intervalo 1-13, lista 1,3,5 ou tudo). No fim pergunta se quer publicar outro (S volta ao menu).
  • Publicação por update, sem mexer no resto: escolher um update mexe só nele; os demais ficam exatamente como estavam publicados (merge). Antes o dashboard varria e republicava tudo. (contar_palavras.py --somente, publicar_dashboard.py.)
  • Build incremental (build.py + sincronizar): o build do /jogar parou de apagar a pasta inteira e recopiar 1,5 GB; agora sincroniza só o que mudou. Isso acabou com as travas WinError 32 do Dropbox/antivírus.
  • Auto-recuperação do player (publicar_player.py): se o build/deploy falha no meio, marca a pendência e se conserta sozinho no próximo run, sem deixar assets presos.
  • Vários updates de uma vez: o player aceita --updates f01,f03 e builda/publica todos numa passada só.
  • Changelog automático de cada build: toda publicação vira um bloco com data e hora, dizendo o que mudou no roteiro e o resultado do player (cenas buildadas, sprites/áudios, e em qual etapa falhou, se falhar).
  • Contagem exata de gravação (contar_palavras.py): parte gravada pela metade conta proporcional (fala a fala); a Revisar lista as falas que faltam com o nome do .opus. Corrigidos 99 áudios do f03_chloe2 com nome .opus.opus dobrado.
  • Update escondido: dá pra tirar um update do dashboard sem apagar nada, via UPDATES_OCULTOS no contar_palavras (no momento nenhum está oculto).
26/06/2026
  • Pipeline portável: todos os scripts de publicação migraram pro Dropbox, organizados por projeto em LocStudio\Scripts\ (Dashboard, Player, Audio). Nada mais preso ao PC do admin; os .bat auto-instalam os pré-requisitos.
  • Renomeados pela função: SubirTudoSubirAudios, atualizar.pypublicar_dashboard.py, publicar.py (player)→publicar_player.py, e o "rode sempre" virou PublicarTudo.bat.
  • Aba Scripts atualizada com a nova estrutura e caminhos.
24/06/2026
  • Menu do topo (modo dev): novas abas Scripts e Changelog.
  • /personagens: regra — secundário com mais de 1400 palavras vira principal automaticamente (sem imagem; bio escrita à mão depois).
  • Reports: quadro de dica (Ajustes × Aprendizado) no topo.
  • Reports: botão Aprendizado ao lado de Resolver — manda o card pro histórico com a flag aprendizado.
  • Reports: cada card agora tem comentários (nome + mensagem), do mais recente pro mais antigo.
  • /processo: seção "Como devemos receber" reescrita — a edição é da LocStudio; entrega em .opus.
  • Removido o "normalizar voz" do pipeline.
  • Aba Instruções criada e movida pro menu do topo.
  • /personagens: bio da Brooke + botão "Ver médias das avaliações".
  • /cenas: coluna Gravado virou envio de link — o + abre "Enviar link", salva com data, vira CTA "▶ acessar" e marca a cena como gravada; dev pode excluir. Gravado passou a exigir link.
📊 Médias das avaliações 🗣 Glossário de pronúncia
Personagens secundários
Nível: Filtrar por:

💬 Comentários de QA

Feedbacks deixados no player pelo estúdio. Eles se dividem em dois tipos:

  • Ajustes — há um problema no áudio que precisa ser refeito. Depois de regravar e o novo áudio ser aprovado, marque o report como ✓ Resolver.
  • Aprendizado — feedbacks que não exigem regravação, mas trazem uma orientação pra não repetir nas próximas gravações. Depois de absorver o aprendizado, marque como 🎓 Aprendizado.
Carregando…

🛠️ Revisão da Build

Problemas de áudio que a build encontra sozinha na pasta, a cada publicação. Dois tipos:

  • Gravação incompleta — um personagem já começou mas faltam áudios (falas sem .opus).
  • Fora do padrão — arquivo na pasta com nome que não bate com o roteiro (padrão único: <bloco_id>.opus).

Aqui não se marca à mão: quem resolve é a build. Arrume o áudio na pasta e rode de novo, o item some das pendências e vai para o histórico sozinho.

Atrizes cadastradas

Produtividade por dia (entregas e mudanças de status)

📦 Palavras entregues por dia
✅ Mudanças de status por dia
As entregas têm histórico completo. As mudanças de status partem do estado atual (semeado em 21/07/2026) e crescem conforme você aprova/finaliza daqui pra frente.

Entrega por personagem (palavras totais e % gravado)

Base (maior total) Palavras do personagem Gravadas

Elenco por update (clique num update pra ver os personagens)

Base (maior update) Palavras Gravadas

Participação por personagem (top 25 — clique pra ver as palavras em cada update)

Base (maior personagem) Palavras Gravadas

💰 Financeiro

Meta de 12.000 palavras por semana até o Período 3 e 20.000 palavras por semana do Período 4 em diante, para um total de 160.000 palavras até o fim da Season 3. A coluna Alcance mostra as palavras já gravadas na semana (atualiza sozinha quando uma cena é marcada como gravada na aba Cenas). Clique numa semana para ver as cenas enviadas.

PeríodoMetaAlcanceA pagarNota fiscalAções