Présentation

ldraw-nova est un projet open‑source qui propose un agent capable de concevoir des modèles LEGO exécutables en langage LDraw. Le système s’appuie sur les modèles d’IA Astra et Opus 5.5, ainsi que sur le moteur de recherche sémantique Jev de TypeSafe. Le résultat fourni comprend le code source LDraw, un visualiseur 3D, un lecteur VR compatible Meta Quest 3, ainsi qu’un fichier glTF (.glb) éditable dans Blender.

Architecture et flux de travail

Le cœur du projet repose sur un agent LLM qui reçoit une description textuelle du modèle souhaité, génère du code LDraw, puis le transmet à un pipeline de validation. La recherche de pièces utilise jev‑rerank, un outil de ré‑ordonnancement sémantique qui nécessite une clé d’API TypeSafe (TYPESAFE_API_KEY). En absence de cette clé, le système bascule sur une recherche en texte intégral (FTS), ce qui, selon le README, peut réduire la pertinence des pièces sélectionnées.

Le déploiement se fait via Docker. Deux dépôts doivent être clonés côte à côte, l’un contenant le code de l’agent (ldraw‑nova) et l’autre la configuration Docker (ldraw‑nova‑docker). La construction de l’image nécessite environ 5 Go d’espace disque et plusieurs minutes lors du premier build.

git clone --branch v0.6.0 https://github.com/anteloc/ldraw-nova.git
git clone --branch v0.6.0 https://github.com/anteloc/ldraw-nova-docker.git
cd ldraw-nova-docker
docker compose build
docker compose up -d

Une fois le conteneur lancé, l’application est accessible en HTTPS sur le port 8443 (nécessaire pour la VR) ou en HTTP sur le port 8765. Le certificat est auto‑signé, ce qui impose d’accepter l’avertissement du navigateur lors de la première connexion.

Analyse des performances et limites

Les premiers tests montrent que les agents LLM, bien que généralement faibles en calculs géométriques purs, réussissent à générer du code LDraw fiable lorsqu’ils sont guidés par des primitives Python pré‑définies. Cette « résistance minimale au calcul géométrique » provient du fait que les modèles LDraw sont essentiellement du texte décrivant des rotations et des positions, ce qui se prête mieux à la génération de code que à la résolution directe de problèmes mathématiques.

Une seconde observation indique que les agents apprennent plus efficacement à partir de scripts Python qui produisent des modèles que d’un apprentissage direct sur les fichiers LDraw. Cette différence s’explique par la familiarité des LLM avec le langage Python, largement présent dans leurs jeux de données d’entraînement, contrairement à la syntaxe spécifique de LDraw.

Malgré ces succès, le projet ne garantit pas que chaque modèle généré soit physiquement assemblable. Les vérifications d’intégrité (scripts verify_endplate.py) détectent parfois des pièces mal alignées ou des collisions, ce qui impose une révision manuelle. De plus, la dépendance à un service externe (Jev) introduit une latence supplémentaire et crée un point de défaillance potentiel si la clé d’API n’est pas disponible.

Déploiement et perspectives

Le modèle d’exécution en conteneur facilite l’intégration dans des environnements de recherche ou de prototypage rapide. La prise en charge de la VR ouvre la voie à des expériences immersives où l’utilisateur peut visualiser le modèle en temps réel sur un casque Meta Quest 3. Cependant, l’absence d’authentification dans l’application web impose de la lancer uniquement sur des réseaux de confiance.

En résumé, ldraw‑nova démontre que les agents LLM peuvent être exploités pour automatiser la création de modèles physiques complexes, à condition de fournir un langage d’interaction simple (LDraw) et des primitives Python bien définies. Les limites actuelles résident dans la précision géométrique et la dépendance à des services externes, deux axes d’amélioration identifiés par l’auteur.