LifePlay-Revival/Docs/Migration/etat/sandbox/DC3/DC3-VAL.md
edujiro5972 e46093c81c DC3 : atelier de mods hors du jeu, dans l'addon LifePlay-Sandbox (CHG-236)
Retrait de BuildMod, NewMod, EditMod, ModSource, HairPipeline et leurs .py, Tools/anim,
Tools/hairs, Tools/mods, ModSources, AnimSources, Config/LPSandbox.ini, lanceurs sandbox et
guide des moddeurs (57 fichiers suivis ; contenu disque deplace vers la sauvegarde DC3).
References et docs mises a jour. Pin addon 79f0205. Validation : DC3-VAL PASS (cuisson
lpr_anim_freeanims depuis l'addon identique au mod publie, tournee identique a SB2-REF).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 19:53:13 +02:00

77 lines
10 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.

# DC3-VAL — Validation automatique du lot DC3 (DC3-T3b)
**Fiche DC3-T3b — Modèle prévu sonnet | utilisé sonnet** (agent A-VAL)
- Date : 2026-10-07. Build testé : celui de `DC3-BUILD.md` (code 0, non recompilé). Lot DC3 : atelier de mods dans l'addon `D:\Game\LifePlay-Sandbox`, nouveau `Tools\Roots.ps1`, `LPAnimCatalog` exigeant `-Livraison=`.
- Méthode : celle de `DC2-VAL.md` (pwsh 7, aucun éditeur avant chaque lancement, comparaison SHA-256 contre `SB2-REF`). Aucune commande git hors `status`, aucun script/source/ini modifié, aucune recompilation, rien supprimé.
- Journaux et pièces : `D:\Game\LifePlay_Backup_5.5\DC3-VAL\` (`v4.log`, `v5.log`, `v5.cmd`, `v6.log`, `v7.log`, `V5_LifePlay.log`, `V6_LifePlay.log`, `V8_LifePlay.log`, `DC3_LPAnimCatalog_20261007-194818.log`, `mods\` zip produit, `x\` extraction des deux zips, `dc3_test_mod\` mod de test déplacé).
## Tableau des essais
| Essai | Attendu | Constaté | Verdict |
|---|---|---|---|
| V0 préalable | `<jeu>\Mods` vide ; `Tools\BuildMod.ps1`, `Tools\anim`, `ModSources`, `AnimSources`, `Config\LPSandbox.ini` absents du jeu | `Mods` présent et vide ; les 5 `Test-Path` = False. 0 UnrealEditor. | PASS |
| V1 racines | `D:\Game\LifePlay-master 5.5` puis `D:\Game\LifePlay-Sandbox` ; erreur explicite si racine invalide | `D:\Game\LifePlay-master 5.5` / `D:\Game\LifePlay-Sandbox`. `Resolve-LPRoots 'D:\Nexiste\Pas'` : `Exception: ...\Tools\Roots.ps1:37 ... LifePlay.uproject introuvable dans D:\Nexiste\Pas (racine du jeu)` | PASS |
| V2 ModSource | montage/démontage, addon retrouvé, `Mods` vide | `Mod lpr_anim_freeanims monte dans Mods\lpr_anim_freeanims` ; `Get-StrayMods` : `lpr_anim_freeanims` ; `Mod lpr_anim_freeanims remis dans ModSources\lpr_anim_freeanims`. `ModSources\lpr_anim_freeanims\lpr_anim_freeanims.uplugin` = True ; `<jeu>\Mods` : 0 entrée. | PASS |
| V3 NewMod | 3 fichiers + `Tools\mods\dc3_test_mod.json` dans l'addon ; déplacé ; git propre | `Mod cree : D:\Game\LifePlay-Sandbox\ModSources\dc3_test_mod` ; `.uplugin`, `Module\dc3_test_mod.lpmod`, `Module\CREDITS.txt`, `Tools\mods\dc3_test_mod.json` tous True (dans l'addon). Déplacés (Move-Item) vers `DC3-VAL\dc3_test_mod\`. `git status --short` de l'addon : plus aucune trace de `dc3_test_mod` (restent les 3 `M` DC3 attendus, voir V9). `<jeu>\Mods` vide. | PASS |
| V4 cuisson de mod | code 0, même liste de fichiers | code 0, 28 s (voir détail). Zip 4 416 299 octets, 29 fichiers, SHA-256 `F4D011F9...C62DE`. `<jeu>\Mods` vide ; `ModSources\lpr_anim_freeanims\lpr_anim_freeanims.uplugin` revenu. | PASS |
| V5 conversion à blanc des rigs | `RETARGET rigs prets jeton ...` | `Conversion des clips de /Game/Quaternius/UAL vers Bridget et Michael (methode ue4, rigs)` / ` RETARGET rigs prets jeton 5a32ccdcbe35` / `Cuisson non lancee`. 59 s. Journal éditeur : `LogLPAnimMeasure: PATHS racine addon D:/Game/LifePlay-Sandbox` ; `LogPython: Warning: RETARGET methode ue4 profil ue4_mannequin calques T` ; `RETARGET profil UAL1_Standard -> ue4_mannequin (100%)`. Plantage à la fermeture : non observé, 0 éditeur après. | PASS |
| V6 tournée freeanims `-From 5 -To 5` | code 0, `ok`, 73 fichiers comparés | code 0, 424 s, `verdict : ok (424 s)`, `[ok] une vignette <Clip>.png par clip`, `[ok] une planche <Clip>.jpg + .json par clip`. Voir détail. | PASS |
| V7 LPAnimCatalog sans argument | `Usage`, code 1, `fiches_calculees.json` inchangé | `LogLPAnimCatalog: Error: Usage : -Livraison=<livraison.json> [-Out=<dossier>] [-SeuilBoucle=1] [-SeuilSurPlace=5]`, `code=1 duree=12s erreurs=2`. SHA-256 de `Saved\AnimPipeline\quaternius\fiches_calculees.json` avant = après = `5DBBA632FAF3821415D0F7EF9CD74226EA694501BCC69B96565170194F9417AE` (date de modification aussi inchangée, 00:33:24). | PASS |
| V8 lanceur pair | `Ouvert :`, Modules, PATHS | `LifePlay_pair_sandbox.bat` ; `Ouvert :` en moins de 60 s. `LogLPAnimMeasure: PATHS racine addon D:/Game/LifePlay-Sandbox` ; `LogLPSandboxMods: Display: Modules : 7 sandbox, 16 jeu ; ordre : lps_system_core, lps_system_animmeasure, lps_lib_scene, lps_lib_actors, lps_couple, lps_interaction, lps_asset_integration` ; `LogLPSandboxMods: Display: Ouvert : lps_couple`. Processus UnrealEditor arrêté (`Stop-Process`). | PASS |
| V9 état final | `Mods` vide, 0 éditeur, `Open=lps_couple`, git status | `<jeu>\Mods` : 0 ; 0 UnrealEditor ; `Saved\sandbox_mods.ini` : `Order=lps_couple,lps_interaction,lps_asset_integration`, `Open=lps_couple`, 3 modules `true`. Git : voir ci-dessous. | PASS |
## Détail V4 : cuisson `lpr_anim_freeanims`
- Version lue dans le jeu 2026.10.1.6, journal de cuisson `Saved\Logs\portage\mods\lpr_anim_freeanims_20261007_193840.log`. Sorties : `20 paquet(s) cuit(s)`, `conteneur : 20 fichier(s), tous sous Mods/lpr_anim_freeanims/`, `Archive : ...\DC3-VAL\mods\lpr_anim_freeanims-1.0-for-LifePlay-2026.10.1.6.zip (4 416 299 octets, 29 fichiers ...)`. Pas de dossier `precedent_*` (sortie vers un dossier neuf).
- Comparaison avec `D:\Game\LifePlay_Publication\Mods\lpr_anim_freeanims-1.0-for-LifePlay-2026.10.1.6.zip` (7-Zip, les deux zips extraits) : 41 entrées (dossiers compris) de chaque côté, 29 fichiers de chaque côté, **liste identique** (aucun fichier en plus ni en moins), taille de l'archive identique (4 416 299 octets).
- Comparaison fichier par fichier (SHA-256) : **les 29 fichiers sont octet pour octet identiques**, y compris `lpr_anim_freeanimsLifePlay-Windows.pak` (2 718 o), `.ucas` (642 192 o), `.utoc` (2 485 o) ; seul l'horodatage du système de fichiers du `.pak` diffère (non compris dans le contenu). Aucun écart de taille.
- `.lpmod` livré : SHA-256 identique (`0B1B3CAE...4DD9`), diff texte vide (`MODULE_PACKAGED: 2026-10-07` et `MODULE_GAME_VERSION: 2026.10.1.6` identiques dans les deux).
- Le SHA-256 du zip précédent est `F518B0EB...EAC` contre `F4D011F9...62DE` : différence due à l'enveloppe zip (horodatages des entrées), pas au contenu.
## Détail V6 : comparaison complète contre `SB2-REF\freeanims\`
Règle de DC2-VAL : SHA-256 de chaque fichier commun ; `5_evaluation.json` et `2_identification.json` comparés en JSON hors `debut`/`fin`/`duree_s` ; `etat.json` exclu ; ligne « Généré le » de `rapport.html` exclue.
- **73 fichiers comparés, liste 73 / 73 identique** (`Compare-Object` vide).
- 50 fichiers au SHA-256 identique. 23 différents :
- `etat.json` (même taille 1 960 o), `rapport.html` (seule ligne différente : `Généré le` 07/10/2026 12:31:18 → 19:41:00), `etapes\2_identification.json` (JSON égal hors dates), `etapes\5_evaluation.json` (JSON égal hors dates ; verdict `ok` des deux côtés, 0 avertissement des deux côtés ; `duree_s` 424 vs 435).
- **19 images** (10 planches `.jpg` + 9 vignettes `.png`), toutes dans les 20 images connues non déterministes (AirKiss, AttackInLevitation2, ChillDriving, ComboHands, EatingOnParty, FlyingUp, GoForward, Rest, RightLegKick2, Talk), écart de taille maximal 0,16 % (`AS_Talk.jpg` 144 201 → 144 435). `AS_ChillDriving.png` est cette fois identique, d'où 19 sur 20.
- Tous les fichiers de données (`rapport.json`, CSV, `retarget_pose_*.txt`, etc.) identiques.
- Journal d'éditeur (`V6_LifePlay.log`) : `LogLPAnimMeasure: PATHS racine addon D:/Game/LifePlay-Sandbox` ; `METHODE ue5 (calques en pose A, profil source ue5_mannequin)` ; `PROFIL squelette SK_Mannequin (161 os) -> ue5_mannequin, 100% des os du profil` ; `PROFIL squelette bridget_gp_Skeleton (191 os) -> genesis8, 100% des os du profil` ; `PROFIL squelette michael_Skeleton (183 os) -> genesis8, 100%` ; `LogLPSandbox: Warning: TOURNEE debut 10 clips, 30 etapes` ; `LogLPSandboxMods: Display: Ouvert : lps_asset_integration (declencheur, non memorise)`. Aucune erreur « profil » ou « methode » introuvable (les seules lignes trouvées par la recherche `profil` sont `Deviceprofile LinuxArm64... not found`, sans rapport, du moteur). Seul `Error` du journal : `LogLifePlay: Error: Coiffures : GI.HairstyleTable ou GI.MorphableHairs introuvable sur GameInstance_0, table laissee telle quelle` (connu, propre à la sandbox, déjà noté à DC2-VAL).
- `Open=lps_couple` conservé après la tournée.
## État final (V9)
- `git -C D:\Game\LifePlay-Sandbox status --short` (changements DC3 non commités, attendu : retrait des replis vers le jeu) :
```
M Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimMeasurePaths.cpp
M Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimMeasurePaths.h
M Plugins/LPSandbox/Source/LPSandbox/LPSandboxConfig.cpp
```
- `git -C "D:\Game\LifePlay-master 5.5" status --short` : 69 lignes, inchangées par cette validation (retraits indexés `D ` de `ModSources/`, `AnimSources/`, `Tools/BuildMod.ps1`, `NewMod.ps1`, `EditMod.ps1`, `ModSource.ps1`, `HairPipeline.ps1`, `Tools/anim/*`, `Tools/hairs`, `Tools/mods`, `Tools/debug/*_sandbox.bat`, `Config/LPSandbox.ini`, `Docs/Modding/...` ; modifiés ` M` `.gitignore`, `README.md`, `Docs/Modding/ShortGuides/explanation.lpmod`, `Source/LifePlay/LPModInfoSubsystem.h`, `Tools/BuildDebug.ps1`, `Tools/SplitModules.ps1` ; non suivis `.cursor/`, `Docs/Migration/etat/PUB1/`, `Docs/Migration/etat/commit_plan/CP-RUN.md`, `Docs/Migration/etat/sandbox/DC3/`, `LPSandboxMeasure.cpp`, `LPSandboxMeasureTour.cpp`).
## Anomalies
1. `Tools\RunCommandlet.ps1` écrit son résumé `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\DC3_LPAnimCatalog_20261007-194818.txt` (comportement du script, non listé par git status, sans doute ignoré) : à déplacer ou ignorer si indésirable.
2. `Saved\sandbox_mode.txt` contient `Pair` en fin de validation (valeur écrite par le lanceur pair en V8 ; la valeur d'origine avant V6 n'avait pas été relevée, le pilote la restaure lui-même après V6).
3. Compte des entrées de zip : 41 entrées dont dossiers pour 29 fichiers (la fiche ne précisait pas la différence) ; sans conséquence.
4. Le dossier `D:\Game\LifePlay_Backup_5.5\DC3-VAL\x\` contient les deux extractions de zip (rien supprimé) ; peut être effacé par l'utilisateur.
5. Aucune anomalie sur les chemins : l'addon est utilisé seul pour profils/méthodes (V6, V5 réussis sans repli), et le jeu n'a plus aucun des éléments d'atelier.
## Verdict
**PASS** sur V0–V9. Critères : V4 zip produit avec la même liste de fichiers (et contenus octet pour octet identiques) ; V6 73 fichiers comparés ; V7 code 1 sans écriture ; `<jeu>\Mods` vide à la fin.
## Reste à valider par l'utilisateur
Rien de visuel, sauf s'il souhaite ouvrir EditMod (`D:\Game\LifePlay-Sandbox\Tools\EditMod.ps1`, lancement de l'éditeur sur un mod, non testé ici).
## Modèles par fiche
| Fiche | Modèle prévu | Modèle utilisé |
|---|---|---|
| DC3-T1 | opus | opus |
| DC3-T2 | opus | opus |
| DC3-T3a | haiku | haiku |
| DC3-T3b | sonnet | sonnet |