# S7-VAL - Validation du lot S7 (isolation du plugin `LPSandbox`, hors Shipping) - **Date :** 2026-10-06 - **Fiche :** S7-T4 | **Role :** VAL+DOC | **Entree journal :** CHG-219 - **Pin addon :** `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (commit local `S7-T2`, **non pousse**) - **References :** `S7-SPEC.md`, `S7-IMPL-L.md`, `S7-CART.md`, `S5-VAL.md` (parite du smoke) ## Verdict : **PASS** (PASS runtime Pair ; Shipping verifie par plan UBT, pas par compilation complete) | # | Controle | Resultat | |---|---|---| | 1 | Grep `LifePlay.h`, `LIFEPLAY_API`, module `LifePlay` dans le plugin | **PASS** (0 / 0 / 0, `S7-CART.md`) | | 2 | Aucune lecture de `GI` / `Room` du jeu ; `Person` = CDO seul | **PASS** (`S7-CART.md` C2) | | 3 | `LifePlayEditor Win64 Development` apres changement `uplugin` + `uproject` | **PASS** (`Target is up to date`, code 0, `Saved/Logs/S7-VAL-build.log`) | | 4 | Cible Game **Development** : `LPSandbox` toujours inclus | **PASS** (`LifePlay.uhtmanifest` Development : 6 occurrences `LPSandbox`) | | 5 | Cible Game **Shipping** : `LPSandbox` exclu | **PASS** (`LifePlay.uhtmanifest` Shipping : 0 occurrence ; plan UBT `-SkipBuild`, code 0, pas d'erreur de module manquant) | | 6 | Smoke bat Pair (court) | **PASS** (§2) | | 7 | Aucun nouveau dossier `Saved/Crashes`, processus tue apres essai | **PASS** | | 8 | 21 §Acceptation | **Partiel** (cases S7 cochees ; reste S8 ouvert, voir `21_Sandbox_Addon.md`) | ## 1. Build ```powershell & 'D:\Game\Launcher\Engine\UE_5.5\Engine\Build\BatchFiles\Build.bat' LifePlayEditor Win64 Development ` -Project='D:\Game\LifePlay-master 5.5\LifePlay.uproject' -WaitMutex ``` Resultat : `Target is up to date`, 6,7 s, code 0 (aucune source C++ modifiee ; un changement d'`uplugin` ne force pas de recompilation). ## 2. Smoke Pair (bat court) Equivalent du bat `Tools/debug/LifePlay_pair_sandbox.bat` (meme URL `game=/Script/LPSandbox.LPPairSandboxGameMode`, `-game -windowed -ResX=1600 -ResY=900`, meme `GameInstanceClass`), `Saved/sandbox_mode.txt` = `Pair`, lance a 20:54:50, observe ~1 min 45 s (`Responding = True`), puis arrete. Journal copie : `Saved/Logs/S7-VAL-runtime-game.log` (1 378 lignes, copie locale non versionnee). | Constat | Journal | |---|---| | Plugin monte | `LogPluginManager: Mounting External plugin LPSandbox` | | GameMode resolu | `LogLoad: Game class is 'LPPairSandboxGameMode'` | | Init sandbox | `LogLPSandbox` : 4 murs, collision (54 meubles, 0 absent, capsule 20 / 88, **profil Person lu**), eclairage, interaction (286 actions), Quaternius (43 anims), corps `bridget_gp` / `michael` | | Boite du couple | `Sandbox boite AgMakeout : centre X=20.831 Y=1.400 Z=-0.534, etendue X=41.180 Y=50.958 Z=89.466` : **identique a `S5-VAL.md`** (fond -90,000) | | Poses | `AgMakeout_F` / `_M`, puis `B_/M_Idle_Loop`, `Walk_Loop` (entrees clavier) | | Fatal / assertion / `ensure` / `Access violation` | 0 | | Erreurs module / lien / GameMode | 0 | | `: Error:` | 1 : `LogLifePlay: Error: Coiffures : GI.HairstyleTable ou GI.MorphableHairs introuvable` (connu : S3 / S4 / S5-VAL ; module jeu) | | Nouveau dossier `Saved/Crashes` | 0 | La parite numerique de la boite avec S5-VAL confirme qu'aucun comportement de sandbox n'a change. ## 3. Shipping (plan UBT) ```powershell Build.bat LifePlay Win64 Shipping -Project=... -WaitMutex -SkipBuild -NoMutex # exit 0 Build.bat LifePlay Win64 Development -Project=... -WaitMutex -SkipBuild -NoMutex # exit 0 ``` | Cible | `LPSandbox` dans `LifePlay.uhtmanifest` | |---|---:| | Development | 6 | | Shipping | **0** | Le manifeste n'enumere que les modules avec en-tetes reflechis ; `LPAnimMeasure` (sans `UCLASS`) n'y figure pas dans les deux cas, la deny-list n'y touche de toute facon pas. ## 4. Limites - **Pas de compilation ni de packaging Shipping complets** : seul le plan UBT (resolution des modules) est verifie. - Smoke : bat equivalent lance a la main (pas le `.bat` lui-meme) ; 1 min 45 s, pas de scenario d'interaction prolonge. - Parcours Show complet en jeu et alignement du plancher (-90 / -88) : non exerces (inchange depuis S5-VAL). - **Commit addon `f09c42e` non pousse** : le pin dans `S3-INT.md` / README pointe un commit local. - `Optional: true` n'evite pas l'echec du build du jeu sans clone sibling (`LifePlay.Build.cs` -> `LPAnimMeasure`). - Ancien libelle S7 de `21` (« commandlets anim restants dans le module editeur ») **non traite** ici ; reporte (voir §Acceptation).