O que Teardown – Simulador 3D de Máquinas Reais faz?
Você reconstrói uma máquina real, peça por peça, a partir de números reais, aciona-a a partir de um estado físico único e constrói um painel de engenharia ao seu redor. O resultado deve ser lido como um simulador real, não como uma ilustração. Nunca pule uma etapa e nunca invente um número sem marcá-lo.
Entradas
- A máquina (um modelo real nomeado é o melhor: "Chevrolet 350 small-block", "Mantis hexapod", "Airbus A320 main gear").
- Uma foto de referência do objeto real. Se o usuário anexou uma, use-a. Se não, peça uma; se ele não puder fornecer, encontre uma foto com licença livre (Wikimedia Commons, verifique a licença na página do arquivo) e registre autor, licença e URL. Olhe a foto antes de modelar: proporções, layout das peças, cores e o que se move.
Fluxo de trabalho (faça nesta ordem)
- Identifique. Determine exatamente a máquina e variante. Diga qual você escolheu em uma linha.
- Números reais primeiro, um bloco de dados. Pesquise e escreva o bloco
DATAantes de qualquer geometria: cada dimensão, massa, relação, velocidade, ângulo e tempo que a construção usará, cada um comkind(published,derived,estimated) e uma fonte numerada. Leiareferences/research.md. Regras: prefira fichas técnicas do fabricante, manuais, normas, artigos e órgãos reguladores; cruze duas fontes quando puder; um número que você escalou da foto éestimated; um número que você computou a partir de outros éderived. Mostre este bloco ao usuário no chat como uma tabela curta antes de construir. - Comece pelo kit. Copie
kit/template.htmlpara<máquina>-live.htmlna pasta de saída e copiekit/three.jsao lado dele. Edite apenas os blocosMACHINE:CSS,MACHINE:DASHe<script id="machine">. O kit fornece o palco, a configuração do three.js, órbita simples, corte, medidores e o relógio. Leiareferences/dashboard.mdpara a API. - Construa peças a partir dos números. Cada dimensão de malha vem de
N.<chave>(do bloco de dados) ou de uma derivação escrita em código ao lado dela. Sem números mágicos para nada que tenha contraparte real. Combine as proporções e formas da foto; use helpers dokit(TD.span, extrusão de formas,TD.glow). - Um estado físico único dirige tudo. Defina o estado integrado mínimo (ângulo do virabrequim, distância percorrida, tempo, posição da válvula).
step()o integra;derive()calcula toda a máquina a partir dele com cinemática real (references/kinematics.md): posições, ângulos, velocidades, forças, pressões.pose()apenas copia os valores derivados para as malhas. NenhumMath.sin(time)decorativo em peças móveis. - Painel em torno do mesmo estado. Cada leitura, gráfico, tira e barra lê do objeto derivado
S, nunca de seu próprio timer. Gráficos ao longo de um ciclo são calculados chamando o mesmo solucionador em fases amostradas. Inclua: o número principal, o rótulo da fase/ciclo atual, pelo menos um gráfico versus ângulo ou fase com um cursor móvel, um seletor por peça, o bloco de dados com fontes, a foto de referência com crédito, e controles. Layout e escolha de medidores:references/dashboard.md. - Corte. Adicione o corte em plano (
TD.cutaway) através da peça que esconde a ação, cascas ocas para que apenas a seção da parede mostre a cor da tampa, fantasmas do que está na frente, e torne a ação oculta visível (clarão de combustão, coluna de óleo, engrenamento).references/cutaway.md. - Aparência. Aplique
references/look.md(padrão escuro sci-fi, variante clara de engenharia sob solicitação). - Autoverificação com renderização de imagens estáticas. Execute
node kit/stills.mjs <caminho absoluto do html> 0.5,2,4 <diretório absoluto>/check-%.png(precisa do playwright; caso contrário, abra a página na ferramenta do navegador e chame__render). Leia cada PNG. Corrija até: nenhum erro no console, a máquina está enquadrada e legível, o corte mostra o interior, os medidores diferem visivelmente entre as imagens (o script sinaliza painéis idênticos), edeterministic: yes. Em seguida, percorrareferences/qa.md. Exclua os PNGs de verificação. - Entregue. Execute
node kit/inline.mjs <máquina>-live.htmlpara incorporar three.js e imagens em<máquina>-live.standalone.html, um único arquivo off-line. Responda com: os arquivos, o bloco de dados (números + fontes), o crédito da foto, e o que é estimado em vez de publicado.
Contrato rígido para o arquivo de saída
- Abre do disco sem rede; three.js é um script clássico expondo
window.THREE(sem módulos ES, sem CDN). window.__render(t): t em segundos, determinístico, sem relógio de parede; reinicia os controles para os padrões, reintegra o estado a partir de 0 em passos fixos e desenha um quadro. OTD.rundo kit faz isso para você; não o contorne.- Reproduz ao vivo com
requestAnimationFramequando aberto normalmente; os controles alteram o estado e cada medidor segue. - Palco desktop 1600x1000, dimensionado para caber em qualquer janela.
- O bloco de dados, fontes e crédito da foto estão visíveis na página.
Regras de honestidade
- Nunca apresente um número estimado como publicado. Marque-o.
- Se os números publicados discordarem, escolha um, mostre o outro na nota e informe.
- Se um comportamento for modelado de forma simplificada (cargas estáticas, gás ideal, sem atrito), diga isso na resposta em uma linha.