Fiche COMMUN-18-FIT — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-writer (rôle A-DOC) — Skills sk-protocol, lp-doc, lp-lot # COMMUN-18-TESTS : fiche de tests commune de la build Development COMMUN-18 (CAM2 IMPL-03 et IMPL-04, KEY2-SUITE) (2026-10-20) Demande de Big Boss (`local_104ff22d`), 2026-10-20, sur ordre de l'utilisateur : « Oui, lance la build Development COMMUN-18 (CAM2 IMPL-03 et IMPL-04, KEY2-SUITE) et prépare le cahier de tests. » Cette fiche reprend les retours de `COMMUN-17-BILAN.md` (sens de la souris, studio de création, touches du couple), les points à confirmer de `CAM2-VAL-03.md` § 6 et le passage de `CAM2-IMPL-04.md` (réserves R2, R3, R4), puis des non-régressions. Fiche **prête** : § 1 complété par Big Boss à la remise de la build (2026-10-20). Rédigée sans copie UE, sans MCP, sans lancer le jeu. Aucun contenu de jeu : chaque action est décrite par sa fonction ; la scène intime est dite « scène » (identifiant technique de scène admis) ; la section du menu des contrôles s'appelle « Scene ». Forme reprise de `COMMUN-17-TESTS.md`. **Hors fiche** : ERR-145 (C1 assis, corps sans tête) n'est **pas** à tester (cible build 2, cause non établie). Les cas de COMMUN-17 restés non joués qui ne figurent pas ici (cadrage des murs en `Scene` / `C3 Couple` .4 déjà PASS ; sol et plafond de la vue .5 ; vues exclues .7 ; hauteur G / B .8 ; vue de dessus .11 ; défaut R-B1f .17) restent à reprogrammer par Big Boss. ## 1. Build testé | Élément | Valeur | |---|---| | Chemin de la build | `D:\Game\LifePlay_Build_5.8_Development_COM18\Windows\` (lancer `Windows\LifePlay.exe`) ; confirmé par Big Boss à la remise | | Exe | `Windows\LifePlay\Binaries\Win64\LifePlay.exe` | | MD5 de l'exe | `7d1009680618f99ebc4edce0bd1a859b` (certutil et md5sum, identique à `Binaries\Win64\LifePlay.exe` du projet), 335 817 728 octets | | Date de génération | exe lié le 2026-10-20 à 13:45:19 (fin de la compilation CAM2 IMPL-04) ; paquet par `BuildDebug.ps1 -Config Development -ArchiveDir` lancé à 13:48:15, UAT code 0 en 148 s, CheckPackage PASS, cuisson 0 erreur et 1 avertissement attendu ; journal `Saved\Logs\portage\BuildDebug_Development_20261020-134815.log` | | Configuration | Development, commune à plusieurs lots | | Base | HEAD `fa86b6f` + sources et Blueprints non commités de CAM2 (IMPL-02, IMPL-03, IMPL-04) et de KEY2 (SUITE-ST, SUITE-LB) ; compilations de `CAM2-IMPL-03.md` § 7 et `CAM2-IMPL-04.md` § 4 : éditeur et Development « Succeeded », 0 erreur, 1 avertissement C4701 déjà connu (`Aim`) | | Génération | faite : `etat\BOSS\COMMUN-18\COMMUN-18-BUILD.md` | MD5 des sources attendus (`CAM2-IMPL-03.md` § 7 et `CAM2-IMPL-04.md` § 4 ; 8 premiers caractères) : `LPCameraModeSubsystem.cpp` `2237FB9B` (IMPL-04), `LPRoomBoundsCameraModifier.h` `F5EEAE05`, `LPRoomBoundsCameraModifier.cpp` `A3B03194`, `LPKeyboardSubsystem.cpp` `9D450AAF` (KEY2), `PC.uasset` `681F8372`, `Room.uasset` `2B1CFA2E`. Lots et correctifs couverts : - **CAM2 IMPL-03** (`CAM2-SPEC-02.md` § 1, 5, 6, 7) : sens du tangage de C1 (`C1MouseSign = +1`) et du POV de scène (`PC`, nœud 109, broche B = 1) ; studio de création en C++ (décalage de la vue et du personnage de **135 cm** vers -X, sans écrire `GI`) ; touches du couple en scène : V / X = **Z**, flèches haut / bas = **Y** du monde, flèches gauche / droite = **X** du monde, plus aucune rotation au clavier (deux coupures de `PC`) ; aide des contrôles refondue. - **CAM2 IMPL-04** (`CAM2-VAL-03.md` R2, R4, R3) : Z d'entrée du couple relevé à chaque scène en pièce cachée (compteur de scènes) ; pièce visible sans intérieur calculé : déplacement refusé (« interieur inconnu ») ; personnage du studio remis à sa place quand le personnage édité change. - **KEY2-SUITE** (`KEY2-TACHES.md` lignes 17 et 18, `LPKeyboardSubsystem.cpp`) : message d'état du menu Clavier qui passe à la ligne ; message du clic gauche raccourci ; libellés « Couple Up / Couple Down » ; flèches regroupées dans le bloc Characters avec libellés à double sens. - **VAL statique** : `CAM2-VAL-03.md` (PASS-STATIC avec réserves R1 à R6, portait sur IMPL-03 et KEY2-SUITE) ; **IMPL-04 n'a pas de VAL propre** (à signaler à Big Boss). Constantes à connaître : `C1MouseSign = +1` (une seule constante à inverser si l'essai montre le sens contraire) ; bornes de tangage -60 (bas) et +70 (haut) ; marge de couple `CoupleWallMargin = 80` cm ; pas de 5 cm par image ; `StudioOffset = (-135, 0, 0)` ; pièce cachée : Z du couple dans [Z d'entrée - 30, Z d'entrée + 150] ; constante `bCoupleKeysCameraFrame` (faux = repère du monde ; vrai = repère de la caméra, à décider d'après l'essai). ## 2. Faisabilité Machine calme : réserve « mesure » non requise (aucun cas de performance). Sauvegarde et copie d'essai : **à faire à la remise de la build** (copie de la sauvegarde du joueur avant l'essai). Lancement et journal : à compléter à la remise (`Windows\LifePlay\Saved\Logs\LifePlay.log` de la build). Préparation du cas .17 (AZERTY conservé après relance) : le fichier de touches de la build COMMUN-17 (`LPKeyboard.ini`) n'est pas repris dans la nouvelle build ; le premier lancement crée un fichier QWERTY. Aucun retrait à faire avant ce passage. Les cas du couple (`.5` à `.8`, `.11`, `.12`, `.13`) demandent une scène lancée **dans une pièce intérieure visible** ; `.9`, `.10`, `.11` (en second) demandent une scène d'**extérieur** (pièce cachée) ; `.10` demande **deux** scènes de suite en extérieur, à deux hauteurs différentes, avec le même personnage meneur (le joueur). `.3` et `.4` demandent l'écran de création de personnage ; `.4` demande en outre de changer de personnage édité sans quitter la création. | Cas | Fonction ou réglage dans la build ? | Dépend d'un travail non fini ou d'une observation | |---|---|---| | .1, .2 (sens de la souris) | oui : `C1MouseSign +1` compilé ; broche `PC` 109.B = 1 relue par l'IMPL (MCP, 13:28) | **Aucun comportement vu en jeu.** Sens C1 déduit du journal de COMMUN-17 (`CursorY` positif quand la souris monte) | | .3, .4 (studio) | oui | Faisabilité S1-C++ lue par MCP (7 places, mur de fond à -3131485) ; **caméra encore ≈ 101 cm hors de la pièce** (`CAM2-IMPL-03.md` § 6.4) : « la caméra ne sort plus de la pièce » est donc **à constater**, le témoin le dira ; borne éteinte sous le menu de création (`CAM2-SPEC-02.md` § 2.2) | | .5 à .8 (couple, pièce visible) | oui | R3 / R4 de `CAM2-VAL-03.md` ; témoin de cumul doublé si deux axes tenus ensemble (R5, laissée) ; coupures de `PC` « relues par l'IMPL », **non rejouées** (R6) | | .9, .10 (couple, pièce cachée) | oui | R2 corrigée par IMPL-04 : **à prouver** ; bornes de hauteur [-30, +150] estimées | | .11 (molette) | oui | Mention d'aide conditionnelle à ce cas (si la molette ne marche plus, la mention est retirée) | | .13, .14, .15 (aide, menu Clavier, message d'état) | oui | 12 `%s` pour 12 arguments recomptés (`CAM2-VAL-03.md` c8) ; affichage jamais vu | | .12 (vue de dessus) | oui | Remise en place de la vue de dessus (IMPL-02) ; coupures de `PC` nouvelles | | .16 à .20 | oui | non-régressions ; .17 reprend en partie COMMUN-17.13 | ## 3. Cas Contrôle automatique : motif cherché dans le journal de jeu, lancé avant la remise par `Tools\EssaiJournal.ps1` quand il existe. Verdict, Découvreur et Heure restent vides : le BILAN les remplit. « Journal » = `Saved\Logs\LifePlay.log` de la build. Les témoins sont écrits au plus une fois par seconde chacun, sauf ceux des touches du couple, écrits une fois au relâchement de chaque axe. ### 3.1 CAM2 : sens de la souris | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.1 | CAM2 | `C1MouseSign +1` ; `CAM2-SPEC-02.md` § 1 ; retour de COMMUN-17.1 ; CHG-376 (réservé, non versé) | En jeu libre, caméra C1 (hors scène) : 1. monter la souris puis la descendre, lentement ; 2. souris au maximum vers le haut, puis vers le bas ; 3. tourner la souris à l'horizontale ; 4. marcher sans toucher la souris ; 5. sortir de C1 (autre caméra) puis y revenir | **Souris vers le haut = regarder vers le haut**, souris vers le bas = regarder vers le bas (sens corrigé). Arrêt vers **+70°** en haut et **-60°** en bas (environ), pas de retournement. Le lacet reste inchangé, la marche ne bouge pas la tête. En revenant dans C1, la vue est à l'horizontale. Si le sens est encore inversé : noter (une seule constante à inverser) | motif `C1 souris` : au moins 1 ligne. Lire : quand `CursorY` est positif (souris vers le haut), `tangage voulu` doit être **positif** (regarder en haut) ; tangage de contrôle jamais hors [-60, +70] | | | | | COMMUN-18.2 | CAM2 | Broche B de `PC` nœud 109 : -1 → 1 ; `CAM2-SPEC-02.md` § 6.1 ; retour de COMMUN-17 (POV inversé) ; CHG-376 (réservé) | Lancer une **scène** en vue à la première personne (POV, tête du personnage) : monter puis descendre la souris ; tourner la souris à l'horizontale ; puis refaire le même geste en C1 hors scène | **Souris vers le haut = regarder vers le haut en POV** ; le sens est **le même qu'en C1** (cas .1). Le lacet du POV n'a pas changé (non touché). Si le POV est encore inversé : noter | sans objet : constat visuel (comparaison des sens en POV et en C1) | | | | ### 3.2 CAM2 : studio de création | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.3 | CAM2 | S1-C++ ; `CAM2-SPEC-02.md` § 5 ; `CAM2-IMPL-03.md` § 4 point 2 ; retour de COMMUN-17.3 | Ouvrir l'écran de création de personnage. Relever le cadrage en caméra « C3 Room (old) » ; passer par les caméras du studio (plein pied, portrait, scène) ; approcher la vue du mur (orbite, travelling). Comparer avec la capture notée à COMMUN-17.3 si l'utilisateur la garde. Passer ensuite en C1 et C2 | Le personnage est **reculé d'environ 135 cm** et la caméra avancée de la même distance : **même taille à l'écran**, mais le décor change (caméra plus près de la pièce, moins d'extérieur sombre à gauche, personnage moins collé au bord). La vue **ne sort plus de la pièce** (ou, à défaut, noter la bande d'extérieur restante : ≈ 101 cm de caméra encore dehors sont attendus). Le personnage reste **devant le mur de fond** (≥ 50 cm). **C1 et C2 inchangés** | motif `Studio : decalage de la vue actif` : au moins 1 ; motif `Studio : personnage .* decale de \(-135, 0, 0\) depuis la place` : au moins 1 ; motif `Borne de vue : active \(Camera: C3 Room \(old\)\)` : relever la mention `mur du studio=` ; motif `Camera hors piece` en `C3 Room (old)` : relever le nombre de lignes et la distance au pivot (à comparer aux 106 lignes de COMMUN-17) | | | | | COMMUN-18.4 | CAM2 | R3 de `CAM2-VAL-03.md` ; `CAM2-IMPL-04.md` § 2 | Dans l'écran de création, **changer de personnage édité** (autre préréglage ou autre personnage, sans quitter la création) deux fois de suite, puis **quitter la création** et revenir dans le jeu. Regarder où se tient l'ancien personnage après chaque changement et après la sortie | Chaque nouveau personnage édité est reculé de 135 cm ; **l'ancien personnage revient à sa place d'origine** (il ne reste pas décalé). À la sortie de la création, le personnage édité est lui aussi remis à sa place (X, Y d'origine) ; la suite du jeu n'est pas faussée | motif `Studio : personnage .* remis a sa place .*\(personnage edite change\)` : au moins 1 ; motif `Studio : personnage .* remis a sa place` : au moins 1 à la sortie ; motif `Studio : decalage de la vue inactif` : 1 à la sortie | | | | ### 3.3 CAM2 et KEY2 : touches du couple en scène, pièce visible | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.5 | CAM2 | V / X = Z ; `CAM2-SPEC-02.md` § 7.2 ; `CAM2-IMPL-03.md` § 4 point 3 | Scène, **pièce intérieure visible** : tenir **V** jusqu'à l'arrêt, puis **X** jusqu'à l'arrêt ; relâcher entre les deux | **V monte** le couple (axe Z), **X le descend**. Arrêt **au plafond** (racines à ≈ 120 cm sous le plafond) et **au sol** (≈ 5 cm sous le dessus du sol), **sans saccade** (pas de retour en arrière à l'image suivante). La caméra de scène suit le couple. Aucun déplacement sur X ni sur Y | motif `Scene : CoupleMoveY \(Z\)=` : une ligne au relâchement de chaque appui, avec `Room cachee=0` ; le déplacement cumulé n'a qu'une composante Z ; `[borne : plafond]` à la montée, `[borne : sol]` à la descente | | | | | COMMUN-18.6 | CAM2 | Flèches haut / bas = Y du monde ; `CAM2-SPEC-02.md` § 7.2 | Même scène : tenir la flèche **haut**, puis la flèche **bas**, jusqu'à l'arrêt | Le couple avance puis recule sur l'**axe Y du monde** (haut = +Y). Arrêt à **80 cm du mur**, sans saccade. Aucune rotation du couple, aucun effet sur la vue de dessus | motif `Scene : DownUp \(Y\)=` : une ligne au relâchement ; déplacement cumulé sur Y seulement ; `[borne : mur]` à l'arrêt | | | | | COMMUN-18.7 | CAM2 | Flèches gauche / droite = X du monde ; `CAM2-SPEC-02.md` § 7.2 | Même scène : tenir la flèche **gauche**, puis la flèche **droite**, jusqu'à l'arrêt | Le couple se déplace sur l'**axe X du monde** (droite = +X). Arrêt à 80 cm du mur, sans saccade. **Le couple ne tourne plus** au clavier (c'était le cas des scènes d'extérieur avant ce passage) | motif `Scene : LeftRight \(X\)=` : une ligne au relâchement ; déplacement cumulé sur X seulement ; `[borne : mur]` à l'arrêt | | | | | COMMUN-18.8 | CAM2 | Bornes de la pièce visible ; R4 et R5 de `CAM2-VAL-03.md` | Même scène : pousser le couple contre **chacun des quatre murs** (flèches), puis contre le sol et le plafond (V / X) ; tenir deux axes ensemble (par exemple V et flèche haut) | Le couple s'arrête à chaque mur, au sol et au plafond, sans traverser, sans saccade. Deux axes tenus ensemble : les deux agissent. **Noter** si une scène en pièce visible refuse tout déplacement (raison « interieur inconnu ») : ce serait le cas R4, rare | motif `Scene : .* ignore \(interieur inconnu\)` : 0 attendu (si ≥ 1 : noter la scène) ; avec deux axes tenus, le déplacement cumulé de chaque ligne peut être **doublé** (limite connue R5, cosmétique : ne pas compter comme défaut) | | | | ### 3.4 CAM2 : touches du couple en scène, pièce cachée | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.9 | CAM2 | Pièce cachée ; `CAM2-SPEC-02.md` § 7.2 | Scène d'**extérieur** (pièce cachée) : tenir **V** jusqu'à l'arrêt, puis **X** jusqu'à l'arrêt ; tenir les flèches haut / bas, puis gauche / droite | V / X déplacent le couple sur Z dans la plage **[Z d'entrée - 30 cm, Z d'entrée + 150 cm]** (arrêt en haut et en bas). Flèches : déplacement sur Y puis sur X **sans borne** de mur. **Pas de pas doublé** (un seul chemin, plus de déplacement par `PC`). Aucune rotation au clavier | motif `Scene : CoupleMoveY \(Z\)=.*Room cachee=1` : une ligne par appui, `[borne : hauteur dehors]` aux arrêts ; motif `Scene : DownUp \(Y\)=.*Room cachee=1` et `Scene : LeftRight \(X\)=.*Room cachee=1` : une ligne chacun ; motif `ignore \(piece cachee` : **0** (cette raison n'existe plus) | | | | | COMMUN-18.10 | CAM2 | R2 de `CAM2-VAL-03.md` ; `CAM2-IMPL-04.md` § 2 (compteur de scènes) | Lancer une scène d'extérieur A avec le joueur comme meneur ; tenir V jusqu'à l'arrêt (noter la hauteur atteinte) ; **finir la scène**. Lancer une scène d'extérieur B à une **autre hauteur** (autre endroit, marche ou rebord, avec le même meneur) ; tenir V puis X jusqu'à l'arrêt | **Chaque scène prend son propre Z d'entrée** : en B, V / X bornent le couple à ±(−30, +150) cm autour de la hauteur de B, **pas** de A. Pas de retour brutal du couple vers la hauteur de A à la première pression de V ou X. Une hauteur de B nettement différente de celle de A rend le constat visible | motif `Scene : CoupleMoveY \(Z\)=.*Room cachee=1` : les lignes de B ont un déplacement Z cumulé de l'ordre de la plage (≤ +150, ≥ -30), **pas** un grand saut vers l'ancienne hauteur ; relever les Z du couple en entrée de A et de B s'ils figurent dans les lignes voisines | | | | ### 3.5 CAM2 : molette, vue de dessus | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.11 | CAM2 | Molette en scène ; `CAM2-SPEC-02.md` § 7.2 (molette gardée en double de V / X) ; question de Big Boss | En scène, pièce visible puis pièce cachée : tourner la **molette** vers le haut puis vers le bas, **sans** tenir V ni X | **Constater si la molette monte et descend encore le couple.** Verdict : oui (la mention de l'aide reste exacte) ou **non** (la mention « Mouse wheel: raise / lower the couple » de l'aide sera retirée par CAM2). Noter les deux pièces séparément | sans objet : constat visuel | | | | | COMMUN-18.12 | CAM2 | Coupures de `PC` (`IfThenElse_11.then`, `IfThenElse_12.then`) ; remise en place de la vue de dessus (IMPL-02) | Noter la place de la carte (Overview). Lancer une scène en pièce visible, tenir les flèches haut / bas et gauche / droite, quitter la scène, rouvrir la carte. Hors scène : flèches sur la carte | Après la scène, la carte est **à la même place qu'avant**. Hors scène, les flèches déplacent la carte comme d'habitude (axes inchangés). Aucun autre effet de bord | motif `Scene : Birdview remis a sa place` : une ligne à la sortie de scène **si** un décalage a eu lieu (0 ligne acceptable si la carte n'a pas bougé) | | | | ### 3.6 KEY2 : aide, menu Clavier, message d'état | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.13 | CAM2 / KEY2 | Aide refondue ; `CAM2-SPEC-02.md` § 7.3 ; `CAM2-IMPL-03.md` § 4 point 4 | Ouvrir l'**écran d'aide des commandes en scène**, lire les lignes du couple, de la caméra et des actions | Ligne du couple : « couple up / down (raise / lower) » avec les **touches liées réelles** (V / X en QWERTY), puis « Mouse wheel: raise / lower the couple » ; ligne « move the couple forward / back (Y) » avec la touche de la flèche haut / bas, ligne « left / right (X) » avec la touche de la flèche gauche / droite ; ligne du panneau d'action avec sa touche ; **aucun « ? »** (sauf action sans touche, à noter) ; plus de ligne « turn the couple (outdoor scenes) » ; lignes de la caméra intactes | sans objet : constat visuel | | | | | COMMUN-18.14 | KEY2 | KEY2-SUITE-LB ; `KEY2-TACHES.md` ligne 18 | Menu Clavier : lire la section « Scene » et ses blocs ; repérer les actions du couple et les actions de flèches | Libellés : **« Couple Up »** et **« Couple Down »** (touches V / X par défaut) ; **« Forward / Back (map view / couple) »** et **« Right / Left (map view / couple) »** pour les flèches haut / bas et gauche / droite. Ces flèches sont dans le bloc **Characters** (avec l'animation manuelle et la rotation), plus dans le bloc caméra. Aucun libellé adulte | sans objet : constat visuel | | | | | COMMUN-18.15 | KEY2 | KEY2-SUITE-ST ; `KEY2-TACHES.md` ligne 17 | Menu Clavier : lancer la capture d'une action puis presser le **clic gauche seul** ; relire le message d'état en bas du panneau | Le message « Left click needs Shift, Ctrl, Alt or Cmd. Escape cancels. » est **entier, passé à la ligne si besoin** (pas coupé à droite) ; clic gauche refusé ; Escape annule. Un autre message long (par exemple l'avertissement « Also used by the game: … ») passe aussi à la ligne | sans objet : constat visuel | | | | ### 3.7 Non-régression | Cas | Lot | Correctif (CHG / ERR / ticket) | Action de l'utilisateur | Attendu | Contrôle automatique du journal | Verdict | Découvreur | Heure | |---|---|---|---|---|---|---|---|---| | COMMUN-18.16 | CAM2 | Borne de vue (IMPL-02) | En scène intime, pièce visible, vues `Scene`, `C3 Couple`, puis `C3 Room (old)` : orbite au bouton droit, travelling ; puis C2 (Follow) hors scène | C2 et C3 **ne traversent pas les murs** en scène ; vue C2 hors scène inchangée | motif `Borne de vue : active \(Camera: Scene\)` et `\(Camera: C3 Couple\)` : au moins 1 chacun ; motif `Borne de vue : inactive \(Camera: C2 Follow\)` : au moins 1 | | | | | COMMUN-18.17 | KEY2 | Disposition QWERTY / AZERTY (KEY2) | Marche **ZQSD** (AZERTY) puis **WASD** (QWERTY) via le menu Clavier (disposition + Apply) ; avec AZERTY choisie : fermer le jeu, **relancer**, vérifier que la disposition AZERTY est conservée et que la marche suit | La marche suit la disposition choisie dans les deux cas ; **AZERTY conservé après la relance** ; menu Clavier : « Layout: AZERTY » après relance | motif `51 actions et 17 axes relus` (ou équivalent) à la relance ; motif `illisible` (ligne « Clavier ») : 0 | | | | | COMMUN-18.18 | KEY2 | Commandes combinées | Ctrl + C et Ctrl + E : les presser en jeu libre ; puis C seul et E seul | Ctrl + C ouvre le menu de changement de ville, Ctrl + E le menu de changement de personnage (décision KEY2) ; C seul change de caméra, E seul fait l'interaction ; aucune action déclenchée par Ctrl seul | sans objet : constat visuel | | | | | COMMUN-18.19 | KEY2 | Vitesse | En jeu libre : touches **+** et **−** de vitesse (pavé et rangée) | La vitesse augmente et diminue comme avant ; aucune interaction avec le couple | sans objet : constat visuel | | | | | COMMUN-18.20 | STM1 | Carte de Londres (Tamise) | Ouvrir la carte de Londres (Overview), regarder le fleuve, se déplacer sur la carte | La carte et le fleuve sont **inchangés** (comme dans la build COMMUN-17) ; aucune erreur de chargement | motif `Fatal\|Unhandled\|Critical error\|Assertion failed` : 0 | | | | Décompte : **20 cas** : sens de la souris 2 (.1, .2), studio de création 2 (.3, .4), couple en pièce visible 4 (.5 à .8), couple en pièce cachée 2 (.9, .10), molette et vue de dessus 2 (.11, .12), aide et menu Clavier 3 (.13, .14, .15), non-régression 5 (.16 à .20). Relevés communs au journal (hors cas) : `Fatal|Unhandled|Critical error|Assertion failed` = 0 ; `Accessed None` : aucun nouveau ; motif `Camera hors piece` : lire toute ligne (borne franchie, distance au pivot) pour le BILAN ; aucune ligne `Camera hors piece` dans une vue exclue (C1, POV, Overview, C2). ## 4. Cas témoins | Cas | VAL statique (chemin) | Verdict statique | |---|---|---| | COMMUN-18.1 à .12 | `Docs\Migration\etat\CAM\CAM2\CAM2-VAL-03.md` | PASS-STATIC avec réserves (R1 à R6) : builds « Succeeded » ×2, 0 erreur, MD5 et fins de ligne conformes, diff conforme à `CAM2-SPEC-02.md` ; **IMPL-04** (R2, R3, R4 corrigées) **sans VAL propre** : compilée seulement (`CAM2-IMPL-04.md` § 4) ; comportement non validé | | COMMUN-18.13 à .15 | `CAM2-VAL-03.md` (c4, c8) | PASS-STATIC : KEY2-SUITE à 6 blocs conformes, 12 `%s` pour 12 arguments ; affichage non vu | | COMMUN-18.16 | `Docs\Migration\etat\CAM\CAM2\CAM2-VAL-02.md` et `COMMUN-17-BILAN.md` | PASS statique ; .4 de COMMUN-17 PASS en jeu pour `Scene` et `C3 Couple` | | COMMUN-18.17 à .19 | `Docs\Migration\etat\REL\KEY2\KEY2-VAL-03.md` | PASS statique ; COMMUN-17.13 PASS en jeu (premier lancement QWERTY) | | COMMUN-18.20 | `COMMUN-17-BILAN.md` | pas de VAL propre ; carte non rapportée à COMMUN-17 | Aucune VAL de comportement n'existe pour ces lots : aucun verdict statique ne vaut pour un cas de jeu. Points à confirmer par l'utilisateur (`CAM2-VAL-03.md` § 6) qui touchent l'essai : R2 (cas .10), R3 (cas .4), R4 (cas .8), essai en jeu général. PubCheck : 0 constat(s) (`Tools\PubCheck.ps1 -Fichiers `, code 0). Tours : 7 / 40 ## Fichiers à commiter - `Docs/Migration/etat/BOSS/COMMUN-18-TESTS.md` (A).