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)
- Identifier. Identifiez précisément la machine et sa variante. Dites laquelle vous avez choisie en une ligne.
- Les nombres réels d'abord, un bloc de données. Recherchez et écrivez le bloc
DATAavant toute géométrie : chaque dimension, masse, rapport, vitesse, angle et synchronisme que la construction utilisera, chacun aveckind(published,derived,estimated) et une source numérotée. Lisezreferences/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 estestimated; un nombre que vous avez calculé à partir d'autres estderived. Affichez ce bloc à l'utilisateur dans le chat sous forme de tableau court avant de construire. - Partir du kit. Copiez
kit/template.htmlvers<machine>-live.htmldans le dossier de sortie et copiezkit/three.jsà côté. Modifiez uniquement les blocsMACHINE:CSS,MACHINE:DASHet<script id="machine">. Le kit vous fournit la scène, la configuration three.js, l'orbite simple, la coupe, les jauges et l'horloge. Lisezreferences/dashboard.mdpour l'API. - 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). - 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 deMath.sin(time)décoratif sur les pièces mobiles. - 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. - 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. - Aspect. Appliquez
references/look.md(thème sombre science-fiction par défaut, variante claire d'ingénierie sur demande). - 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), etdeterministic: yes. Puis parcourezreferences/qa.md. Supprimez les PNG de vérification. - Livrer. Exécutez
node kit/inline.mjs <machine>-live.htmlpour 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. LeTD.rundu kit fait cela pour vous ; ne le contournez pas.- Joue en direct avec
requestAnimationFramelorsqu'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.