CommunityImagemgithub.com

Teardown – Simulador 3D de Máquinas Reais

Constrói um simulador 3D físico em tempo real de uma máquina real (motor, robô, engrenagem, trem de pouso, turbina, escavadeira, relógio, qualquer mecanismo) a partir de suas dimensões publicadas, com um painel onde cada indicador é calculado a partir do mesmo estado de simulação, além de um corte em plano. Use quando o usuário pedir para construir, simular, reconstruir, animar, desmontar, cortar ou 'mostrar como funciona' de uma máquina, motor, veículo, robô ou mecanismo, especialmente quando nomear um modelo real.

O que é Teardown – Simulador 3D de Máquinas Reais?

O Teardown é uma skill para agentes de IA (como Claude Code, Cursor ou Codex) que permite recriar, peça por peça, um simulador 3D interativo de uma máquina real a partir de suas especificações publicadas. A skill utiliza um template HTML pré-definido (kit) que já inclui cena Three.js, orbit controls, plano de corte e sistema de painéis. O agente deve seguir uma sequência rigorosa: identificar a máquina e variante, pesquisar e documentar todas as dimensões reais em um bloco DATA, construir as peças usando essas medidas, implementar um estado físico integrado que dirija todo o mecanismo (um único estado, sem timers independentes), construir um painel de engenharia que leia desse mesmo estado, adicionar o corte em plano, e aplicar o estilo visual padrão. O resultado final é um único arquivo HTML autônomo, sem dependências de rede, que funciona como um verdadeiro simulador (não uma animação ilustrativa). A skill enfatiza honestidade científica: números estimados devem ser taggeados, fontes conflitantes devem ser explicitadas, e simplificações do modelo (como cargas estáticas ou gás ideal) devem ser declaradas.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Felixo-gif/teardown/tree/HEAD/skills/teardown

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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)

  1. Identifique. Determine exatamente a máquina e variante. Diga qual você escolheu em uma linha.
  2. Números reais primeiro, um bloco de dados. Pesquise e escreva o bloco DATA antes de qualquer geometria: cada dimensão, massa, relação, velocidade, ângulo e tempo que a construção usará, cada um com kind (published, derived, estimated) e uma fonte numerada. Leia references/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.
  3. Comece pelo kit. Copie kit/template.html para <máquina>-live.html na pasta de saída e copie kit/three.js ao lado dele. Edite apenas os blocos MACHINE:CSS, MACHINE:DASH e <script id="machine">. O kit fornece o palco, a configuração do three.js, órbita simples, corte, medidores e o relógio. Leia references/dashboard.md para a API.
  4. 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 do kit (TD.span, extrusão de formas, TD.glow).
  5. 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. Nenhum Math.sin(time) decorativo em peças móveis.
  6. 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.
  7. 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.
  8. Aparência. Aplique references/look.md (padrão escuro sci-fi, variante clara de engenharia sob solicitação).
  9. 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), e deterministic: yes. Em seguida, percorra references/qa.md. Exclua os PNGs de verificação.
  10. Entregue. Execute node kit/inline.mjs <máquina>-live.html para 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. O TD.run do kit faz isso para você; não o contorne.
  • Reproduz ao vivo com requestAnimationFrame quando 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.

Habilidades Relacionadas