LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-D2-INV.md

118 lines
7.6 KiB
Markdown
Raw Normal View History

Fiche STG-D2 — Niveau N0 — Modèle prévu (agent lp-builder) : non renseigné dans la fiche | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-commandlets, sk-protocol, sk-windows-shell
# STG-D2-INV : extraction en lecture seule des dumps Blueprint 5.8 pour la SPEC STG (2026-10-13)
Lot STG, copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`. Jeton UE accordé par Big Boss (UE-GO). Room.uasset modifié non commité (CAM-B2) : lu tel quel, non modifié.
## 1. Commandes exactes
Contrôle d'état, avant et après :
```
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\UeState.ps1'
```
Cinq dumps, lancés en une seule chaîne séquentielle en arrière-plan (une exécution par ligne de la fiche) :
```
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STG -Commandlet LPDumpFunction -Args "-BP=Person -Fn=standIdle -Pins -Exec"
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STG -Commandlet LPDumpFunction -Args "-BP=Person -Fn=EventGraph -Pins -Exec"
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STG -Commandlet LPDumpFunction -Args "-BP=Room -Fn=getStandSpots -Pins -Exec"
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STG -Commandlet LPDumpFunction -Args "-BP=Room -Fn=MoveAllToCenterRoom -Pins -Exec"
pwsh -NoProfile -File 'D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1' -Lot STG -Commandlet LPDumpFunction -Args "-BP=GI -Fn=removeTooClose -Pins -Exec"
```
Empreintes MD5 (lecture seule) :
```
pwsh -NoProfile -Command "foreach(\$f in 'Person','Room','GI'){ (Get-FileHash -Algorithm MD5 -LiteralPath ('D:\Game\LifePlay-master 5.8\Content\BPs\' + \$f + '.uasset')).Hash + ' ' + \$f + '.uasset' }"
```
Ligne de commande réelle d'UnrealEditor-Cmd (sortie de RunCommandlet, identique pour les cinq) : `D:\Game\Launcher\Engine\UE_5.8\Engine\Binaries\Win64\UnrealEditor-Cmd.exe "D:\Game\LifePlay-master 5.8\LifePlay.uproject" -run=LPDumpFunction -BP=<BP> -Fn=<Fn> -Pins -Exec -unattended -nopause -nosplash -stdout -FullStdOutLogOutput -abslog="…"`.
## 2. Comptes bruts
### 2a. Codes et comptes par dump (sortie de RunCommandlet, rendue telle quelle)
| Dump | Sortie `RunCommandlet.ps1` (ligne « code=… ») | Code |
|---|---|---|
| Person -Fn=standIdle | `code=0 duree=56s erreurs=0 avertissements=488` | 0 |
| Person -Fn=EventGraph | `code=0 duree=61s erreurs=0 avertissements=19446` | 0 |
| Room -Fn=getStandSpots | `code=0 duree=55s erreurs=0 avertissements=333` | 0 |
| Room -Fn=MoveAllToCenterRoom | `code=0 duree=56s erreurs=0 avertissements=139` | 0 |
| GI -Fn=removeTooClose | `code=0 duree=55s erreurs=0 avertissements=161` | 0 |
Source : sortie de la commande d'arrière-plan (tâche `b63k7dc7w`, fin à code 0), relevée sous `CODE[<BP> -Fn=<Fn>]=0` pour chacune des cinq lignes.
### 2b. Nombre de nœuds par fonction
Relevé dans les journaux (la ligne de titre `=== <BP> :: <Fn> (N noeuds) ===` n'est pas reprise dans les résumés `.txt`, voir § 4) :
```
Saved\Logs\portage\STG_LPDumpFunction_20261013-140238.log:1931:[2026.10.13-12.03.27:671][ 0]LogLPDump: Warning: === Person :: standIdle (93 noeuds) ===
Saved\Logs\portage\STG_LPDumpFunction_20261013-140334.log:1931:[2026.10.13-12.04.23:288][ 0]LogLPDump: Warning: === Person :: EventGraph (3702 noeuds) ===
Saved\Logs\portage\STG_LPDumpFunction_20261013-140439.log:1931:[2026.10.13-12.05.28:634][ 0]LogLPDump: Warning: === Room :: getStandSpots (59 noeuds) ===
Saved\Logs\portage\STG_LPDumpFunction_20261013-140535.log:1931:[2026.10.13-12.06.25:041][ 0]LogLPDump: Warning: === Room :: MoveAllToCenterRoom (19 noeuds) ===
Saved\Logs\portage\STG_LPDumpFunction_20261013-140632.log:1931:[2026.10.13-12.07.23:421][ 0]LogLPDump: Warning: === GI :: removeTooClose (23 noeuds) ===
```
Chaque titre apparaît une seconde fois dans le journal (ligne 2373, 21332, 2218, 2024, 2046 respectivement, préfixe `LogInit: Display:`), même compte.
| Fonction | Nœuds |
|---|---|
| Person :: standIdle | 93 |
| Person :: EventGraph | 3702 |
| Room :: getStandSpots | 59 |
| Room :: MoveAllToCenterRoom | 19 |
| GI :: removeTooClose | 23 |
### 2c. Chemins des résumés et des journaux
Résumés (existence vérifiée par Glob `STG_LPDumpFunction_2026101*.txt`, dossier `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STG\`) :
- `…\Docs\Migration\etat\ST\STG\STG_LPDumpFunction_20261013-140238.txt` (Person standIdle)
- `…\Docs\Migration\etat\ST\STG\STG_LPDumpFunction_20261013-140334.txt` (Person EventGraph)
- `…\Docs\Migration\etat\ST\STG\STG_LPDumpFunction_20261013-140439.txt` (Room getStandSpots)
- `…\Docs\Migration\etat\ST\STG\STG_LPDumpFunction_20261013-140535.txt` (Room MoveAllToCenterRoom)
- `…\Docs\Migration\etat\ST\STG\STG_LPDumpFunction_20261013-140632.txt` (GI removeTooClose)
Journaux complets : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STG_LPDumpFunction_<horodatage>.log`, mêmes horodatages.
### 2d. Empreintes MD5 (avant / après)
| Fichier | Avant | Après | Identique |
|---|---|---|---|
| Content/BPs/Person.uasset | D1B4C63D47621B1191AD9352C80C99CD | D1B4C63D47621B1191AD9352C80C99CD | oui |
| Content/BPs/Room.uasset | A5FA970E821DC2D0D9BF220FD43B9DE6 | A5FA970E821DC2D0D9BF220FD43B9DE6 | oui |
| Content/BPs/GI.uasset | C4817B847ECF246C859647577647D6E9 | C4817B847ECF246C859647577647D6E9 | oui |
### 2e. UeState
- Avant les dumps : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code de sortie 0.
- Après les dumps : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code de sortie 0 (`CODE_UESTATE_FINAL=0`).
## 3. Écarts au compte attendu de la fiche
- Aucun écart sur les codes (cinq fois 0), les MD5 (identiques) ni UeState (0 avant et après).
- `-BP=GI` et `-Fn=EventGraph` ont été acceptés par le commandlet : aucun repli nécessaire.
- Écart de méthode : une première tentative de MD5 a échoué (`Get-FileHash: Could not find file 'D:\Game\LifePlay-master 5.8$f'`), cause : échappement de `$f` dans ma commande bash. Aucun effet sur les assets (lecture seule). Refaite à l'identique avant et après le dump, résultats ci-dessus.
## 4. Établi / estimé / incertain
- **Établi** : les cinq dumps rendent code 0, avec 0 erreur chacun (§ 2a) ; les comptes de nœuds sont lus dans les journaux (§ 2b) ; les MD5 des trois assets sont identiques avant et après (§ 2d) ; UeState vaut 0 avant et après (§ 2e).
- **Établi** : la ligne `=== <BP> :: <Fn> (N noeuds) ===` n'apparaît pas dans les résumés `.txt` (recherche Grep du motif `noeuds` dans `Docs\Migration\etat\ST\STG\` : aucun fichier), elle est dans les journaux.
- **Estimé** : les dumps sont complets (le compte de nœuds est donné par le commandlet lui-même ; le `EventGraph` de Person, 3702 nœuds, et ses 19446 avertissements ne sont pas relus un à un).
- **Incertain** : le contenu détaillé des résumés `.txt` (seule leur existence est vérifiée) ; le contenu des `Pins` ; la conformité du contenu lu à la SPEC STG (hors périmètre de cette fiche).
## Fichiers à commiter
- A `Docs/Migration/etat/ST/STG/STG-D2-INV.md` (ce livrable).
- Non suivis, produits par les commandes : `Docs/Migration/etat/ST/STG/STG_LPDumpFunction_20261013-140238.txt`, `…-140334.txt`, `…-140439.txt`, `…-140535.txt`, `…-140632.txt` (résumés des dumps). Journaux dans `Saved/Logs/portage/` (non suivi). Décision de commit au gardien (`lp-repo`), aucun agent ne commite.
Tours : 9 / 40 (décompte de l'agent ; `python -I Tools/FicheStats.py --lot STG` fait foi).
## Constats
- Rien n'a été corrigé ni écrit dans Source/, Content/ ou Config/ (interdits respectés, MD5 identiques).
- Aucune commande git en écriture.
- À verser : aucun.