15 KiB
Fiche FIX1-MES — Niveau N1 — Modèle prévu non précisé par la fiche | utilisé claude-sonnet-5-5 — Agent lp-writer (rôle A-DOC) — Skills sk-protocol, lp-doc, lp-lot
FIX1-MES : protocole de séance de mesure -LPPersonsLog=2 (hauteur de talons et animation « look », F8b et F7b) (2026-10-20)
Demande de Big Boss (local_104ff22d), 2026-10-20, sur ordre de l'utilisateur, cité mot pour mot : « … en build 1, ajoute la hauteur de talons et l'animation à la trace M-Z, et prépare la séance de mesure -LPPersonsLog=2. » Protocole de 20 à 30 minutes, pour l'utilisateur, au ton et au format de etat\BOSS\COMMUN-21-TESTS.md (pas à pas, résultat attendu, motif de journal). Il reprend FIX1-F7-PRE.md (§ 3.1 F7b et F8b, § 3.3, § 3.4 « Ordre conseillé », § 6 questions 2 et 3). Rédigé sans copie UE, sans MCP, sans lancer le jeu. Aucun contenu de jeu : tenue et actions décrites de façon neutre (doc 27).
Ce que la séance doit trancher (FIX1-F7-PRE.md § 4, « Incertain »)
- F8b : le décalage du maillage au lever (meshZ −80,4 / −82,8 / −85,2 au lieu de −90) vient-il des talons (formule estimée −90 + 12 × HeelHeight,
FIX1-F7-PRE.md:119,:170) ou de la place (animation de meuble) ? Question 4 deFIX1-F7-PRE.md§ 6 : le personnage flotte-t-il réellement à l'écran ? - F7b : l'animation « look » reste-t-elle jouée après la fin de l'action (
anim=single:…look), ou seule la variablecurrentAnimationest-elle périmée ? Effet visible ? (FIX1-F7-PRE.md:158,:203).
1. Build à utiliser
| Élément | Valeur |
|---|---|
| Build visée | COMMUN-22 : D:\Game\LifePlay_Build_5.8_Development_COM22\Windows\LifePlay.exe ; exe e2ba7dec63d479974394e2cffd1efc19 (F8a + trace M-Z enrichie), paquet du 2026-10-20 20:24 (etat\BOSS\COMMUN-22\COMMUN-22-BUILD.md) |
| Trace M-Z enrichie | fiche FIX1-MZ-IMPL.md (LPDirectControlSubsystem.cpp 687c63d8, exe e2ba7dec) ; format exact : `M-Z : maillage relatif Z -> <après> (gabarit ), debout sans meuble ; HeelHeight=<%.3f |
| Repli | la build COM21 actuelle, D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\LifePlay.exe, sans la trace enrichie : la séance reste utile, car les lignes STATE … meshZ= … currentAnimation= suffisent (§ 4) ; seule la ligne M-Z : reste sans talons ni animation |
| Copie UE | non requise : la séance se joue sur une build empaquetée, sans éditeur |
Ligne de commande prête (PowerShell, build COMMUN-22) :
& "D:\Game\LifePlay_Build_5.8_Development_COM22\Windows\LifePlay.exe" -LPPersonsLog=2
Sens exact de -LPPersonsLog=2 (lu dans Source\LifePlay\LPDebugSubsystem.cpp:638-650) :
=2= un relevé toutes les 2 secondes au journal (valeur par défaut sans nombre : 5 s ; plancher : 1 s) ;- au lancement, une ligne
LPDebug persons : releve toutes les 2 s(catégorieLogLifePlay, niveauDisplay) ; absente = l'argument n'a pas été pris, arrêter et le dire ; - le relevé périodique n'écrit pas de fichier (
WritePersonsDump(…, false),:646) : tout est au journal<build>\Windows\LifePlay\Saved\Logs\LifePlay.log; - chaque relevé contient, par personnage, une ligne
LPDebug persons : STATE <acteur> coll=… grav=… moveTick=… meshZ=… anim=… currentAnimation=…(:414, préfixeLPDebug persons :ajouté par:580) :meshZ= Z relatif du maillage ;anim=single:<clip>si un clip isolé est joué,bp:<AnimBP>si l'AnimBP pilote,-sinon (:404-413) ;currentAnimation= variable Blueprint du personnage,-quand elle est vide (FIX1-F7-PRE.md:160). - Au journal, l'heure de chaque ligne sert à retrouver l'instant noté à la main (§ 3 et § 4).
Alternative ponctuelle, sans relancer : console LifePlay.PersonsDump (un seul relevé, avec un fichier PersonsDump_<date>_<heure>.txt, :631-634, :584-587).
2. Préparation (3 minutes)
- Fermer le jeu s'il est ouvert. Ouvrir une montre ou une horloge visible : chaque geste est noté avec l'heure (heure:minute:seconde, celle du poste).
- Lancer la ligne de commande du § 1. Charger une partie existante (ou nouvelle partie) avec un personnage joueur, dans une rue ou une pièce dégagée, sans scène en cours.
- Vérifier, une fois le jeu chargé, la présence de
releve toutes les 2 s:
Attendu : 1 ligne.Select-String -Path "D:\Game\LifePlay_Build_5.8_Development_COM22\Windows\LifePlay\Saved\Logs\LifePlay.log" -Pattern 'LPDebug persons : releve toutes les' - Préparer le cahier (papier ou fichier, hors jeu) : une ligne par geste, colonnes
heure | geste | ce qu'on voit à l'écran. - Prévoir : une tenue avec chaussures à talons pour le joueur, la même sans talons (ou des chaussures plates), une chaise ou un canapé utilisable, et un meuble de boutique avec l'action « regarder » (celui de COMMUN-8 était une vitrine).
3. Cas
Format comme COMMUN-21-TESTS.md § 3 : Verdict, Découvreur, Heure restent vides, le BILAN les remplit. Contrôle automatique = motif cherché par Big Boss dans le journal (§ 4).
3.1 F8b : talons contre place (≈ 12 minutes)
| Cas | Lot | Objet | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure |
|---|---|---|---|---|---|---|---|---|
| FIX1-MES.1 | FIX1 | F8b, point de départ | Joueur en chaussures plates ou sans talons, debout, immobile 10 s. Noter l'heure. | Personnage debout normalement, pieds au sol. | lignes STATE PlayerCharacter sur ces 10 s (5 relevés) : meshZ=-90.0 |
|||
| FIX1-MES.2 | FIX1 | F8b, sans talons | Toujours sans talons : s'asseoir sur la chaise (noter l'heure), rester 10 s, se lever (noter l'heure), rester debout et immobile 10 s. Regarder les pieds avant l'assise et après le lever. | Après le lever : pieds posés sur le sol, ni suspendus ni enfoncés. | juste après le lever : meshZ=-90.0 dans les relevés de la fenêtre ; M-Z : : 0 ligne sur cette fenêtre |
|||
| FIX1-MES.3 | FIX1 | F8b, changement de tenue | Changer de tenue : mettre les chaussures à talons (noter l'heure). Rester debout et immobile 10 s. Comparer à l'écran avec MES.1. | Le personnage est un peu rehaussé par les talons : noter ce qu'on voit (« pieds au sol », « flotte », « trop haut »). | relevés debout : meshZ= différent de −90 ; valeur attendue −90 + 12 × HeelHeight (par exemple −85,2 / −82,8 / −80,4 pour HeelHeight 0,4 / 0,6 / 0,8) |
|||
| FIX1-MES.4 | FIX1 | F8b, talons et assise | Avec les talons : s'asseoir (heure), rester 10 s, se lever (heure), rester debout immobile 10 s sans bouger. Regarder les pieds : le personnage flotte-t-il au-dessus du sol après le lever ? Noter aussi si cela dure plus de 1 à 2 s. | Réponse visuelle sans ambiguïté : « flotte » ou « ne flotte pas ». Si M-Z a fonctionné, le flottement dure au plus environ 1 s (2 balayages de 0,5 s, LPDirectControlSubsystem.cpp:1211-1213). |
une ligne M-Z : PlayerCharacter maillage relatif Z <avant> -> <après> (gabarit …), debout sans meuble dans la minute qui suit le lever, ou son absence ; <avant> à comparer à la formule des talons ; COMMUN-22 : hauteur de talons et animation à lire sur la même ligne (format : à compléter, FIX1-MZ-IMPL.md) |
|||
| FIX1-MES.5 | FIX1 | F8b, retour sans talons | Reprendre les chaussures plates ou retirer les talons (changer de tenue). Répéter s'asseoir puis se lever (heures notées). | Sans talons, au lever : retour à −90,0 ; aucune ligne M-Z : si MES.2 n'en avait pas. Si une ligne M-Z : apparaît sans talons, la place est en cause (pas les talons). |
relevés après le lever : meshZ=-90.0 ; nombre de lignes M-Z : sur la fenêtre : noter |
|||
| FIX1-MES.6 | FIX1 | F8b, personnages non joueurs (facultatif) | Si un personnage non joueur est visible et utilise un siège : l'observer s'asseoir puis se lever (heure), noter s'il flotte. Passer si aucun n'est visible. | Même lecture que MES.4 ; noter « sans objet : aucun personnage non joueur à portée » sinon. | lignes STATE <acteur> du personnage observé (nom lu dans le journal) ; lignes M-Z : visant ce nom (2 sur 18 visaient des personnages non joueurs, FIX1-F7-PRE.md:116) |
3.2 F7b : animation « look » restée active (≈ 8 minutes)
| Cas | Lot | Objet | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure |
|---|---|---|---|---|---|---|---|---|
| FIX1-MES.7 | FIX1 | F7b, référence | Joueur debout, hors de tout meuble, immobile 10 s, avant l'action. Noter l'heure. | Aucune animation de meuble. | STATE PlayerCharacter … currentAnimation=- |
|||
| FIX1-MES.8 | FIX1 | F7b, action « regarder » | Devant le meuble de boutique, lancer l'action « regarder ». Noter l'heure du début puis celle de la fin de l'action (quand le personnage reprend la main). Laisser l'animation aller à son terme. | Le personnage joue l'animation de regard, puis l'action se termine. | pendant l'action : currentAnimation=fnt_…-look (nom d'animation finissant par look) avec anim=single:… ; noter la première heure où il apparaît |
|||
| FIX1-MES.9 | FIX1 | F7b, après la fin | Dès la fin de l'action, ne rien toucher 20 s : le personnage est debout, dans la même pièce. Noter à l'écran : posture penchée ou normale, tête tournée ou non. | Posture normale. | Cas à retenir : currentAnimation=fnt_…-look encore présent après l'heure de fin ; anim=single:…look encore présent (le clip joue encore) ou anim=bp:… avec la variable seule périmée |
|||
| FIX1-MES.10 | FIX1 | F7b, changement de pièce | Sortir du lieu (rue, autre pièce ou autre étage), marcher 10 s, noter l'heure et la posture. Puis revenir et marcher encore 10 s. | Posture normale, marche normale. | après le changement de pièce : currentAnimation= (valeur) et anim= ; COMMUN-8 montrait fnt_new038-f-0-look conservé dans la rue puis au café (STG-COMMUN8-DIAG.md:22) |
|||
| FIX1-MES.11 | FIX1 | F7b, répétition | Refaire MES.8 à MES.10 une fois sur un autre meuble offrant « regarder » (ou le même). | Même résultat qu'à MES.9 : si currentAnimation reste en look deux fois, le défaut est reproductible. |
idem MES.9 |
Arrêt anticipé : si le personnage reste bloqué (animation qui ne se termine pas, plus de contrôle), noter l'heure, ne pas relancer d'action, passer au § 5.
4. Ce que Big Boss lira ensuite au journal
Journal : <build>\Windows\LifePlay\Saved\Logs\LifePlay.log du lancement jugé (le jeu en garde un exemplaire horodaté à chaque lancement). Lecture par Grep sur fichier nommé (un Grep de dossier saute les .txt ignorés par git, FIX1-F7-PRE.md § 2). Les heures du cahier se retrouvent sur les horodatages des lignes.
Motifs exacts (code lu) :
| Motif | Source | Lecture |
|---|---|---|
LPDebug persons : releve toutes les 2 s |
LPDebugSubsystem.cpp:649 |
1 ligne : trace active |
LPDebug persons : STATE PlayerCharacter |
LPDebugSubsystem.cpp:414, :580 |
une ligne toutes les 2 s environ ; champs meshZ=, anim=, currentAnimation= |
| `M-Z : maillage relatif Z -> <après> (gabarit ), debout sans meuble ; HeelHeight=<%.3f | ?> ; currentAnimation=<nom | - |
Fatal|Unhandled|Critical error|Assertion failed |
relevé commun | 0 attendu |
Commandes prêtes (adapter le chemin à la build de la séance) :
$J = "D:\Game\LifePlay_Build_5.8_Development_COM22\Windows\LifePlay\Saved\Logs\LifePlay.log"
Select-String -Path $J -Pattern 'LPDebug persons : STATE PlayerCharacter' | Select-Object LineNumber, Line
Select-String -Path $J -Pattern 'M-Z :'
Select-String -Path $J -Pattern 'currentAnimation=fnt_'
Seuils et lectures de décision (estimés ; la formule vient du dump 5.5, FIX1-F7-PRE.md:117) :
| Constat au journal | Lecture | Suite |
|---|---|---|
debout sans talons : meshZ=-90.0 partout, et debout avec talons : meshZ=-90+12×HeelHeight (−85,2 / −82,8 / −80,4) |
le décalage vient des talons : forcer −90 n'est pas un correctif ; M-Z retire un décalage voulu | F8b : ne pas corriger en Blueprint ; M-Z doit lire la hauteur de talons (décision de l'utilisateur, FIX1-F7-PRE.md § 6 question 4) |
meshZ ≠ −90 sans talons après un lever, ou lignes M-Z : sans talons |
la place (animation de meuble) est en cause | F8b : correctif Blueprint à étudier en build 2 |
meshZ=-88.0 (7 cas sur 18 aux journaux antérieurs) |
hors grille des talons (2,0 / 12 ≈ 0,167) : chemin d'écriture inconnu | noter heure et circonstances, item ouvert |
M-Z : … Z <avant> de la forme −90 + 12 × H avec talons (COMMUN-22) |
confirme la cause « talons » par la ligne même | idem première ligne |
currentAnimation=fnt_…-look après l'heure de fin de l'action (MES.9, MES.10) et anim=single:…look |
le clip joue encore : effet visible probable | F7b : correctif d'un nœud dans Person envisageable, build 1 seulement avant la porte du 2026-10-23 au soir (FIX1-F7-PRE.md:183) |
currentAnimation=fnt_…-look après la fin, mais anim=bp:… |
seule la variable est périmée, sans effet à l'écran | F7b : « ne pas corriger » |
currentAnimation=- après la fin |
défaut non reproduit | F7b : pas de correctif ; noter la date |
Décompte de contrôle à recopier au BILAN : nombre de lignes STATE PlayerCharacter (≈ une toutes les 2 s : ≈ 600 pour 20 minutes), nombre de lignes M-Z :, valeurs de meshZ= distinctes.
5. Durée cible et arrêt
- Durée cible : 20 à 30 minutes : préparation 3 min, F8b ≈ 12 min, F7b ≈ 8 min, relève du cahier ≈ 3 min.
- Arrêt : fermer le jeu normalement (menu), pour que le journal se termine ; ne pas supprimer ni déplacer
Saved\Logs\LifePlay.log. Un journal qui n'est pas celui de la séance est à ne pas utiliser : le fichier le plus récent porte l'heure de la séance. - Arrêt avant le terme : blocage, plantage,
Fatalau journal, ou plus de 30 minutes : arrêter, noter l'heure et le dernier cas fait, ne pas relancer ; la séance partielle reste exploitable cas par cas. - À rendre à Big Boss : le cahier (heures, observations), le journal de la séance (fichier nommé ci-dessus), et la mention de la build utilisée (COMMUN-22 avec trace enrichie, ou COM21).
Fichiers à commiter
A Docs/Migration/etat/REL/FIX1/FIX1-MES.md (dépôt jeu, branche ue5.8), par le gardien sur ticket. Aucun autre fichier écrit. Pas de CHG réservé à ce livrable (protocole d'essai, aucune modification du jeu) ; pas de ligne d'index à ajouter.
Points à compléter ou à confirmer
- Complété par Big Boss (2026-10-20) : build COMMUN-22 et format de la ligne
M-Z :enrichie (voir § 1 et § 3). - Non vérifié : nom exact des états
HeelHeightvisibles au journal COM21 (la COM21 n'a pas la trace enrichie : les talons ne se lisent alors que parmeshZ=). - Estimé : formule −90 + 12 × HeelHeight (dump 5.5, pas relu en 5.8) ; cadence « environ 600 relevés pour 20 minutes ».
- Non mesuré : aucune exécution de la séance ; aucun journal produit.