Skip to content

fix(amazonia): estabiliza single-player 8x8 no medium - #575

Draft
rubenmarcus wants to merge 3 commits into
mainfrom
codex/amazonia-8x8-perf-r2
Draft

fix(amazonia): estabiliza single-player 8x8 no medium#575
rubenmarcus wants to merge 3 commits into
mainfrom
codex/amazonia-8x8-perf-r2

Conversation

@rubenmarcus

@rubenmarcus rubenmarcus commented Sep 10, 2026

Copy link
Copy Markdown
Member

Problema e resultado

No single-player 8×8 da Amazônia, o preset medium reproduzia p95 de 15,7 ms em Chrome/WebGL2 com GPU Apple M4 Pro, contra 9,7 ms no 5×5. O mesmo 8×8 em low ficava em 9,9 ms, enquanto A/Bs mostraram que AO ou bloom isolados não explicavam o custo: a pressão vinha do conjunto de preenchimento, sombras e pós da cena larga.

Esta mudança aplica pixel ratio interno 0,80 somente à combinação Amazônia + medium + 8×8 e sincroniza o EffectComposer com o orçamento da cena. O canvas/HUD e todo o conteúdo do mapa permanecem: mata, água, fauna, palafitas, escadas, passarelas, sombras e pós.

Evidência

  • 8×8 medium 3:2: p95 15,7 → 10,0 ms (-36,3%); GPU p95 7,88 ms; nenhum frame acima de 100 ms.
  • 8×8 medium 16:9: frame p95 16,2 ms; GPU p95 7,70 ms.
  • 5×5 medium continua pixel ratio 1,00; low continua 0,75; outros mapas não recebem a regra.
  • WebGL2 de hardware confirmado; cada caso rodou em processo Chrome novo.
  • Simulação causal em três seeds manteve 15 bots e os mesmos objetos; índice de raycast preservou 63,1%–68,6% de redução contra o controle linear.
  • Capturas e JSONs locais: artifacts/amazonia-8x8-r2/browser-final-pixel080/.
  • Receita e limites: docs/reports/AMAZONIA-8X8-PERF-R2.md.

Validação

  • npm run eval:amazonia
  • node tools/eval/amazonia-render-budget-check.mjs (inclui quatro mutantes)
  • npm run eval:amazonia-8x8 -- --seconds=10 --seeds=13007,7,4321
  • mutantes menos-mata, linear, sem-parede, sem-consulta, sem-parada rejeitados
  • npm run build
  • npm run check:deploy — 39/39
  • npm run eval:deps

Teste humano local

Servidor já disponível nesta worktree em http://127.0.0.1:8172/?debug=1&auto=P,mst&map=amazonia&perfilauto=0. Escolha 8×8 e medium, compare depois com 5×5 e low. A aprovação visual e de sensação de combate continua humana.

Não houve merge ou deploy.

Estado da CI remota

O job de build está verde, incluindo npm ci, gates da Amazônia, invariantes, botsim, Astro build e smoke. Smoke-web, CodeQL, Vercel, DCO e ratchet também passaram.

portao-browser / eval:select reproduziu uma dívida herdada do base origin/main@2115d5e2c: 14/53 personagens ficam acima do teto global declarado de 12. A reprodução local devolveu os mesmos 14. Esta branch não altera characters.js, glbchars.js, modelos ou o avaliador de seleção; o novo módulo de orçamento é puro e a tela de seleção não instancia Game. O threshold e os personagens não foram modificados nesta lane de Amazônia.

Agent: Codex

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
csbrasil Ready Ready Preview Sep 10, 2026 5:03am UTC

Request Review

Agent: Codex

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
@csbrasil-BOT csbrasil-BOT added needs-human-gameplay Mudança exige revisão humana de gameplay/render/HUD needs-staging Mudança precisa validação integrada em staging target:main PR apontando para a branch main labels Sep 10, 2026
@csbrasil-BOT

csbrasil-BOT commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

csbrasil-bot classification

Note

@rubenmarcus abriu 19 arquivo(s) · +713 −288, base main.

O que mudou

área arquivos + amostra
📚 docs 13 +203 −25 ARCH.generated.md, KNOWN-BUGS.md, README.md
🎮 jogo 3 +27 −2 bloom.js, game.js, renderbudget.js
🧪 arnês 3 +483 −261 ARCH.md, amazonia-performance-browser.mjs, amazonia-render-budget-check.mjs

Labels

label por quê
needs-human-gameplay toca gameplay/render/HUD/mapa/personagem — decisão de humano
needs-staging mudança de runtime/UI — valida integrado no staging antes do merge
target:main vai direto pra main, sem fila de integração

Agent: Codex

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-human-gameplay Mudança exige revisão humana de gameplay/render/HUD needs-staging Mudança precisa validação integrada em staging target:main PR apontando para a branch main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants