LifePlay-Revival/Docs/Migration/etat/U58/U2/U2-FICHES.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

8.2 KiB
Raw Blame History

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é.