painting-3d-world

Construit un monde Three.js interactif et explorable à partir d'une peinture, en générant des vues de gauche, droite et arrière, en établissant un inventaire quadridirectionnel des objets, puis en modélisant, assemblant et validant chaque élément à l'aide de captures d'écran réelles. Utilisé pour les espaces immersifs de peintures célèbres, la reconstitution de scènes picturales, la création de séries de mondes et la correction des détails spatiaux et des sujets principaux ; pas pour générer une simple image 3D stylisée.

Qu'est-ce que painting-3d-world ?

L'agent « painting-3d-world » transforme une peinture 2D en un monde 3D interactif et navigable à l'aide de Three.js. Il génère d'abord des vues directionnelles (gauche, droite, arrière) pour planifier l'espace, puis établit un inventaire quadridirectionnel des objets visibles avant de modéliser et d'assembler chaque composant. Le système valide rigoureusement chaque scène via des captures d'écran réelles sous plusieurs angles, en vérifiant la composition, l'éclairage, les détails des sujets et la navigabilité. Conçu pour les développeurs et les créateurs de contenu, cet agent fonctionne dans des environnements de développement web standard (VS Code, terminal) et garantit que chaque monde respecte des critères de qualité stricts avant d'être marqué comme terminé.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rockeymen/painting-3d-world/tree/HEAD

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · 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

painting-3DWorld

Transforme les relations spatiales d'une peinture d'origine en un monde où l'on peut se retourner et se déplacer. La peinture originale sert de référence pour la composition et la modélisation ; les extensions hors du cadre sont des créations et ne peuvent pas être présentées comme l'intention du peintre.

La condition d'achèvement est que chaque tableau passe successivement les vérifications de composition de l'original, d'espace environnant, de ciel/haut, de détails du sujet, d'éclairage et de visite. L'éclairage ne doit pas être omis, ni reporté après que l'utilisateur l'a signalé. Le fait que la page web s'ouvre, que les coordonnées soient valides, que le taux d'images soit normal, que le nombre d'objets augmente ou que shadowMap.enabled=true ne peut remplacer ces vérifications. Si l'un de ces points échoue, le monde reste en statut needs-work et la série entière ne peut pas être déclarée comme terminée.

Première étape : générer des vues supplémentaires dans trois directions

Consulte d'abord l'image réelle pour confirmer l'œuvre, l'année, l'institution de conservation et la version spécifique. Un même thème a souvent plusieurs compositions ; ne remplace pas les couleurs d'une version par celles d'un autre pont, d'une autre gare ou d'un autre parlement. La recherche privilégie les pages des collections des musées et leurs interfaces d'images ouvertes ; conserve les liens des sources, les URL de téléchargement et les mentions de licence. Si l'image source contient des bordures blanches ou des légendes, utilise un rectangle de pixels clair ou un recadrage CSS pour ne garder que la peinture elle-même ; ne redessine pas une "image originale".

Avant la modélisation et l'établissement formel de la liste des objets, génère trois vues réelles (gauche, droite, arrière) basées sur la peinture originale. La peinture originale est la face avant à 0° ; en position d'observation fixe par défaut, à hauteur des yeux et avec une échelle de caméra définie, tourne respectivement à gauche de 90°, à droite de 90° et à 180° pour générer le contenu hors cadre du même monde. Utilise les outils de génération/modification d'images disponibles en conservant le style, l'époque, la lumière et les connexions spatiales des objets adjacents ; vérifie et corrige les incohérences une par une. Avant d'exécuter, lis les contraintes de génération et le modèle de consigne dans references/directional-concepts.md. Écrire uniquement des idées textuelles pour les trois directions ne compte pas comme une étape validée.

