Connaissez exactement ce qui se trouve dans votre projet.
Sans risque de tout casser.

BranchPy Media Validation analyse votre projet Ren'Py dans VS Code, classifie chaque fichier multimédia et protège les assets dont votre moteur dépend — avant même que vous touchiez au bouton de suppression.

✓ Inventaire des médias 🛡️ Protection des chemins système ❌ Détection des assets manquants 🔍 Validation des références

Le problème des assets Ren'Py que les autres outils gèrent mal

La plupart des scanners de médias signalent comme « inutilisés » tous les fichiers qui n'apparaissent pas explicitement dans un script. Dans Ren'Py, c'est dangereux. Votre dossier game/gui/ contient des dizaines d'images dont le moteur a besoin à l'exécution — aucune d'elles n'apparaît dans script.rpy. Les supprimer automatiquement casse silencieusement votre jeu.

BranchPy classifie les fichiers avant de vous les montrer. Les chemins gérés par le moteur sont marqués PROTÉGÉ et exclus de tout ensemble d'actions sélectionnable — pas seulement visuellement, mais programmatiquement.

Quatre statuts. Un tableau de bord honnête.

Chaque fichier de votre projet reçoit exactement une classification :

RÉFÉRENCÉ

Référencé dans les scripts

Trouvé dans au moins un fichier .rpy via image, show, play ou similaire. Présent sur le disque confirmé.

PROTÉGÉ

Géré par le moteur ou protégé par politique

Se trouve dans gui/, renpy/, common/, launcher/ ou fonts/. Jamais proposé à la suppression — quelle que soit la présence dans les scripts.

NON RÉFÉRENCÉ

Non référencé lors de l'analyse actuelle

Non détecté dans cette passe d'analyse. Peut encore être chargé dynamiquement. Affiché pour révision, non pour nettoyage automatisé. Raison affichée par fichier.

MANQUANT

Absent du disque

Votre script référence ce fichier mais il n'existe pas. Une erreur d'exécution en attente. Mis en évidence immédiatement pour action.

Exemples d'états de fichiers dans le navigateur de médias

Le même dossier peut contenir les trois types simultanément. BranchPy les distingue avant de vous montrer quoi que ce soit.

🛡️ gui/window.png
PROTÉGÉ
Géré par le moteur Ren'Py : système GUI
Pas de case à cocher — protégé contre la sélection
images/bg_unused.png
NON RÉFÉRENCÉ
Aucune référence explicite trouvée dans l'analyse des scripts
Vérifier avant toute action
⚠️ missing/ghost.png
MANQUANT
Référencé dans script.rpy — introuvable sur le disque
Provoquera une erreur d'exécution sur ce label

Les fichiers PROTÉGÉ affichent une icône de bouclier à la place d'une case à cocher. Les fichiers NON RÉFÉRENCÉ sont sélectionnables. Les fichiers MANQUANT sont affichés immédiatement — sans avoir à les chercher.

🛡️ Protection à deux couches pour les fichiers gérés par le moteur

Un indicateur visuel seul ne suffit pas. BranchPy applique la protection des fichiers système à deux couches indépendantes :

  1. Pas de case à cocher rendue. Les fichiers protégés dans l'onglet Non référencés affichent une icône de bouclier à la place d'une case à cocher de sélection. Il n'existe aucun élément DOM à sélectionner.
  2. Validation dans le gestionnaire de suppression. Même si une future modification de code exposait accidentellement une case à cocher, le gestionnaire de confirmation de suppression extrait indépendamment tout chemin protégé de l'ensemble de fichiers avant qu'il ne soit envoyé à l'hôte d'extension. Un avertissement est journalisé si quelque chose est extrait.

Une défaillance d'une seule couche ne peut pas entraîner la suppression d'un fichier protégé. La Phase 3 ajoutera une couche de quarantaine comme troisième verrou.

Quels chemins sont protégés par défaut ?

BranchPy reconnaît deux classes de protection :

CheminClasseRaison
game/gui/** & gui/**Géré par le moteurSystème GUI Ren'Py — requis à l'exécution
game/renpy/** & renpy/**Géré par le moteurNoyau interne de Ren'Py
game/common/** & common/**Géré par le moteurBibliothèque commune Ren'Py
game/launcher/** & launcher/**Géré par le moteurAssets du launcher Ren'Py
game/fonts/** & fonts/**Protégé par politiqueFichiers de police — peuvent être chargés via config.font_*

Les préfixes gérés par le moteur sont non négociables. Les supprimer casse tout projet Ren'Py standard. Le préfixe fonts/ est protégé par politique avec une classification distincte, laissant la place à une révision plus fine dans une version future. Les remplacements définis par l'utilisateur sont désormais disponibles via branchpy.config.json (protectedPaths), intégrés dans la Phase 2A.

Ce que vous obtenez dès maintenant

La Validation des médias est disponible dans BranchPy pour Ren'Py Free et au-dessus.

📊
Inventaire des médias

Total des fichiers sur le disque, par type (image / audio / vidéo), avec répartition référencés + non référencés.

🔍
Analyse des références

Analyse image, show, scene, play, voice et les appels Python API dans tous les fichiers .rpy.

Détection des assets manquants

Les fichiers référencés dans les scripts mais absents du disque sont signalés immédiatement — avant qu'ils ne deviennent des erreurs d'exécution.

🛡️
Connaissance des chemins protégés

Les fichiers gérés par le moteur sont classifiés et visuellement distingués — avec enforcement pour empêcher leur inclusion accidentelle dans toute action de suppression.

Ce qui arrive ensuite

Phase 1 — Actuelle Inventaire · Analyse des références · Détection des manquants · Protection des chemins système · Raison par fichier ✓ Terminé
Phase 2A — Actuelle Score de confiance · Niveaux À réviser / Candidat au nettoyage / Risque de chargement dynamique · Détection de candidates au renommage · Remplacements définis via branchpy.config.json ✓ Terminé
Phase 2B Traversée de l'index de symboles · Analyse de co-occurrence de dossiers · Confiance de chargement dynamique plus précise À venir
Phase 3 Workflow de quarantaine — déplacer en zone de rétention, restaurer, puis supprimer · Traçabilité par manifeste Planifié

Prêt à savoir ce qui se trouve réellement dans votre projet ?

Installez BranchPy pour VS Code. Ouvrez la Validation des médias. Voyez tout en moins d'une minute.

Obtenir BranchPy Lire la documentation