LifePlay-Revival/Docs/Migration/etat/sandbox/S6/S6-VAL.md
edujiro5972 04b053554f Sandbox addon : brancher le jeu sur LifePlay-Sandbox (plugin LPSandbox).
Charge le plugin via AdditionalPluginDirectories, conserve ShowCouple et les commandlets anim côté jeu, et documente les lots S0–S8 (CHG-212 à CHG-220).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 21:10:53 +02:00

81 lines
3.7 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.

# S6-VAL — Validation du lot S6 (stack Mesure sur liaison addon)
- **Date :** 2026-10-06
- **Fiche :** S6-T3 | **Rôle :** A-VAL
- **Modèle prévu :** `composer-2.5-fast` | **Modèle utilisé :** `composer-2.5-fast`
- **Pin addon :** `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` (`S3-INT.md`, inchangé depuis S5)
- **Références :** `S2-VAL.md` (module + bat Mesure), `S3-VAL.md` (plugin monté), `20_Chaine_Animations.md`, `09_Commandes_Utiles.md`
## Verdict : **PASS**
| # | Contrôle | Résultat |
|---|---|---|
| 1 | `LifePlayEditorTools.Build.cs` : `LPAnimMeasure` en `PublicDependencyModuleNames` | **PASS** (l. 22, commentaire lot S2) |
| 2 | Includes commandlets anim (`LPPoseMeasure.h`, `LPSkeletonProfile.h`, `LPAnimChecks.h`) sans `Source/LPAnimMeasure/` dans le jeu | **PASS** (module uniquement dans l'addon ; 0 fichier sous `Source/LPAnimMeasure/`) |
| 3 | `LifePlayEditor Win64 Development` | **PASS** (`Target is up to date`, 2026-10-06) |
| 4 | Commandlet court `-run=LPAnimEval` (addon chargé) | **PASS** (1 clip, 1 instant, ~1,3 s, code 0, `rapport.json` `valide: true`) |
| 5 | Bat Mesure sur liaison addon | **PASS** (déjà `S2-VAL.md` : 269 lignes `LogLPAnimMeasure`, sorties `Saved/Measurement/` ; non rejoué ici) |
## 1. S6-T1 — Build et linkage
`Source/LifePlayEditorTools/LifePlayEditorTools.Build.cs` :
```csharp
PublicDependencyModuleNames.AddRange(new string[]
{
// ...
"LifePlay",
"LPAnimMeasure"
});
```
Consommateurs vérifiés (includes inchangés, résolus via le module plugin) :
| Fichier | Headers `LPAnimMeasure` |
|---|---|
| `LPAnimEvalCommandlet.cpp` | `LPPoseMeasure.h`, `LPSkeletonProfile.h`, `LPAnimChecks.h` |
| `LPAnimCatalogCommandlet.cpp` | `LPPoseMeasure.h` |
| `LPAnimTwistCommandlet.cpp` | `LPPoseMeasure.h`, `LPSkeletonProfile.h` |
| `LPAnimChecks.cpp` | `LPPoseMeasure.h`, `LPSkeletonProfile.h` |
`Source/LifePlay/LifePlay.Build.cs` : `PublicDependencyModuleNames.Add("LPAnimMeasure")` (commentaire S2/S3).
Binaires (jeu + plugin sibling) :
| DLL | Horodatage |
|---|---|
| `UnrealEditor-LPAnimMeasure.dll` | 2026-10-06 20:37:07 |
| `UnrealEditor-LifePlayEditorTools.dll` | 2026-10-06 19:20:23 |
Aucune correction de sources nécessaire pour S6-T1.
## 2. S6-T2 — Documentation
Mises à jour : `Docs/Migration/20_Chaine_Animations.md` (§ 1 état actuel + écart pose T), `Docs/Migration/09_Commandes_Utiles.md` (§ 3 : bats `Tools/debug`, sorties `Saved/Measurement`, commandlets `LPAnimEval` / `LPAnimTwist` / `LPAnimCatalog`).
## 3. S6-T3 — Commandlet `LPAnimEval` (court)
```powershell
$UE = 'D:\Game\Launcher\Engine\UE_5.5\Engine\Binaries\Win64\UnrealEditor-Cmd.exe'
$Proj = 'D:\Game\LifePlay-master 5.5\LifePlay.uproject'
& $UE $Proj -run=LPAnimEval "-Clips=Idle_Loop" "-Instants=1" `
"-Out=D:\Game\LifePlay-master 5.5\Saved\AnimPipeline\S6-VAL" -unattended -nopause `
-abslog="D:\Game\LifePlay-master 5.5\Saved\Logs\S6-VAL-LPAnimEval.log"
```
| Constat | Valeur |
|---|---|
| Code de sortie | 0 |
| Durée commandlet | ~1,34 s |
| `rapport.json` | `"valide": true`, 1 clip, 2 corps, 0 échec |
| Pose T | `rapport_poseT_Bridget.json`, `rapport_poseT_Michael.json` (profil `genesis8`, symétrie 0,000°) |
| Évaluation | `eval_Bridget.csv`, `eval_Michael.csv` ; pire formule ≈ 10⁻⁷ %, pire clip ≈ 3×10⁻⁵ % |
| Journal | `LogLPAnimMeasure` (POSET) actif — module addon bien lié |
Artefacts locaux (non versionnés) : `Saved/AnimPipeline/S6-VAL/`, `Saved/Logs/S6-VAL-LPAnimEval.log`.
## 4. Limites
- Pas de relecture du bat Mesure ni comparaison `tour.csv` après S3 (report sur preuve S2-VAL + commandlet ci-dessus).
- Pas de relance complète 43 clips × 3 instants (déjà AP4 / CHG-208).
- Contrôle visuel sandbox non refait.