Conserve la peinture originale et les trois images générées comme un ensemble de référence quadridirectionnel, en indiquant la direction et la nature de l'image générée ; les images hors cadre sont des références pour la conception spatiale, et non des preuves de l'œuvre originale du peintre ou d'un rendu 3D réaliste. Les objets déjà présents dans la peinture originale doivent conserver leur identité, leur position et leur forme lorsqu'ils apparaissent dans plusieurs directions. Si un monde existant manque de références tridirectionnelles, complète-les d'abord ; si des références existantes et cohérentes peuvent être réutilisées, elles peuvent l'être, mais mets à jour les directions affectées en cas de modification de la conception spatiale.

Deuxième étape : analyse quadridirectionnelle, inventaire et modélisation par modules

Avant la modélisation, écris le premier plan, le plan moyen, l'arrière-plan, l'horizon, les contours principaux, les relations d'occlusion et les proportions des blocs de couleurs. Choisis 3 à 6 points d'ancrage identifiables, par exemple des sommets, des fermes, des têtes de pont, des cadres de fenêtre ou des groupes de personnages, et enregistre leurs coordonnées normalisées dans l'image originale. Commence par faire correspondre le point de vue initial avec le même rapport hauteur/largeur que l'image originale, puis conçois pour l'écran du téléphone. Le petit écran peut élargir raisonnablement le champ de vision ; si cela expose un ciel vide, un sol vide ou réduit le sujet à un petit modèle central, compense l'espace et choisis un recadrage/angle d'observation raisonnable, sans déplacer l'objet principal ni continuer à élargir le champ de vision.

Une fois les trois vues générées vérifiées, rédige pour chaque tableau un plan spatial unifié : combine la peinture originale et les trois vues (gauche, droite, arrière) pour décrire ce qu'il y a dans chaque direction et au-dessus, quels sont les composants identifiables du sujet, et où se trouvent le parcours de visite et les limites. Pour les scènes extérieures, chaque direction horizontale doit décrire comment le premier plan, le plan moyen et l'arrière-plan s'enchaînent ; pour les scènes intérieures, décris les murs, portes, fenêtres, meubles et espaces adjacents correspondants. Lors de la planification, lis references/world-acceptance.md, unifie les quatre images dans une même disposition de monde, résous les contradictions de routes, de rivages, de bâtiments ou de végétation entre les images, puis modélise en série.

Avant la modélisation, établis l'inventaire quadridirectionnel des objets : pour chaque type d'objet, compte séparément les quantités visibles ou les estimations pour la face avant, la gauche, la droite et l'arrière, et enregistre le total après déduplication dans toute la scène, l'ID de l'objet, la source de l'image, la position et la taille proche/lointaine, le taux de couverture par direction, les couleurs principales et secondaires, et les composants clés. Un même objet apparaissant dans plusieurs images n'est construit qu'une seule fois ; le total de la scène ne peut pas être simplement la somme des quantités visibles dans les quatre directions. Commence par fabriquer et rendre un seul objet ou un groupe local représentatif, corrige-le en comparant avec l'image de référence de la direction correspondante, puis dispose et assemble chaque catégorie selon l'inventaire. Après l'assemblage, vérifie à nouveau les quantités visibles réelles, l'éclairage et les occultations par direction ; ne remplace pas l'effet visible par "il y a déjà beaucoup d'herbe/nénuphars dans le code source". Les tableaux de statistiques spécifiques et les étapes de composant unique et d'assemblage se trouvent dans references/component-inventory.md ; lis-le lors de l'établissement de l'inventaire ou de la modification des quantités/densité/couleurs des matériaux.

Choisis des modules d'entité en fonction de la scène réelle : terrain continu et chemins, surface d'eau et rivage, coque complète du bâtiment ou intérieur, volumes de végétation, meubles, personnages, ciel. Réutilise les capacités de géométrie de base et de traitement par lots ; le terrain, les contours du bâtiment, la disposition et le point de vue principal de chaque tableau doivent être conçus indépendamment. La création en série ne peut pas se limiter à changer la palette de couleurs ou à remplacer le titre.

Rendre le monde viable

