Skip to content

map2/penitenciaria: pátio com peso visual, sem cara de low poly (USANTOS 2/3) - #441

Draft
rubenmarcus wants to merge 8 commits into
feat/times-e-mapas-completofrom
map2/penitenciaria
Draft

map2/penitenciaria: pátio com peso visual, sem cara de low poly (USANTOS 2/3)#441
rubenmarcus wants to merge 8 commits into
feat/times-e-mapas-completofrom
map2/penitenciaria

Conversation

@rubenmarcus

Copy link
Copy Markdown
Member

Por quê

Palavras do dono: "Os mapas do usantos são os mais low poly do jogo." Rebuild da penitenciaria: muro com reboco descascado (textura procedural no idioma do texturaMuro da mansão), 4 guaritas com holofote REAL varrendo o pátio, varandas de cela com guarda-corpo, arame farpado em hélice contínua, céu noturno próprio — contratos PEN1-PEN5, spawns, CTF e arsenal (16 pickups) intactos.

Régua nova (antes do conserto, com mutações)

  • tools/eval/penitenciaria-vida-check.mjs (NV1-NV6, eval:penitenciariavida no check:fast). Estado antigo: VERMELHO em NV1/NV2/NV3/NV4/NV5/NV6. Mutantes sem-reboco, holofote-parado, sem-varanda mordem a cláusula certa.
  • eval:look estendido à penitenciaria: fog == horizonte medido de sky_penitenciaria.webp (ΔE76 = 0,0; teto 8).

Decisões com número

  • Holofote: SpotLight real SEM sombra e SEM .map — o SB2 do eval:shaderbudget já mede 8/8 vetores no piso WebGL1 (mutantes sombra-pontual/spot-map provam que sombra/mapa de spot estoura). Cone aditivo falso complementa o facho. shaderbudget/shaderlog VERDES.
  • Grade da noite calibrada por medição: com exposicao 1,50 a média dos 4 frames 3:2 media L* 20,1 (buraco preto). exposicao 2,60 + piso 0,0085 → média L* 31,0, blk < 0,5 % (mesma receita piso·exposicao do loja_h R9). Alvo noturno, não o 42-48 dos mapas de dia.
  • Instanciação: meshes 1.167 → 358 (30 InstancedMesh; raycast de InstancedMesh é suportado no r160). Arame: 432 torus soltos → 4 hélices TubeGeometry.

Medições antes → depois

  • texturas distintas 5 → 13 · reboco medido em pixels (desvio 46,2 · 44 cores · gradiente 60,6) · nós waypoint 584 → 577 (rota E↔B 28 passos) · guarita herói GLB via Mint (penitenciaria_guarita.glb, 4.749 tris, 431 KB, FONTE.md + SHA) nas 4 torres, fallback procedural idêntico em colisores
  • check:fast verde · portões re-rodados após o GLB: PEN1-PEN5, NV1-NV6, props-acervo, asset-integrity, gltf-validator, ambience-registry, look

Capturas 3:2 (headless)

  • ANTES: parede cinza chapada, chão preto plano — a queixa do dono ao pé da letra.
  • DEPOIS: reboco descascado mostrando tijolo, arame em hélice contra o céu azul-chumbo, silhueta da guarita GLB, facho do holofote na parede, varandas das duas alas, portas com glow quente.
  • Arquivos: /tmp/shots/peni-base/ × /tmp/shots/peni-novo2/.

NÃO verificado

  • GPU real / fps com +4 SpotLights (capturas headless)
  • Orientação da escada do GLB em relação ao muro nos 4 cantos (só uma torre fotografada de perto)
  • Comportamento dos bots com os colliders novos em partida longa
  • Emenda do panorama do céu in-game

Frente USANTOS mapa 2 — 'os mapas do usantos são os mais low poly do jogo'
(dono, 25/08/2026). Régua ANTES do conserto (lei 1), irmã da parque-vida:
NV1 reboco descascado medido nos pixels da DataTexture dos 4 muros,
NV2 4 holofotes que varrem no update, NV3 varandas com guarda-corpo,
NV4 arame em hélice contínua nomeada, NV5 skyUrl+LOOK.penitenciaria,
NV6 >=12 texturas distintas.

