45 lines
4.6 KiB
Markdown
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.
|