Ajoute aux deux côtés autres que l'avant, à l'arrière et aux zones accessibles des espaces avec le même climat, la même époque et la même échelle. Le volume réel, le dos des bâtiments, les troncs d'arbres et la canopée, les toits et les berges doivent résister à un contournement. La peinture originale peut servir de référence pour la comparaison ou les détails des matériaux, mais coller l'ensemble du tableau sur un plan ne compte pas comme une reconstruction spatiale terminée.

L'arrière doit avoir des relations spatiales navigables et identifiables. Placer à plusieurs reprises quelques arbres lointains, étendre une grande pelouse ou une surface d'eau, ou utiliser un brouillard épais pour couvrir les zones vides ne compte pas comme une complétion. La mer et les champs peuvent être vastes, mais les rivages, l'horizon, la végétation ou les traces d'habitation doivent former une profondeur de champ intentionnellement conçue. Les limites mobiles doivent être cohérentes avec le terrain réel ; au-delà des limites, il faut encore une bande paysagère tampon visible pour éviter qu'en se retournant ou en s'approchant du bord, on ne voie une coupure de la scène.

Chaque monde extérieur configure explicitement un ciel ou un couvert de canopée. Même si la peinture originale ne montre pas le ciel, il faut traiter les espaces visibles lorsque l'on lève la tête ou que l'écran étroit élargit le champ de vision ; ne pas omettre la configuration du ciel pour ce monde et revenir silencieusement à une couleur unie par défaut. Conçois un ciel avec des nuances de luminosité, des nuages ou des couches de lumière en fonction du climat de la peinture, et raccorde-le à la canopée. Un ciel clair et défini peut rester simple ; les jardins à canopée dense doivent ajouter des branches, des interstices dans la canopée et le ciel derrière. Ne pas utiliser un arrière-plan vide sans contenu pour simuler un espace supérieur complété.

Le quadrillage du sol, les points d'implantation des bâtiments, les racines de la végétation et la caméra de marche partagent une règle de hauteur. Les surfaces des ponts, de l'eau et du sol doivent être distinguées comme des surfaces indépendantes ; le contrôleur choisit la couche praticable en fonction de la zone, vérifie les rampes et les garde-corps aux têtes de pont, et évite que la surface de l'eau ne suive la courbe du pont ou que la caméra ne saute soudainement d'une couche à une autre. Ajoute des collisions ou des limites de passage adaptées à la forme des murs, des troncs d'arbres, des meubles et des berges ; le point d'apparition et les itinéraires principaux doivent être clairs. Les peintures vues de haut peuvent utiliser un mode de vol libre défini, ou construire une véritable plateforme d'observation ; ne pas considérer la caméra en suspension comme une marche au sol.

Ajuste d'abord les contours principaux, la composition et les blocs de couleurs, puis ajoute les coups de pinceau et les petits détails. L'éclairage, le mappage des tons, le brouillard et les textures modifient les couleurs de la peinture originale ; il faut juger dans le rendu réel, et non se contenter de vérifier les couleurs hexadécimales des matériaux. Les surfaces géométriques peuvent utiliser des textures de coups de pinceau, des variations de couleur des facettes ou des coups de pinceau courts instanciés ; les formes d'entité lisibles doivent être conservées.

Chaque scène prévoit explicitement l'éclairage dans son plan de fabrication et est validée comme une étape visuelle indépendante. Détermine la source de lumière principale et sa direction, la lumière ambiante, les surfaces de réception des ombres et les zones de contact clair/obscur en fonction de la peinture originale ; à l'intérieur, vérifie particulièrement la lumière des fenêtres, sous les meubles et dans les coins. Pendant la phase de rendu d'un seul objet, utilise un éclairage proche de la scène finale ; après l'assemblage, vérifie les couches de lumière réelles visibles, les ombres des objets et la sensation d'ancrage au sol. N'utilise pas un éclaircissement global uniforme, des ombres intégrées aux textures ou une lumière ambiante trop forte qui aplatirait le volume, et ne transforme pas une peinture originale lumineuse en pièce sombre pour souligner les ombres. Les jours nuageux et la lumière diffuse peuvent être doux, sans imposer de taches de lumière solaire à bords durs. Pour la mise en œuvre et le dépannage, consulte la référence d'éclairage "éclairage intérieur et vérification finale des couleurs".

