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

29 lines
3.2 KiB
Markdown

Fiche STE-H8 — 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 la cause des saccades de fin de scène (13 trames de 300 à 450 ms dans la mesure STE-H4, chacune juste après
une fin de scène, toutes avec `[TopRight_C] GenerateRecs: <valeur>`), dire ce que fait `TopRight.GenerateRecs`, pourquoi il
coûte autant et à quelle fréquence il tourne, et proposer des correctifs comparés (alléger, différer, étaler sur plusieurs
trames, mettre en cache, ne recalculer que si nécessaire), sans trancher. Lot STE, registre `STE-TACHES.md`, ligne STE-H8.
2 Complexité : a1 b2 c2 d1 e1 f2 = 9 → N3 (aucun)
2b Agent : lp-cart — à invoquer : lp-commandlets (lecture des dumps, commandes de dump) — outils retirés : aucun
3 Contexte : copie `D:\Game\LifePlay-master 5.8`, HEAD `4283c13`. Décision de l'utilisateur (2026-10-11) : instruire H7 et H8
(« les deux »). Livrables amont : `STE-H4-MESURE.md` (§ 4-5 : classement des trames longues, méthode), `STE-H4-DIAG.md` (§ 3.4,
méthode trames consécutives `[n]`), `STE-H5c-DIAG.md`. Asset : `Content\UI\TopRight.uasset` (widget). Journal de mesure (copie
de lecture) : `%USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-8\37530d8d-c780-4a57-8fbd-bcb010aa6408\scratchpad\M-H4-LifePlay.log`
(30 lignes `GenerateRecs`) ; J5 `...\scratchpad\J5-LifePlay.log`. Script d'analyse : `...\scratchpad\mesure_h4.py`.
Dumps existants : `etat\ST\STE\dumps\` (GI EventGraph `_V5`, `clearScenePersons_V5`, `GI__LoadPreset.txt`…).
4 Questions :
- Q-a : qui appelle `GenerateRecs` (fin de scène : `ContinueScene` / `clearScenePersons` / `DestroyPerson` ? ouverture d'un
menu ? minuterie ?), combien de fois par fin de scène, et que calcule-t-il (que signifie la valeur imprimée, ex. 14,12 ?) ;
- Q-b : quelle partie coûte (boucles sur tous les PNJ, scènes, `.lpscene` / `CHECKING`, création de widgets, chargements) ;
proportion des 30 appels qui produisent une trame ≥ 50 ms ;
- Q-c : correctifs comparés (nœuds nommés si les dumps existent, effet attendu en ms, effet visible pour le joueur, risque) ;
- Dumps manquants : commande exacte `.\Tools\RunCommandlet.ps1 -Lot STE-D9 -Commandlet LPDumpFunction -Args '-BP=TopRight -Fn=<Fn> -Pins -Exec'`
(vérifier dans `Source\LifePlay` si `LPDumpFunction` accepte un Widget Blueprint) ; s'arrêter sur ce point, pas de commandlet.
5 Pièges : coïncidence n'est pas cause : appuyer l'attribution sur l'ordre des lignes et la durée de chaque trame ; « établi » /
« estimé » partout ; `-llmcsv` a perturbé une partie des trames de la mesure (`STE-H4-MESURE.md` § 5).
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-H8-DIAG.md` au gabarit DIAG (questions Q-H8-n), en LF.
8 Critère d'acceptation : Q-a et Q-b répondues avec preuves (ou dumps manquants exacts) ; au moins deux correctifs décrits.
9 Budget et arrêt : ≈ 60 tours, pic ≤ 250 k, ≈ 40 min.