Genesis 3D

Genesis 3D est un éditeur 3D dans le navigateur. Ses quatre modes couvrent la scène, les UV, les surfaces et la morphologie. Des prototypes associés explorent séparément la peinture, le rendu physique et des simulations jouables. Un assistant peut lire la scène, écrire du code et l'exécuter dans les couches programmables du document. Parti du besoin de créer des scènes web légères et vivantes, cet ensemble est devenu un laboratoire pour le comportement, l'apprentissage et les systèmes autonomes. L'intégration des prototypes à l'éditeur reste un travail en cours.
Genesis 3D : démonstration de l'éditeur 3D dans le navigateur. Explorez la démonstration de Genesis 3D dans le navigateur et observez la scène réagir à vos commandes.

Fiche technique

Informations générales

Architecte / Créateur : David Pichot

Développement : Claude Code

Premiers fichiers : février 2026

Développement : depuis février 2026

Technologie

Langages : JavaScript, PHP, GLSL, WGSL

Base de données : SQLite, JSON

Bibliothèques : Three.js, postprocessing, three-mesh-bvh

Framework : aucun, pas de bundler, pas de build

Périmètre vérifié

Éditeur web : scène, UV, surface, morphologie

Rendu physique : prototype distinct de l'éditeur

Simulations : laboratoires distincts de l'éditeur

Course de drones : 64 courses et 41 062 relevés enregistrés

Status

État du projet : En développement

Pourquoi construire mon propre outil 3D ?

Je voulais pouvoir passer directement d'une idée à une expérience interactive. Dans une chaîne 3D classique, la création de la scène et celle de son comportement finissent souvent dans des environnements différents. C'est parfaitement adapté à une production établie ; beaucoup moins à ma manière d'expérimenter.

Si je voulais qu'un poisson puisse avoir faim, qu'un papillon choisisse où se poser, qu'une caméra soit plus ou moins attentive ou qu'un adversaire apprenne ma façon de piloter, il me fallait pouvoir relier directement géométrie, animation, perception, état et décision.

Genesis 3D s'est construit autour de cette liberté. Je peux modifier une couche du système pendant que les autres continuent de tourner, observer immédiatement ce que cette modification produit, puis garder, corriger ou supprimer. L'outil ne sert donc pas seulement à fabriquer une scène : il réduit la distance entre concevoir, tester et comprendre.

Un document 3D qui reste programmable

Genesis 3D réunit la scène, l'animation, les matériaux, les interfaces et le code comportemental dans un même document. Une interface peut être un widget HTML, CSS et JavaScript doté d'un accès direct à la scène 3D ; ce même code fonctionne dans l'éditeur puis dans la page exportée.

Cette architecture permet de créer des expériences sans reconstruire une application autour d'elles. Un système de décision, une population d'agents ou une interface peuvent vivre directement avec les objets qu'ils contrôlent.

Elle permet surtout de choisir le bon mécanisme pour chaque problème. Un comportement peut venir d'une équation, d'une machine à états, d'un système homéostatique, d'un algorithme d'apprentissage ou d'un modèle de langage. L'intelligence n'est pas une couche obligatoire : elle prend la forme nécessaire au problème posé.

L'outil est devenu un laboratoire

Genesis 3D couvre aujourd'hui une chaîne complète de création : organiser une scène, déplier une géométrie, peindre directement sur un modèle, construire des matériaux procéduraux, animer, rendre puis exporter une expérience jouable.

Mais les fonctions les plus intéressantes sont souvent apparues parce qu'un prototype posait un problème précis. Le logiciel nourrit les expériences ; les expériences renvoient ensuite leurs solutions dans le logiciel.

C'est cette boucle qui a progressivement transformé Genesis 3D. Les projets ci-dessous ne sont pas des animations préparées pour illustrer la page : ce sont de petits systèmes exécutés en direct dans le navigateur.

Assistant IA de scène

L'assistant de Genesis 3D n'est pas un chatbot posé à côté de l'éditeur. Sa boucle agentique fonctionne dans l'application elle-même. Il dispose actuellement de quatorze outils pour lire du code, le modifier, l'exécuter, créer ou éditer des widgets et inspecter les objets de la scène. Une modification peut donc être appliquée pendant que le logiciel continue de tourner.
Spider Walk : araignée mécanique et réglages de marche en 3D. Explorez l’araignée mécanique en 3D, observez sa marche et utilisez les réglages ou Reset pour recommencer.
L'intelligence se trouve aussi dans la façon dont le contexte lui est donné. Je ne lui envoie pas toute la scène. Je sélectionne l'objet utile dans l'arbre et Genesis 3D sérialise uniquement ses informations pertinentes : géométrie, transformations, matériau, lumière, caméra ou hiérarchie. Le contexte est sélectionné par l'interface plutôt que compensé par une fenêtre toujours plus grande.

Le modèle peut ainsi construire une interface ou un comportement directement dans le document. Le code qu'il produit devient une partie de la scène et part avec elle lors de l'export.
Aquarium : des poissons nagent et suivent le pointeur, un clic droit les nourrit. Déplacez le pointeur pour attirer les poissons ; faites un clic droit pour les nourrir.

Poissons aux besoins autonomes

La version présentée ici est une déclinaison web allégée de mes laboratoires comportementaux. Les poissons ne suivent pas une trajectoire enregistrée et aucun modèle de langage ne décide de leurs mouvements.

Le système repose sur des états internes qui évoluent continuellement. Faim, repos, sécurité et besoin social entrent en concurrence ; l'environnement ajoute différentes sources de stress. La perception elle-même dépend de cet état : une cible n'est pas simplement choisie parce qu'elle est proche, et un poisson affamé peut accepter une situation qu'il aurait refusée quelques instants auparavant.

L'apprentissage a ensuite été testé séparément sur certains comportements avec plusieurs approches évolutionnaires. Les résultats, y compris les échecs, ont conduit à une séparation importante : faire apprendre la décision lorsqu'elle gagne à évoluer, sans forcément abandonner à l'apprentissage la mécanique du geste.

À essayer, déplacez la souris dans l'aquarium : certains poissons viendront s'y intéresser. Clic droit pour leur donner à manger. Maj + clic pour les effrayer. Leur réaction dépend de leur état au moment où vous intervenez.

Course de drones IA

Le drone obéit à une véritable dynamique de vol. Pour avancer, il doit s'incliner : sa poussée suit l'axe vertical de son propre corps. La traînée dépend de sa vitesse dans l'air, le lacet possède une inertie et le circuit lui-même est généré pour chaque partie à partir de courbes puis transformé en parcours tridimensionnel.

La course comprend quatre adversaires. Un modèle de pilotage est étudié séparément à partir de mes propres parties. J'ai enregistré 64 courses et 41 062 relevés de télémétrie : vitesse, position, orientation, inclinaison, décalage au tracé et courbure à venir. Une régression polynomiale de degré 2 apprend trois relations entre la courbure et la façon dont je pilote. Le modèle obtenu tient finalement en neuf coefficients.

Le modèle appris tient en neuf coefficients, mais il n'est pas encore branché au pilotage des adversaires. Leur comportement actuel repose sur la logique de course du prototype : ligne, anticipation des virages et contrôle latéral.

À essayer, cliquez sur la vidéo pour ouvrir la course. Trois tours, au clavier ou à la manette ; à la manette, le pilotage prend vraiment tout son sens.
Studio de rendu en lancer de rayons : une sculpture posée sur un socle, éclairée et calculée image par image dans le navigateur. Faites tourner la sculpture : le rendu lumineux se recalcule après chaque mouvement.

Rendu WebGPU adaptatif

Le moteur de rendu physique calcule le trajet de la lumière en WebGPU directement dans le navigateur. La contrainte est radicale : un seul échantillon par pixel là où un rendu offline peut en utiliser des milliers. Une image brute serait donc presque inutilisable.

La solution n'est pas d'ajouter artificiellement de la puissance, mais d'utiliser les images précédentes comme information. Le moteur reprojette l'historique, accumule les moments statistiques de la luminance, estime la variance puis adapte son filtrage selon la géométrie et l'incertitude locale.

La boucle se referme ensuite : le lanceur de rayons lit la variance produite par le débruiteur à l'image précédente. Une zone encore instable reçoit davantage d'échantillons ; une zone déjà suffisamment convergée en reçoit moins. Le système réalloue donc son propre budget de calcul selon ce qu'il estime encore mal.

Ce n'est pas de l'IA au sens d'un modèle appris. C'est une forme d'intelligence architecturale fondée sur l'estimation, la mémoire et la rétroaction.

À essayer, faites tourner la vue à la souris. Ombres, réflexions et lumière indirecte sont recalculées pendant le mouvement.
Mur de caméras de surveillance qui pivotent toutes ensemble pour suivre le pointeur. Bougez doucement le pointeur : les caméras pivotent vers lui, chacune avec son propre rythme.

Caméras à attention collective

Chaque caméra possède son propre rythme : un multiplicateur individuel de comportement, ses oscillations de lacet et de tangage et de petites saccades qui apparaissent puis disparaissent progressivement. Les deux axes utilisent des fréquences volontairement désynchronisées afin que le mouvement ne retombe jamais exactement dans la même boucle.

L'intelligence vient du modèle d'attention. Une caméra ne passe pas brutalement de « je suis » à « je ne suis pas ». Son orientation est un mélange continu entre la poursuite d'une cible et son mouvement spontané. Elle peut donc être très attentive, distraite ou presque indifférente.

Chaque caméra est également influencée par ses huit voisines. Une variation locale d'attention peut ainsi se propager dans la grille. D'autres excitations utilisent un retard proportionnel à la distance : au lieu de bouger comme un bloc, le mur transmet son état de proche en proche.

À essayer, déplacez la souris dans l'image. Les papillons suivent votre mouvement et les caméras réagissent à leur tour, chacune avec son propre rythme et son propre niveau d'attention.
Une main robotisée tenue ouverte, des papillons bleus qui volent autour et suivent le pointeur. Déplacez le pointeur pour guider la main ; arrêtez-vous et observez les papillons s’approcher ou se poser.

Atterrissage autonome des papillons

Le papillon ne rejoue pas une animation d'atterrissage. Son vol utilise une marche de Lévy lissée par des splines de Catmull-Rom : beaucoup de petits déplacements, ponctués de déplacements plus importants. Ce type de distribution est utilisé pour modéliser certaines stratégies de recherche observées chez les animaux.

Lorsqu'il décide de revenir vers la main, une machine à états organise le passage du vol au retour puis à la pose, mais la trajectoire reste recalculée : le doigt peut continuer à bouger pendant l'approche. Les six pattes sont ensuite résolues par cinématique inverse avec contraintes de charnière ; leurs cibles sont projetées par raycast sur le maillage réel du doigt afin que les pieds rencontrent effectivement sa surface.

Les ailes participent elles aussi à la décision : leur battement descendant est réduit lorsque la géométrie indique un risque de collision avec le doigt. Et lorsque plusieurs papillons veulent se poser, un arbitre multi-agents sélectionne le mieux placé tandis que les autres s'écartent.

L'intelligence visible vient donc de plusieurs mécanismes spécialisés qui résolvent ensemble une situation qu'aucune animation complète ne décrit à l'avance.

À essayer, déplacez le doigt avec la souris. Le papillon adapte son approche à la cible ; s'il perd une situation stable, il peut repartir puis chercher une nouvelle occasion de se poser.

Quand les expériences reviennent dans l'outil

Genesis 3D continue d'évoluer par cette boucle entre outil et laboratoire. Le moteur de rendu physique est destiné à remplacer le renderer actuel ; son interface a déjà été conçue pour pouvoir prendre cette place.

L'assistant sait aujourd'hui comprendre la scène et agir sur les couches programmables du document. Les fonctions permettant de créer et transformer directement les objets 3D existent déjà dans Genesis 3D : il reste à les lui exposer comme outils.

La même logique vaut pour les expériences comportementales. États internes, perception, décision, évolution et apprentissage ont d'abord été développés dans les laboratoires pour pouvoir être observés librement. Les mécanismes qui résistent à l'expérience pourront ensuite revenir dans l'éditeur.

La direction du projet est là : faire disparaître progressivement la frontière entre l'outil de création et le laboratoire, afin de pouvoir créer une forme, lui donner un comportement, observer ce qu'elle produit et transformer ce résultat en nouvelle capacité du système.

Genesis 3D est mon œuvre : vingt ans d'image et de 3D, puis l'IA, réunis dans un seul outil. Architecte IA et creative technologist, je cherche un poste dans une équipe qui fait de la 3D temps réel, du jeu ou des outils créatifs. Écrivez-moi.

Travaillons ensemble

L’innovation naît de la collaboration. Ensemble, construisons des solutions qui comptent.
Owan
Bonjour, je m'appelle Owan, je suis l'assistante de David, comment puis-je vous aider ?
0/2000