Decisions D-01/D-02 : correctifs anterieurs non suivis retires.
Content/{BPs,UI,Structs,Scenes,Render,Characters} = 4.27 (385 fichiers,
MD5 verifies). Correctifs isoles : Docs/Migration/05_Correctifs_Isoles.md,
patchs de code 4.27->5.5 dans Docs/Migration/correctifs/.
Releve de base 5.5 : CompileAllBlueprints 6 erreurs (StatMenu, CharGen),
0 echec de chargement ; LPCheckMeshAssignment 5 broches AssetRegistry
orphelines dans GI (GetAssetsByClass). Tools/RunCommandlet.ps1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.1 KiB
6.1 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éimporter (L4) avec A/B d'exécution |
| 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éimporter (L4) |
| 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éimporter (L4) |
| CX-B04 | LPFixOrphanBoundEvents |
UI/TopRight (1), UI/CharGen (2) |
3 événements On Clicked orphelins supprimés |
avertissements ; clics déjà morts | 4 | à réimporter (L4) |
| 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-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é.