LifePlay-Revival/Docs/Migration/etat/U58/U7/U7-T15-BUILD.md

136 lines
12 KiB
Markdown
Raw Normal View History

Fiche U7-T15 — Niveau N1 — Modèle prévu lp-builder | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-build, lp-commandlets, sk-windows-shell, sk-protocol
# U7-T15 — Recuisson des 3 mods d'assets pour LifePlay 2026.10.2.0 (UE 5.8) : BUILD
Résultat : **ÉCHEC** au premier mod (`lpr_hair_pocolov`). Arrêt selon la fiche (§ 9). Les deux autres mods (`lpr_anim_quaternius`, `lpr_anim_freeanims`) n'ont **pas** été lancés. Aucune archive 2026.10.2.0 produite.
## 1. Contexte
- Addon (atelier) : `D:\Game\LifePlay-Sandbox-5.8`, branche `ue5.8`. `git status` (établi, commande `git -C "D:\Game\LifePlay-Sandbox-5.8" status --short`) : `M Tools/BuildMod.ps1` (U7-T7, voulu) et `M ModSources/<id>/Module/<id>.lpmod` pour les 3 mods (voulu).
- Jeu : `D:\Game\LifePlay-master 5.8` (branche `ue5.8`), `Config/DefaultGame.ini:4` `ProjectVersion=2026.10.2.0`, `LifePlay.uproject:3` `EngineAssociation: 5.8`.
- Référence : `D:\Game\LifePlay-master 5.8\Releases\2026.10.2.0\Windows` (contient `AssetRegistry.bin`, `LifePlay-Windows.pak/.ucas/.utoc`, `Metadata`), produite en U7-T14.
- Moteur de cuisson lu par `Tools\Engine.ps1` : `D:\Game\Launcher\Engine\UE_5.8\Engine`, version `5.8.3` (`Build\Build.version`, ligne de sortie BuildMod « moteur de la cuisson : 5.8.3 »).
- Résolution de la racine du jeu : `Config\LPSandbox.ini:[Workshop] GameRoot=..\LifePlay-master 5.8` (établi) ; le paramètre `-GameRoot "D:\Game\LifePlay-master 5.8"` a été passé explicitement (même cible).
- Éditeur UE fermé : aucun `UnrealEditor` / `UnrealEditor-Cmd` en cours (`Get-Process`, 0).
- `Mods\` du jeu 5.8 **vide avant** (`ls -la`, 2 entrées `.` et `..`).
## 2. Commande exacte (mod 1)
Interpréteur : `pwsh 7.6.6` (`C:\Program Files\PowerShell\7\pwsh.exe`). Répertoire : `D:\Game\LifePlay-Sandbox-5.8`. Lancement en arrière-plan, sortie dans `…\scratchpad\u7t15_pocolov.out`.
```
pwsh -NoProfile -File "D:\Game\LifePlay-Sandbox-5.8\Tools\BuildMod.ps1" -Name lpr_hair_pocolov -GameRoot "D:\Game\LifePlay-master 5.8"
```
Début : 2026-10-09T10:45:38+02:00. Fin : 2026-10-09T10:45:58+02:00 (durée ≈ 20 s). Code de sortie : `EXIT=1` (`tasks\b2v3h1pxr.output`, écrit par la commande ; la notification « exit code 0 » vient de l'enveloppe et ne reflète pas le script).
Sortie du script (établi, `u7t15_pocolov.out`) :
```
Mod lpr_hair_pocolov monte dans Mods\lpr_hair_pocolov
Cuisson DLC de lpr_hair_pocolov contre 2026.10.2.0 (journal : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\mods\lpr_hair_pocolov_20261009_104538.log)
moteur de la cuisson : 5.8.3 (D:\Game\Launcher\Engine\UE_5.8\Engine)
0 paquet(s) cuit(s)
Mod lpr_hair_pocolov remis dans ModSources\lpr_hair_pocolov
Exception: D:\Game\LifePlay-Sandbox-5.8\Tools\BuildMod.ps1:261
Conteneur : 0 entree(s), 0 hors de Mods/lpr_hair_pocolov ()
```
**Message exact d'échec** : `Conteneur : 0 entree(s), 0 hors de Mods/lpr_hair_pocolov ()` — `BuildMod.ps1:261`.
Journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\mods\lpr_hair_pocolov_20261009_104538.log` (575 lignes), commande du cook : `…\lpr_hair_pocolov_20261009_104538.cmd`.
## 3. Cause observée (établi, lecture seule du journal et du dossier)
1. Le cook a trouvé **zéro asset** du mod :
- `LogAssetManager: ModifyDLCCook: Scanning Plugin Directory lpr_hair_pocolov for assets` (journal l. 191) ;
- `Found 0 localized assets` (l. 194) ;
- `Cooked packages 0 Packages Remain 9523 Total 9523` puis `Cooked packages 0 Packages Remain 0 Total 0` (l. 196-198) ;
- `Generated development asset registry … num assets 0` (l. 202) ;
- `Packages Cooked: 0, … Total Packages: 0` (l. 210) ; `LogIoStore … Output: 0 Name map entries`, `0 Imported package entries` (fin du journal).
- `BUILD SUCCESSFUL`, `AutomationTool exiting with ExitCode=0` : l'outil de cuisson a rendu 0, mais le conteneur est vide.
2. Cause probable (établi pour la présence, estimé pour la cause) : le dossier `Content\` du mod n'existe pas dans l'addon 5.8 :
- `ls D:\Game\LifePlay-Sandbox-5.8\ModSources\lpr_hair_pocolov\` → `Module`, `Saved`, `lpr_hair_pocolov.uplugin` (pas de `Content`) ;
- le même dossier dans l'addon 5.5 `D:\Game\LifePlay-Sandbox\ModSources\lpr_hair_pocolov\Content` existe (contient `Hairs`) ;
- `ModSources\lpr_anim_quaternius\Content` et `ModSources\lpr_anim_freeanims\Content` : absents dans 5.8, présents dans 5.5.
- Hypothèse : le worktree `ue5.8` ne porte pas les contenus non versionnés (`Content\`, non suivis par git), contrairement au checkout 5.5. Non vérifié : `git check-ignore` n'a rien signalé (la commande ne montre pas la règle) ; l'essai qui tranche est de lister `git -C D:\Game\LifePlay-Sandbox-5.8 ls-files ModSources/lpr_hair_pocolov/Content` et de vérifier la présence des fichiers `.uasset` sous `D:\Game\LifePlay-Sandbox\ModSources\lpr_hair_pocolov\Content\Hairs`.
3. Le script n'a pas arrêté à la cuisson : la vérification `Packages Cooked: (\d+)` a trouvé `0` (`BuildMod.ps1:~250`, `$cooked` non vide) et `$exit` = 0, donc l'arrêt n'a eu lieu qu'au contrôle du conteneur (`BuildMod.ps1:261`). Constat, sans correction.
## 4. Effets de bord constatés (à rapporter, non corrigés)
- Après la cuisson, `Dismount-ModSource` a bien remis le dossier : `ModSources\lpr_hair_pocolov\` contient à nouveau `Module`, `lpr_hair_pocolov.uplugin` (daté 2026-10-08, inchangé), **et un dossier `Saved\` créé à 10:45** (`Saved\Cooked`, `Saved\StagedBuilds`, vides : `ls -la`). Ce dossier est un artefact de cuisson rapatrié par le déplacement du mod ; il est dans l'addon, non suivi par git (non vérifié plus avant) — à retirer par l'orchestrateur, pas par moi (interdit « pas de rm »).
- `Mods\` du jeu 5.8 : **vide après** (`ls -la`, `Mods/` ne contient que `.` et `..`). Établi.
- Les `.lpmod` sources sont inchangés (BuildMod n'écrit l'estampille que dans la copie livrée) — non vérifié par diff ; `git status` de l'addon montre toujours `M` (voulu).
- Aucune archive créée ni écrasée : `D:\Game\LifePlay_Publication\Mods\` ne contient aucun `*2026.10.2.0*` (établi : `ls | grep -c 2026.10.2.0` → 0 ; `INDEX.txt` absent). Archives 5.5 non touchées.
## 5. Mods 2 et 3 : non lancés
`lpr_anim_quaternius` et `lpr_anim_freeanims` : **non exécutés** (arrêt au premier échec, fiche § 9). Les mêmes causes (`Content\` absent du worktree 5.8) sont probables pour les deux (établi pour l'absence de `Content` dans l'addon 5.8 ; à confirmer par la même commande).
## 6. Champs et formats
Non vérifiés : pas d'archive produite. Les contrôles de la fiche (`.lpmod` `MODULE_GAME_VERSION: 2026.10.2.0`, `.uplugin` `EngineVersion` 5.8.x, en-tête de conteneur 5 et AssetRegistry 24) restent à faire après correction et nouvelle cuisson.
## 7. Tableau par mod
| Mod | Statut | Paquets cuits | Erreurs | Archive |
|---|---|---|---|---|
| lpr_hair_pocolov | ÉCHEC `BuildMod.ps1:261` | 0 (attendu ≈ 70) | Conteneur 0 entrée | non produite |
| lpr_anim_quaternius | non lancé | — | — | — |
| lpr_anim_freeanims | non lancé | — | — | — |
## 8. Suite
Suite : orchestrateur doit décider de la cause (`Content\` absent du worktree `ue5.8`, à confirmer) et de la correction (hors de cette fiche) avant de relancer R3 ; état : mod 1 en échec, mods 2 et 3 non lancés, aucune archive 2026.10.2.0 produite, `Mods\` du jeu 5.8 vide, un dossier `Saved\` (artefact de cuisson) ajouté dans `ModSources\lpr_hair_pocolov\`.
## 9. Reprise (après correction de l'orchestrateur)
Cause confirmée par l'orchestrateur : `/ModSources/*/Content/` est ignoré par git (`.gitignore:38`) et absent du worktree `ue5.8`. Correctif fait par l'orchestrateur : les trois dossiers `ModSources\<id>\Content` copiés depuis `D:\Game\LifePlay-Sandbox` (70 / 84 / 20 fichiers, MD5 identiques). Le `Saved\` vide de la première tentative déplacé vers `D:\Game\LifePlay_Backup_5.5\U7-addon\` (dossier `lpr_hair_pocolov_Saved`).
Commandes (pwsh 7.6.6, cwd `D:\Game\LifePlay-Sandbox-5.8`, un mod à la fois, sans `-Install`, sans `-Anim`) :
```
pwsh -NoProfile -File "D:\Game\LifePlay-Sandbox-5.8\Tools\BuildMod.ps1" -Name lpr_hair_pocolov -GameRoot "D:\Game\LifePlay-master 5.8"
pwsh -NoProfile -File "D:\Game\LifePlay-Sandbox-5.8\Tools\BuildMod.ps1" -Name lpr_anim_quaternius -GameRoot "D:\Game\LifePlay-master 5.8"
pwsh -NoProfile -File "D:\Game\LifePlay-Sandbox-5.8\Tools\BuildMod.ps1" -Name lpr_anim_freeanims -GameRoot "D:\Game\LifePlay-master 5.8"
```
| Mod | Heure (2026-10-09) | Code | Paquets cuits (journal) | Conteneur (BuildMod) | Journal |
|---|---|---|---|---|---|
| lpr_hair_pocolov | 10:47:48 → 10:48:20 | 0 (notification) | 70 (attendu ≈ 70) | 94 fichiers, tous sous `Mods/lpr_hair_pocolov/` | `Saved\Logs\portage\mods\lpr_hair_pocolov_20261009_104748.log` |
| lpr_anim_quaternius | 10:48:28 → 10:48:57 | 0 | 84 (attendu 84+) | 84 fichiers, tous sous `Mods/lpr_anim_quaternius/` | `…\lpr_anim_quaternius_20261009_104828.log` |
| lpr_anim_freeanims | 10:49:03 → 10:49:34 | 0 | 20 (attendu 20+) | 20 fichiers, tous sous `Mods/lpr_anim_freeanims/` | `…\lpr_anim_freeanims_20261009_104903.log` |
Journaux : aucune ligne `Error`/`Warning` hors `LogTargetPlatformManager: Failed to SetupSDK for platform '<plateforme>'` (6 lignes par journal, plateformes non Windows : Android, IOS, Linux, LinuxArm64, Mac, TVOS, bénin par construction de l'outil). Cuisson : `Packages Cooked: N, … Total Packages: N` (N = 70 / 84 / 20).
Archives (`D:\Game\LifePlay_Publication\Mods\`, nouvelles, aucune archive 5.5 touchée) :
| Archive | Taille (octets) | SHA-256 | Entrées (7z) |
|---|---|---|---|
| `lpr_hair_pocolov-1.0-for-LifePlay-2026.10.2.0.zip` | 3 810 003 | B61AAA3B08B2901887C9560DC6A9AD4E281B509064B624E0BE60387D796FFFF9 | 19 fichiers (+ dossiers) |
| `lpr_anim_quaternius-1.0-for-LifePlay-2026.10.2.0.zip` | 15 798 361 | F12BC14639E52A8097D72B98BCFDCD989C0F4C215DE7492B40F88EDD41F7F167 | 93 fichiers |
| `lpr_anim_freeanims-1.0-for-LifePlay-2026.10.2.0.zip` | 4 417 182 | DFBC5D5C1B7DFFBB045A817B8BF8EB03EA53383E985FCB3107BC36837DA94258 | 29 fichiers |
Contenu : `LifePlay\Mods\<id>\` (`<id>.uplugin` + `Content\Paks\Windows\<id>LifePlay-Windows.{pak,ucas,utoc}`), `LifePlay\Content\Modules\<id>\` (`.lpmod` et sources du module), `README.txt`. Le dossier de staging `lpr_*-1.0-for-LifePlay-2026.10.2.0\` reste à côté de chaque zip (comportement du script).
Champs vérifiés (extraction en scratchpad, lecture seule) :
- `pocolov` : `MODULE_AUTHOR: LifePlay Revival`, `MODULE_GAME_VERSION: 2026.10.2.0`, `MODULE_PACKAGED: 2026-10-09` ; `.uplugin` `"VersionName": "1.0"`, `"EngineVersion": "5.8.3"`.
- `quaternius` : mêmes champs (`LifePlay\Content\Modules\lpr_anim_quaternius\lpr_anim_quaternius.lpmod`, `…\Mods\lpr_anim_quaternius\lpr_anim_quaternius.uplugin`).
- `freeanims` : mêmes champs.
Formats (script scratchpad `u7t15_fmt.py`, adapté de `t6/ue_containers.py`) :
| Mod | En-tête de conteneur (sig 0x496f436e) | AssetRegistry.bin (version) |
|---|---|---|
| lpr_hair_pocolov | version 5 | taille 28 256, version 24 |
| lpr_anim_quaternius | version 5 | taille 31 960, version 24 |
| lpr_anim_freeanims | version 5 | taille 10 040, version 24 |
`Mods\` du jeu 5.8 : vide après les trois cuissons (`ls -A` : 0 entrée).
Résidus à signaler (non retirés) : le déplacement de retour de `Dismount-ModSource` a rapatrié le dossier `Saved\` de cuisson dans chaque `ModSources\<id>\`. Contenu : 179 (pocolov), 183 (quaternius), 55 (freeanims), soit 417 fichiers sous `ModSources\*\Saved\` (`find … -path "*/Saved/*" -type f`). `git status` de l'addon : seuls `M` attendus (`Tools/BuildMod.ps1`, les trois `.lpmod`).
Résultat de la reprise : **3 archives 2026.10.2.0 produites**, 0 erreur de cuisson, formats 5 / 24 conformes au critère. Incertitudes : le code de sortie 0 des cuissons est le code de l'enveloppe de lancement (pas relu sur `$LASTEXITCODE` du script) ; la conformité « 3 fichiers de conteneur » (`.utoc/.ucas/.pak`) et le dossier `Saved\` résiduel restent à traiter par l'orchestrateur.
Suite : orchestrateur doit décider du retrait des 417 fichiers `ModSources\*\Saved\` (résidus de cuisson) et valider les trois archives 2026.10.2.0 ; état : U7-T15 réussi (3/3 archives, critère atteint), `Mods\` vide, aucune archive 5.5 touchée.