LifePlay-Revival/Docs/Migration/etat/sandbox/ADD1/ADD1-VAL-01.md
edujiro5972 56dfcfc3d2 LifePlay UE 5.8 : état de développement au 2026-10-20
Tickets : PUB-20261020-T1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:35:10 +02:00

146 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Fiche ADD1-VAL-01 — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills lp-validate, sk-recount, sk-protocol
# ADD1-VAL-01 : contre-vérification du build de l'addon LPSandbox (2026-10-20)
Résultat : code 0 PASS (les deux builds) ; 0 avertissement nouveau dans l'addon PASS ; 4 avertissements nouveaux hors addon (C4996 `UE_MCP_Bridge`) ; UeState non nul (2 processus de jeu étrangers au lot). Rien n'a été compilé ni corrigé.
## 1. Fiches amont relues
- `ADD1-TACHES.md` : 2 lignes (BUILD-01, VAL-01, l. 9-10), aucune IMPL (Grep `IMPL` : 0 résultat hors les deux lignes de fiche).
- `ADD1-BUILD-01.md` (lu en entier, 163 lignes).
- Résumés `ADD1_Build_20261019-233340.txt`, `ADD1_Build_20261019-234931.txt`, `ADD1_BuildLog_20261019-234751.txt` : présents dans `etat\sandbox\ADD1\` (`ls` : 6 124, 5 682, 6 124 o). `etat\ADD1\` n'existe plus (déplacé).
- Commits `53517a9` (22 fichiers, tous sous `Plugins/LPSandbox/Source/`) et `5c5c038` (dont `Plugins/LPSandbox/Source/LPSandbox/LPSandboxCharGenMod.cpp` et `.h`, plus ~200 fichiers `Docs/`), lus par `git show --stat --name-only`.
## 2. Points à confirmer des IMPL
sans objet : aucune IMPL dans le lot (`ADD1-TACHES.md` ne liste que BUILD-01 et VAL-01).
## 3. Critères rejoués
### 3.1 Recompte `Build.ps1 -FromLog` (commande exacte, sortie brute)
Build 1 : `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\Build.ps1" -Lot ADD1 -FromLog "D:\Game\LifePlay-master 5.8\Saved\Logs\portage\ADD1_Build_20261019-233340.log" -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\sandbox\ADD1"`
```
code=-1 duree=0s erreurs=0 avertissements=4 autres=20 unites=38
chaine : Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
```
Build 2 : même commande avec `-FromLog "D:\Game\LifePlay-Sandbox-5.8\Saved\Logs\portage\ADD1_Build_20261019-234931.log"` et `-ProjectRoot "D:\Game\LifePlay-Sandbox-5.8"` :
```
code=-1 duree=0s erreurs=0 avertissements=4 autres=20 unites=25
chaine : Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
```
`code=-1` : artefact de `-FromLog`. Code réel lu dans les journaux (Grep `Result:`) : build 1 l. 110 `Result: Succeeded`, l. 111 `Total execution time: 812.23 seconds` ; build 2 l. 93 `Result: Succeeded`, l. 94 `Total execution time: 640.99 seconds`. Toolchain : MSVC 14.50.35717 attendu (l. 35 du build 1, l. 33 du build 2). Verdict : PASS.
### 3.2 Erreurs = 0
Grep `warning|Warning:|error C|error LNK|: error|Result:` sur chaque journal : aucune ligne `error C`, `error LNK` ni `: error` ; seules les lignes d'avertissement du § 3.3 et `Result: Succeeded` ressortent. Verdict : PASS (0 erreur dans les deux journaux, concordant avec `erreurs=0`).
### 3.3 Avertissements : liste complète
Les deux journaux portent la même liste : 20 lignes UBT `Warning: Plugin 'HyperAIStudio' does not list plugin ...` (l. 9-28 dans les deux) + 4 C4996 (build 1 : l. 69, 72, 77, 81 ; build 2 : l. 55, 58, 63, 67). Textes identiques (relus un à un) :
| N | Fichier:ligne (sous `D:\Game\LifePlay-Sandbox-5.8\Plugins\UE_MCP_Bridge\Source\UE_MCP_Bridge\Private\`) | API | Statut |
|---|---|---|---|
| 1 | `Handlers\Landscape\LandscapeHandlers_Sculpt.cpp(4533,60)` | `ALandscape::HasLayersContent` (non-edit layer landscapes deprecated) | nouveau |
| 2 | `Handlers\Landscape\LandscapeHandlers_Sculpt.cpp(4548,18)` | `ALandscape::HasLayersContent` | nouveau |
| 3 | `Handlers\Level\LevelHandlers_Save.cpp(274,11)` | `ALandscape::HasLayersContent` | nouveau |
| 4 | `Handlers\Material\MaterialHandlers_Designer.cpp(346,3)` | `ForEachObjectWithOuter` avec booléen `bIncludeNestedObjects` | nouveau |
| 5-24 | 20 × `Warning: Plugin 'HyperAIStudio' does not list plugin '<P>' ...` (EnhancedInput, GameplayAbilities, Metasound ×2, DynamicMaterial ×2, Niagara ×2, PCG ×2, ModelViewViewModel ×2, MovieRenderPipeline, GeometryScripting, GameFeatures, MassGameplay, WorldConditions, Paper2D, ActorModifierCore, PropertyAnimatorCore) | défaut du `.uplugin` vendeur | connu (`lp-build` § 7 l. 108-114 : 20 pour LifePlayEditor) |
Références antérieures :
- Les 4 C4996 `UE_MCP_Bridge` ne figurent pas dans la liste connue de `lp-build` § 7 (l. 97-114 : StreetMap, LPDumpAssets, LPHairFromStaticMesh, HyperAIStudio). Grep `UE_MCP_Bridge` dans `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\` : 34 occurrences dans un seul journal, `ADD1_Build_20261019-233340.log` ; aucun journal antérieur. Grep `warning C4996` dans `*Build*.log` : 4 (ADD1) et 5 (`STM_Build_20261009-144519.log`, tous HyperAIStudio `OnPostEngineInit` / `GAS`, pas UE_MCP_Bridge). Établi : les 4 C4996 n'existent dans aucun build antérieur archivé. Le plugin n'était donc pas compilé dans les builds de référence archivés (aucune trace d'unité `UE_MCP_Bridge`) ; dernier journal de référence examiné : `STM_Build_20261009-144519.log`. Les autres journaux `*Build*.log` du dossier ne contiennent pas la chaîne (Grep count).
- Rectification du libellé de la fiche : le plugin fautif est `D:\Game\LifePlay-Sandbox-5.8\Plugins\UE_MCP_Bridge` (répertoire créé le 2026-10-19 16:15, `.uplugin` 16:11), pas `Plugins\McpAutomationBridge`. Ce dernier est désactivé dans `LifePlay.uproject` (`"Enabled": false`, déplacé en fin de liste par le diff `M LifePlay.uproject`) et ignoré par `.gitignore:41` du jeu. `UE_MCP_Bridge` est ignoré par git dans l'addon (`.gitignore:44`, `git ls-files Plugins/UE_MCP_Bridge` : vide). Le jeu le compile parce que `LifePlay.uproject:332-334` donne `AdditionalPluginDirectories: ../LifePlay-Sandbox-5.8/Plugins`.
Séparation :
- **Addon** (`Plugins/LPSandbox/Source`) : 0 avertissement, dans les deux journaux (aucune ligne d'avertissement ne cite `LPSandbox` ou `LPModTools`). Verdict : PASS.
- **Hors addon** : 20 HyperAIStudio (connus) ; 4 C4996 `UE_MCP_Bridge` (nouveaux, plugin tiers non suivi par git, dans le répertoire de plugins de l'addon). Dans le build 2 (cible `LPSandboxEditor`), la ligne HyperAIStudio apparaît aussi 20 fois : la règle « 20 pour LifePlayEditor » de `lp-build` § 7 ne couvre pas explicitement cette cible (estimé : même plugin, même liste).
### 3.4 Preuve de recompilation de l'addon
Journal build 1 (jeu) : `[2/49] Compile Module.LPSandbox.cpp`, `[3/49]/[4/49] Link UnrealEditor-LPSandbox.lib/.dll` ; `[15/49] LPSceneCompareCommandlet.cpp`, `[16/49] LPShapeMeasureCommandlet.cpp`, `[14/49] LPModTools.cpp`, `[17/49] Module.LPModTools.gen.cpp`, `[19/49] Link UnrealEditor-LPModTools.dll`.
Journal build 2 (addon) : `[1/34] Compile Module.LPSandbox.cpp`, `[2/34]`/`[4/34] Link UnrealEditor-LPSandbox.lib/.dll`, `[3/34] Link UnrealEditor-LPModTools.dll`, `[5/34] Link ...LPModTools.lib` ; aucune unité LPModTools recompilée dans ce build.
Le journal ne liste pas le contenu des unity. Preuve la plus forte : `Module.LPSandbox.cpp` (unity de l'addon, `Plugins\LPSandbox\Intermediate\...\LPSandbox\Module.LPSandbox.cpp`, daté 2026-10-19 23:49:35, début du build 2 à 23:49:31 d'après le nom du journal) inclut, par Grep `#include`, l. 11-27 : `LPPairSandbox.cpp`, `LPSandboxActors.cpp`, `LPSandboxCharGenMod.cpp`, `LPSandboxCoupleMod.cpp`, `LPSandboxInteraction.cpp`, `LPSandboxModWrappers.cpp`, `LPSandboxScene.cpp`, `LPSandboxSceneLevel.cpp`, `LPSandboxSidebar.cpp`, `LPSandboxStage.cpp` (et les `.gen.cpp` UHT dont `LPSandboxCharGenMod`, `LPSandboxSceneLevel`, `LPPairSandbox`).
Dates (`ls -l --time-style`) :
| Élément | Date | Lecture |
|---|---|---|
| Sources LPSandbox des deux commits (`.cpp`) | 2026-10-11 à 2026-10-19 18:49:55 (max `LPSandboxSceneLevel.cpp`) | antérieures aux builds |
| `LPSceneCompareCommandlet.cpp` / `LPShapeMeasureCommandlet.cpp` / `LPModTools.Build.cs` | 10-19 18:31:03 / 10-17 17:59:14 / 10-19 18:30:56 | antérieures aux builds |
| Jeu : `Intermediate\External\...\LPSandbox\Module.LPSandbox.cpp` / `.obj` | 23:33:54 / 23:35:52 | ≥ début build 1 (23:33:40), compilé |
| Jeu : `LPSceneCompareCommandlet.cpp.obj` / `LPShapeMeasureCommandlet.cpp.obj` | 23:36:58 / 23:37:03 | compilés dans le build 1 |
| Jeu : `Binaries\Win64\UnrealEditor-LPSandbox.dll` / `LPModTools.dll` | 23:35:54 / 23:37:11 | liées dans le build 1 |
| Addon : `Module.LPSandbox.cpp.obj` | 23:50:11 | compilé dans le build 2 |
| Addon : `UnrealEditor-LPSandbox.dll` | 23:50:13 | liée dans le build 2 |
| Addon : objs LPModTools (`LPSceneCompare...obj` 18:38:42, `LPShapeMeasure...obj` 18:38:45) | 10-19 18:38 | postérieurs aux sources (18:31:03), donc à jour : pas de recompilation nécessaire en build 2, liaison seule |
Tous les fichiers des deux commits sous `Plugins/LPSandbox/Source` sont couverts : ceux de LPSandbox par `Module.LPSandbox.cpp` (compilé dans les deux builds, obj postérieur aux sources), ceux de LPModTools compilés seuls dans le build 1 et à jour dans le build 2 (objs postérieurs aux sources). Les `.h` sont couverts par leurs inclusions (non vérifié fichier par fichier : incertain). Le commit `5c5c038` ne touche, hors `Docs/`, que `LPSandboxCharGenMod.cpp/.h`, couverts. Verdict : PASS.
### 3.5 Recompte des chiffres de ADD1-BUILD-01.md
| Élément | Livrable | Recompté | Méthode | Verdict |
|---|---|---|---|---|
| Code build 1 / 2 | 0 / 0 | 0 / 0 (`Result: Succeeded` l. 110 / l. 93) | Grep journaux | confirmé |
| Durées | 813 s / 641 s | 812.23 s / 640.99 s | Grep `Total execution time` | confirmé (arrondi) |
| Erreurs | 0 / 0 | 0 / 0 | `Build.ps1 -FromLog`, Grep | confirmé |
| Avertissements | 4 C4996 + 20 UBT / `4` + `20` | 4 + 20 / 4 + 20 | `-FromLog`, Grep | confirmé |
| Unités | 38 / 25 | 38 / 25 | `-FromLog` | confirmé |
| Textes d'avertissement build 2 | « non relus, estimé identique » | identiques (l. 55, 58, 63, 67) | Grep | confirmé |
| Lignes citées § 3 (l. 42-45, 56-61, 49-53) | cohérentes | cohérentes avec les Grep | Grep `Compile|Link` | confirmé |
| Chemin du résumé build 1 (`etat\ADD1\`) | hors `etat\sandbox\ADD1` | déplacé depuis (dossier absent, fichier présent dans `sandbox\ADD1`) | `ls` | obsolète, sans effet |
Écarts du livrable (non bloquants) : classification de deux avertissements comme « nouveaux » exacte mais sans vérification d'antériorité par journal (faite ici, § 3.3) ; PubCheck non lancé par BUILD (fait en § 3.7) ; « Tours : 17 / 15 » dépasse le budget (`FicheStats.py` fait foi, non lancé ici).
### 3.6 UeState
`pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\UeState.ps1"`, sortie brute :
```
Jeu PID 31108 2026-10-20 00:03:10 LifePlay.exe LifePlay_2023_04_Stable_64bit
"D:\XxX\LifePlay_2023_04_Stable_64bit\LifePlay.exe"
Jeu PID 24524 2026-10-20 00:03:10 LifePlay-Win64-Shipping.exe LifePlay_2023_04_Stable_64bit
"D:\XxX\LifePlay_2023_04_Stable_64bit\LifePlay/Binaries/Win64/LifePlay-Win64-Shipping.exe" LifePlay
processus=2 editeur=0 compilation=0 shaders=0 jeu=2
```
Code 1 (attendu 0). Verdict : PARTIEL. `editeur=0 compilation=0 shaders=0` ; les 2 processus sont un jeu empaqueté de `D:\XxX\...` lancé à 00:03:10, après la fin des builds (23:59) : sans lien avec le lot, mais le critère « UeState = 0 » n'est pas atteint à cet instant. BUILD-01 avait relevé `processus=0` avant et après.
### 3.7 PubCheck
Commande (à lancer après l'écriture du livrable) : `pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\PubCheck.ps1' -Fichiers @('...\ADD1-VAL-01.md','...\ADD1-BUILD-01.md')"` ; sortie citée en fin de § 7.
## 4. Diff lu en entier
sans objet pour les sources : lot de build, aucune IMPL ; aucune modification de fichier suivi par ce validateur. Lecture seule du diff `LifePlay.uproject` (`git diff`, déplacement de `McpAutomationBridge` désactivé et ajout de `HyperAIStudio`, antérieur au lot et hors périmètre). Fichiers des commits `53517a9` (22) et `5c5c038` (1 pertinent : `LPSandboxCharGenMod.cpp/.h`) relus par nom ; le contenu du diff n'a pas été relu ligne à ligne (le lot n'en modifie aucun).
Fichiers créés par ce validateur (inventaire des modifications) : `ADD1_BuildLog_20261020-000316.txt` et `ADD1_BuildLog_20261020-000318.txt` dans `etat\sandbox\ADD1\` (sorties de `Build.ps1 -FromLog`, `code=-1` par construction ; ne pas les prendre pour des builds) ; ce livrable. Aucune modification de source.
## 5. Verdict
| Critère | Verdict |
|---|---|
| 1 Recompte `-FromLog` (2 journaux) | PASS |
| 2 Erreurs = 0 | PASS |
| 3 Avertissements listés, addon / hors addon séparés | PASS (liste complète en § 3.3) |
| 4 Recompilation de l'addon prouvée | PASS (preuve indirecte par unity et dates, § 3.4) |
| 5 Chiffres de BUILD-01 | PASS (aucun écart chiffré) |
| 6 UeState = 0 | PARTIEL (code 1, 2 processus de jeu étrangers au lot) |
Verdicts globaux :
- Code 0 : **PASS** (build 1 et build 2).
- 0 avertissement nouveau dans l'addon `Plugins/LPSandbox/Source` : **PASS**.
- Avertissements nouveaux hors addon : **4** C4996 dans `Plugins\UE_MCP_Bridge` (plugin non suivi par git, répertoire de plugins de l'addon), `LandscapeHandlers_Sculpt.cpp(4533,60)`, `LandscapeHandlers_Sculpt.cpp(4548,18)`, `LevelHandlers_Save.cpp(274,11)` (`ALandscape::HasLayersContent`), `MaterialHandlers_Designer.cpp(346,3)` (`ForEachObjectWithOuter`). Absents de tout journal antérieur.
Preuve de chargement (hors fiche) : non faite, aucun lancement. Reste à voir (signalé par BUILD-01, non rejoué ici) : DLL de l'addon (23:50:13, 1 713 152 o) et du jeu (23:35:54, 1 832 448 o) différentes, `lp-build` § 8 ; lecture seule des dates : confirmées.
## 6. Points à confirmer par l'utilisateur
- [ ] Les 4 C4996 `UE_MCP_Bridge` (plugin tiers non suivi, hors addon) sont-ils acceptés comme avertissements connus, ou le plugin doit-il rester hors des builds du jeu ?
- [ ] Le jeu `D:\XxX\LifePlay_2023_04_Stable_64bit` (PID 31108, 24524) est-il à fermer avant le prochain build ?
- [ ] Dossier `Plugins\LPSandbox\Binaries` de l'addon : à examiner avant tout lancement (`lp-build` § 8) ; décision à l'orchestrateur.
## 7. PubCheck
(Sortie citée dans le compte rendu ; voir la mise à jour ci-dessous si elle diffère.)
Non vérifié : `FicheStats.py`, `LPTestStringCompat`, ouverture de l'éditeur (hors fiche).
Tours : 8 / 15