LifePlay-Revival/Docs/Migration/etat/ST/STE/STE-GARDES-IMPL.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

5.7 KiB

Fiches STE-H3, STE-H3b, STE-H2 — Niveau N3 (SPEC) / IMPL orchestrateur — Modèle prévu Opus 5.5 | utilisé Opus 5.5 (claude-opus-5-5) — Agent orchestrateur (MCP) — Skills lp-mcp, lp-lot, lp-repo

STE-GARDES-IMPL : gardes G1 à G11 et G-H2 dans GI (2026-10-10)

BUILD-GO de Big Boss (STE-GARDES). Tag STE-GARDES-avant sur 71511a2 (ticket STE-R4). Éditeur headless de 17:19:11 à 17:33:32 (heures relevées), journal Saved\Logs\portage\STE-GARDES_editeur_20261010-171911.log. Appels MCP un par un. SPEC : STE-H3-SPEC.md (G1-G6), STE-H3b-SPEC.md (G7-G11, § 2.4 bis pour G9), STE-H2-DIAG.md (G-H2, « Correctif proposé »). Décisions de l'utilisateur : Q1 = A, Q2 = G5 acceptée, Q3 = fiche à part (H3b), Q4 = a, Q5 = a, G9 = oui, H2 = garde + cause (H2b). Dumps « avant » : STE-D3 identiques ligne pour ligne aux dumps STE-D / STE-D2 (STE-D-INV.md).

1. Fichier modifié

Content/BPs/GI.uasset, trois sous-lots enregistrés l'un après l'autre :

Sous-lot CHG Instantané (état d'avant) MD5 après Heure
STE-H3 (G1-G6) CHG-313 LifePlay_Backup_5.5\STE-H3 : 606EB437… 62FCCD5B… 17:26
STE-H3b (G7-G11) CHG-314 LifePlay_Backup_5.5\STE-H3b : 62FCCD5B… A5A0EDF0… 17:32
STE-H2 (G-H2) CHG-315 LifePlay_Backup_5.5\STE-H2 : A5A0EDF0… B8B97C46… (52 540 467 o) 17:33

2. Gardes posées (nœuds créés ; tous les liens relus par get_node_infos avant et après)

Garde Graphe Nœuds créés Coupure Chemin « vide »
G1 setActorVar CallFunction_7 (IsValid), IfThenElse_3 FunctionEntry_0.then / IfThenElse_2 rien
G2 getActorVar CallFunction_3 (IsValid), IfThenElse_1 FunctionEntry_0.then / VariableSet_0 FunctionResult_1 (0.0)
G3 ReturnStatIfNeeded CallArrayFunction_1 (IsValidIndex), IfThenElse_0, CallFunction_9 (IsValid), IfThenElse_1 81822/1019, 1019/7798 FunctionResult_7 (deux else)
G4 CallFunction CallArrayFunction_8, IfThenElse_12, CallFunction_355, IfThenElse_13 186/185 rien
G5 CallFunction CallArrayFunction_9, IfThenElse_14, CallFunction_356, IfThenElse_15 189/190 rien (plus de AI_Untils["0"] ni de ligne « by 0 », Q2)
G6 CallFunction CallArrayFunction_10, IfThenElse_16, CallFunction_357, IfThenElse_17 178/179 CallFunction_180 (AddVariable), deux else
G7 CallFunction CallArrayFunction_11, IfThenElse_18 141/142 CallFunction_143 (AddVariable)
G8 CallFunction CallArrayFunction_12, IfThenElse_19 150/162 rien
G9 CallFunction CallArrayFunction_13, IfThenElse_20 144/163 rien (plus d'écriture ActorVars["0"])
G10 CallFunction CallArrayFunction_14, IfThenElse_21, CallFunction_358 (IsValid), IfThenElse_22, CallFunction_359 (Map Find, Key = "0"), MakeArray_178, CallFunction_360 (AddVariable, Class = Float) 200/203 rejeu exact : AddVariable(Name, [Map_Find(AI_Untils, "0")], Bool, String, Person)
G11 CallFunctionReturnBool CallArrayFunction_4, IfThenElse_0, CallFunction_99 (IsValid), IfThenElse_1, CallFunction_98 (hasRelationship, Slot = "0"), VariableSet_51 (Set BoolToReturn) 177620/VariableSet_57739 rejeu exact : BoolToReturn = hasRelationship("0", ActualParameters) → IfThenElse_8994
G-H2 EventGraph CallFunction_567 (IsValid), IfThenElse_215 CallArrayFunction_231/MacroInstance_207 CallFunction_10426 (UpdatePlayerMesh)

Totaux : 41 nœuds créés (G1-G6 : 20 ; G7-G11 : 19 ; G-H2 : 2), 13 coupures (corrigé d'après STE-VAL, écart E1 : la 1re version annonçait 37 par erreur d'addition ; la table ci-dessus était juste). type_id relus : Utilitaires|IsValid, Utilitaires|ContrôleDeFlux|Branche, Utilitaires|Tableau|IsValidIndex (entrées TargetArray 0, IndexToTest 1 = 0), Utilitaires|Carte|Find, Utilitaires|Array|Faireuntableau, Scène|AddVariable, Appelerunefonction|HasRelationship (nœud |hasRelationship, pur), Variables|Pardéfaut|DéfinirBooltoReturn (nœud |SetBoolToReturn).

3. Écarts

  • hyper_blueprint_debug_inspect absent du serveur MCP (déjà noté) : remplacé par compile_blueprint warnings_as_errors après chaque groupe (6 fois, OK) et le journal (6 « Compiling Blueprint '/Game/BPs/GI' », 0 ligne LogBlueprint d'erreur ou d'avertissement).
  • STE-H3b P2 demandait des dumps « avant » neufs après H3 : remplacés par la relecture get_node_infos de chaque nœud cité dans l'éditeur (aucun écart), H3 n'ayant pas touché ces nœuds.
  • Les numéros de nœud créés diffèrent des noms de la SPEC (G4-I, etc.) : correspondance au § 2.

4. Sortie

UeState à 0. CharGen E4C2EEA6… (STF), MainMenu 7292C6BE…, StatMenu 9030531C… inchangés. git status --short -- Content Config Source = M Content/BPs/GI.uasset (+ ?? Source/LifePlay/LPReadableTextSubsystem.*, lot LISIB, non touchés).

5. Points à confirmer en VAL

  1. Dumps après des 6 graphes touchés (setActorVar, getActorVar, ReturnStatIfNeeded, CallFunction, CallFunctionReturnBool, EventGraph) contre les dumps STE-D3 / GI__EventGraph_apres-STE-GI.txt : seuls les nœuds et liens du § 2.
  2. CompileAllBlueprints 0/0 ; LPTestStringCompat 3120/0/60.
  3. Preuve en jeu : Grep property Person in, Person_24, CallFunc_Array_Get_Item_3[0-3]|_41, CallFunc_GetSkeletalMesh_ReturnValue (pile UpdatePlayerMeshWithMorphs), ligne « by 0 » : à 0 ou en forte baisse (critères des SPEC § 7 et du DIAG H2).

6. Retour arrière (sur accord)

.\Tools\Restore.ps1 -Lot STE-H2 (défait G-H2), -Lot STE-H3b (défait G7-G11 et G-H2), -Lot STE-H3 (défait tout), éditeur fermé ; ou tag STE-GARDES-avant (ticket RESTORE).