CommunityImagegithub.com

teardown

Construisez un simulateur 3D en direct, physiquement réaliste, d'une machine réelle (moteur, robot, liaison, boîte de vitesses, train d'atterrissage, turbine, excavatrice, montre, tout mécanisme) à partir de ses dimensions publiées réelles, avec un tableau de bord dont chaque indicateur est calculé à partir du même état de simulation, ainsi qu'une coupe par plan de coupe. Utilisez-le lorsque l'utilisateur demande de construire, simuler, reconstruire, animer, démonter, couper ou « montrer comment cela fonctionne » pour une machine, un moteur, un véhicule, un robot ou un mécanisme, en particulier lorsqu'il nomme un modèle réel ou attache une photo.

Qu'est-ce que teardown ?

Teardown est une compétence avancée pour agent IA qui transforme une demande utilisateur en un simulateur 3D complet, physiquement réaliste et interactif d'une machine réelle. Elle est conçue pour des plateformes comme Claude Code, Cursor ou Codex, et génère un fichier HTML unique et autonome. La compétence exige une approche rigoureuse : à partir d'une photo de référence et de spécifications techniques, elle construit un modèle 3D basé sur les dimensions réelles, des mécanique (cinématique, forces) et un tableau de bord dynamique. Tous les indicateurs (vitesse, pression, angle) sont calculés à partir d'un état physique central, garantissant cohérence et réalisme. Une fonctionnalité clé est le plan de coupe qui révèle l'intérieur du mécanisme. Teardown suit un workflow strict : identification de la machine, recherche de données (publiées, dérivées ou estimées), construction du code à partir d'un kit, intégration des parties mobiles, ajout du tableau de bord et de la coupe, validation par rendus d'images et finalisation en un fichier autonome. Elle interdit les nombres magiques et exige l'honnêteté sur les approximations. Cette compétence est idéale pour les ingénieurs, les mécaniciens et les passionnés qui veulent comprendre et démontrer le fonctionnement interne de mécanismes complexes.

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

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait teardown ?

Vous reconstruisez une machine réelle pièce par pièce à partir de nombres réels, vous la pilotez à partir d'un état physique et vous construisez un tableau de bord d'ingénieur autour d'elle. Le résultat doit se lire comme un véritable simulateur, pas comme une illustration. Ne sautez jamais d'étape et n'inventez jamais un nombre sans le marquer.

Entrées

  • La machine (un modèle réel nommé est préférable : « Chevrolet 350 small-block », « Mantis hexapod », « train principal A320 »).
  • Une photo de référence de la chose réelle. Si l'utilisateur en a joint une, utilisez-la. Sinon, demandez-en une ; s'il ne peut pas en fournir, trouvez une photo sous licence libre (Wikimedia Commons, vérifiez la licence sur la page du fichier) et enregistrez l'auteur, la licence et l'URL. Regardez la photo avant de modéliser : proportions, disposition des pièces, couleurs et ce qui bouge.

