From dbd1cd22193039b43ff3c50ad0b3defd93c80b01 Mon Sep 17 00:00:00 2001 From: edujiro5972 <336072401+edujiro5972@users.noreply.github.com> Date: Fri, 2 Oct 2026 14:21:55 +0200 Subject: [PATCH] O7d : collections locales (Saved/Collections) pour eviter l'avertissement de controle de revision Co-Authored-By: Claude Opus 5.5 --- Docs/Migration/08_Guide_Developpeur.md | 2 +- Docs/Migration/11_Audit_Optimisation.md | 13 +++++++++---- Docs/Migration/Journal_Modifications.md | 1 + Tools/BuildCollections.py | 9 +++++---- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Docs/Migration/08_Guide_Developpeur.md b/Docs/Migration/08_Guide_Developpeur.md index 098b2dd..b769019 100644 --- a/Docs/Migration/08_Guide_Developpeur.md +++ b/Docs/Migration/08_Guide_Developpeur.md @@ -67,7 +67,7 @@ données, et les mods en dépendent. `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 -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 `Tools/BuildCollections.py` (lot O7d, `11_Audit_Optimisation.md` §16.5). diff --git a/Docs/Migration/11_Audit_Optimisation.md b/Docs/Migration/11_Audit_Optimisation.md index 2f2a1d7..7b54be0 100644 --- a/Docs/Migration/11_Audit_Optimisation.md +++ b/Docs/Migration/11_Audit_Optimisation.md @@ -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) 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 | |---|---:|---| @@ -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 | 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 -`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 à -l'identique (GUID fixes). Contrôles : relecture des 13 fichiers, 13 545 chemins, 0 inconnu du registre ; l'éditeur les +Les collections ne sont que des listes : aucun asset n'est modifié, rien n'est cuit ni livré dans le jeu. Elles ne +sont ni versionnées ni archivées : le script est la source et les régénère à l'identique (GUID fixes). + +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`). ## 17. Couche de données : stratégie (2026-10-02) diff --git a/Docs/Migration/Journal_Modifications.md b/Docs/Migration/Journal_Modifications.md index 0a55425..94ae737 100644 --- a/Docs/Migration/Journal_Modifications.md +++ b/Docs/Migration/Journal_Modifications.md @@ -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-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-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 | diff --git a/Tools/BuildCollections.py b/Tools/BuildCollections.py index c2cc848..0d441a5 100644 --- a/Tools/BuildCollections.py +++ b/Tools/BuildCollections.py @@ -2,13 +2,14 @@ # # 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, -# sans deplacer ni modifier aucun asset. Les collections sont des fichiers texte (Content/Collections/*.collection, -# ignores par git comme dans le depot d'origine) : ce script est leur source et les regenere a l'identique (GUID fixes). +# sans deplacer ni modifier aucun asset. Les collections sont des fichiers texte non versionnes : ce script est leur +# 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 : # UnrealEditor-Cmd.exe -run=pythonscript -script="/Tools/BuildCollections.py" -unattended -nopause -nosplash # 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 sys @@ -91,7 +92,7 @@ unreal.log_warning("BuildCollections : {} asset(s) classes, {} ignore(s) (redire if DRY_RUN: unreal.log_warning("BuildCollections : -dryrun, aucune ecriture") 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) write_collection(folder, "LifePlay", None, None, []) for name, color, _ in THEMES: