Changelog
Tudo que mudou, versão por versão. A versão em produção é a vNão. O arquivo completo vive em CHANGELOG.md no repositório - esta página é ele, renderizado.
vNão · lançado — 2026-09-06#
Adicionado
- Contador de ABATES do jogador no HUD, na coluna de estado dele: algarismo grande com rótulo miúdo, conta a PARTIDA (não o abate do time nem o da rodada) e não zera na virada de round — antes o número pessoal só existia atrás do TAB. Régua
eval:abateshudcom quatro mutantes, nocheck:fast. - Sertão da Treta substitui o Velho Oeste: casario de taipa, Caatinga, Canudos, calango quadrúpede, aves, cabras e galinha com pintinhos. Preview real com vídeo silencioso ao passar o mouse; criação com caminhada e pausas. O memorial de Padre Cícero permanece fora desta entrega.
- Camada operacional (
tools/ops/,npm run ops:diag): o jogo diagnostica boot, deploy, assets no edge, APIs, telemetria, ranking e partida sintética e explica cada achado com causa provável, evidência, impacto e próximo passo; separa "tecnicamente verde" de "pronto para lançamento". Mutantes emops:selfteste unidades emops:test, os dois nocheck:fast. public/js/ops.js: sinais da sessão no navegador (marcos de boot, FPS em partida, falhas de carga, contexto WebGL, erros de partida, abandono) expostos emwindow.__csbOpse como migalhas do relatório de erro — sem endpoint novo, sem desenhar nada.- Runbook
docs/runbooks/operacao-autonoma.md: como diagnosticar, recuperar por classe de achado e reverter site, edge, backend e banco. npm run ops:aquecere o passo noprod-watch.yml: depois do purge de cada deploy, o edge é aquecido com os módulos e todos os assets que a produção pede (111 MISS de 112 logo após a alpha.224 → HIT).ops-diag.yml: a diagnose com navegador roda a cada hora e vira issueops-diagem vermelho;portao-browser.ymlpassa a rodareval:boote as provas de navegador da camada operacional em PR que toca o boot.- O beacon de
/api/perfleva o resumo doops.js(boot, FPS p50/p5, falhas de carga, sessão anterior) e o relatório de crash diz onde a sessão anterior parou; a sonda de navegador usa a GPU do Mac sozinha e o elenco é sondado peloglbchars.jsque a produção serve.
Corrigido
- Lobisomem Mítico deixa de puxar aliados de outras facções, passa a resolver M nas telas de inspeção, usa luva M distinta no viewmodel, ganha animação própria com pés no chão e volta a publicar os retratos de resultado aprovados, que tinham saído do quadro medido no elenco.
- O pack integrado do Lobisomem passa a servir os clipes próprios na sequência do runtime, com o fallback compartilhado preservado só para comparação e regressão.
- No Sertão, as três carroças deixam passagem pelos dois flancos e as cinco casas diante dos respawns passam a ter porta, saída lateral, janela com revide e navegação intencional para bots.
- As casas abertas da Praça da Matriz no Sertão preservam cobertura nas laterais das janelas, circulação interna livre e passagem dos bots junto aos esteios.
- Em rodada de FACA os bots passam a jogar de faca: fecham até o alcance real da arma (medido 5,98 m e zero golpes em 60 s antes; 1,24 m, 18 golpes e 9 abates depois) e o golpe sai como faca — sem traçante, fogacho de cano nem som de tiro. A banda de distância de arma de fogo continua valendo na rodada normal. Régua
eval:botfacacom três mutantes, nocheck:fast. - O headshot do jogador não arranca mais a câmera da primeira pessoa: a replay orbital e o hit-stop do #364 saíram, e o abate continua contando com hitmarker, dano, killfeed e locutor. Régua
eval:replaycampassou a medir o contrário, com quatro mutantes. - Single Player voltou a abrir o submenu de MATA-MATA e CAPTURE A BANDEIRA (CTF), que segue para a seleção de mapas com o modo escolhido.
eval:bootvoltou a rodar: a fixture doboot-check.mjsancorava na assinatura antiga de_startGame(mudada no #489) e reprovava antes de medir; agora ancora no nome da função.- Os contadores do menu (
/api/onlinee/api/map-plays) tentam de novo no cold start do backend (503 na primeira chamada, medido 06/09) em vez de ficar vazios. - O proxy da rede de segurança do site repassa a geo da borda (
x-vercel-ip-*); a diagnose distinguecityparado compresenceviva (ingestão parada, corosolto/backend#22) de "ninguém jogou". - O build privado volta a carregar os 16 anúncios Fish, as 36 falas finais dos nove Funkeiros e somente as oito músicas aprovadas do menu.
- Palhaços e Funkeiros sem take próprio deixam de tocar dublagem genérica; os Funkeiros preservam somente as 36 falas aprovadas.
- A primeira fala de kill não é mais bloqueada por uma seleção ou chamada de rádio imediatamente anterior.
- O empacotador limpa saídas anteriores e reconhece uma AWP CC0 catalogada sem confundi-la com áudio legado pelo nome.
- Tiros ficam abaixo das vozes e a contingência original restaura falas, rounds e kill streaks em single-player e multiplayer.
- O multiplayer reconhece inputs por sequência e suaviza correções sem apagar movimento pendente.
- Arma, slots, pente, reserva e recarga passam a ser autoritativos no protocolo snapshot v4.
- Trocas de arma remotas remontam a malha visível; clientes lentos não acumulam snapshots obsoletos.
- A qualidade envia magnitude das correções para diagnóstico por sessão e round.
- Multiplayer não vaza mais para a partida single-player depois de voltar ao menu.
- O primeiro spawn e o respawn online obedecem imediatamente à posição autoritativa.
- Captura de bandeira passa a receber placar, progresso, donos e relógio pelo snapshot v3.
- Slots abandonados voltam à IA e as salas oficiais passam de 5v5 para 4v4.
- O catálogo in-game usa a mesma versão v8 do pacote de áudio baixado no build.
v2.0.0-alpha.246 · 2026-09-09#
Mudado
- feat(míticos): time Mítico completo — 9 personagens jogáveis (#570)
- chore(docs): regenera bloco derivado (autofix)
- fix(deps): lockfile idêntico ao da main, sem npm install por cima
- fix(deps): regenera o lockfile inteiro para o npm ci do CI voltar a instalar
- fix(deps): npm audit fix zera as 5 vulnerabilidades que travavam o portão
- feat(miticos): Caipora entra no lugar da Cuca e o time fecha em 9
- docs(miticos): a última tentativa da Cuca — 333,4 - 187,0, e ainda não passa
- feat(miticos): Saci e Zumbi entram consertados, e os avatares viram retrato de verdade
- fix(regua): a revisão de browser cravava o elenco de M de ontem
- docs(miticos): Saci é de uma perna, e a viabilidade foi medida antes de decidir
- feat(miticos): auditoria visual do dono aprova os 7, e a mídia órfã sai do disco
- fix(miticos): tira os webm de render que a folha de contato deixou para trás
- fix(miticos): mídia do Lampião regerada do modelo novo, e o enquadramento certo
- docs(miticos): a regeração da Cuca piorou, e BUG-150 registra o número
- chore(miticos): tira scratchpad e a costura de peso que não entrou, e registra BUG-150
- feat(miticos): time Mítico vai de 1 para 7 personagens jogáveis
- feat(miticos): CHR7 pega quem flutua, aterramento vira genérico e Zumbi ganha clipe próprio
- docs(miticos): fecha BUG-147 e registra o placar real do portão
- fix(audio): Lobisomem entra no perfil físico, e comentários voltam ao orçamento
- fix(miticos): a tela de carregamento respeitava só cinco facções
- feat(regua): CHR7 — nenhuma malha atravessa o chão na pose assentada
- chore(docs): bloco derivado e evidência de layout do Lajes
- fix(menu): portão de browser volta a rodar e o badge de modo troca o painel inteiro
- fix(miticos): tira do clipe os ossos de curl e devolve o portão de seleção
- fix(miticos): devolve os retratos de resultado aprovados do Lobisomem
- fix(miticos): integrate lobisomem assets and review
- chore(docs): regenera bloco derivado (autofix)
- chore(docs): regenera bloco derivado (autofix)
- docs: regenera índices após candidato Mítico
- feat(miticos): integra Lobisomem como candidato isolado
- feat(miticos): adiciona mídia aprovada do Lobisomem
v2.0.0-alpha.245 · 2026-09-09#
Mudado
- fix(sertao): libera carroças e casas dos respawns (#559)
- docs(sertao): vincula draft pr 559
- docs(sertao): registra correcao pos-merge
- fix(sertao): libera carrocas e casas dos respawns
- test(sertao): reproduz rejeicao pos-merge
v2.0.0-alpha.244 · 2026-09-09#
Mudado
- fix(deps): desbloquear auditoria dos PRs (#571)
- fix(deps): atualizar smol-toml seguro
- fix(deps): corrigir auditoria do build
v2.0.0-alpha.243 · 2026-09-09#
Mudado
- docs(áudio): registra bloqueio do rollback F/U (#531)
- docs(viewmodels): registrar bloqueio da recarga M4 (#534)
- feat(audio): comparativo A/B v7×v8 e rollback determinístico de F/U
- docs(audio): fontes das vozes antigas de F/U localizadas fora do Git
- docs(audio): corrige cobertura do rollback de vozes
- docs(viewmodels): registrar diagnóstico da recarga M4
- docs(audio): bloqueio do rollback de vozes de Funkeiros e Tribos Urbanas
v2.0.0-alpha.242 · 2026-09-08#
Mudado
- feat(escadao): abre duas janelas e casas jogáveis no mirante (#529)
- chore(escadao): regenerar layout de grafites
- feat(escadao): abrir casas dos dois lados
- test(escadao): exigir janelas na mesma sala
- test(escadao): registrar baseline vermelha das casas
- docs(escadao): regenera blocos derivados após encurtar comentários
- style(escadao): comentários da casa central dentro do orçamento de 2 linhas
- docs(escadao): regenera blocos derivados após o commit da régua
- docs(escadao): registra a rodada da casa central e o falso positivo
- test(escadao): régua da casa central exercendo a branch GLB_ON
- fix(escadao): shell procedural autoritativo na casa central da laje
- docs(escadao): fecha portoes de push e mede nao-regressao da rota
- docs(escadao): registra checkpoint de publicacao
- docs(escadao): registra evidências e limites do PR 529
- fix(escadao): valida janelas e cobertura a partir do corpo real
- chore(docs): regenera bloco derivado (autofix)
- chore(docs): regenera bloco derivado (autofix)
- feat(escadao): cria abrigo disputável no mirante
- chore(docs): regenera bloco derivado (autofix)
- feat(escadao): abre janela da casa para a rua
v2.0.0-alpha.241 · 2026-09-08#
Mudado
- feat(sertao): finaliza casas, fauna e por do sol com reguas WebGL (#526)
- chore(docs): sincroniza indices finais do Sertao
- style(sertao): reduz comentarios de implementacao
- test(sertao): reposiciona mutante de folga
- fix(sertao): abre gargalo da rota oeste
- perf(sertao): agrupa interiores e mede contraste
- fix(sertao): abre fuga lateral nas casas dos spawns
- chore(docs): regenera bloco derivado (autofix)
- docs(sertao): fecha BUG-91 no ledger e regenera blocos gerados
- test(sertao): verifica captura offline do BUG-91 por raio no enquadramento
- test(sertao): contrato de interiores estendido às casas dos spawns
- fix(sertao): platibanda-1 e pedra-7 viram interiores jogáveis (BUG-91)
- fix(sertao): colisor da carroça espelha a geometria visível (BUG-91)
- test(sertao): régua das carroças WA1-WA4 reprova o HEAD
- docs(sertao): registra BUG-91, rejeição humana das carroças e casas fechadas
- docs(sertao): registra IN7 e restaura limitações pendentes
- test(sertao): expõe resultado do mutante bolsao
- test(sertao): cobre mutante bolsao no check de interiores
- docs(sertao): fecha ledger das casas da praça
- fix(sertao): preserva folga dos obstáculos fora das casas
- chore(docs): inclui ferramentas offline no inventário versionado
- chore(docs): sincroniza índices da validação offline
- fix(sertao): libera circulação e fecha frestas nas casas
- chore(docs): regenera bloco derivado (autofix)
- chore(docs): regenera bloco derivado (autofix)
- feat(sertao): abre casas da praça ao combate
v2.0.0-alpha.240 · 2026-09-08#
Mudado
- fix(audio): prevent zero exponential envelopes (#552)
- chore(docs): regenera bloco derivado (autofix)
- fix(audio): prevent zero exponential envelopes
v2.0.0-alpha.239 · 2026-09-07#
Mudado
- feat(combate): contador de abates, headshot em 1ª pessoa e bot de faca que joga de faca (#536)
- chore(docs): regenera bloco derivado (autofix)
- docs(handoff): fecha o ledger com o que foi medido, o que ficou vermelho e o que falta
- chore(docs): regenera bloco derivado (autofix)
- docs(gerado): sincroniza índices após feedback de combate
- docs(combate): registra evidência e mutantes dos três defeitos
- docs(combate): enxuga o comentário de _meleeRange
- fix(combate): bot de faca fecha e golpeia; HANDOFF sem build verde falso
- feat(combate): contador de abates no HUD, headshot em 1ª pessoa e bot de faca
v2.0.0-alpha.238 · 2026-09-06#
Mudado
- perf(amazonia): reduz custo 8x8 e vira escada do respawn (#527)
- chore(amazonia): regenera blocos pós-merge e encurta comentário da estação A
- docs(amazonia): registra validação pós-merge
- docs(amazonia): registra resolução dos conflitos
- fix(amazonia): abre as cabeças da ponte norte e fecha a VM14
- docs(amazonia): fecha relatório 8x8 com A/B, mutantes e portões
- docs(amazonia): atualiza scripts e blocos gerados
- docs(amazonia): atualiza recibo final da simulação
- test(amazonia): fortalece a simulação final
- docs(amazonia): atualiza blocos gerados e ledger final
- test(amazonia): integra réguas de visão e escadas no portão
- perf(amazonia): acelera visão dos bots e valida todas as escadas
- chore(docs): regenera bloco derivado (autofix)
- chore(docs): regenera bloco derivado (autofix)
- fix(amazonia): otimiza rota 8x8 e vira escada B
v2.0.0-alpha.237 · 2026-09-06#
Mudado
- feat(combat): add bounded AWP penetration (#535)
- feat(combat): add bounded AWP penetration
v2.0.0-alpha.236 · 2026-09-06#
Mudado
- fix(sertao): restaura grafo de módulos do preview (#525)
- chore(docs): regenera bloco derivado (autofix)
- fix(sertao): separa revisão de mídia do preview
Versões anteriores à v2.0.0-alpha.236 estão no CHANGELOG.md.