Distingue la couleur de base du matériau, les ombres et lumières de l'éclairage, les ombres portées des objets et les reflets sur l'eau. Les ombres cuites dans les sommets ne peuvent pas remplacer les ombres portées réelles, et les ondulations répétées de l'eau ne peuvent pas remplacer les reflets des ponts, des bateaux et des arbres. Lorsque la peinture originale se distingue par un mur blanc, l'image finale doit toujours être perçue comme un mur blanc, et non comme une maison jaune par défaut ; vérifie les parties claires, les faces d'ombre de couleur froide et le contraste avec la bande forestière environnante. Pour les corrections concernant la lumière, les paysages aquatiques ou les forêts denses, lis references/light-water-vegetation.md et choisis les schémas d'éclairage, d'ombre et de réflexion réels en fonction de la peinture.

La densité de la végétation se mesure par l'occlusion et les blocs de couleurs, et non par le nombre total d'arbres. Lorsque la peinture originale montre une forêt dense continue, utilise une canopée irrégulière, des arbustes en sous-bois et un volume forestier à l'arrière pour fermer la masse entre le sol et la canopée ; vérifie si l'on peut encore voir le ciel directement entre les troncs. Les forêts claires et les vides intentionnels conservent les espaces vides de l'original. Répartis par couches (premier plan, plan moyen, arrière-plan), conserve le sujet, le mur blanc, les ouvertures du pont et les itinéraires, et évite une rangée unique d'arbres équidistants. Si l'extrémité d'un canal latéral semble coupée, utilise une lisière de forêt prolongée, une rive sinueuse ou des collines basses pour organiser l'arrière-plan ; les nouvelles collines ne sont ajoutées que comme extensions justifiées ou approuvées par l'utilisateur, et ne sont pas imposées à toutes les plaines ou surfaces d'eau ouvertes.

Le sujet est construit couche par couche selon "contour, composants structurels, matériau de surface, connexion à l'environnement", et on extrait de la peinture originale au moins trois caractéristiques d'identification adaptées au cadrage actuel. Les ponts, bateaux, bâtiments et meubles qui seront vus de près doivent avoir des détails structurels soutenant leur échelle et leur fonction. Les ouvertures, volumes et matériaux gris d'un pont ne sont que l'étape du modèle brut ; il faut encore traiter les arcs/supports, les piliers, les bords du pont, les garde-corps et les variations de pierre selon l'œuvre originale, et vérifier l'arrivée à la berge et la vue sous le pont. Les bateaux doivent permettre de lire la coque, le bordé, le pont et les cordages/mâts correspondants, et éviter d'utiliser un gros bloc pour remplacer la structure visible. Les composants spécifiques sont choisis en fonction de l'œuvre originale, sans imposer la même décoration à tous les tableaux. Des exemples détaillés se trouvent dans la référence de validation "détails du sujet".

Lorsqu'une version corrigée approuvée par l'utilisateur existe déjà dans le même projet, elle sert de référence de qualité pour les suivantes en termes de forme du sujet, de densité des détails et d'intégrité spatiale. Ne réduis pas arbitrairement l'ensemble à un modèle brut uniforme et minimal, puis déclare-le terminé avec l'explication "stylisé". Enregistre les résultats de comparaison séparément par contour/occlusion, proportions du sujet, blocs de couleurs principaux et composants clés, sans inventer un score de similarité globale.

Termine et valide visuellement un tableau représentatif avant d'étendre la série. La boîte à outils partagée peut être réutilisée, mais la composition, l'extension spatiale et la modélisation du sujet doivent être conçues individuellement pour chaque tableau. Après avoir corrigé la logique partagée du ciel, du terrain, du rendu ou de la caméra, revérifie chaque tableau concerné.

