113 lines
No EOL
8.1 KiB
Markdown
113 lines
No EOL
8.1 KiB
Markdown
# SB1-VAL — Validation automatique du registre de mods (SB1-T5, partie automatique)
|
|
|
|
**Fiche SB1-T5 — A-VAL — Modèle prévu sonnet | utilisé sonnet**
|
|
|
|
- Date : 2026-10-07. Build testé : celui de SB1-T4 (compilation code 0).
|
|
- Journaux copiés : `D:\Game\LifePlay-master 5.5\Saved\Logs\portage\SB1_VAL_E1.log`, `_E2`, `_E3`, `_E4`, `_E4b`, `_E5`.
|
|
- Procédure : lancement par `LifePlay_pair_sandbox.bat`, attente des lignes `LogLPSandboxMods` + `Ouvert :`, copie du journal, arrêt du seul `UnrealEditor` lancé (E5 : le pilote lance et ferme lui-même).
|
|
|
|
## Tableau des essais
|
|
|
|
| Essai | Attendu | Observé | Verdict |
|
|
|---|---|---|---|
|
|
| E1 démarrage (g, i) | 7 modules sandbox ; ordre système puis mods ; aucun refus ni prérequis manquant ; `.lpmod` du jeu lus ; mod ouvert ; `sandbox_mods.ini` créé | `Modules : 7 sandbox, 16 jeu ; ordre : lps_system_core, lps_system_animmeasure, lps_lib_scene, lps_lib_actors, lps_asset_integration, lps_couple, lps_interaction` ; les 7 en `pret` ; aucun `Warning` de lecture (`LogLifePlay: Modules : 16 .lpmod lu(s), 0 avec MODULE_GAME_VERSION`) ; `Ouvert : lps_couple`. `sandbox_mods.ini` : `Order=lps_asset_integration,lps_couple,lps_interaction`, `Open=lps_couple`, 3 cases `true` | PASS |
|
|
| E2 mod requérant un mod (d) | `lps_test_bad` refusé, 3 mods prêts | `Modules : 8 sandbox …, lps_test_bad` ; `lps_test_bad [mod] refuse : un mod ne peut pas requerir un autre mod (lps_couple) : partager le composant dans une bibliotheque` (Display + Warning) ; les 3 mods `pret` ; `Ouvert : lps_couple` | PASS |
|
|
| E3 prérequis absent (e) | couple et interaction « prérequis manquant », asset_integration prêt | `Modules : 6 sandbox` ; `lps_couple [mod] prerequis manquant : prerequis absent : lps_lib_scene` ; idem `lps_interaction` ; `lps_asset_integration [mod] pret`. Le `Open=lps_couple` persisté est tenté puis refusé : `Ouverture refusee : lps_couple (prerequis absent : lps_lib_scene)` puis `Ouvert : lps_asset_integration` (repli sur le premier mod prêt, § 6.4 de la SPEC) | PASS |
|
|
| E4 persistance (f) | ordre du fichier, `lps_couple` désactivé, `Ouvert : lps_interaction` | ordre `…, lps_asset_integration, lps_couple, lps_interaction` ; `lps_couple [mod] desactive` ; `Ouvert : lps_interaction` | PASS (*) |
|
|
| E4b (essai ajouté) ordre non alphabétique | l'ordre du fichier prime | avec `Order=lps_interaction,lps_asset_integration,lps_couple` : `ordre : …, lps_lib_actors, lps_interaction, lps_asset_integration, lps_couple` | PASS |
|
|
| E5 non-régression Mesure (h) | tournée identique, mêmes fichiers, `Ouvert : lps_asset_integration` | `AnimPipeline.ps1 -Pack freeanims -From 5 -To 5` : `verdict : ok (435 s)`, `Chaine terminee`, code de sortie 0 ; journal `SB1_VAL_E5.log` : `Ouvert : lps_asset_integration` (ordre `lps_couple, lps_interaction, lps_asset_integration`) ; 32 fichiers de même noms (10 `vignettes\*.png`, 10 `planches\*.jpg`, 10 `planches\*.json`, 2 `retarget_pose_*.txt`) ; 10 `planches\*.json` identiques ; `eval_Bridget.csv` / `eval_Michael.csv` identiques (SHA-256) ; 20 images (10 png, 10 jpg) d'empreinte différente | PASS pour les fichiers et JSON ; images : voir ci-dessous |
|
|
|
|
(*) L'ordre demandé en E4 (`lps_asset_integration, lps_couple, lps_interaction`) est aussi l'ordre alphabétique par défaut : il ne prouve pas à lui seul la lecture du fichier ; E4b le prouve.
|
|
|
|
### E5 — images dont l'empreinte diffère (tailles en octets, référence → nouveau)
|
|
|
|
Tous les noms et les `.json` sont identiques ; écarts de taille faibles (rendu non déterministe attendu), à juger par l'utilisateur.
|
|
|
|
| Fichier | Référence → nouveau |
|
|
|---|---|
|
|
| planches\AS_AirKiss.jpg | 148582 → 148574 |
|
|
| planches\AS_AttackInLevitation2.jpg | 139248 → 139244 |
|
|
| planches\AS_ChillDriving.jpg | 187677 → 187692 |
|
|
| planches\AS_ComboHands.jpg | 159898 → 159913 |
|
|
| planches\AS_EatingOnParty.jpg | 141183 → 141291 |
|
|
| planches\AS_FlyingUp.jpg | 119016 → 119041 |
|
|
| planches\AS_GoForward.jpg | 150693 → 150742 |
|
|
| planches\AS_Rest.jpg | 138519 → 138633 |
|
|
| planches\AS_RightLegKick2.jpg | 88070 → 88116 |
|
|
| planches\AS_Talk.jpg | 144361 → 144274 |
|
|
| vignettes\AS_AirKiss.png | 261580 → 261353 |
|
|
| vignettes\AS_AttackInLevitation2.png | 253439 → 253838 |
|
|
| vignettes\AS_ChillDriving.png | 289382 → 289345 |
|
|
| vignettes\AS_ComboHands.png | 268915 → 270145 |
|
|
| vignettes\AS_EatingOnParty.png | 263792 → 263826 |
|
|
| vignettes\AS_FlyingUp.png | 263466 → 263846 |
|
|
| vignettes\AS_GoForward.png | 256944 → 256957 |
|
|
| vignettes\AS_Rest.png | 242586 → 242608 |
|
|
| vignettes\AS_RightLegKick2.png | 265358 → 265512 |
|
|
| vignettes\AS_Talk.png | 260640 → 259551 |
|
|
|
|
Référence : `D:\Game\LifePlay_Backup_5.5\SB1-VAL\reference_freeanims\` (+ `eval_*.csv` avant). Nouveau : `D:\Game\LifePlay-master 5.5\Saved\AnimPipeline\freeanims\sandbox\`.
|
|
|
|
## Observations
|
|
|
|
- Le fichier `sandbox_mods.ini` n'existait pas avant E1 (créé au premier lancement avec l'ordre alphabétique, conforme à la SPEC § 4).
|
|
- E2 a inscrit `lps_test_bad` dans l'ini (Order et Enabled) ; E3 et E5 ont modifié `Open` (le mod ouvert est mémorisé à chaque ouverture, dont celle de la tournée Mesure : `Open=lps_asset_integration` après E5). Le fichier a été remis à l'état demandé.
|
|
- Le pilote (étape 5) lance `LifePlay_interaction_sandbox.bat` et non `LifePlay_pair_sandbox.bat`.
|
|
- Aucun avertissement de lecture sur les 16 `.lpmod` du jeu (le registre ne journalise pas les modules du jeu un par un ; seul le total est donné).
|
|
|
|
## État final des fichiers remis en place
|
|
|
|
- `Test-Path ...\Modules\Mods\lps_test_bad` : False (dossier supprimé).
|
|
- `Test-Path ...\Modules\System\0010_lps_lib_scene\lps_lib_scene.lpmod` : True ; `D:\Game\LifePlay_Backup_5.5\SB1-VAL\0010_lps_lib_scene` : absent (déplacé retour).
|
|
- Aucun processus `UnrealEditor` actif à la fin.
|
|
- `D:\Game\LifePlay-master 5.5\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
|
|
```
|
|
|
|
- `Saved\sandbox_mode.txt` : `Pair` (remis par le pilote). `git status` de l'addon : aucun fichier parasite sous `Modules\`.
|
|
- Aucun source, `.lpmod` existant ni script modifié ; aucun commit.
|
|
|
|
## À contrôler visuellement par l'utilisateur
|
|
|
|
- (a) Chaque mod (Couple, Interaction, Asset integration) s'ouvre depuis la barre latérale et se comporte comme l'ancien mode.
|
|
- (b) Enchaînement couple → interaction → asset integration → couple sans résidu (caméra, vue libre, animation automatique).
|
|
- (c) Un mod décoché n'est pas ouvrable (▶ inactif) ; décocher le mod ouvert ramène la scène neutre.
|
|
- Aspect de la barre latérale : sections Mods, Système (case « modules masqués »), Jeu (16 modules, repliée), bouton ◀ / ▶, ⚠ avec infobulle.
|
|
- Images E5 qui diffèrent : les 20 fichiers du tableau ci-dessus (comparer vignettes et planches avec la référence).
|
|
|
|
## Verdict partiel
|
|
|
|
**PASS** de la partie automatique (E1 à E5 : critères d, e, f, g, h, i satisfaits ; images E5 : écarts de pixels à juger visuellement). Critères a, b, c restent à contrôler par l'utilisateur.
|
|
|
|
## Contrôle visuel utilisateur (2026-10-07)
|
|
|
|
| Critère | Verdict |
|
|
|---|---|
|
|
| (a) chaque mod s'ouvre depuis la barre latérale et se comporte comme l'ancien mode | PASS (« pas de défauts constatés ») |
|
|
| (b) enchaînement couple, interaction, asset integration, couple sans résidu | PASS (« pas de défauts constatés ») |
|
|
| (c) mod décoché non ouvrable ; décocher le mod ouvert ramène la scène neutre | PASS (« pas de défauts constatés ») |
|
|
| Aspect de la barre latérale | PASS (« pas de défauts constatés ») |
|
|
| Images E5 (20 fichiers qui diffèrent) | PASS (« pas de défauts constatés ») |
|
|
|
|
## Verdict global du lot SB1
|
|
|
|
**PASS** (partie automatique E1 à E5 + contrôle visuel utilisateur). Commits addon : `82dae58380b76c45f60541fd7cb5a0a409700e10` (code) puis commit de pin README ; tag `lot-SB1-valide`.
|
|
|
|
## Modèles par fiche
|
|
|
|
| Fiche | Modèle prévu | Modèle utilisé |
|
|
|---|---|---|
|
|
| SB1-T1 | opus | opus |
|
|
| SB1-T2 | opus | opus |
|
|
| SB1-T3 | sonnet | sonnet |
|
|
| SB1-T4 | haiku | haiku |
|
|
| SB1-T5 | sonnet | sonnet |
|
|
| SB1-T6 | sonnet | sonnet | |