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

126 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STE-J4 : IMPL F-a, témoin et preuve en jeu J4 (2026-10-10)
Orchestrateur LOT STE ; BUILD-GO étape 2 de Big Boss ; SPEC `STE-H5b-SPEC.md` § 2.3 (F-a) et § 2.7 (témoin) ; contre-épreuve
`STE-H5b-C0.md`. État de départ : GI B8B97C46 (5c55db4), HEAD 6b038c6, instantané `STE-H5b` (B8B97C46) fait en C0.
**Résultat : critère du témoin atteint (G5-B1 18 → 0), mais nouvelle famille d'avertissements dans `GI.Dress`, absente de C0 et
de J3 ; pas de commit, diagnostic nécessaire.**
## 1. IMPL F-a (MCP, éditeur headless 21:36:58)
- P2 : GI = B8B97C46, `git status -- Content Config Source` vide. P5 : `IfThenElse_148`, `CallFunction_743`, `_739`,
`MakeArray_3` à `_6`, `MacroInstance_43` conformes au § 2.2 ; `self` est compté : indices `AddVariable` = `execute` 0,
`self` 1, `Name` 2, `Class` 3, `Array` 4, `Bool` 5, `Float` 6, `String` 7, `Person` 8, `Building` 9 (le § 2.1 l'avait prévu,
« +1 »). P6 : `find_node_types` `AddVariable` → `Scène|AddVariable` (autres : Optimus, Movie Graph, écartés).
- Étapes 1-12 : H5-A = `K2Node_CallFunction_568` (pos -12760,-4900) ; `break_pins` `IfThenElse_148.else` / `CallFunction_743.execute` ;
`else` → H5-A ; H5-A.then → `CallFunction_743` ; `MakeArray_3/_4/_5/_6.Array` → `Person`/`Bool`/`Float`/`String` ;
`Name` = `AI`, `Class` = `Person` ; `Array` relu `false` (non posé). Étape 13 : liens = § 2.4 (relus).
- Étape 14 : compilation (avertissements en erreurs) sans erreur ; **premier `save_assets` = false** (21:39) :
`MoveFile was unable to move ...Content/BPs/GI.uasset` × 10 puis `Error saving`, fichier tenu par un jeu étranger
(PID 19716, `UnrealEditor.exe ...LifePlay-master 5.8\LifePlay.uproject /Engine/Maps/Entry?game=/Script/LPSandbox.LPPairSandboxGameMode -game`,
lancé à 21:37:07 depuis `LifePlay-Sandbox-5.8\Tools\debug`). ARRÊT, rien tué, rapport à Big Boss ; l'utilisateur a fermé ce jeu ;
reprise sur message de Big Boss : `save_assets` = true (21:42:36). GI disque resté B8B97C46 pendant l'arrêt. Temporaire laissé
par l'échec : `Saved\GIADDB917541E7568F168C8F871C7A9DFD.tmp` (52 545 296 o, 21:39:19), gardé.
- **M1 (GI F-a) = `4773054E738A0AB166ED1971FD4FA889` (52 545 296 o).** Instantané `STE-H5b-temoin` = M1 (copie contrôlée).
- Écarts : les appels `compile_blueprint` et `save_assets` du premier essai ont été envoyés dans un même message (le journal
montre la sauvegarde 7 s après la compilation, sans chevauchement) ; l'éditeur n'a pas été fermé entre F-a et le témoin
(M1 relevé et instantané pris sur le fichier enregistré) ; le dump V1 sur M1 reste à faire (éditeur fermé).
## 2. Témoin (même éditeur, 21:42-21:43)
T-1 conforme ; `K2Node_CallFunction_361` (T1) sur `IfThenElse_14.else`, `K2Node_CallFunction_362` (T2) sur `IfThenElse_15.else`,
textes et `bPrintToScreen = false` relus ; compilation sans erreur (journal), `save_assets` true (21:43:29). Éditeur fermé
(Stop-Process 24860), `UeState.ps1` = 0. **M2 (GI F-a + témoin) = `84E681EB65F83EAE238289F57E379D0E` (52 554 000 o)**, jamais commité.
## 3. Build de diagnostic
`Build.ps1 -Lot STE-H5b` : code 0, 0 unité (`STE-H5b_Build_20261010-214352.txt`) ; `BuildDebug.ps1 -SkipBuild` vers
`D:\Game\LifePlay_Build_5.8_STE-H5b-TEMOIN_Development` (absent avant) : UAT code 0, 107 s, cuisson `0 error(s), 1 warning(s)`,
163 paquets recuits, CheckPackage PASS. `GI.uexp` cuit : 21:44:52, 2 023 521 o (C0 : 2 023 221), 2 × `STE-H5b-TEMOIN`.
Archive gardée, « diagnostic, GI M2 non commité ».
## 4. Session J4 de l'utilisateur
Journal `...\STE-H5b-TEMOIN_Development\Windows\LifePlay\Saved\Logs\LifePlay.log` (22:16:38, 21 220 172 o, MD5 CD002DD5…, copie
de lecture identique). Utilisateur : « c'est fait ».
| Motif (lignes) | C0 (sans F-a) | J4 (F-a) |
|---|---|---|
| `STE-H5b-TEMOIN G5-B1` | 18 | **0** |
| `STE-H5b-TEMOIN G5-B2` | 0 | 0 |
| `STE-H5b-TEMOIN` (toutes ; J4 : 2 = chemin du dossier dans l'en-tête) | 18 | 2 |
| `hours by [1-9]` | 22 | 27 |
| `hours by 0\b` | 0 | 0 |
| `CHECKING:` | 7 825 | 9 524 |
| `Person_24_.*of length 0` | 119 | 109 |
| `UNHIDE Persons` (fins de scène du joueur) | 27 | 25 |
| `Accessed None` | 56 | **32 874** |
| dont `property Person` dans `GI_C:Dress` | 0 | **32 681** |
| `GI_C:Dress:` (toutes lignes) | 0 | 32 716 |
| `clearScenePersons` (piles) | 0 | 2 907 |
| `GetSpecific_PersonToReturn` (Room) | 0 | 81 |
| `removeAlreadyGot` | 0 | 30 |
| Fatal / Unhandled / Critical | 0 | 0 |
J3 (`STF-STE-LISIB`) : `GI_C:Dress:`, `clearScenePersons`, `GetSpecific_PersonToReturn`, `removeAlreadyGot` = 0.
**Critère F-a** : `G5-B1` = 0 pour 27 routines avec personne et 9 524 `CHECKING:` (parcours comparable à C0) : le cas B ne se
produit plus. Contrôle positif donné par C0 (18).
**Constat nouveau (bloquant pour le commit)** : à partir de 20:06:42 UTC (après ≈ 5 min de jeu), 13 des 25 fins de scène du
joueur sont suivies de **2 887** (une fois 3 444, une fois 3 844) `Accessed None ... property Person` dans `GI.Dress`.
Piles : `Room_C:ExecuteUbergraph_Room > GI_C:Dress` (29 797) et `Scene_C NextButton > GI_C:ContinueScene > ExecuteUbergraph_GI
> clearScenePersons > Dress` (2 884) ; précédés de `Room_C` `GetSpecific_PersonToReturn` None. Le nombre fixe 2 887 évoque une
boucle de `Dress` sur une liste de vêtements pour une personne nulle. Aucune ligne de cette famille en C0 ni en J3 avec un
nombre comparable de scènes du joueur (27 et 30 `UNHIDE`). **Imputation à F-a : probable, non établie** (hypothèse : la
variable `AI` reposée par F-a garde un `AIDummy` détruit ensuite — `DestroyDummy was from CheckScenes` — et des fonctions de
scène du joueur la lisent ; à vérifier sur dumps de `clearScenePersons`, `Dress`, `GetSpecific` et du graphe de `Room`).
## 5. Restauration du témoin
`.\Tools\Restore.ps1 -Lot STE-H5b-temoin`, éditeur fermé : GI = **M1 `4773054E…`** (52 545 296 o), 0 occurrence de
`STE-H5b-TEMOIN` dans `GI.uasset` ; M2 gardé dans `LifePlay_Backup_5.5\STE-H5b-temoin\_avant-restauration\20261010-221856`.
`git status` : ` M Content/BPs/GI.uasset` (F-a, non commité) + Docs. Retour à l'état commité possible par
`.\Tools\Restore.ps1 -Lot STE-H5b` (B8B97C46).
## 6. Décision de l'utilisateur (2026-10-10, après J4)
- F-a / Dress : **« Diagnostiquer d'abord »** : GI reste à M1 non commité (copie UE gelée pour les builds et cuissons des autres
lots, Big Boss) ; dumps STE-D6 (`clearScenePersons`, `Dress`, `GetSpecific`, `removeAlreadyGot`, `Room.EventGraph`,
`GI.EventGraph` sur M1) puis DIAG lp-cart.
- Effet visible en J4 : **« Saccades / gels »** à la fin de certaines scènes (concordant avec les paquets de 2 887 avertissements).
## 7. Diagnostic STE-H5c et décisions (2026-10-10)
`STE-H5c-DIAG.md` (lp-cart) : le recompte corrige le § 4 : **11 paquets** (et non 13), le premier à 20:08:09.362 UTC (et non
20:06:42), 2 887 blocs par paquet sauf un de 3 844 (pas de paquet de 3 444), situés avant `UNHIDE` et non après ; `GI_C:Dress:64X`
= 32 713 lignes. 10 paquets viennent de `Room.getKnownNpcsHere` (`GetSpecific` rend None pour une clé numérique déjà prise,
sans garde jusqu'à `Dress`), déclenchés par la compagne qui suit le joueur : `[Person_C_…] N moves to` = 0 (C0), 0 (J3), 15 (J4)
(recompte de l'orchestrateur). Imputation à F-a : non établie, jugée improbable (aucun nœud de la voie Room ne lit `AI`).
Décisions de l'utilisateur : Q-H5c-1 = **essai décisif sur l'archive C0** (sans F-a) avec une compagne qui suit le joueur ;
Q-H5c-2 = **O1 + O3** (gardes `IsValid` ciblées dans `Room` et `clearScenePersons`) si l'essai confirme le défaut sans F-a.
Journal C0 sauvegardé avant l'essai : `LifePlay_Backup_5.5\STE-H5b\journaux\C0-LifePlay.log` (MD5 6F8D055C…).
## 8. Essai décisif C1 (archive C0, sans F-a, compagne qui suit) — 2026-10-10
Archive `LifePlay_Build_5.8_STE-H5b-C0_Development` (GI B8B97C46 + témoin, sans F-a) ; journal
`...\Windows\LifePlay\Saved\Logs\LifePlay.log` (23:11:01, 13 360 988 o, MD5 0D0F6DA3…, copie de lecture identique ; le journal C0
a été renommé par le jeu en `LifePlay-backup-2026.10.10-19.34.53.log`, copie aussi dans `LifePlay_Backup_5.5\STE-H5b\journaux\`).
Utilisateur : « c1 fini ».
| Motif (lignes) | C0 | J4 (F-a) | **C1 (sans F-a)** |
|---|---|---|---|
| `[Person_C_…] N moves to` (compagne qui suit) | 0 | 15 | 6 |
| `GI_C:Dress:` | 0 | 32 716 | **25 985** |
| `property Person in not an UClass` | 0 | 32 711 | **25 982** |
| `clearScenePersons` (piles) | 0 | 2 907 | 2 901 |
| `GetSpecific_PersonToReturn` | 0 | 81 | 65 |
| `removeAlreadyGot` | 0 | 30 | 50 |
| `UNHIDE Persons` | 27 | 25 | 15 |
| `CHECKING:` | 7 825 | 9 524 | 2 190 |
| `STE-H5b-TEMOIN G5-B1` | 18 | 0 | 0 |
| Fatal | 0 | 0 | 0 |
**Établi : les avertissements `Dress` (voies `Room` et `clearScenePersons`) existent sans F-a ; ils suivent le parcours
(compagne qui suit le joueur), pas F-a. F-a est disculpé.** (Le 0 de `G5-B1` en C1 n'est pas une mesure : peu de rafales d'IA,
2 190 `CHECKING:`.) Suite décidée (Q-H5c-2) : O1 (Room) + O3 (`clearScenePersons`), avec G12 (STE-H3c), puis VAL et J5.