# DC1-VAL — Validation automatique du lot DC1 (DC1-T3, partie automatique) **Fiche DC1-T3 — Modèle prévu sonnet | utilisé sonnet** - Date : 2026-10-07. Build testé : celui de `DC1-BUILD.md` (code 0, non recompilé). Lot DC1 : LPAnimRedirect et LPCoupleSim déplacés dans le plugin du jeu `Plugins\LPAnimCore`. - Journaux copiés dans `D:\Game\LifePlay_Backup_5.5\DC1-VAL\` : `F1.log`, `F2_quaternius_sandbox.log`, `F2_quaternius_console.txt`, `F2_freeanims_sandbox.log`, `F2_freeanims_console.txt` (+ `F2_*_result.txt` : code et durée). - Procédure : méthode de `SB4-VAL.md` / `SB2-VAL.md` (lanceur `LifePlay_pair_sandbox.bat` lancé depuis PowerShell, attente de `Ouvert :`, copie du journal, arrêt du seul `UnrealEditor` lancé ; tournées par `AnimPipeline.ps1 -Pack -From 5 -To 5`, aucun éditeur avant chaque lancement). Aucun git (hors `status`), aucune modification de source, script ou ini. - Incident sans effet : une première tentative freeanims, lancée par erreur dans Windows PowerShell 5.1 (`Start-Process powershell`), a échoué immédiatement : `ECHEC : Impossible de trouver un paramètre correspondant au nom « AsHashtable ».` (cmdlet PowerShell 7 ; erreur de mon lancement, pas du build ; aucun éditeur lancé). Relancée dans pwsh 7 (comme le quaternius) ; seul ce second lancement est retenu. ## Tableau des essais | Essai | Attendu | Constaté (lignes recopiées) | Verdict | |---|---|---|---| | F1 démarrage | 7 modules, ordre, aucun refus, `Ouvert : lps_couple`, aucun Error/Ensure/Fatal LPSandbox/LPAnimCore/LPAnimMeasure | `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` ; les 7 en `pret` ; `LogLPSandboxMods: Display: Ouvert : lps_couple`. Lignes citant LPAnimCore : `LogPluginManager: Mounting Project plugin LPAnimCore` et `LogConfig: Branch 'LPAnimCore' had been unloaded. Reloading on-demand took 0.10ms` (aucune erreur de chargement du module). Aucune ligne de refus de module (le mot « refus » n'apparaît que dans `UTS: Unable to launch the Unreal Trace Server ... Accès refusé`, avertissement d'environnement). Seul `Error` : `LogLifePlay: Error: Coiffures : GI.HairstyleTable ou GI.MorphableHairs introuvable sur GameInstance_0, table laissee telle quelle` (connu, préexistant, hors LPSandbox). Aucun `Ensure`/`Fatal`. Corps, boîte AgMakeout et poses chargés comme à SB2. | PASS | | F2 quaternius : avant | `Open=lps_couple` | `Saved\sandbox_mods.ini:3:Open=lps_couple` | PASS | | F2 quaternius : journal | `Ouvert : lps_asset_integration (declencheur, non memorise)` + `TOURNEE fermeture demandee` | `LogLPSandbox: Warning: TOURNEE debut 43 clips, 129 etapes` ; `LogLPSandboxMods: Display: Ouvert : lps_asset_integration (declencheur, non memorise)` ; tournée 43 clips ; fermeture demandée. Code 0, 1139 s, verdict `avertissement`. Seul Error : Coiffures. | PASS | | F2 quaternius : après | `Open=lps_couple` | `Saved\sandbox_mods.ini:3:Open=lps_couple` | PASS | | F2 freeanims : avant | `Open=lps_couple` | `Saved\sandbox_mods.ini:3:Open=lps_couple` | PASS | | F2 freeanims : journal | idem | `LogLPSandbox: Warning: TOURNEE debut 10 clips, 30 etapes` ; `LogLPSandboxMods: Display: Ouvert : lps_asset_integration (declencheur, non memorise)` ; `TOURNEE debut 10 clips, 697 etapes` ; `LogLPSandbox: Warning: TOURNEE fermeture demandee`. Code 0, 458 s, verdict `ok`. Seul Error : Coiffures. | PASS | | F2 freeanims : après | `Open=lps_couple` | `Saved\sandbox_mods.ini:3:Open=lps_couple` | PASS | | F3 quaternius | fichiers identiques, verdict `avertissement`, 8 mêmes avertissements | voir détail | PASS | | F3 freeanims | fichiers de données identiques, verdict `ok` | voir détail (20 images diffèrent, les mêmes qu'à SB2/SB4) | PASS (images : à juger) | | F4 état final | ini standard, aucun éditeur, git recopié | voir ci-dessous | PASS | ## Détail F3 Référence : `D:\Game\LifePlay_Backup_5.5\SB2-REF\\` ; nouveau : `Saved\AnimPipeline\\`. Comparaison par SHA-256 de chaque fichier commun. ### quaternius (verdict `avertissement`) - Liste de fichiers : 44 / 44, identique ; 44 fichiers comparés (critère > 40 : OK). - Seuls fichiers dont le SHA-256 diffère : `etapes\5_evaluation.json` (champs `debut`, `fin`, `duree_s` 1136 → 1139), `etat.json` (`fin`, `maj`) et `rapport.html` (seule ligne différente : « Généré le » 07/10/2026 12:10:18 → 16:21:02). Tous les autres `.json`, `.csv`, `.txt` (dont `rapport.json`, `eval_*.csv`, `controles_*.csv`, `retarget_pose_*.txt`) sont identiques : 41 fichiers identiques sur 44. - Verdict `5_evaluation.json` : `avertissement` dans la référence et dans le nouveau ; 8 avertissements dans chacun, listes identiques (comparées en JSON). - Images : aucune dans ce pack. ### freeanims (verdict `ok`, 0 avertissement) - Liste de fichiers : 73 / 73, identique ; 73 fichiers comparés (critère > 70 : OK). - Mêmes exclusions : `etapes\5_evaluation.json` (`debut`, `fin`, `duree_s` 435 → 458), `etat.json` (`fin`, `maj`) et `rapport.html` (« Généré le » 12:31:18 → 17:08:32 uniquement) diffèrent ; tous les `.json`/`.csv`/`.txt` hors ces fichiers sont identiques. - Verdict `ok` des deux côtés, 0 avertissement des deux côtés. - Images qui diffèrent : 20 fichiers, exactement les mêmes noms que dans SB4-VAL (rendu non déterministe déjà constaté à SB1/SB2/SB4), octets réf → nouveau : | Fichier (sous `sandbox\`) | Réf → nouveau | |---|---| | planches\AS_AirKiss.jpg | 148577 → 148509 | | planches\AS_AttackInLevitation2.jpg | 139248 → 139290 | | planches\AS_ChillDriving.jpg | 187537 → 187639 | | planches\AS_ComboHands.jpg | 159892 → 160037 | | planches\AS_EatingOnParty.jpg | 141254 → 141301 | | planches\AS_FlyingUp.jpg | 119045 → 118961 | | planches\AS_GoForward.jpg | 150812 → 150701 | | planches\AS_Rest.jpg | 138425 → 138540 | | planches\AS_RightLegKick2.jpg | 88121 → 88080 | | planches\AS_Talk.jpg | 144201 → 144319 | | vignettes\AS_AirKiss.png | 261470 → 261921 | | vignettes\AS_AttackInLevitation2.png | 252870 → 253271 | | vignettes\AS_ChillDriving.png | 289192 → 289225 | | vignettes\AS_ComboHands.png | 269493 → 269106 | | vignettes\AS_EatingOnParty.png | 263747 → 263738 | | vignettes\AS_FlyingUp.png | 263615 → 263387 | | vignettes\AS_GoForward.png | 257039 → 256829 | | vignettes\AS_Rest.png | 242540 → 242649 | | vignettes\AS_RightLegKick2.png | 265941 → 265478 | | vignettes\AS_Talk.png | 260083 → 260572 | Écarts de taille inférieurs à 0,2 %. Soit 73 − 3 (fichiers exclus) − 20 (images) = 50 fichiers de données strictement identiques. ## État final (F4) - `Saved\sandbox_mods.ini` : ``` [Mods] Order=lps_couple,lps_interaction,lps_asset_integration Open=lps_couple [Enabled] lps_couple=true lps_interaction=true lps_asset_integration=true ``` - Processus `UnrealEditor` : 0. - `git -C D:\Game\LifePlay-Sandbox status --short` (changements DC1 non commités, attendu ; code de l'addon retiré vers le jeu) : ``` M LPSandbox.uproject M Plugins/LPSandbox/LPSandbox.uplugin M Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimMeasure.Build.cs M Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimMeasure.h D Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimRedirect.cpp D Plugins/LPSandbox/Source/LPAnimMeasure/LPAnimRedirect.h D Plugins/LPSandbox/Source/LPAnimMeasure/LPCoupleSim.h D Plugins/LPSandbox/Source/LPAnimMeasure/LPCoupleSimCore.cpp M Plugins/LPSandbox/Source/LPSandbox/LPSandbox.Build.cs ``` ## Anomalies - Aucune nouvelle. `Error` Coiffures (LogLifePlay) présent à chaque lancement, préexistant. Avertissement `UTS: Unable to launch the Unreal Trace Server ... Accès refusé` : environnement, sans lien. - 20 images freeanims différentes (rendu non déterministe, mêmes fichiers qu'à SB2 et SB4) : à juger visuellement si souhaité. - Durées légèrement plus longues que la référence (quaternius 1139 s contre 1136 s ; freeanims 458 s contre 435 s) : sans signification (charge machine), dans l'ordre de grandeur. - Tentative freeanims ratée par mon mauvais interpréteur (voir en-tête) : sans conséquence. ## Verdict global de la partie automatique **PASS** : F1 (7 modules, ordre inchangé, plugin LPAnimCore monté, aucun refus ni Error du module), F2 (ouverture par déclencheur non mémorisée, `Open=lps_couple` intact après les deux tournées), F3 (quaternius `avertissement` avec les 8 mêmes avertissements, 44 fichiers ; freeanims `ok`, 73 fichiers ; tous fichiers de données identiques, seules différences : dates, « Généré le » et 20 images non déterministes) et F4 satisfaits. Le déplacement de LPAnimRedirect et LPCoupleSim n'a rien changé aux résultats des commandlets AP. ## Reste à valider par l'utilisateur (a) Marche du jeu avec clips convertis (`LPAnimTarget.ini` = game). (b) ShowCouple. ## Modèles par fiche | Fiche | Modèle prévu | Modèle utilisé | |---|---|---| | DC1-T2 | haiku | haiku | | DC1-T3 | sonnet | sonnet | ## Contrôle visuel utilisateur (2026-10-07) (a) marche du jeu avec clips convertis (`LPAnimTarget.ini` = `game`, jeu lancé depuis l'éditeur compilé DC1) et (b) ShowCouple : **confirmés** par l'utilisateur (« oui, je confirme »). `LPAnimTarget.ini` remis à son état d'avant le test (`Target=sandbox`). Remarque utilisateur : l'intégration des déplacements dans le jeu reste à améliorer (hors périmètre DC, inscrit au registre des reports de `21`). **Verdict DC1-T3 : PASS.**