87 lines
9.6 KiB
Markdown
87 lines
9.6 KiB
Markdown
|
|
Fiche U7-T13 — Niveau N0 — Modèle prévu lp-builder | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-build, sk-windows-shell, sk-protocol
|
||
|
|
|
||
|
|
# U7-T13 — Recompilation et empaquetage UE 5.8 après C1+C2 (LPHairstyleSubsystem) : OK (archive neuve `..._U7d`)
|
||
|
|
|
||
|
|
**Verdict : OK.** Étape a (éditeur) code 0, étape b (jeu, `-NoUBA`) code 0, étape c (empaquetage, dossier neuf) code 0. Critère atteint : 0 erreur, aucun avertissement nouveau dans `LPHairstyleSubsystem.cpp`, chaîne `maillage(s) conserve(s)` trouvée une fois dans le binaire jeu de la copie et une fois dans le binaire archivé. Aucune source, config ni Content modifiés par ce lot ; aucun commit ; jeu non lancé ; aucun autre dossier `LifePlay_Build_*` écrit.
|
||
|
|
|
||
|
|
## 0. Préambule
|
||
|
|
[sk-protocol] — skills présents dans le contexte : sk-protocol, sk-windows-shell, lp-build (préchargés). Interpréteur : pwsh 7 (`pwsh -NoProfile -File <script>.ps1` ; scripts dans le scratchpad de session, hors projet).
|
||
|
|
|
||
|
|
## 1. Contrôles de départ (établi)
|
||
|
|
- Copie : `D:\Game\LifePlay-master 5.8` ; `git -C "D:\Game\LifePlay-master 5.8" branch --show-current` = `ue5.8`.
|
||
|
|
- `git -C "D:\Game\LifePlay-master 5.8" status --short` : `M Config/DefaultGame.ini`, `M Source/LifePlay/LPHairstyleSubsystem.cpp`, `M Source/LifePlay/LPHairstyleSubsystem.h`, `M Source/LifePlay/LPModDailies.{cpp,h}`, `M Source/LifePlay/LPModInfoSubsystem.{cpp,h}`, `M Source/LifePlay/LPSettingsSubsystem.cpp`, `M Source/LifePlay/LifePlay.cpp`, `?? Source/LifePlay/LPModGuard.{cpp,h}`. Non commité, voulu (fiche § 1).
|
||
|
|
- Dates des sources (`ls -l --time-style=+%F_%T`) : `LPHairstyleSubsystem.cpp` 2026-10-09 10:11:37 ; `LPHairstyleSubsystem.h` 10:13:06 ; soit avant le build éditeur (10:17:01). Les autres fichiers modifiés sont antérieurs à 09:08 (build U7-T10) : déjà compilés auparavant, non recompilés ici (cohérent avec le journal, § 3).
|
||
|
|
- `LifePlay.uproject` : `"EngineAssociation": "5.8"`. `Config\DefaultEngine.ini` : `CompilerVersion=14.50.35717`.
|
||
|
|
- `Mods\` du projet : 0 entrée (`ls -A ... | wc -l` = 0, avant et après les builds).
|
||
|
|
- Dossier de sortie `D:\Game\LifePlay_Build_5.8_U7d` : absent (`[ -e ... ]` = ABSENT, contrôle juste avant l'étape c).
|
||
|
|
- Processus : `Get-Process` UnrealEditor*, LifePlay, UnrealBuildTool, dotnet, AutomationTool : aucun éditeur ni UBT actif. Deux processus `LifePlay.exe` existent, lancés à 09:29:16 par un tiers, depuis `D:\Game\LifePlay_Build_5.8_U7c_GM\Windows\LifePlay.exe` et `...\U7c_GM\Windows\LifePlay\Binaries\Win64\LifePlay.exe` (`Get-CimInstance Win32_Process`). Ils ne sont pas dans la copie 5.8 ni dans la sortie U7d : non touchés, non arrêtés, sans effet relevé sur les builds.
|
||
|
|
- Outils présents : `Tools\Build.ps1`, `Tools\BuildDebug.ps1` (Test-Path : True).
|
||
|
|
|
||
|
|
## 2. Commandes, codes, durées
|
||
|
|
| Étape | Commande | Code | Durée | Journal | Résumé |
|
||
|
|
|---|---|---|---|---|---|
|
||
|
|
| a. Éditeur | `.\Tools\Build.ps1 -Lot U7` | 0 | 37 s | `Saved\Logs\portage\U7_Build_20261009-101701.log` | `Docs\Migration\etat\U7_Build_20261009-101701.txt` |
|
||
|
|
| b. Jeu | `.\Tools\Build.ps1 -Lot U7 -Target LifePlay -ExtraArgs '-NoUBA'` | 0 | 51 s | `Saved\Logs\portage\U7_Build_20261009-101759.log` | `Docs\Migration\etat\U7_Build_20261009-101759.txt` |
|
||
|
|
| c. Empaquetage | `.\Tools\BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir 'D:\Game\LifePlay_Build_5.8_U7d'` | 0 (UAT 0) | 80 s | `Saved\Logs\portage\BuildDebug_Development_20261009-101900.log` | console du script (pas de résumé compté) |
|
||
|
|
|
||
|
|
Lancements : chaque étape en arrière-plan, espacée (pas de compilation en parallèle, `-FromLog` non utilisé, `-Clean` non utilisé). Sorties console : `scratchpad\U7d_a_stdout.txt`, `scratchpad\U7d_b_stdout.txt`, `scratchpad\U7d_c_stdout.txt`.
|
||
|
|
Incident sans effet sur le build : une première tentative de l'étape a a échoué avant tout lancement (erreur de quoting Bash, `unexpected EOF`) ; relancée à l'identique via un script `.ps1` dans le scratchpad.
|
||
|
|
|
||
|
|
## 3. Étape a — éditeur `LifePlayEditor` (établi)
|
||
|
|
- Commande : `.\Tools\Build.ps1 -Lot U7`, code de sortie 0 (résumé `code de sortie : 0`).
|
||
|
|
- Journal : `Result: Succeeded` (ligne 30). Chaîne MSVC (ligne 13) : `Using Visual Studio 14.50.35739 toolchain (...\MSVC\14.50.35717)` = épinglée.
|
||
|
|
- Unités compilées : 2 = `LPHairstyleSubsystem.cpp` (journal ligne 20 : `[1/5] Compile [x64] LPHairstyleSubsystem.cpp`) et `Module.LifePlay.cpp`. Module modifié recompilé.
|
||
|
|
- DLL liée : `UnrealEditor-LifePlay.dll`.
|
||
|
|
- Erreurs compilateur : **0** ; avertissements compilateur : **0** ; autres lignes UBT/UHT/liens : **0** (`grep -c 'warning C\|error C\|error LNK'` sur le journal = 0).
|
||
|
|
- Unity : `[Adaptive Build] Excluded from LifePlay unity file: LifePlay.cpp, LPHairstyleSubsystem.cpp, LPModDailies.cpp, LPModGuard.cpp, LPModInfoSubsystem.cpp, LPSettingsSubsystem.cpp` (ligne 14) : compilation hors unity, normal.
|
||
|
|
- Champ `Makefile` vide dans le résumé ; aucune ligne makefile relevée : **incertain** (comme U7-T10). Aucune preuve de Makefile.bin périmé non plus : le module modifié figure bien dans les unités compilées.
|
||
|
|
|
||
|
|
## 4. Étape b — jeu `LifePlay` avec `-NoUBA` (établi)
|
||
|
|
- Commande : `.\Tools\Build.ps1 -Lot U7 -Target LifePlay -ExtraArgs '-NoUBA'`, code 0.
|
||
|
|
- Journal : `Result: Succeeded` (ligne 29). Chaîne MSVC identique (14.50.35717).
|
||
|
|
- Unités : 2 = `LPHairstyleSubsystem.cpp [NoUba]` (ligne 20), `Module.LifePlay.cpp [NoUba]`.
|
||
|
|
- Sortie : `Output binary: D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` (ligne 27) ; daté 2026-10-09 10:18:48, 330 689 024 o.
|
||
|
|
- Erreurs **0** ; avertissements **0** ; autres **0**.
|
||
|
|
- « DLL liées : 0 » : écart de script connu (le jeu lie un `.exe`, pas une `.dll`), déjà noté en U7-T8b et U7-T10.
|
||
|
|
|
||
|
|
## 5. Étape c — empaquetage dans dossier neuf (établi)
|
||
|
|
- Commande : `Tools\BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir 'D:\Game\LifePlay_Build_5.8_U7d'`, code 0. Sortie : `UAT code=0 duree=80s`, `bats staged=7 -> D:\Game\LifePlay_Build_5.8_U7d\Windows`, `pdb copies=0`, `exe=D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay.exe`.
|
||
|
|
- Journal UAT (`BuildDebug_Development_20261009-101900.log`) : `BUILD SUCCESSFUL` (ligne 678) ; `AutomationTool exiting with ExitCode=0 (Success)` (ligne 680).
|
||
|
|
- Cuisson : `LogInit: Display: Success - 0 error(s), 1 warning(s)` (ligne 424). Erreurs : **0**. Avertissement : **1**, `LogCook: Warning: CookIncremental and UnversionedCookedContent ... LegacyIterative` (ligne 189, répété ligne 422). Identique à U7-T10 et U7-T8b : connu, non nouveau.
|
||
|
|
- Les deux lignes du journal contenant « error » (420 : `Warning/Error Summary`, 424 : `Success - 0 error(s)`) sont des en-têtes de résumé, pas des erreurs.
|
||
|
|
- `UnrealEditor-Cmd.exe ExitCode=0` (ligne 434) ; `UnrealPak.exe ExitCode=0` (lignes 533, 665).
|
||
|
|
- Archive : `D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay.exe` présent (301 568 o, 10:19) ; `D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay\Binaries\Win64\LifePlay.exe` présent (330 689 024 o, 10:18).
|
||
|
|
- Dossier `Windows\LifePlay\Mods` absent de l'archive ; `Mods\` du projet vide.
|
||
|
|
|
||
|
|
## 6. Chaîne `maillage(s) conserve(s)` (établi, lecture seule)
|
||
|
|
Source : `Source\LifePlay\LPHairstyleSubsystem.cpp:606` : `UE_LOG(LogLifePlay, Display, TEXT("Coiffures : %d maillage(s) conserve(s) a la reconstruction ..."))`.
|
||
|
|
Recherche UTF-16LE par Python en mode isolé (`python -I`, script `scratchpad\count_chain.py`, `bytes.count(needle.encode('utf-16-le'))`) :
|
||
|
|
- `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` : **1** occurrence.
|
||
|
|
- `D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay\Binaries\Win64\LifePlay.exe` : **1** occurrence (taille 330 689 024 o, identique au binaire copie).
|
||
|
|
- `D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay.exe` : non recherché (lanceur, le code du jeu est dans le binaire ci-dessus).
|
||
|
|
|
||
|
|
## 7. Critère (fiche § 8)
|
||
|
|
- 0 erreur (éditeur, jeu, cuisson) : **atteint**.
|
||
|
|
- Aucun avertissement nouveau (éditeur 0, jeu 0, cuisson 1 connu LegacyIterative) : **atteint**.
|
||
|
|
- Chaîne présente dans `Windows\LifePlay\Binaries\Win64\LifePlay.exe` : **atteint** (1 occurrence, § 6).
|
||
|
|
- `Windows\LifePlay.exe` présent : **atteint** (§ 5).
|
||
|
|
- Référence U7-T10 (0/0 compilation ; cuisson 0 erreur, 1 avertissement LegacyIterative) : **identique**.
|
||
|
|
|
||
|
|
## 8. Écarts à la fiche
|
||
|
|
- Aucun écart de commande ni de périmètre.
|
||
|
|
- Le lot ne touche aucun fichier du projet ; seul le livrable est écrit, au chemin demandé.
|
||
|
|
- Deux processus `LifePlay.exe` d'un autre dossier (`LifePlay_Build_5.8_U7c_GM`, 09:29) étaient en cours avant le lot : signalés, non arrêtés.
|
||
|
|
|
||
|
|
## 9. Niveau de preuve
|
||
|
|
- Établi : codes et journaux (§ 2 à 5), résumés `U7_Build_20261009-101701.txt` et `U7_Build_20261009-101759.txt`, `git status`, dates des sources, `[ -e ]` du dossier de sortie, comptage UTF-16LE (§ 6).
|
||
|
|
- Estimé : le recompile reflète C1+C2 (`LPHairstyleSubsystem.cpp`, unités § 3 et § 4 ; mtime du .cpp 10:11:37 < build 10:17:01).
|
||
|
|
- Incertain : absence de ligne makefile dans les résumés (comme U7-T8b et U7-T10) ; jeu non lancé, donc comportement C1+C2 à l'écran non vérifié (hors fiche).
|
||
|
|
|
||
|
|
## 10. Fichiers et journaux
|
||
|
|
- Journaux : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\U7_Build_20261009-101701.log` ; `...\U7_Build_20261009-101759.log` ; `...\BuildDebug_Development_20261009-101900.log` (+ `.cmd`).
|
||
|
|
- Résumés : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\U7_Build_20261009-101701.txt` ; `...\U7_Build_20261009-101759.txt`.
|
||
|
|
- Archive produite : `D:\Game\LifePlay_Build_5.8_U7d\Windows\LifePlay.exe`.
|
||
|
|
- Rien écrit dans les autres `LifePlay_Build_*` ; aucun processus LifePlay lancé ou arrêté par ce lot.
|
||
|
|
|
||
|
|
Suite : orchestrateur doit valider U7-T13 (VAL par lp-validator si requis) ; état : a, b, c OK ; archive `D:\Game\LifePlay_Build_5.8_U7d` produite, jeu non lancé, aucun commit.
|