Par défaut, utilise une interface sobre : titre, panneau de l'image originale déplié par défaut en haut à droite et escamotable, joystick tactile nécessaire ; sur ordinateur, déplacement avec WASD/flèches, rotation avec glissement, R pour revenir au point de vue d'origine. Suis le choix actuel de l'utilisateur, sans imposer de nouvelles cartes, guides, calques ou outils plein écran. Les éléments masqués doivent pouvoir être réaffichés, et les commandes tactiles restent cliquables.

Quand le dynamisme est nécessaire

Distingue d'abord dans l'inventaire des objets les structures fixes, les plantes enracinées, les tissus à bords fixes, les articulations animées et les objets complets se déplaçant sur un itinéraire. Conserve la pose de référence statique de la peinture originale ; le dynamisme ne peut pas altérer continuellement la composition initiale. Pour les personnages, vérifie d'abord les vêtements, la posture assise/debout, les proportions tête-corps et les objets tenus, puis décide quelles articulations sont mobiles, en évitant de remplacer uniformément tous les personnages par le même modèle. Les détails spécifiques des niveaux hiérarchiques, des points de fixation, des ombres et de la validation cyclique se trouvent dans references/living-worlds.md ; lis-le lors de l'ajout du vent, de personnages, de bateaux, d'oiseaux en mouvement.

Comparaison et livraison

Ouvre réellement via le serveur du projet, attend que la géométrie et les textures soient prêtes. Prends une capture d'écran au rapport hauteur/largeur de l'image originale et avec la fenêtre d'affichage du téléphone, et compare-la côte à côte avec l'original : taille et position du sujet, rapport ciel/sol, contour, occlusion, profondeur des plans, palette de couleurs et densité des détails. Lors de la vérification de la composition, masque le panneau de l'image originale et prends une capture d'écran de l'interface avec le panneau déplié, pour éviter que les calques ne masquent les points d'ancrage. Les bords recadrés du pont dans la peinture originale peuvent continuer à être recadrés ; la capture d'écran sur téléphone conserve la stratégie de cadrage qui privilégie le sujet, sans exiger que tous les points d'ancrage soient simultanément dans le cadre. Corrige d'abord les grands écarts visibles ; ne remplace pas la correction de la composition par l'augmentation du nombre d'arbres. En cas de besoin de projection quantifiée, utilise scripts/project-landmarks.py ; son erreur ne mesure que les points d'ancrage sélectionnés et ne représente pas la similarité visuelle globale.

Le rendu réel de la face avant est comparé à la peinture originale ; les rendus réels de gauche, droite et arrière sont comparés respectivement aux vues générées à la première étape, et les quantités visibles réelles/taux de couverture et les écarts sont reportés dans l'inventaire quadridirectionnel. Les vues générées et les captures d'écran finales du navigateur sont conservées séparément ; les premières ne peuvent pas servir de preuve de complétion pour les secondes.

