← abrir o modelo · galeria

PC gamer em 3D · nível foto (leve, v2)

Versão leve com os painéis de LED e a bomba do water cooler refeitos como na foto real; abre leve em notebook e celular, com o traçado de luz no botão Qualidade máxima.

Fontes e licenças

Construído em código (three.js) com o kit teardown de elvarofficial e whaleyxbt (MIT), pela skill si3d. Publicado 2026-11-10T11:41-03:00.

Notas do agente

# PC gamer em 3D · nível foto (leve, v2)

Continuação de pc-real-nivel-foto-20261110-0741, que segue publicada sem mudança. O Lucas abriu essa versão no notebook dele (10/11, 10:26) e ela travou a máquina inteira: o traçado de luz rodava sempre, em qualquer aparelho.

## O que mudou
- A página abre por padrão em render rasterizado leve: materiais PBR, ambiente, LEDs, luz colorida barata no lugar da luz rebatida e curva de câmera. O que entra depende do nível:
  - alta (placa de vídeo dedicada): sombra suave, AO (GTAO), bloom e anti-serrilhado 4x;
  - média (GPU integrada): sombra, bloom e anti-serrilhado 2x;
  - leve (celular, GPU por software ou máquina com ≤4 GB/≤4 núcleos): sem sombra, sem bloom, resolução 1x.
- Malhas juntadas por material: de milhares de objetos para algumas dezenas de chamadas de desenho.
- A tela só é desenhada quando a câmera muda. Com a aba escondida, nada é desenhado.
- Se os quadros ficarem lentos enquanto o modelo gira, a página baixa sozinha um nível.
- O traçado de luz (three-gpu-pathtracer) só é criado no botão "Qualidade máxima", que só fica ativo em placa de vídeo dedicada; em celular e GPU integrada o botão aparece desligado. Alvo: 300 amostras (era 600). Os blocos aumentam sozinhos se o quadro passar de 120 ms.
- Enquadramento ajustado para tela larga (notebook) e para tela em pé (celular).

## Teste de carga (hill/leve.mjs, GPU real da máquina, CPU limitada pelo Chrome)
Ver revisao/leve.jsonl. O notebook simula GPU integrada (o nível é escolhido pela string da GPU) com CPU 4x mais lenta. O celular usa 390x844 com toque e CPU 6x mais lenta.
- PC forte: primeiro quadro em 1,1 s, nível alta, 60 fps girando, ~0,7 ms de GPU por quadro.
- Notebook simulado: 2,9 s, nível média, 60 fps girando, ~3,7 ms de GPU por quadro.
- Celular simulado: 3,6 s, nível leve, 60 fps girando, ~2,6 ms de GPU por quadro.
- Aba escondida: 0 quadros desenhados nos três perfis. Nenhum erro de console.
- testar.mjs (PC e celular): 0 erros, todos os botões mudam a tela e o arrasto mudou a tela nos dois perfis. No celular, "Qualidade máxima" fica desligado, de propósito.

Limite do teste: não consegui forçar uma GPU fraca de verdade nesta máquina (o Chrome sempre pega a RTX). Com o renderizador por software (Mesa llvmpipe), os shaders do three falham ao validar e a tela fica preta, o que não representa um notebook real. O custo por quadro medido na RTX é a melhor prova que tenho: uma GPU integrada costuma ser 10 a 20 vezes mais lenta, o que dá de 7 a 40 ms por quadro no nível média, e a página só desenha quando a câmera se mexe.

## v2 (esta entrada): hill climbing no modo leve, que é o que abre para todo mundo
Mesmo juiz cego (Opus 5.5 high, 3 leituras, foto real × render no mesmo enquadramento). Agora o render medido é o leve (nível alta), não o traçado de luz.
- r12 modo leve publicado em pc-real-nivel-foto-leve-20261110-1044: 30,5 (base)
- r13 luz-chave mais forte + bloom moderado: 30,0 (empate, mantido pelo visual)
- r14 painéis de LED da frente encaixados como na foto: 32,4 (mantido)
- r15 bomba do water cooler com aletas brancas de volume, cortadas no quadrado: 34,4 (mantido)
- r16 mais luzes coloridas de rebatimento: 32,5 (desfeito)
Também nesta versão: com o modelo parado, nenhum quadro é desenhado (a câmera encaixa no destino).
Teste de carga desta versão (revisao/leve.jsonl): PC 1,2 s, notebook simulado 2,7 s, celular simulado 3,4 s até o primeiro quadro; 60 fps girando; 0 quadros parado e com a aba escondida; 0 erros.

## v2, segunda leva (mesmo link)
- Testado na placa integrada AMD Radeon 610M do próprio PC (2 unidades de GPU, como um notebook barato), não só simulado. Achado: "AMD Radeon / radeonsi / Ryzen" não era reconhecido como integrado; agora é, e a página escolhe o nível média, com o botão Qualidade máxima desligado.
- Traçado de luz com freio: se os quadros passam de 100 ms várias vezes, ele divide em blocos menores e, se continuar lento, desliga e volta ao modo leve com aviso. Na Radeon 610M, ?q=maxima forçado volta ao leve em ~6 s; antes ficava travado em 2 fps.
- Nível média com resolução 1x (era 1,25x).
- r17 ventoinhas do teto vistas de lado com treliça e luz vazando: 34,3 (mantido; o juiz deixou de apontar o teto)
- r18 oclusão ambiente mais forte: 32,2 (desfeito)
- r19 luz colorida com alcance maior: 31,5 (desfeito)
Prova: revisao/leve-gpu-integrada.jsonl.

## v2, terceira leva: versão PC × versão celular (pedido do Lucas, 11:28)
- Interface e controle separados por aparelho (lib/pagina/aparelho.js da skill si3d). Celular = toque como entrada principal + tela de telefone, não só largura; ?ui=cel|pc força.
- Celular: barra fina em cima, modelo sozinho no meio (0% coberto), barra de polegar embaixo (Início · Vistas · Opções · Gestos, alvos de 58 px), gaveta que sobe e recolhe; dica de gestos na abertura.
- Toque: 1 dedo gira, pinça aproxima, 2 dedos movem, toque duplo foca a peça tocada, Início volta; câmera com limites; página não rola nem dá zoom.
- PC: o mesmo layout de antes, mais botão direito/Shift move, duplo clique foca, setas e +/- e R volta.
- r20 ventoinha traseira de lado: desfeito. r21 janela ROG visível com moldura e STRIX: 31,9 / 35,4 (r17 relida: 32,3), mantido.
Prova: revisao/cel.json e revisao/cel/*.png (toque real via CDP), revisao/leve-celular-novo.jsonl.