LifePlay-Revival/Docs/Migration/etat/sandbox/SB1/SB1-VAL.md
2026-10-07 15:50:03 +02:00

8.1 KiB

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