LifePlay-Revival/Docs/Migration/05_Correctifs_Isoles.md
edujiro5972 caa4c3adb7 L6e valide en jeu : barre de temps conforme a la 4.27 (ERR-034 clos)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:42:21 +02:00

7 KiB

05 — Correctifs isolés et protocole de réimport sous contrôle renforcé

Décision D-01 (2026-09-29) : les correctifs appliqués avant la reprise n'ont été ni suivis ni testés. Ils sont isolés : retirés du contenu (retour à la base 4.27 en L1) ou exportés en patchs relisibles pour le code. Chacun est réimporté seul, selon le protocole du §3. Décision D-02 : R-03 et R-04 sont annulés partout.


1. Correctifs de code (conservés, relisibles)

Le code 5.5 est nécessaire pour compiler : il reste en place, mais chaque écart avec 4.27 est exporté dans Docs/Migration/correctifs/ pour relecture.

ID Patch Contenu Nécessaire à Statut
CX-C01 P06 Target.cs : BuildSettingsVersion.V5, Unreal5_5 compilation conservé
CX-C02 P06 .uproject : EngineAssociation 5.5, suppression des 5 entrées de plugins (Victory, VisualStudioTools, SteamVR, ModdingPlus, MultiTask) ouverture du projet conservé ; section Plugins explicite en L2
CX-C03 P06 .uplugin : suppression de EngineVersion "4.27.0" chargement des plugins conservé
CX-C04 P03 ModdingExtra : inclusions UE5 (Engine.h retiré), Path.Combine compilation conservé
CX-C05 P04 StreetMap : portage LWC (FVector3f, FBox3f), R-01 (FAssetRegistryTagsContext), R-02 (initialiseurs) compilation, 280 villes conservé ; vérifié en L4 (LPCheckStreetMap 4.27 et 5.5)
CX-C06 P01, P05 LPVictoryCompat (2 fonctions) + 3 [CoreRedirects] Victory → LifePlay chargement de GI, ExtImg, FaceTexture, MainMenu, Inventory conservé ; à contrôler en L4 (T-LOAD-01)
CX-C07 P01 LPAssetRegistryHelpers::GetAssetByObjectPath : conversion FSoftObjectPath compilation conservé
CX-C08 P01 LPAssetRegistryHelpers::GetAssetsByClassName, GetAssetObjectPath (nouvelles fonctions) réimport de CX-B01 conservé, inutilisé tant que CX-B01 n'est pas réimporté
CX-C09 P01 LPNavigationHelpers (enrobage pur de K2_GetRandomLocationInNavigableRadius) R-04 conservé, inutilisé (R-04 annulé)
CX-C10 P01 LifePlay.Build.cs : PublicIncludePaths, NavigationSystem, ImageWrapper, ApplicationCore compilation conservé
CX-C11 P05 Config : [CoreRedirects], 4 clés PhysX retirées, classes Enhanced Input par défaut, description, StagingDirectory, section McpAutomationBridgeSettings — conservé ; relu en L2
CX-C12 P03 (hors patch : ajouté le 2026-09-28) instrumentation LogLPModdingTrace diagnostic à retirer en L3
CX-C13 P02 commandlets LifePlayEditorTools (1 777 lignes) outillage éditeur conservé ; ne touche pas au jeu

2. Correctifs de contenu (retirés en L1, à réimporter un par un)