Estado atual medido pelo próprio harness: 1.167 meshes (432 torus de
arame), 5 texturas, sem update exportado -> VERMELHA em NV1-NV6.
Mutantes sem-reboco|holofote-parado|sem-varanda morrem com NÃO APLICOU
neste commit (o alvo nasce no rebuild) e passam a morder com ele.
Registrada em check:fast; porquê em SCRIPTS.md.

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
…a.webp

Escolha: fim de tarde azul-chumbo com glow de vapor de sódio no horizonte
(em vez de céu cinza-amarelado) — a noite é o que faz os 4 holofotes
quentes da NV2 carregarem a cena; de dia eles viram decoração.
Céu gerado via OpenRouter (gen-image, 21:9 crop 2:1, 2048x1024):
nuvens de tempestade azul-acinzentadas, muros e guaritas em silhueta,
glow laranja de vapor de sódio rente ao horizonte, sem texto; emenda
esq-dir compatível (bordas em nuvem escura).
Horizonte medido: 0x567186 (look-horizonte.py, banda 498-510), zenite
0x5e85a3. Sol fraco frio (0.55) + hemi azulado fraco: a cena é dos
holofotes. look-horizonte.json reassado com os 4 webps.
A entrada do mapa no MAPAS do look-check vem com o rebuild (applyLook).

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
Frente USANTOS mapa 2 ('os mapas do usantos não podem parecer low poly').
Contrato PEN1-PEN5 intacto (12 celas transitáveis, 4 guaritas, 16 pickups,
577 nós, CTF 3 pontos, spawns/bounds).

- Muro: reboco creme descascado em DataTexture pixel-a-pixel (idioma
  texProcedural da mansão, mensurável em node): manchas de value-noise
  abrem concreto e tijolo, fiadas de fôrma, umidade na base encontrando
  embasamento físico + platibanda (junção reboco<->concreto crível).
- Torres: 4 holofotes reais (penitenciaria-holofote-*) com SpotLight
  SEM sombra e SEM .map + cone aditivo falso, varrendo o pátio LENTO
  (~55 s/volta) no update(dt,time) novo. Decisão de orçamento: o SB2 do
  shader-budget já mede 8/8 vetores no piso WebGL1 — spot com sombra ou
  com mapa adiciona a linha que estoura (mutantes sombra-pontual e
  spot-map existem para isso).
- Varandas: 1º pavimento das duas alas em tijolo aparente com portas e
  janelas de grade; passarela galvanizada com guarda-corpo (NV3), mísulas
  e escada de acesso visual; celas ganham beliche e porta de grade
  entreaberta (PEN2 intacto).
- Arame: 432 torus clonados -> 4 TubeGeometry em hélice contínua
  (HelixCurve), um por lado, texturizados.
- Pátio: refeitório coberto com mesas de inox, caixa d'água sobre
  cavaletes, 4 postes com fios catenários e luminárias quentes, juntas
  de dilatação e poças especulares que devolvem a luz dos holofotes.
- Céu/horizonte: applyLook(LOOK.penitenciaria) — noite azul-chumbo com
  glow de sódio; look-check 4/4 com ΔE76 = 0.
- Perf: peças repetidas instanciadas (ibox) — 1.167 -> 358 meshes,
  19 -> 30 InstancedMesh, colliders/occluders preservados.
- maps.js: ambience PENITENCIARIA_AMBIENCE (rat, pigeonGround).

Régua irmã: eval:penitenciariavida NV1-NV6 verde; mutantes sem-reboco,
holofote-parado e sem-varanda mordem NV1/NV2/NV3 sem colateral.

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
…rivados

- look-check.mjs: 'penitenciaria' entra no rollout (ficou de fora dos dois
  commits anteriores por engano de staging — o eval:look já media 4/4 com
  ΔE76 = 0 na verificação local).
- npm run docs: 11 blocos gerados re-derivados após o rebuild
  (map_penitenciaria.js 264 -> 558 linhas muda os números derivados).
- map_check.json: timestamp re-gerado pelo eval:map-source.

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
…CM1)

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Agent: Kimi Code
…medição

- penitenciaria_guarita.glb (4.749 tris, 431 KB) substitui a torre procedural
  no browser; procedural fica de fallback no arnês node (colisores idênticos)
- maps.js: penitenciaria ganha slot props
- grade da noite: média dos 4 frames 3:2 saía L* 20,1 (buraco preto);
  exposicao 1,50→2,60 + piso 0,0085 → média L* 31,0, blk < 0,5 %
- FONTE.md + mint-assets.json (SHA) conforme eval:props-acervo

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

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
csbrasil Ready Ready Preview Aug 25, 2026 6:06am

Request Review

@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 Aug 25, 2026
@csbrasil-BOT

csbrasil-BOT commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

csbrasil-bot classification

Note

@rubenmarcus abriu 26 arquivo(s) · +666 −68, base feat/times-e-mapas-completo.

O que mudou

área arquivos + amostra
📚 docs 15 +47 −30 ARCH.generated.md, README.md, SCRIPTS.md
🧪 arnês 4 +253 −2 look-check.mjs, look-horizonte.json, map_check.json
📦 outros 2 +26 −2 mint-assets.json, package.json
🎨 assets 2 +0 −0 sky_penitenciaria.webp, penitenciaria_guarita.glb
🎮 jogo 2 +14 −2 look.js, maps.js
🗺️ mapas 1 +326 −32 map_penitenciaria.js

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

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head cc829611a77b
checks vermelhos 3
classe outra
hora do plantão 2026-08-25T06:33:09.423Z

Vermelho:

portao (https://github.com/corosolto/client/actions/runs/32815472649/job/97702715355)
build (https://github.com/corosolto/client/actions/runs/32815472689/job/97702715615)
smoke (https://github.com/corosolto/client/actions/runs/32815472662/job/97702715438)

Rabo do log:

2026-08-25T06:08:40.9194109Z   sertanejo     revolver38      0.188   0.461   1.035      3.4   3.11       11.3
2026-08-25T06:08:40.9194564Z   punk          ak         ik   0.211   0.389   1.014     3.12   3.55       10.6
2026-08-25T06:08:40.9195045Z   doidinho-bairro p90        ik   0.215   0.495   1.008     1.92   3.92       10.6
2026-08-25T06:08:40.9195592Z   pagodeiro     pistol           0.19   0.399    1.12     1.93   2.98       10.4
2026-08-25T06:08:40.9196091Z   lenda-lanhouse m4         ik   0.211   0.414   0.993     4.14   3.49         10
2026-08-25T06:08:40.9196549Z   et            awp             0.152   0.404   0.956     3.78   2.71        9.7
2026-08-25T06:08:40.9197212Z   funkraiz      shotgun    ik   0.198   0.488   0.976     1.75   3.62        8.6
2026-08-25T06:08:40.9197691Z   caminhoneiro  md97       ik   0.285   0.497   0.907     1.22    6.5        8.4
2026-08-25T06:08:40.9198148Z   raul          deagle          0.191   0.443   0.963      4.2   3.16        7.8
2026-08-25T06:08:40.9198604Z   designer-ux   m4         ik   0.178   0.378   0.769     3.68    2.6        7.3
2026-08-25T06:08:40.9199212Z   motoca-cachorro-loko m4         ik   0.294   0.623   0.978     2.26   6.88          7
2026-08-25T06:08:40.9199787Z   bandeirante   mosin      ik   0.185   0.393   0.869     3.21   2.78        3.7
2026-08-25T06:08:40.9200268Z   microfonildo  m4         ik       0       0       0        0      0          0
2026-08-25T06:08:40.9200524Z
2026-08-25T06:08:40.9200641Z REPROVADOS: 22/62
2026-08-25T06:08:40.9200916Z -> tools/eval/select_inflate.json
2026-08-25T06:08:40.9201103Z
2026-08-25T06:08:40.9202107Z PORTÃO VERMELHO — 22 reprovados, acima do teto declarado de 12.
2026-08-25T06:08:40.9383100Z ##[error]Process completed with exit code 1.


nada fora do normal no meu turno 🕵️

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.

3 participants