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

45 lines
4.6 KiB
Markdown

Fiche STE-H5c — Niveau N3 — Modèle prévu (modèle de l'agent lp-cart) | utilisé <modèle déclaré> — Agent lp-cart (DIAG, lecture seule) — Skills lp-commandlets (lecture), sk-protocol
1 Objectif : établir si le correctif F-a (STE-H5b, `AddVariable('AI', [AIDummy])` avant chaque `PlayScene` de routine d'IA,
`K2Node_CallFunction_568` de l'EventGraph de GI) cause les 32 681 `Accessed None trying to read (real) property Person` dans
`GI.Dress` observés en J4 (0 en C0 et en J3), et les saccades / gels vus par l'utilisateur à la fin de certaines scènes ; donner
le mécanisme exact et les correctifs possibles. Lot STE, registre
`D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-TACHES.md`, ligne STE-H5b.
2 Complexité : a1 b2 c2 d1 e1 f2 = 9 → N3 (aucun)
2b Agent : lp-cart — à invoquer : lp-commandlets (lecture des dumps) — outils retirés : aucun
3 Contexte : GI = M1 `4773054E…` (F-a, non commité ; état commité 5c55db4 = B8B97C46, restaurable par
`.\Tools\Restore.ps1 -Lot STE-H5b`). Livrables amont : `STE-H5b-SPEC.md` (§ 2.0 bis A1-A3, § 2.3-2.5), `STE-H5-DIAG.md`
(cause du cas B : `Array_Clear` de `Variables` dans `UpdateCheckForScenes`), `STE-H5b-C0.md`, `STE-J4.md` (comptes, piles,
fenêtres, § 6 décision). Décision de l'utilisateur : « Diagnostiquer d'abord » ; saccades / gels signalés en J4.
Journaux (copies de lecture, MD5 contrôlés) :
C0 `%USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-8\37530d8d-c780-4a57-8fbd-bcb010aa6408\scratchpad\C0-LifePlay.log`,
J4 `...\scratchpad\J4-LifePlay.log` (originaux dans `D:\Game\LifePlay_Build_5.8_STE-H5b-C0_Development\` et
`..._STE-H5b-TEMOIN_Development\`, `Windows\LifePlay\Saved\Logs\LifePlay.log`), J3
`D:\Game\LifePlay_Build_5.8_STF-STE-LISIB_Development\Windows\LifePlay\Saved\Logs\LifePlay.log`.
Dumps `etat\ST\STE\dumps\` (STE-D6, sur M1) : `GI__clearScenePersons_D6.txt`, `GI__Dress_D6.txt`, `GI__GetSpecific_D6.txt`,
`GI__removeAlreadyGot_D6.txt`, `Room__EventGraph_D6.txt`, `GI__EventGraph_D6-M1.txt` ; plus `GI__AddVariable_D5.txt`,
`GI__Async_D5.txt`, `GI__EventGraph_apres-GARDES.txt` (avant F-a), `Person__*_D4.txt`.
4 Entrées et questions :
- Q-a : d'où vient la personne nulle passée à `Dress` (piles `Room_C:ExecuteUbergraph_Room > Dress` et
`NextButton > ContinueScene > clearScenePersons > Dress`) : `PersonsUsedThisScene`, `Variables`, `GetSpecific` ? Qui y
ajoute l'élément et quand (routine d'IA via F-a ? `AIDummy` détruit ensuite, `DestroyDummy was from CheckScenes`) ?
- Q-b : pourquoi 2 887 lignes par fin de scène (boucle de `Dress` ; taille de la liste parcourue) et pourquoi seulement après
≈ 5 min de jeu (20:06:42 UTC dans J4) et dans 13 des 25 fins de scène ;
- Q-c : lien établi / estimé avec F-a (le même chemin existait-il avant F-a quand `AI` était posée par `CallFunction_739` ?
pourquoi 0 en C0 et J3) ; preuve par l'ordre des lignes dans J4 (SPAWN / DESTROY / CHECKING / `.lpai` autour des fenêtres) ;
- Q-d : coût : 2 887 avertissements avec pile par fin de scène suffisent-ils à expliquer les saccades (horodatage de la
première et de la dernière ligne de chaque paquet, frames `[n]` du journal) ;
- Q-e : correctifs possibles, comparés sans trancher (ex. F-a limité : retirer `AI` des `Variables` / ne pas inscrire
`AIDummy` dans `PersonsUsedThisScene` après la routine ; garde `IsValid` dans `Dress` ou `clearScenePersons` ; F-a retiré) :
nœuds, effet visible, risque ; une question Q# par choix.
- Dumps manquants : donner la commande `.\Tools\RunCommandlet.ps1 -Lot STE-D7 -Commandlet LPDumpFunction -Args '-BP=<BP> -Fn=<Fn> -Pins -Exec'`
et s'arrêter sur ce point (pas de commandlet dans cette fiche).
5 Pièges : suffixes `_N` du journal non liés aux nœuds ; « estimé » / « établi » partout ; l'archive J4 portait le témoin (M2),
la différence avec M1 est T1 / T2 seuls (`CallFunction` de GI) ; ne pas attribuer à F-a ce qui varie avec le parcours.
6 Interdits : aucune écriture hors du livrable ; pas d'éditeur, de commandlet, de build ni de jeu ; aucun commit ; aucune écriture
dans `Content` (+ sk-protocol § 2).
7 Livrable : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-H5c-DIAG.md` au gabarit DIAG (cause, preuves avec
fichier:ligne, établi / estimé, correctifs comparés, questions Q-H5c-n pour l'utilisateur).
8 Critère d'acceptation : Q-a à Q-d répondues avec preuves ; Q-e : au moins deux options exécutables par MCP (nœuds nommés) ou
la liste exacte des dumps manquants.
9 Budget et arrêt : ≈ 60 tours, pic ≤ 250 k, ≈ 40 min.