ID Outil Cible Effet attendu Justification Priorité Statut
CX-B00 LPFixAssetRegistryNodes (portage 4.27) GI, Person, Room, UI/VisualMorph GetAssetByObjectPath en nœud pur déjà présent dans la base 4.27 (les 4 assets importent LifePlay.LPAssetRegistryHelpers) — inclus dans la base
CX-B01 LPFixAssetRegistryPins GI : 3 GetAssetsByClass (+ 2 broches associées) nœuds rebranchés sur GetAssetsByClassName avec la valeur de classe d'origine candidat n°1 pour ERR-002 : sans lui, GetAssetsByClass interroge avec un chemin de classe vide ; aucun corps, vêtement ni coiffure énumérable 1 réimporté (CHG-018, validé statiquement) ; A/B d'exécution après CX-B02
CX-B02 LPFixEditableTextBoxFont UI/CharGen, UI/StatMenu : 6 nœuds Make/Break EditableTextBoxStyle broche Font orpheline retirée bloque la cuisson (6 erreurs, cook du 2026-09-07) 2 réimporté (CHG-022) ; commandlet corrigée au passage (ERR-025)
CX-B03 LPFixZeroScaleActors -Fix -Scale=0.1 Scenes/CentralLondon : Wall.StaticMeshComponent0 échelle X 0 → 0,1 corps physique invalide ; ensure InverseFast (plantage éditeur du 2026-09-07) 3 réimporté (CHG-023)
CX-B04 LPFixOrphanBoundEvents UI/TopRight (1), UI/CharGen (2) 3 événements On Clicked orphelins supprimés avertissements ; clics déjà morts 4 réimporté (CHG-024)
CX-B05 LPFixDeprecatedNodes (R-03) 56 nœuds SkeletalMesh, 10 Blueprints GetSkeletalMeshAsset() rejeté : aggrave ERR-002 (16,6 → 35 Accessed None/perso) car les proxies sont des USkinnedMeshComponent — à refaire autrement (L7a)
CX-B06 LPFixDeprecatedNodes (R-04) 6 nœuds, AI, Person, Room LPNavigationHelpers avertissements de dépréciation seulement 5 reporté (L7)
CX-B08 LPFixParseIntoArray (nouveau) 114 nœuds ParseIntoArray, 17 Blueprints rebranchés sur LPStringCompat::ParseIntoArray (algorithme UE 4.27) UE5 renvoie [""] pour une chaîne vide : cause d'ERR-027 (personnages de quête invisibles/dévêtus) 1 réimporté (CHG-029), validé en jeu
CX-B09 LPFixButtonPadding (nouveau) 430 UButton, 46 Widget Blueprints marges des boutons remises au défaut UE 4.27 (Normal 2,2,2,2 ; Pressed 2,3,2,1), composante par composante le style par défaut de UButton est passé à 12 px horizontaux en UE5 (FUMGCoreStyle) ; les assets 4.27 ne stockent pas la marge par défaut : cause d'ERR-034 (barre de temps décalée) 1 réimporté (CHG-033), validé en jeu
CX-B07 ResavePackages dossiers de gameplay (BPs, UI, Structs, Scenes, Render, Characters) format UE5 chargement plus rapide ; T-STAT-01 6 après CX-B01 à B04 (L4)

3. Protocole de réimport sous contrôle renforcé

Un correctif = un sous-lot (L4-CX-B01, …) = un commit. Pas de regroupement.

Étape Action Preuve archivée dans Docs/Migration/etat/
1 git tag L4-CX-xx-avant ; Tools\Snapshot.ps1 -Lot L4-CX-xx -Path <assets cibles> manifeste MD5
2 Photographie avant : LPDumpFunction -BP=<asset> -Fn=<fonctions touchées> -Pins <id>_dump_avant.txt
3 Simulation : commandlet avec -DryRun ; le nombre de nœuds trouvés doit égaler celui attendu (§2) <id>_dryrun.txt ; tout écart arrête le sous-lot
4 Application réelle journal de la commandlet
5 Photographie après + diff avant/après : seuls les nœuds attendus diffèrent <id>_dump_apres.txt, <id>_diff.txt
6 CompileAllBlueprints + LPCheckMeshAssignment : aucune erreur nouvelle par rapport au relevé de base résumés RunCommandlet
7 Si le correctif touche le gameplay (CX-B01) : build Development + A/B avec la référence 4.27 (Tools\LogStats.ps1 -Compare) tableau A/B
8 Journal CHG, commit, git tag L4-CX-xx-apres ; en cas d'échec : Tools\Restore.ps1 -Lot L4-CX-xx entrée de journal

Critère d'acceptation commun : effet attendu observé, aucun effet de bord mesuré.