LifePlay-Revival/Docs/Migration/etat/OPT/REFAC/REFAC-TRANSFO-T3.md

25 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

# REFAC-TRANSFO-T3 : ULPMeshCompat::GetSkeletalMesh vers GetSkinnedAsset + cast
Niveau de preuve : établi (OBA-T23 § 3.2 et 3.4, en-têtes 5.8 cités par OBA ; reprise par REFAC-API-58 (c)).
## Avant
- `ULPMeshCompat::GetSkeletalMesh` (`Source/LifePlay/LPMeshCompat.h:30-31`, `.cpp:9-19`) : `Cast<USkeletalMesh>(Component->GetSkinnedAsset())` ; `None` et trace Verbose si le composant est `None`.
- Appelants C++ : 0. Appelants Blueprint : 56 nœuds, 8 Blueprints (CX-B10, historique, non recompté).
## Après
Dans les Blueprints : un nœud natif `Get Skinned Asset` (`USkinnedMeshComponent::GetSkinnedAsset`, `SkinnedMeshComponent.h:1222-1223`, pur, non déprécié) puis un cast vers `SkeletalMesh`. `GetSkeletalMeshAsset` (`SkeletalMeshComponent.h:374-375`) est rejeté : il ne vaut que pour `USkeletalMeshComponent`.
## Différence de comportement
Aucune sur la valeur. Sur une cible `None`, le natif émet « Accessed None » au lieu de la trace Verbose (estimé).
## Risque, preuve, ordre
- Risque faible, volume moyen (56 sites).
- Preuve exigée : recompilation de tous les Blueprints (journal `CompileAllBlueprints`) sans erreur ni nouvel « Accessed None » ; parcours de contrôle.
- Ordre : après T2 ; avant T1.
- Appelants Blueprint à relever par MCP (`lp-mcp`, lecture seule, copie UE, BUILD-GO) avant toute édition ; remplacement automatisable par un outil sur le modèle historique `LPFixSkeletalMeshGet`.
- Gain : une fonction C++ de moins ; aucun interrupteur U9 à basculer.