Flux de travail (à faire dans l'ordre)

  1. Identifier. Identifiez précisément la machine et sa variante. Dites laquelle vous avez choisie en une ligne.
  2. Les nombres réels d'abord, un bloc de données. Recherchez et écrivez le bloc DATA avant toute géométrie : chaque dimension, masse, rapport, vitesse, angle et synchronisme que la construction utilisera, chacun avec kind (published, derived, estimated) et une source numérotée. Lisez references/research.md. Règles : privilégiez les fiches constructeur, manuels, normes, articles et organismes de normalisation ; recoupez deux sources quand vous le pouvez ; un nombre que vous avez mesuré sur la photo est estimated ; un nombre que vous avez calculé à partir d'autres est derived. Affichez ce bloc à l'utilisateur dans le chat sous forme de tableau court avant de construire.
  3. Partir du kit. Copiez kit/template.html vers <machine>-live.html dans le dossier de sortie et copiez kit/three.js à côté. Modifiez uniquement les blocs MACHINE:CSS, MACHINE:DASH et <script id="machine">. Le kit vous fournit la scène, la configuration three.js, l'orbite simple, la coupe, les jauges et l'horloge. Lisez references/dashboard.md pour l'API.
  4. Construire les pièces à partir des nombres. Chaque dimension de maillage provient de N.<key> (le bloc de données) ou d'une dérivation écrite en code à côté. Pas de nombres magiques pour quoi que ce soit qui a un équivalent réel. Faites correspondre les proportions et les formes des pièces de la photo ; utilisez les aides du kit (TD.span, formes extrudées, TD.glow).
  5. Un état physique unique pilote tout. Définissez l'état intégré minimal (angle de vilebrequin, distance parcourue, temps, position de soupape). step() l'intègre ; derive() calcule toute la machine à partir de celui-ci avec une cinématique réelle (references/kinematics.md) : positions, angles, vitesses, forces, pressions. pose() ne fait que copier les valeurs dérivées sur les maillages. Pas de Math.sin(time) décoratif sur les pièces mobiles.
  6. Tableau de bord autour du même état. Chaque affichage, graphique, bande et barre lit l'objet dérivé S, jamais sa propre minuterie. Les graphiques sur un cycle sont calculés en appelant le même solveur à des phases échantillonnées. Incluez : le nombre principal, l'étiquette de phase/course actuelle, au moins un graphique en fonction de l'angle ou de la phase avec un curseur mobile, un sélecteur par pièce, le bloc de données avec sources, la photo de référence avec crédit, et les commandes. Disposition et choix des jauges : references/dashboard.md.
  7. Coupe. Ajoutez la coupe par plan de coupe (TD.cutaway) à travers la pièce qui cache l'action, des coques creuses pour que seule la section de paroi montre la couleur du capuchon, rendez fantomatique ce qui se trouve devant, et rendez l'action cachée visible (éclair de combustion, colonne d'huile, engrènement d'engrenages). references/cutaway.md.
  8. Aspect. Appliquez references/look.md (thème sombre science-fiction par défaut, variante claire d'ingénierie sur demande).
  9. Auto-vérification par rendus d'images. Exécutez node kit/stills.mjs <chemin abs html> 0.5,2,4 <dossier abs>/check-%.png (nécessite playwright ; sinon ouvrez la page dans l'outil navigateur et appelez __render). Lisez chaque PNG. Corrigez jusqu'à ce que : aucune erreur console, la machine soit cadrée et lisible, la coupe montre l'intérieur, les jauges diffèrent visiblement entre les rendus (le script signale les tableaux de bord identiques), et deterministic: yes. Puis parcourez references/qa.md. Supprimez les PNG de vérification.
  10. Livrer. Exécutez node kit/inline.mjs <machine>-live.html pour intégrer three.js et les images dans <machine>-live.standalone.html, un fichier unique hors ligne. Répondez avec : les fichiers, le bloc de données (nombres + sources), le crédit photo, et ce qui est estimé plutôt que publié.

Contrat strict pour le fichier de sortie

  • S'ouvre depuis le disque sans réseau ; three.js est un script classique exposant window.THREE (pas de modules ES, pas de CDN).
  • window.__render(t) : t en secondes, déterministe, pas d'horloge murale ; il réinitialise les commandes par défaut, réintègre l'état à partir de 0 par pas fixes et dessine une image. Le TD.run du kit fait cela pour vous ; ne le contournez pas.
  • Joue en direct avec requestAnimationFrame lorsqu'il est ouvert normalement ; les commandes modifient l'état, et chaque jauge suit.
  • Scène de bureau 1600x1000, adaptée à toute fenêtre.
  • Le bloc de données, les sources et le crédit photo sont visibles dans la page.

Règles d'honnêteté

  • Ne présentez jamais un nombre estimé comme publié. Marquez-le.
  • Si les nombres publiés diffèrent, choisissez-en un, montrez l'autre dans la note et mentionnez-le.
  • Si un comportement est modélisé simplement (charges statiques, gaz parfait, pas de frottement), dites-le dans la réponse en une ligne.

Skills associés