12 KiB
Fiche STE-H10v — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills lp-validate, sk-recount, sk-protocol
STE-H10-VAL : VAL statique de l'étape (a) de STE-H10 (2026-10-13, reprise après PAUSE)
Trace : cette VAL — Fiche STE-H10v — 2026-10-13 07:09-07:26 (local)
Environnement : copie D:\Game\LifePlay-master 5.8, branche ue5.8, HEAD bfaaed2, éditeur fermé, 0 processus Unreal avant et après. BUILD-GO (b) VAL de Big Boss.
1. Fiches amont relues
fiches/STE-H10v.md, STE-H10-SPEC.md (en entier, § C.1-C.9), STE-H10-IMPL.md (TopRight B4-a, Person A1 + B3-a), STE-H10-GI1-IMPL.md (B1-a EventGraph), STE-H10-GI2-IMPL.md (B1-a SavePreset, B2-a). Dumps de référence : dumps\GI__EventGraph_V5.txt, GI__SavePreset_D9.txt, GI__GetSMBoolForSMC_Cloth_D9.txt, Person__EventGraph_D4.txt, Person__ClearProxies_D9.txt, TopRight__EventGraph_D9.txt, Person__IsGenitalExposed_D9.txt.
2. Points à confirmer des IMPL
| # | Point | Verdict | Preuve |
|---|---|---|---|
| 1 | GI:EventGraph : 6 241 (MCP) ; chaîne DestroyPerson (18 liens) | PASS (chaîne) ; compte voir P4 | log …071525.log l. 32062-32104 : 216 / 393 / 394 / 217 / 171 / 396 / 218 / 232 / 697 reliés comme GI1 § 1 ; CallFunction_104.execute ← 216.then, 393.then ; .then → 394 ; 937.execute ← 842.then, 394.then ; 166.then → 217 ; 731.execute ← 217.else, 396.then |
| 2 | SaveBeforeDestroy, RevertSkipped bool défaut false |
BLOCKED (incertain) | le dump n'affiche pas la valeur par défaut d'une variable membre ; les Set montrent Output_Get = 'false' seulement. Essai qui tranche : lecture du CDO (MCP ou commandlet dédié), hors périmètre. Estimé false (défaut d'un bool neuf) |
| 3 | VariableGet_232 = même variable que VariableGet_599 |
PASS (estimé fort) | les deux sont variable 'Valid' ; 599 : self ← VariableSet_1357.Output_Get (CharacterBeingEdited = Person), 232 : self ← CustomEvent_3172.Person (log l. 27889-27891, 32098-32100) ; la classe propriétaire n'est pas affichée par le dump |
| 4 | CallFunction_697 = même appel que SP:1354 |
PASS | 697 : appel Person_C::RevertStripAll() ; SavePreset CallFunction_16039 : appel Person_C::RevertStripAll() (log …071350.log l. 3303) |
| 5 | CallFunction_937.execute garde ses 2 entrées |
PASS | execute -> CallFunction_842.then, VariableSet_394.then, then → IfThenElse_1766 (l. 29129-29131) |
| 6 | SavePreset 506 ; liens | PASS | voir § 3 |
| 7 | GetSMBoolForSMC_Cloth 13, MeshSuffix locale |
PASS | voir § 3 ; « locale » : list_variables de GI2 (non rejoué ici) ; le dump nomme variable 'MeshSuffix' dans la fonction |
| 8 | CompileAllBlueprints, LPTestStringCompat | voir § 3 (compile : écart E1 externe) | |
| 9 | Person / TopRight inchangés | PASS | MD5 § 3 |
Points amont de la fiche :
- (1)
SMCnul aux sites d'appel deGetSMBoolForSMC_Cloth: un seul appelant est dumpé,Person.IsGenitalExposed(CallFunction_4131 : GI_C::GetSMBoolForSMC_Cloth(),SMC ← DynamicCast_136.AsSkeletal Mesh Component, exécuté surDynamicCast_136.then, doncSMCvalide ;dumps\Person__IsGenitalExposed_D9.txt:13-24). GrepGI_C::GetSMBoolForSMC_Clothsur tous lesdumps\*.txt: 1 fichier. Les ~133 autres graphes de Person et les autres BP ne sont pas dumpés : estimé accepté, incertain pour les appelants non dumpés. Complément :CallFunction_3estLPMeshCompat::GetSkeletalMesh()(appel statique C++,Component ← FunctionEntry.SMC), son comportement sur nul n'a pas été lu (C++ non ouvert). - (2) défauts false : BLOCKED/incertain (ligne 2 ci-dessus).
- (3) GV / G3 : GV et
VariableGet_599sont tous deuxvariable 'Valid'; G3 et l'appel SP sont tous deuxPerson_C::RevertStripAll(): établi pour G3, estimé fort pour GV (classe propriétaire non affichée). - (4) compte de référence :
dumps\GI__EventGraph_V5.txt:1= 6 234 nœuds ; dump d'après = 6 243 = 6 234 + 9. Le « 6 232 → 6 241 » de GI1 vient defind_nodes(MCP) : écart de méthode constant de 2 (6 234 − 6 232), le +9 est identique. Établi.
3. Critères rejoués
Commande de base : .\Tools\RunCommandlet.ps1 -Lot STE-H10V -Commandlet LPDumpFunction -Args '<args>' -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE" ; journaux sous Saved\Logs\portage\STE-H10V_*.log, résumés STE-H10V_*.txt sous etat\ST\STE\. Tous : code 0, erreurs 0.
| Critère | Args / commande | Sortie brute (entête du dump) | Attendu | Verdict |
|---|---|---|---|---|
| TopRight EventGraph | -BP=TopRight -Fn=EventGraph -Pins -Exec (…070932) |
=== TopRight :: EventGraph (907 noeuds) === ; CustomEvent_5.then -> CallFunction_85.execute ; CallFunction_85 appel KismetSystemLibrary::DelayUntilNextFrame(), then -> SwitchString_1.execute ; SwitchString_1.execute -> CallFunction_85.then (l. 5568, 6113-6115, 5826) |
907 ; Current → T1 → Switch | PASS |
| Person EventGraph | -BP=Person -Fn=EventGraph -Pins -Exec (…071138) |
=== Person :: EventGraph (3702 noeuds) === |
3 702 | PASS |
| Person : c1-c34 | lecture du log, nœuds 73, 74, 75, 76, 77, 237-240, 150, 151, 536, 44, 157, 202, 96, 12, 1405, 402, 19, 896, GetArrayItem_3/14 | chaque lien de c1 à c34 relu un à un (ex. 73.then -> MacroInstance_402.Exec, 402.Completed -> VariableSet_238.execute, MacroInstance_44.Completed -> CallFunction_1405.execute, VariableSet_12.then -> IfThenElse_151.execute, 151.else -> CallArrayFunction_77.execute) |
c1-c34 présents | PASS |
| Person : b1-b8 absents | idem | MacroInstance_402.Exec ← 73 seul ; MacroInstance_19.Is Not Valid -> 74 seul ; MacroInstance_11.exec (vide) ; 402.Array Index -> 74.NewItem seul ; 402.Completed -> 238 seul ; VariableGet_52.Hairs -> 11, 14 seulement ; CallFunction_133.Max ← 14, ReturnValue = '0' non relié ; CallFunction_1405.execute ← MacroInstance_44.Completed seul |
absents | PASS |
CallFunction_96.execute ← N3 seul |
idem | CallFunction_96 execute -> K2Node_VariableSet_237.then (l. 11056) ; MacroInstance_11, CallFunction_133, CallArrayFunction_14 sans exécution (orphelins, § C.1-3) |
N3 seul | PASS |
| Person ClearProxies | -BP=Person -Fn=ClearProxies -Pins -Exec (…071303) |
=== Person :: ClearProxies (39 noeuds) === ; DynamicCast_30.then -> VariableSet_0.execute ; VariableSet_0.then -> MacroInstance_301.Exec ; Concat.ReturnValue -> VariableSet_0.ProxySuffix ; CallFunction_2.InSuffix -> VariableGet_2.ProxySuffix |
39 ; InSuffix ← P2 |
PASS |
| GI SavePreset | -BP=GI -Fn=SavePreset -Pins -Exec (…071350) |
=== GI :: SavePreset (506 noeuds) === ; IfThenElse_2957.then -> IfThenElse_11.execute, else (vide) ; IfThenElse_11.Condition ← VariableGet_2.SaveBeforeDestroy, .then -> VariableSet_14.execute, .else -> CallFunction_16039.execute ; VariableSet_14.RevertSkipped = 'true', then (vide) |
506 ; S1 / S3 | PASS |
| GI GetSMBoolForSMC_Cloth | -BP=GI -Fn=GetSMBoolForSMC_Cloth -Pins -Exec (…071438) |
=== GI :: GetSMBoolForSMC_Cloth (13 noeuds) === ; FunctionEntry_2157.then -> VariableSet_0.execute ; VariableSet_0.then -> MacroInstance_1872.Exec ; VariableSet_0.MeshSuffix ← Concat_StrStr.ReturnValue ; CallFunction_2.InSuffix -> VariableGet_0.MeshSuffix |
13 ; InSuffix ← C2 |
PASS |
| GI EventGraph | -BP=GI -Fn=EventGraph -Pins -Exec (…071525) |
=== GI :: EventGraph (6243 noeuds) === ; chaîne § 2 ligne 1 |
réf. V5 6 234 + 9 | PASS (6 243 = 6 234 + 9) |
| Autres graphes GI | -Fn=destroyDummy / LoadHairMeshIfNeeded / CopyActionsToScroll (…071756, …071858, …071950) |
(39 noeuds) / (17 noeuds) / (34 noeuds) |
39 / 17 / 34 | PASS |
| CompileAllBlueprints | .\Tools\RunCommandlet.ps1 -Lot STE-H10V -Commandlet CompileAllBlueprints -EtatDir "…\ST\STE" (STE-H10V_CompileAllBlueprints_20261013-072132) |
code=3 duree=186s erreurs=25 avertissements=55 ; journal l. 3301 : Compiling Completed with 3 errors and 0 warnings and 0 blueprints that failed to load. ; 421 Loading and Compiling, 420 a réussi (réf. V6 du 11/10 : 418 / 418, code 0, 0 erreur) ; Person, GI, TopRight : La compilation … a réussi ; les 110 BP /Game/ réussissent (110 / 110, comme V6) ; les 25 lignes d'erreur et 55 d'avertissement portent sur /Engine/CC_Shaders/Utilities/CR_FaceExpRig (Could not find graph function data…, structs RLExpStruct / RLBoneStruct / RLConstraintStruct introuvables sous /Game/CC_Shaders/…) |
418 / 418, 0 / 0 | FAIL (critère littéral), cause externe : voir E1 |
| LPTestStringCompat | .\Tools\RunCommandlet.ps1 -Lot STE-H10V -Commandlet LPTestStringCompat -EtatDir "…\ST\STE" (…072515) |
code=0 duree=16s erreurs=0 avertissements=2 ; === 3120 cas : compat != herite(UE4) : 0 ; moteur != herite(UE4) : 60 === |
3120 / 0 / 60 | PASS |
| MD5 avant | md5sum Content/BPs/GI.uasset Content/BPs/Person.uasset Content/UI/TopRight.uasset (avant toute commandlet) |
71034a04c6d64e1a806ca0dadc934fb9 GI ; d1b4c63d47621b1191ad9352c80c99cd Person ; 1fcb94a60061b418e9deeb08bc1a990d TopRight |
= fiche | PASS |
| MD5 après | même commande, après LPTestStringCompat | 71034a04c6d64e1a806ca0dadc934fb9 ; d1b4c63d47621b1191ad9352c80c99cd ; 1fcb94a60061b418e9deeb08bc1a990d |
identiques | PASS |
| git status | git status --short -- Content |
M Content/BPs/GI.uasset, M Content/BPs/Person.uasset, M Content/UI/TopRight.uasset |
3 assets seuls | PASS |
| Autosaves | ls Saved/Autosaves/Game/BPs, …/UI |
Room_Auto2, TestStatic_Auto1, MainMenu_Auto1 ; aucun GI_Auto*, Person_Auto*, TopRight_Auto* |
aucun | PASS |
| Processus | Get-Process filtre Unreal* |
0 ; HEAD bfaaed2 |
0 | PASS |
4. Diff lu en entier
Assets binaires .uasset : pas de diff texte ; la preuve est la lecture des dumps (§ 3), nœud par nœud pour les nœuds créés. Le dump de Person EventGraph (nœuds créés et touchés) et ceux de GI, TopRight, ClearProxies, SavePreset, GetSMBoolForSMC_Cloth relus par les extraits cités. Non relus : nœuds non touchés des graphes (comptes seuls).
5. Verdict
FAIL au sens littéral du critère « CompileAllBlueprints 418 / 418, 0 erreur, 0 avertissement » (code 3, 3 erreurs, 55 lignes d'avertissement). Tous les autres critères de § C.7 sont PASS (6 dumps conformes, comptes des autres graphes, LPTestStringCompat, MD5 inchangés).
Écarts :
- E1 (gravité : externe, hors périmètre STE-H10) : CompileAllBlueprints échoue sur
/Engine/CC_Shaders/Utilities/CR_FaceExpRig(Control Rig), asset du moteurD:\Game\Launcher\Engine\UE_5.8\Engine\Content\CC_Shaders\(dossier créé / modifié le 2026-10-12 19:57, absent du run V6 du 2026-10-11 qui comptait 418 BP et 0 erreur). Ses structsRLExpStruct,RLBoneStruct,RLConstraintStructsont cherchées sous/Game/CC_Shaders/…, dossier absent du projet (Content\CC_Shadersinexistant). 421 BP chargés au lieu de 418 (+3, nouveaux assets CC_Shaders, estimé), 110 BP/Game/sur 110 compilent (inchangé). GI, Person, TopRight compilent sans diagnostic. Aucun lien avec les 5 options STE-H10 (estimé fort). À décider par l'orchestrateur / l'utilisateur : requalifier le critère (compter les BP du projet) ou traiter CC_Shaders (plugin Reallusion installé hier dans le moteur, à confirmer). - E2 (mineur) : défaut false de
SaveBeforeDestroyetRevertSkippednon relu (dump sans valeur par défaut des membres). - E3 (information) :
GI:EventGraph6 243 au dump contre 6 241 annoncé par GI1 : écart de méthode (MCPfind_nodescontre dump, 2 nœuds), le +9 est exact.
Non rejoué : comportement en jeu, trace Insights (§ C.8), Accessed None en exécution, états « exposé », comportement de LPMeshCompat::GetSkeletalMesh sur nul, appelants de GetSMBoolForSMC_Cloth hors IsGenitalExposed.
6. Points à confirmer par l'utilisateur
- E1 : accepter le critère CompileAllBlueprints comme PASS « projet seul » (110 / 110 BP
/Game/et GI, Person, TopRight réussis), ou exiger 0 erreur globale (CC_Shaders à corriger). - E2 : accepter le défaut false estimé, ou le faire lire.
- Preuve en jeu (§ C.8) : à faire sur build empaqueté.
Fichiers écrits par cette VAL : STE-H10-VAL.md ; sorties de commandlets STE-H10V_*.txt sous etat\ST\STE\ (9 dumps, 1 CompileAllBlueprints, 1 LPTestStringCompat) ; journaux sous Saved\Logs\portage\.
Fichiers à commiter : A Docs/Migration/etat/ST/STE/STE-H10-VAL.md ; A Docs/Migration/etat/ST/STE/STE-H10V_*.txt (au choix du gardien).
Tours : 31 / 50