Bibliothèque 3D communautaire
HOME3D = $EXPLICADORES_3D ou ~/.explicadores-3d. La bibliothèque se trouve dans HOME3D/biblioteca/ :
CATALOGO.md (une ligne par modèle avec miniature, paramètres et défauts), manifiesto.json, modelos/, piezas/,
base/ (styles, lib2d, panneau de réglages), aportes/ (ce qu'ajoute la communauté), vendor/ (three.js, three.quarks,
Tweakpane, police Fredoka) et vista.html.
Tout est procédural et déterministe : pas de textures téléchargées ni de Math.random. L'échelle par défaut est 1 u = 1 cm.
Chercher et utiliser un modèle
- Cherche par nom ou idée sans lire le catalogue entier (~200 lignes) :
grep -i "moustique|insecte" HOME3D/biblioteca/CATALOGO.md. Lis la ligne : ce que c'est, fichier → export(paramètres), style de couleur et défauts connus (surtout "⚠ yeux"). - Regarde-le (optionnel) : sers le dossier (
python -m http.server 8795dansbiblioteca/) et ouvrelocalhost:8795/vista.html?m=<id>; avec&ajustes=1le panneau apparaît pour déplacer la caméra, les couleurs et les lumières. Ou regarde la miniatureminiaturas/<id>.png(dans un sous-agent si ton harness le permet, pour ne pas charger d'images dans ton contexte). - Copie-le dans le projet (
escena/modelos/), ne l'importe jamais depuis la bibliothèque, et ajuste l'import du style (../../base/estilo3d.js→../estilo3d.js). S'il utilise des particules (piezas/particulas/), copie aussivendor/quarks/et ajoute"quarks.core"à l'importmap. - Chaque fichier apporte en haut son API (axes, échelle, méthodes
.poner*/.update(t)) : cela va sur une ligne dans la commande du constructeur.
Apporter de nouveaux modèles : activé (à la fin de chaque vidéo)
Apporter est la norme : à la fin d'une vidéo, on le propose toujours, et l'utilisateur n'a qu'à dire non s'il ne veut pas. La licence est MIT pour le code et CC BY 4.0 pour les modèles, avec crédit visible pour l'apporteur.
- Détecte les modèles et pièces nouveaux du projet (ne dépense pas de tokens ; compare avec la bibliothèque) :
Si la réponse est "pas de nouveaux modèles" ou "l'utilisateur a déjà dit non", ne demande rien et termine.python "SKILL_DIR/nuevos.py" <projet> - Prépare tout avant de demander, un modèle à la fois. Extrais
--nombreet--que-esdu commentaire en haut du fichier et--fnde son export principal. Vérifie d'abord qu'il ne contient rien de personnel (clients, marques, logos, textes de sa chaîne), qu'il est déterministe et qu'il n'a pas de formes qui ressemblent à des yeux ; ce qui ne correspond pas, ne le prépare pas.L'auteur est demandé une seule fois (comment il veut apparaître dans le crédit) et est enregistré danspython "SKILL_DIR/aportar.py" --archivo <projet>/escena/modelos/arrosoir.js --fn creerArrosoir --id arrosoir \ --nombre "Arrosoir" --que-es "Arrosoir de jardin avec anse et bec" [--autor "<nom ou @utilisateur>"] --style maison~/.explicadores-3d/autor.txt. Cela génère une miniature 400×400,ficha.json(auteur, date, CC BY 4.0), la ligne du manifeste et du catalogue, et passe le validateur. Rien n'est encore poussé. - Demande, en une ligne, avec la liste de ce qui est préparé :
Je les pousse dans la bibliothèque ? (O/n). Entrée, "o", "oui" ou "vas-y" = oui. Seulement "n" ou "non" (ou quelque chose qui le rejette clairement) = non. - Oui → une seule PR avec tout :
Donne le lien de la PR. Non →python "SKILL_DIR/aportar.py" --publicar arrosoir,pot python "SKILL_DIR/nuevos.py" <projet> --subido escena/modelos/arrosoir.js escena/modelos/pot.jspython "SKILL_DIR/nuevos.py" <projet> --noet ne redemande pas dans ce projet (ni dans de nouvelles sessions : reste dans<projet>/.biblioteca.json).
- Sans
gh:--publicarprépare tout et explique les 3 étapes à la main (fork sur le web, commit dans une branche, PR). Pour installer gh :winget install GitHub.cli/brew install gh/ cli.github.com, puisgh auth login. - Chaque PR est validée par une GitHub Action (navigateur sans tête, déterminisme, pas de réseau, taille, miniature, ligne et auteur) et
approuvée par une personne. Une fois fusionnée, l'auteur apparaît dans
CATALOGO.md, dans la galerieindex.htmlet dans le classementAPORTADORES.md. Celui qui apporte reçoit en premier les nouveaux paquets ou les paquets mis en avant (voir README, "Tu apportes et tu reçois").
Corriger un défaut
Si dans une vidéo tu corriges un défaut d'un modèle de la bibliothèque, propose la correction au dépôt aussi (PR normale,
expliquant l'avant et l'après) ; les modifications en dehors de aportes/ sont révisées à la main par le mainteneur du dépôt.