4.8 KiB
STE-H5c-IMPL : gardes O1 (Room), O3 (clearScenePersons) et G12 (AddVariable) — 2026-10-10
Orchestrateur LOT STE ; BUILD-GO étapes 1-2 de Big Boss ; décisions de l'utilisateur : Q-H5c-2 = « O1 + O3, ciblées » (après C1,
STE-J4.md § 8), G12 = STE-H3c (Q1 = A, Q-H3c-2 = « seulement si un reste »). SPEC : STE-H5c-DIAG.md (tableau des options,
O1 / O3), STE-H3c-SPEC.md § 2.2 bis (G12).
1. État de départ et instantanés (éditeur fermé)
- GI = M1
4773054E738A0AB166ED1971FD4FA889(F-a, non commité) ; Room =D051CE9465FCEB8021F3030BF569F626(5 723 964 o, propre, dernier commit 17bf1c7) ; 0 processus. Snapshot.ps1 -Lot STE-H5c:D:\Game\LifePlay_Backup_5.5\STE-H5c\Content\BPs\GI.uasset(4773054E) et...\Room.uasset(D051CE94) ;Snapshot.ps1 -Lot STE-H3c:D:\Game\LifePlay_Backup_5.5\STE-H3c\Content\BPs\GI.uasset(4773054E). MD5 des copies contrôlés.
2. Écritures MCP (éditeur headless lancé 23:12:28, un appel à la fois)
Journal scratchpad\editor-STE-H5c.log (non suivi). Avant chaque save_assets, contrôle : seul l'éditeur de cette session tourne.
O1 — Room EventGraph
- Relus :
CallFunction_235(Scène|GetSpecific,then→CallFunction_199.execute,PersonToReturnsortie 1 vers 12 entrées) ;CallFunction_199(Utilitaires|Carte|Add,execute←_235.then) ;Knot_1(reroute, entrées ←IfThenElse_44.then,_40.else,_41.else,_43.else,CallFunction_255.then; sortie →MacroInstance_26) :Knot_1est le chemin de saut existant (leelsedeIfThenElse_43, juste avantGetSpecific, y mène déjà). - Créés :
K2Node_CallFunction_62(Utilitaires|IsValid, fonction pure,Object0 →ReturnValue0) etK2Node_IfThenElse_73(Branche). break_pins_235.then/_199.execute;_235.then→_73.execute;_235.PersonToReturn→_62.Object;_62.ReturnValue→_73.Condition;_73.then→_199.execute;_73.else→Knot_1.InputPin. Relu conforme.- Compilation (avertissements en erreurs) sans erreur ni avertissement (journal 21:14:07 UTC) ;
save_assetstrue (21:14:15).
O3 — GI.clearScenePersons
- Relus :
MacroInstance_0(ForEachLoop,LoopBody→CallFunction_13.executeseul,Array Elementsortie 1 vers 13 entrées) ;CallFunction_13(clearDaily,then→IfThenElse_4). - Créés :
K2Node_CallFunction_18(Utilitaires|IsValid) etK2Node_IfThenElse_8(Branche). break_pinsMacroInstance_0.LoopBody/_13.execute;LoopBody→_8.execute;Array Element→_18.Object;_18.ReturnValue→_8.Condition;_8.then→_13.execute;_8.elsevide (élément nul : tour suivant de la boucle). Relu conforme.
G12 — GI.AddVariable
- Relus :
IfThenElse_3951(then→MacroInstance_1960.execseul),MacroInstance_1960(Utilities|IsValid,exec= entrée 0, et non 1 comme l'écrit le § 2.2 bis étape 4),CallArrayFunction_4346(4 liens entrants),BreakStruct_1527(Person_24_…= sortie 6, →GetArrayItem_2453.Array). - Créés :
K2Node_CallArrayFunction_1(Utilitaires|Tableau|IsValidIndex,TargetArray0,IndexToTest1 =0relu,ReturnValue0) etK2Node_IfThenElse_0(Branche). break_pins_3951.then/_1960.exec;_3951.then→_0.execute;BreakStruct_1527.Person_24_…(6) →_1.TargetArray;_1.ReturnValue→_0.Condition;_0.then→_1960.exec;_0.else→_4346.execute(5e lien entrant). Relu conforme (« Après » du § 2.2 bis).- Compilation de GI (avertissements en erreurs) sans erreur ni avertissement (21:15:28) ;
save_assetstrue (21:15:43).
Éditeur fermé (Stop-Process 28948), UeState.ps1 = 0.
3. Résultat
| Fichier | Avant | Après |
|---|---|---|
Content/BPs/GI.uasset |
M1 4773054E… (52 545 296 o) |
M3 16394D438788E986AC23FAEB427402B8 (52 553 784 o) |
Content/BPs/Room.uasset |
D051CE94… (5 723 964 o) |
E8F58B2A4A79DA0D62D8FACC18411CE8 (5 727 427 o) |
Volume : 6 nœuds (O1 2, O3 2, G12 2), 3 break_pins, 14 connect_pins (O1 5, O3 4, G12 5 ; « 15 » corrigé après la VAL, écart E1), 0 set_pin_value. Nœuds attendus aux dumps de VAL :
Room EventGraph 1008 → 1010, clearScenePersons 56 → 58, AddVariable 49 → 51 ; GI EventGraph inchangé (6234).
Écart à la SPEC : O1 et O3 posés en fonction pure IsValid + Branche (2 nœuds chacun, modèle de G-H2, CHG-315), au lieu de
la macro IsValid (1 nœud) du DIAG : find_node_types « IsValid » donne Utilitaires|IsValid = fonction pure ; même
sémantique (valide → chemin d'origine, nul → saut / tour suivant).
Repli : .\Tools\Restore.ps1 -Lot STE-H5c éditeur fermé (GI = M1, Room = D051CE94) ; G12 seule : -Lot STE-H3c (GI = M1, défait
aussi O3) ; tout STE-H5b/H5c/H3c : -Lot STE-H5b (GI = B8B97C46) puis -Lot STE-H5c pour Room.