96 lines
8.2 KiB
Markdown
96 lines
8.2 KiB
Markdown
|
|
Fiches U2 — Orchestrateur N2 — Modèle prévu Opus high | utilisé Opus 5.5 (claude-opus-5-5), 2026-10-08
|
|||
|
|
|
|||
|
|
# U2 — Retrait 4.27 et chemin moteur (plan 27 § U2)
|
|||
|
|
|
|||
|
|
Dossier de travail : `D:\Game\LifePlay-master 5.8`, branche `ue5.8` (à `1825884`, tag `U2-avant`).
|
|||
|
|
Instantané : `D:\Game\LifePlay_Backup_5.5\U2` (944 fichiers : Source, Config, Tools, Docs, LifePlay.uproject, README.md).
|
|||
|
|
Entrée : inventaire `etat/U58/U1/U1-RELIQUATS.md` (tableaux A–D) et décisions utilisateur du plan 27 § U2.
|
|||
|
|
`EngineAssociation` reste `5.5` pendant U2 (bascule en U3) : la compilation de contrôle se fait avec UE 5.5.
|
|||
|
|
|
|||
|
|
## Conception retenue (orchestrateur)
|
|||
|
|
|
|||
|
|
- **Point unique du moteur** : `Tools/Engine.ps1`, dot-sourcé par les scripts. La version est **lue dans
|
|||
|
|
`LifePlay.uproject` (`EngineAssociation`)** : passer à 5.8 en U3 bascule tous les scripts sans autre édition.
|
|||
|
|
Variables exposées : `$LPProjectRoot`, `$LPProject`, `$LPEngineVersion`, `$LPEngineBase`
|
|||
|
|
(`D:\Game\Launcher\Engine`, seul chemin codé), `$LPEngineRoot` (`$LPEngineBase\UE_<ver>\Engine`, surchargé par
|
|||
|
|
`$env:LP_ENGINE_ROOT` s'il est défini), `$LPBuildRoot` (`D:\Game\LifePlay_Build_<ver>`). Erreur explicite si
|
|||
|
|
`$LPEngineRoot` n'existe pas.
|
|||
|
|
- Dossiers de sortie : dérivés de la version → `_5.8` automatiquement après U3 (décision utilisateur) ;
|
|||
|
|
`Config/DefaultGame.ini` `StagingDirectory` (statique) passe à `D:/Game/LifePlay_Build_5.8` dès U2.
|
|||
|
|
`LifePlay_Backup_5.5` (sauvegardes) : inchangé.
|
|||
|
|
- Retrait des fichiers : `git rm` (historique git + instantané U2 = copie préalable).
|
|||
|
|
|
|||
|
|
## U2-T1 — IMPL code C++ et config (N1, agent lp-impl, modèle sonnet)
|
|||
|
|
1. Objectif : retirer les 16 commandlets D3 et nettoyer les références ; libellés « 4.27 » réécrits sans changement de comportement.
|
|||
|
|
2. Note a–f : 1-1-0-1-1-0 (4) → N1.
|
|||
|
|
3. Contexte : U1-RELIQUATS § B, § D ; décisions plan 27 § U2.
|
|||
|
|
4. Entrées : `git rm` des 32 fichiers `Source/LifePlayEditorTools/<Nom>Commandlet.{h,cpp}` des 16 noms de § D.1 ;
|
|||
|
|
`LifePlayEditorTools.Build.cs` (commentaires l.33/36/39 ; une dépendance n'est retirée que si un grep prouve
|
|||
|
|
qu'aucun fichier restant du module ne l'utilise — sinon garder et le dire) ; commentaires qui citent un commandlet
|
|||
|
|
retiré : `LPAssetRegistryHelpers.h:10`, `LPNavigationHelpers.h:12`, `LPStringCompat.h:15`, `LPDataCompat.h:9` ;
|
|||
|
|
libellés « 4.27 » de `LPStringCompat.h/.cpp` et `LPTestStringCompatCommandlet.h/.cpp` (commentaires et chaînes de
|
|||
|
|
log) → « sémantique UE4 conservée en 5.8 » / « hérité(UE4) » ; `Config/DefaultEngine.ini` l.15, 19, 128 :
|
|||
|
|
commentaires réécrits (TAA validé en jeu 5.5, ERR-032 ; valeurs inchangées) ; commentaires historiques
|
|||
|
|
`LPCheckMeshesCommandlet.h:6`, `LPCheckStreetMapCommandlet.h:8/.cpp:50` réécrits sans 4.27.
|
|||
|
|
5. Pièges : fichiers CRLF (garder la fin de ligne) ; `LPAssetListUtils.h` est partagé (garder) ; `LPResavePackages` et
|
|||
|
|
`LPTestStringCompat` gardés ; ne pas renommer fonctions, variables ni classes (`Find427`, `Stristr427` restent).
|
|||
|
|
6. Interdits : aucune ligne de logique modifiée hors chaînes de log ; pas de `Tools/`, `Docs/`, `Plugins/` ; pas de
|
|||
|
|
compilation (T4) ; pas de commit.
|
|||
|
|
7. Livrable `etat/U58/U2/U2-T1-IMPL.md` : liste des fichiers retirés (32), diff résumé par fichier, grep avant/après.
|
|||
|
|
8. Acceptation : `git grep -n -E 'LPFix|LPConvertAtmosphericFog' -- Source Config` = 0 ; `git grep -inE '4\.27|UE_4' -- Source Config`
|
|||
|
|
ne renvoie que des en-têtes historiques justifiés un par un dans le livrable.
|
|||
|
|
9. Arrêt : une référence à un commandlet retiré dans du code actif (non commentaire) → arrêt et rapport.
|
|||
|
|
|
|||
|
|
## U2-T2 — IMPL outils (N1, agent lp-impl, modèle sonnet)
|
|||
|
|
1. Objectif : `Tools/Engine.ps1` (conception ci-dessus) lu par tous les scripts ; outils sans référence 4.27.
|
|||
|
|
2. Note : 1-1-1-1-1-0 (5) → N1 (borne haute, conception fixée par l'orchestrateur).
|
|||
|
|
3. Contexte : U1-RELIQUATS § A, § B (Tools), § D.4 ; décisions plan 27 § U2.
|
|||
|
|
4. Entrées : créer `Tools/Engine.ps1` ; `RunCommandlet.ps1` et `BuildDebug.ps1` : paramètre `-Engine` gardé mais
|
|||
|
|
défaut vide → `$LPEngineRoot` ; `BuildDebug.ps1` archive sous `$LPBuildRoot`-`<Config>` (même forme que
|
|||
|
|
`D:\Game\LifePlay_Build_5.5_<Config>` aujourd'hui) ; exemples d'aide sans `LPFix*` ; `ReimportCorrectif.ps1`
|
|||
|
|
**adapté** (exemple sans `LPFix*`, moteur par `Engine.ps1`, appel `LPCheckMeshAssignment` gardé) ;
|
|||
|
|
`CheckIntegrity.ps1` : retirer `-Ref427`, `-InitRef427`, `$Root427`, T-STAT-04 (arbre 4.27) ; T-STAT-02 devient
|
|||
|
|
« Modules = référence `<ver>` » contre `<BackupRoot>\ref_modules_<ver>.csv` créé par un nouveau `-InitRef`
|
|||
|
|
(SKIP explicite si absent : la référence 5.8 sera figée après G-U6) ; `LogStats.ps1` l.6, 12 (commentaire et
|
|||
|
|
exemple A/B 5.5 contre 5.8) ; `Tools/debug/LifePlay_debug_ui.ps1:15-16` : chemins de build via `Engine.ps1`
|
|||
|
|
quand le script tourne depuis le dépôt (s'il est copié dans un build empaqueté, garder un repli sur `$PSScriptRoot`
|
|||
|
|
— lire le script avant) ; exemples `…_5.5_…` de `CollectDebugArtifacts.ps1`, `SplitModules.ps1`,
|
|||
|
|
`SummarizeDebugCsv.ps1` ; `AssetHeaders.ps1:7` reformulé « UE4 » ; `Config/DefaultGame.ini:16` → `_5.8`.
|
|||
|
|
5. Pièges : PowerShell 7 et 5.1 (`sk-windows-shell`) ; dot-source `. "$PSScriptRoot\Engine.ps1"` ; chemin avec espace.
|
|||
|
|
6. Interdits : `Snapshot.ps1`, `Restore.ps1` (BackupRoot inchangé) ; pas de `Source/`, `Docs/` ; pas de commit.
|
|||
|
|
7. Livrable `etat/U58/U2/U2-T2-IMPL.md` avec preuve d'exécution : `. .\Tools\Engine.ps1; $LPEngineRoot` → UE_5.5 ;
|
|||
|
|
`$env:LP_ENGINE_ROOT` respecté ; `CheckIntegrity.ps1` lancé (aucune erreur de syntaxe) ; `Get-Help` des scripts.
|
|||
|
|
8. Acceptation : `git grep -nE 'UE_5\.5|UE_4|4\.27|427' -- Tools` = 0 hors justification écrite ; aucun script de
|
|||
|
|
`Tools/` ne code `D:\Game\Launcher` en dehors d'`Engine.ps1`.
|
|||
|
|
9. Arrêt : un script dont le comportement changerait au-delà du chemin → arrêt et rapport.
|
|||
|
|
|
|||
|
|
## U2-T3 — DOC bandeaux et docs actifs (N1, agent lp-writer)
|
|||
|
|
1. Objectif : bandeau « historique 4.27 » sur les docs historiques ; docs actifs alignés sur `Tools/Engine.ps1`.
|
|||
|
|
2. Note : 1-0-0-0-1-1 (3) → N1.
|
|||
|
|
3. Contexte : U1-RELIQUATS § C ; règle « pas de réécriture du passé ».
|
|||
|
|
4. Entrées : bandeau (sous le titre) sur 01, 02, 03, 04, 05, 06, 07, 11, 12, 17, `Architecture/Rapport_Session_2026-09-28.md`,
|
|||
|
|
`Architecture/VictoryPlugin_Architecture.md`, et les docs 13, 24 si leurs mentions sont historiques ; docs actifs
|
|||
|
|
mis à jour (pas de bandeau) : 08 Guide développeur, 09 Commandes utiles, 10 Protocole (une note : référence de
|
|||
|
|
comportement = build 5.5 validé, D5), `Docs/Migration/README.md` (index) — exemples `$UE = '…UE_5.5…'` remplacés
|
|||
|
|
par `. .\Tools\Engine.ps1` / `$LPEngineRoot`, commandlets retirés marqués « retirés en U2 (historique git) ».
|
|||
|
|
5. Pièges : ne pas toucher Journal_Modifications, Registre_Erreurs, patchs `correctifs/*.patch`, 27, 28, README.md
|
|||
|
|
racine, Change_Logs.txt (CHG écrit par l'orchestrateur).
|
|||
|
|
6. Interdits : pas de `Source/`, `Tools/`, `Config/` ; pas de réécriture de contenu historique ; pas de commit.
|
|||
|
|
7. Livrable `etat/U58/U2/U2-T3-DOC.md` : fichiers modifiés, texte du bandeau, lignes changées dans 08/09/10/README.
|
|||
|
|
8. Acceptation : `git grep -n 'UE_5\.5' -- Docs/Migration/08* Docs/Migration/09*` = 0.
|
|||
|
|
9. Arrêt : doute sur le caractère historique ou actif d'un doc → le lister, ne pas trancher.
|
|||
|
|
|
|||
|
|
## U2-T4 — BUILD contrôle 5.5 (N0, agent lp-builder, modèle haiku) — après T1 et T2
|
|||
|
|
Compilation `LifePlayEditor Win64 Development` de la copie 5.8 avec UE 5.5 (chemin pris dans `Tools/Engine.ps1`),
|
|||
|
|
première compilation de la copie (pas de Binaries) ; puis `.\Tools\RunCommandlet.ps1 -Lot U2 -Commandlet LPTestStringCompat`.
|
|||
|
|
Acceptation : code 0, toolset 14.38.33130 au journal, aucun avertissement nouveau, test vert.
|
|||
|
|
Livrable `etat/U58/U2/U2-T4-BUILD.md`.
|
|||
|
|
|
|||
|
|
## U2-T5 — VAL (N1, agent lp-validator) — après T4
|
|||
|
|
Recompte des greps d'acceptation T1–T3, lecture du diff entier `git diff U2-avant`, ajouts non demandés, verdict.
|
|||
|
|
Livrable `etat/U58/U2/U2-VAL.md`.
|
|||
|
|
|
|||
|
|
## INT / DOC (orchestrateur)
|
|||
|
|
CHG-252, plan 27 (résultat U2), doc 28, registre des reports (doc 21) ; commit sur `ue5.8` seulement ; skill
|
|||
|
|
`lp-commandlets` mise à jour (local) ; mémoire. Rien n'est poussé.
|