Effectue la validation suivante pour chaque tableau, sans remplacer la validation par lots par un sondage :

  1. Au point d'apparition, prends des captures d'écran du rendu réel respectivement en face avant, en tournant à gauche d'environ 90°, à droite d'environ 90°, à 180° environ et en levant la tête à au moins 55° ; ces angles maintiennent la position de la caméra cohérente. Pour les scènes extérieures, prends également une vue à au moins 75° vers le zénith ; pour les scènes avec couvert de canopée, prends les bords/interstices de la canopée et la liaison avec le ciel. Le point de vue principal est utilisé uniquement pour la comparaison de composition avec la peinture originale ; les autres angles servent à détecter un ciel vide, un dos vide, des coupures et des modèles unifaciaux.
  2. Emprunte au moins deux itinéraires accessibles, utilise de vraies entrées clavier/souris/tactiles pour un déplacement continu, puis prends des captures d'écran. Les itinéraires doivent inclure le fait d'aller au-delà du cadre de la peinture, ainsi que de s'approcher/contourner le côté ou le dos de la structure principale ; vérifie le sol, les berges, les têtes de pont et les connexions des modèles. Pour les intérieurs, choisis des bords de porte ou des côtés de meubles réellement accessibles. Pour les changements de couche (têtes de pont, escaliers, berges, etc.), conserve des preuves en cours de route et enregistre si un saut de couche ou un passage à travers le modèle se produit. Définir directement la position de la caméra ou revenir au point de vue d'origine ne prouve pas le passage par l'itinéraire.
  3. Ouvre et inspecte visuellement chaque capture d'écran, enregistre le contenu visible spécifique et les défauts. Les zones vides, trop simplifiées, qui s'écartent clairement de l'original ou qui ne fonctionnent que de face doivent être corrigées avant de reprendre les captures. Le fait que les fichiers de capture existent ou que leurs noms contiennent rear ne signifie pas que l'inspection est réussie.
  4. Vérifie la composition sur ordinateur et sur téléphone, le masquage/affichage de la peinture originale, le déplacement/réinitialisation, les commandes tactiles, le redimensionnement de la fenêtre, le chargement des ressources et la console ; vérifie les coordonnées limitées, les plages d'index, le point d'apparition, la hauteur de la surface de marche et les chemins de collision. Les vérifications de fonctionnement et visuelles sont enregistrées séparément.
  5. Enregistre indépendamment la validation de l'éclairage : à partir des captures d'écran réelles, indique la direction de la lumière principale, les zones claires et sombres, les ombres portées des objets représentatifs et les ombres de contact, et confirme la stabilité après déplacement. Si l'éclairage attendu n'est pas visible, vérifie d'abord les matériaux/Shaders finaux, les chemins de lumière et les occultations ; ne considère pas la présence d'objets lumineux ou l'activation des ombres comme un critère de réussite. Il suffit de réutiliser les captures ci-dessus (angles, itinéraires, téléphone) sans produire un ensemble formel distinct.

Lorsque le contenu correspond, vérifie également dans les captures et itinéraires ci-dessus : si le mur blanc est toujours jaunâtre/grisâtre, si le bord inférieur de la forêt lointaine laisse voir le ciel, si l'horizon latéral est fermé, si les voiles/parapluies fins manquent d'ombres portées, et si les reflets sont alignés avec la ligne de flottaison des objets, changent avec le point de vue et sont brisés par les ondulations. Après le déplacement, vérifie la stabilité des ombres ; sur téléphone, vérifie le coût des reflets et le taux d'images réel, sans utiliser les résultats de l'ordinateur pour les remplacer. Voir la référence sur l'éclairage et les paysages aquatiques pour les jugements détaillés.

Conserve pour chaque tableau le plan, les caractéristiques du sujet et les preuves de capture selon la référence de validation. Exécute python3 scripts/validate-world-evidence.py <manifest.json> --require-passed pour vérifier les omissions, les erreurs d'angle, les captures en double, les fichiers manquants et les éléments non réussis ; ce script ne vérifie que la structure des preuves, le contenu des images doit encore être inspecté visuellement.

La page d'accueil de la série présente la véritable couverture de chaque monde, l'œuvre et l'auteur, la classification et un lien pour y accéder. Lors de la livraison, distingue "fonctionne", "composition de face réalisée" et "validation spatiale complète réussie", et signale honnêtement les mondes non réussis et leurs problèmes. Les problèmes sont marqués respectivement comme défauts visuels constatés, preuves insuffisantes, preuves d'ancienne version ; l'absence de captures ne permet pas de déduire que la scène n'a pas été réalisée, ni de la considérer comme réussie. Ce n'est que lorsque chaque tableau dispose de preuves complètes et que les problèmes visuels sont résolus que l'ensemble peut être marqué comme terminé. Livre l'adresse locale exécutable et le contenu spécifique achevé ; la publication suit toujours les droits accordés par l'utilisateur.

Lorsque les contours, la densité de la végétation ou la caméra s'écartent toujours de l'image originale, consulte references/fidelity-lessons.md, qui documente les expériences réelles de correction pour la Montagne Sainte-Victoire et le pont d'Argenteuil.

Skills associés