O7d : collections locales (Saved/Collections) pour eviter l'avertissement de controle de revision

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-10-02 14:21:55 +02:00
parent 2a1eedecef
commit dbd1cd2219
4 changed files with 16 additions and 9 deletions

View file

@ -67,7 +67,7 @@ données, et les mods en dépendent.
`Content/Modules` cite aussi 17 chemins complets de `New2` et `New3`. `Content/Modules` cite aussi 17 chemins complets de `New2` et `New3`.
Pour chercher par thème plutôt que par dossier, utiliser les collections `LifePlay_*` du Content Browser (panneau Pour chercher par thème plutôt que par dossier, utiliser les collections `LifePlay_*` du Content Browser (panneau
Collections) : animations, vêtements, meubles, cheveux, icônes, villes, sons… La collection rouge Collections, section locale) : animations, vêtements, meubles, cheveux, icônes, villes, sons… La collection rouge
`LifePlay_Chemins_Fixes` liste les assets à ne jamais déplacer. Après ajout d'assets, les régénérer avec `LifePlay_Chemins_Fixes` liste les assets à ne jamais déplacer. Après ajout d'assets, les régénérer avec
`Tools/BuildCollections.py` (lot O7d, `11_Audit_Optimisation.md` §16.5). `Tools/BuildCollections.py` (lot O7d, `11_Audit_Optimisation.md` §16.5).

View file

@ -473,7 +473,7 @@ Aucun asset déplacé, aucun Blueprint modifié : ni build ni test en jeu néces
### 16.5 O7d : collections thématiques (2026-10-02) ### 16.5 O7d : collections thématiques (2026-10-02)
Pour retrouver les assets par thème sans renommer de dossier, `Tools/BuildCollections.py` crée 13 collections statiques Pour retrouver les assets par thème sans renommer de dossier, `Tools/BuildCollections.py` crée 13 collections statiques
de l'éditeur (`Content/Collections/LifePlay*.collection`), rangées sous une collection parente `LifePlay` : de l'éditeur (`Saved/Collections/LifePlay*.collection`), rangées sous une collection parente `LifePlay` :
| Collection | Assets | Contenu | | Collection | Assets | Contenu |
|---|---:|---| |---|---:|---|
@ -491,9 +491,14 @@ de l'éditeur (`Content/Collections/LifePlay*.collection`), rangées sous une co
| `LifePlay_Chemins_Fixes` (rouge) | 4 984 | **transversale** : assets des dossiers à chemin écrit en dur (§16.2), à ne jamais déplacer | | `LifePlay_Chemins_Fixes` (rouge) | 4 984 | **transversale** : assets des dossiers à chemin écrit en dur (§16.2), à ne jamais déplacer |
Chaque asset du projet (8 561, hors redirecteur et données de carte) est dans exactement une collection thématique. Chaque asset du projet (8 561, hors redirecteur et données de carte) est dans exactement une collection thématique.
Les collections ne sont que des listes : aucun asset n'est modifié, rien n'est cuit ni livré dans le jeu. Le dossier Les collections ne sont que des listes : aucun asset n'est modifié, rien n'est cuit ni livré dans le jeu. Elles ne
`Content/Collections` est ignoré par git (comme dans le dépôt d'origine) : le script est la source et les régénère à sont ni versionnées ni archivées : le script est la source et les régénère à l'identique (GUID fixes).
l'identique (GUID fixes). Contrôles : relecture des 13 fichiers, 13 545 chemins, 0 inconnu du registre ; l'éditeur les
Ce sont des collections **locales** (`Saved/Collections`). Une première version les écrivait en collections partagées
(`Content/Collections`) : l'éditeur associe toujours celles-ci au contrôle de révision, désactivé dans ce projet, et
affichait l'avertissement « Collection is missing its revision control provider » (constaté par l'utilisateur). Les
fichiers ont été déplacés vers `D:\Game\LifePlay_Backup_5.5\O7d\Content_Collections` et régénérés en local,
identiques à l'octet près. Contrôles : relecture des 13 fichiers, 13 545 chemins, 0 inconnu du registre ; l'éditeur les
charge (`LogCollectionManager: Loaded 13 collections`). charge (`LogCollectionManager: Loaded 13 collections`).
## 17. Couche de données : stratégie (2026-10-02) ## 17. Couche de données : stratégie (2026-10-02)

View file

@ -926,3 +926,4 @@ Validation L7c/L7d (2026-10-02, parc, même cadrage) : la nuit reste claire (sol
| CHG-079 | 2026-10-02 | V1.3 | `README.md` (section V1.3, branche `ue5.5-v1.3`) ; tag annoté `v1.3` ; build `LifePlay_Build_5.5_Shipping_V1.3` validé en jeu ; archive `LifePlay_Revival_V1.3_UE5.5_Full_Source_Code.7z` (4 945 770 158 octets, 11 583 fichiers, SHA-256 `24e7d58f759ca8998fe0d7ddc8c6a4c30262978806903e6d3deb68b37c46512a`, contrôles : test 7-Zip, aucun secret ni outil local, 14 fichiers identiques au tag) | publication de la V1.3 (couche de données, `WhatWhereToArray` en C++, ERR-039) | — | | CHG-079 | 2026-10-02 | V1.3 | `README.md` (section V1.3, branche `ue5.5-v1.3`) ; tag annoté `v1.3` ; build `LifePlay_Build_5.5_Shipping_V1.3` validé en jeu ; archive `LifePlay_Revival_V1.3_UE5.5_Full_Source_Code.7z` (4 945 770 158 octets, 11 583 fichiers, SHA-256 `24e7d58f759ca8998fe0d7ddc8c6a4c30262978806903e6d3deb68b37c46512a`, contrôles : test 7-Zip, aucun secret ni outil local, 14 fichiers identiques au tag) | publication de la V1.3 (couche de données, `WhatWhereToArray` en C++, ERR-039) | — |
| CHG-080 | 2026-10-02 | V1.3 | `README.md` : V1.3 en téléchargement principal (lien Mega), V1.2 et V1.1 en versions précédentes ; lien de la V1 retiré (archive supprimée de Mega faute d'espace, état git conservé par le tag `v1.0`) | lien V1.3 reçu | — | | CHG-080 | 2026-10-02 | V1.3 | `README.md` : V1.3 en téléchargement principal (lien Mega), V1.2 et V1.1 en versions précédentes ; lien de la V1 retiré (archive supprimée de Mega faute d'espace, état git conservé par le tag `v1.0`) | lien V1.3 reçu | — |
| CHG-081 | 2026-10-02 | O7d | nouveau `Tools/BuildCollections.py` ; 13 collections statiques `Content/Collections/LifePlay*.collection` (hors dépôt, régénérables) ; `11_Audit_Optimisation.md` §16.5, `08_Guide_Developpeur.md` §2.1, `09_Commandes_Utiles.md` §3 | suite d'O7 (choix utilisateur) : regrouper les 8 561 assets par thème dans l'éditeur sans renommer de dossier ; collection transversale `LifePlay_Chemins_Fixes` (4 984 assets à ne pas déplacer) ; 13 545 chemins, 0 inconnu, chargées par l'éditeur ; aucun asset modifié, pas de build | supprimer `Content/Collections/LifePlay*.collection` (`git checkout O7d-avant` pour le reste) | | CHG-081 | 2026-10-02 | O7d | nouveau `Tools/BuildCollections.py` ; 13 collections statiques `Content/Collections/LifePlay*.collection` (hors dépôt, régénérables) ; `11_Audit_Optimisation.md` §16.5, `08_Guide_Developpeur.md` §2.1, `09_Commandes_Utiles.md` §3 | suite d'O7 (choix utilisateur) : regrouper les 8 561 assets par thème dans l'éditeur sans renommer de dossier ; collection transversale `LifePlay_Chemins_Fixes` (4 984 assets à ne pas déplacer) ; 13 545 chemins, 0 inconnu, chargées par l'éditeur ; aucun asset modifié, pas de build | supprimer `Content/Collections/LifePlay*.collection` (`git checkout O7d-avant` pour le reste) |
| CHG-082 | 2026-10-02 | O7d | `Tools/BuildCollections.py` : collections écrites dans `Saved/Collections` (locales) au lieu de `Content/Collections` (partagées) ; 13 fichiers déplacés vers `D:\Game\LifePlay_Backup_5.5\O7d\Content_Collections` puis régénérés (identiques) ; `11_Audit_Optimisation.md` §16.5, `08_Guide_Developpeur.md` §2.1 | avertissement à l'ouverture de l'éditeur (utilisateur) : une collection partagée exige un fournisseur de contrôle de révision, désactivé dans ce projet ; une collection locale n'en utilise pas | `git checkout O7d-apres -- Tools/BuildCollections.py` et remettre les fichiers sauvegardés |

View file

@ -2,13 +2,14 @@
# #
# Les dossiers de Content/Heavy (New, New2...) ne peuvent pas etre renommes : le jeu et les mods construisent des chemins # Les dossiers de Content/Heavy (New, New2...) ne peuvent pas etre renommes : le jeu et les mods construisent des chemins
# a partir de ces noms (§16.2). Ce script regroupe les assets par theme dans des collections statiques de l'editeur, # a partir de ces noms (§16.2). Ce script regroupe les assets par theme dans des collections statiques de l'editeur,
# sans deplacer ni modifier aucun asset. Les collections sont des fichiers texte (Content/Collections/*.collection, # sans deplacer ni modifier aucun asset. Les collections sont des fichiers texte non versionnes : ce script est leur
# ignores par git comme dans le depot d'origine) : ce script est leur source et les regenere a l'identique (GUID fixes). # source et les regenere a l'identique (GUID fixes). Elles sont locales (Saved/Collections) : les collections partagees
# (Content/Collections) exigent un fournisseur de controle de revision, desactive dans ce projet (icone d'avertissement).
# #
# Usage : # Usage :
# UnrealEditor-Cmd.exe <projet> -run=pythonscript -script="<projet>/Tools/BuildCollections.py" -unattended -nopause -nosplash # UnrealEditor-Cmd.exe <projet> -run=pythonscript -script="<projet>/Tools/BuildCollections.py" -unattended -nopause -nosplash
# Ajouter " -dryrun" dans -script="..." pour afficher les comptes sans ecrire. # Ajouter " -dryrun" dans -script="..." pour afficher les comptes sans ecrire.
# Sortie : Content/Collections/LifePlay*.collection ; resume dans le journal (LogPython). # Sortie : Saved/Collections/LifePlay*.collection ; resume dans le journal (LogPython).
import os import os
import sys import sys
@ -91,7 +92,7 @@ unreal.log_warning("BuildCollections : {} asset(s) classes, {} ignore(s) (redire
if DRY_RUN: if DRY_RUN:
unreal.log_warning("BuildCollections : -dryrun, aucune ecriture") unreal.log_warning("BuildCollections : -dryrun, aucune ecriture")
else: else:
folder = os.path.join(unreal.Paths.convert_relative_path_to_full(unreal.Paths.project_content_dir()), "Collections") folder = os.path.join(unreal.Paths.convert_relative_path_to_full(unreal.Paths.project_saved_dir()), "Collections")
os.makedirs(folder, exist_ok=True) os.makedirs(folder, exist_ok=True)
write_collection(folder, "LifePlay", None, None, []) write_collection(folder, "LifePlay", None, None, [])
for name, color, _ in THEMES: for name, color, _ in THEMES: