LifePlay-Revival/Docs/Migration/etat/VQ/VQ2/VQ2-VAL.md
edujiro5972 0f1a61c9fe VQ : qualite video (sous-systeme LPVideoQuality, onglet Reglages, DefaultScalability), lots VQ0 a VQ5 et correctifs (CHG-237 a 242)
LifePlay.uproject : SupportedTargetPlatforms Win64 sur LPAnimCore, origine non revendiquee, range ici.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 01:40:47 +02:00

76 lines
3.7 KiB
Markdown

# VQ2-VAL — Validation `ULPVideoQualitySubsystem`
**Fiche :** VQ2-T4
**Rôle :** A-VAL
**Date :** 07 octobre 2026
**Entrée :** `VQ2-IMPL-H.md` (VQ2-T2 + T3), `VQ2-SPEC.md`
## Modèle
| | Modèle |
|---|---|
| Prévu / attendu | `claude-sonnet-5-5-high` (M2) |
| **Utilisé** | `claude-sonnet-5-5-high` (Claude Sonnet 5.5) |
## Verdict : **PASS** (avec **BLOCKED-UI** sur le test manuel Settings)
## Preuves
### 1. Fichiers
| Vérification | Résultat |
|---|---|
| `Source/LifePlay/LPVideoQualitySubsystem.h` | présent (modifié 23:21) |
| `Source/LifePlay/LPVideoQualitySubsystem.cpp` | présent (modifié 23:22) |
| `UnrealEditor-LifePlay.dll` | 23:23:26, postérieur aux sources (VQ2-IMPL : compile OK, exit 0) |
### 2. `CategoryOf` (`LPSettingsSubsystem.cpp` l.140-154)
- `BackButton` → `TabAlways` : OK
- `ShadowQuality`, `PostProcessQuality`, `PostProcessAAQuality` → `TabHidden` (`-2`, constante l.41) : OK
- Nom commençant par `LPColor` ou `LPVideo` → `TabVideo` : OK
- `ApplyRows` (l.599) : `bShow = Category == TabAlways || (Category != TabHidden && ActiveTab != TabKeyboard && Category == ActiveTab)` : OK
- Le `Tick` de `ULPSettingsSubsystem` rappelle `ApplyRows()` quand `GetChildrenCount()` change (l.281-284) : la question Q2 d'IMPL-H est confirmée en statique.
### 3. Grep symboles (`Source/`)
| Symbole | Occurrences |
|---|---|
| `SetLevels` | `.h:59`, `.cpp:251` (définition), appels l.299, 310, 321, 332, 343, 350 |
| `RefreshWidgets` | `.h:61`, `.cpp:268` (définition), appelé l.264 et l.572 |
| `EnsureControls` | `.h:94`, `.cpp:431` (définition), appelé dans `Tick` l.140 |
### 4. Démarrage runtime (test à blanc)
Commande : `UnrealEditor-Cmd.exe LifePlay.uproject -game -nullrhi -nosound -unattended -nosplash -ExecCmds="quit"`, exit code 0, environ 77 s.
Journal : `Saved/Logs/VQ2VAL.log`.
```
LogLifePlay: Display: Video : pas de .../Saved/Config/Windows/LPVideoQuality.ini, niveaux lus depuis Scalability (Overall 3, Shadows 3, Textures 3, Effects 3, AA 3)
```
- `Initialize` → `Load()` s'exécute et logue la lecture depuis Scalability. L'abonnement au ticker n'a pas fait crasher le démarrage.
- Comme prévu par le drapeau `bConfigured` : pas d'INI et pas d'action du joueur, donc pas de ligne « qualite appliquee » (état moteur préservé).
- Pas de `Video : controles ajoutes ...` : le menu Settings n'a pas été ouvert (attendu en `-nullrhi` sans interaction).
- Pas de `Warning` ni d'`Error` du sous-système vidéo. Une seule `Error` dans le journal : `LogPlayerController: InputMode:UIOnly - Attempting to focus Non-Focusable widget` (l.1468), sans lien avec VQ2 (UI du jeu).
## Reste à faire — BLOCKED-UI
Test manuel Settings non automatisable ici. À faire à la main, puis relire le journal :
1. Ouvrir Settings > onglet vidéo : les 6 lignes `LPVideo*` doivent apparaître avant les lignes `LPColor*` ; `ShadowQuality`, `PostProcessQuality`, `PostProcessAAQuality` doivent être masqués.
Journal attendu : `Video : controles ajoutes avant les reglages de couleur`.
2. Déplacer `LPVideoOverall` : les 4 sliders suivent (`SetLevels(..., true)`) ; modifier un slider fait passer Overall à Custom.
3. Bouton `LPVideoRecommended` : log `Recommended = stub (High)`.
4. Quitter et relancer : `Saved/Config/Windows/LPVideoQuality.ini` relu (`Video : relu Overall ...`).
5. Onglets Audio, Lewd et Clavier non perturbés ; `BackButton` toujours visible.
## Synthèse
| Critère | Statut |
|---|---|
| Compile OK (VQ2-IMPL) | PASS |
| Code complet (`SetLevels`, `RefreshWidgets`, `EnsureControls`) | PASS |
| `CategoryOf` (`LPVideo*`, `TabHidden`) | PASS |
| Démarrage sans crash + log `Load` | PASS |
| Test manuel Settings | BLOCKED-UI |