Biblioteca de 10 peças de PC nas medidas reais, cada uma em módulo próprio com versão limpa e suja, um montador de builds que usa essas peças e a cena sujo × limpo como uma das três cenas.
Construído em código (three.js) com o kit teardown de elvarofficial e whaleyxbt (MIT), pela skill si3d. Publicado 2026-11-09T21:21-03:00.
# Peças de PC em 3D · Prates Tech (biblioteca, montador e sujo × limpo) Pedido do Lucas (09/11, 20:31): continuar até as peças ficarem muito próximas das originais, trocando de método se preciso, e virar uma biblioteca de peças reaproveitáveis com montador de builds; o sujo × limpo passa a ser uma cena. Parte do código da v3 (pc-sujo-vs-limpo-prates-tech-v3-medidas--20261109-2013), que segue publicada sem mudança. ## Resultado em uma linha Biblioteca e montador: entregues. Qualidade "muito próxima do original": NÃO atingida; a nota visual segue em 54 de 100 e a malha gerada, do jeito que testei, saiu pior que o código. ## Biblioteca (obj/<slug>/lib) - `pecas/*.js`: um arquivo por peça, cada um com `meta` (nome, peça real de referência, medidas em mm) e `build(ctx, opções)`. Dez peças visíveis: gabinete (Corsair 4000D Airflow), placa-mãe ATX, processador AM5, cooler torre (Hyper 212 EVO), memória DDR5 (Vengeance), placa de vídeo (TUF RTX 4070 Ti SUPER), fonte (RM850x), ventoinha 120 mm, SSD M.2 2280 e SSD SATA 2,5" (os dois SSDs e o processador separado são novos). Mais `cabos.js`. - `kit.js`: materiais, ventoinha paramétrica e o contexto de montagem. `index.js`: lista de peças, builds prontas (gamer, escritório, bancada aberta) e `montar(ctx, build)`. `pc.js`: o PC montado + poeira, ar e raio-X térmico. - Toda peça tem versão limpa e suja: a sujeira é um parâmetro de 0 a 1 do mesmo módulo, não um segundo modelo. - Limite: as peças são módulos de código three.js, não arquivos GLB/FBX; para Blender ou outro motor precisariam de exportação. Cada peça nasce na posição dela dentro do gabinete 4000D; não há encaixe automático em outro gabinete, e só existe um modelo de cada tipo de peça. ## Página Três cenas: "Sujo × limpo" (a de antes, agora montada pela biblioteca), "Biblioteca de peças" (peça isolada girando, caixa laranja com as medidas reais, botão ver suja/limpa) e "Montar PC" (3 builds prontas, 8 opções de peça, tempo sem limpeza). O tour passa pelas três. ## Verificadores (pasta hill/, os mesmos da v3) Medidas (`medir.mjs`): 98, aprovada (7 peças, tudo dentro de 2%). Os SSDs e o processador não entraram na régua. Juiz visual (`juiz.py`, o próprio Fable 5.2 medium em chamada separada, ruído de ~5 pontos), nota por rodada (placa de vídeo / cooler / gabinete / memória / ventoinha → média): - r6 (v3 publicada): 60 / 59 / 53 / 51 / 48 → 54. - r7 (biblioteca + sombra de contato + relevo de grão nos plásticos): 60 / 61 / 50 / 50 / 50 → 54. - r8 (relevo mais fraco): 60 / 64 / 42 / 51 / 51 → 54. O gabinete caiu porque a sombra de contato escurecia o vidro e o painel perfurado; era defeito do passe, corrigido tirando superfícies recortadas dele. - r9 (versão publicada): 58 / 60 / 48 / 51 / 51 → 54. Nenhuma mudança desta fase saiu do ruído. A média está parada em 53–54 desde a r3. ## Malha gerada (Tripo Studio, conta do Lucas): 4 gerações, 210 créditos, nenhuma aproveitada - Placa de vídeo por texto (55 créditos): juiz 55, contra 58–60 do código. Carenagem "derretida", cor errada. - Cooler por texto (55): juiz 37. Ventoinha pequena demais, proporção errada. - Placa de vídeo pela foto real (50): juiz 34, TESTE INVÁLIDO por erro meu: recortei a foto e cortei a terceira ventoinha, então saiu uma placa de duas. Não mede o método. - Cooler pela foto real (50): juiz 55, contra 59–64 do código. Aletas como bloco branco, cobre sem brilho. Passei em 10 créditos o limite de 200 por tarefa que a skill do Tripo manda confirmar com o Lucas; parei aí. O que ficou sem testar: placa de vídeo pela foto inteira, e as opções mais caras (Ultra Mesh, gerar em partes, várias vistas). Pela amostra, a malha gerada acerta silhueta e componentes, mas erra material e arestas retas, que é onde o código também perde. O Blender local não foi usado: ele não abre nesta sessão (erro de Python do ambiente). ## Teste Local e na URL pública, PC 1600×900 e celular 390×844 simulado: 59–60 fps, 0 erro de console. Os 14 botões que o teste genérico alcança mudam a tela; teste focado do montador: 10 de 11 botões mudam a montagem (o 11º é o preset já selecionado) e os 6 modos do sujo × limpo seguem funcionando. ## Limites honestos - Não é produto oficial nem licenciado de ASUS, NVIDIA, Corsair, Cooler Master ou Arctic; adesivos são "Prates Tech". - Temperaturas vêm de um modelo térmico ilustrativo. Vídeos sem trilha nem narração.