LifePlay-Revival/Docs/Migration/etat/BOSS/COMMUN-24-TESTS.md
2026-10-22 21:10:39 +02:00

165 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Fiche COMMUN-24-FIT — Niveau N3 — Modèle prévu opus medium | utilisé claude-opus-5-5 — Agent session « Medium · STM1 » (pas de sous-agent) — Skills sk-protocol
# COMMUN-24-TESTS : fiche de tests de la build Development COMMUN-24 (STM1 lot A, pack de ville `lpm_city_paris`, essai B8) (2026-10-21)
Demande de Big Boss (`local_104ff22d`), 2026-10-21, sur ordre de l'utilisateur : « Oui, lance la build Development COMMUN-24 (lot A de STM1), installe le pack lpm_city_paris et prépare le cahier de tests B8. »
Cette fiche reprend :
- `etat\REL\STM1\STM1-SPEC-09.md` (§ 2.5, § 4, § 7) ;
- `STM1-B7A-FIN.md` (§ 3) ;
- `STM1-B7B-FIN.md` (§ 5).
Fiche **prête**. Le § 1 (MD5, heure) est à compléter par Big Boss à la remise de la build. Rédigée sans copie UE, sans MCP, sans lancer le jeu. Aucun contenu de jeu : chaque action est décrite par sa fonction (doc 27). Forme reprise de `COMMUN-23-TESTS.md`.
**Hors fiche** :
- publication du pack (lots C à G) ;
- téléchargement dans le jeu ;
- conteneurs du serveur ;
- recuisson pour la version de la build 2 ;
- suivi S5 (rechoix de la même ville).
## 1. Build testée et pack
| Élément | Valeur |
|---|---|
| Chemin de la build | `D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\` (lancer `Windows\LifePlay.exe`) ; confirmé par Big Boss à la remise |
| MD5 de l'exe | à relever par Big Boss à la remise |
| Configuration | Development, `ProjectVersion=2026.10.2.2a` (`Config/DefaultGame.ini:4`) |
| Base | HEAD du dépôt + sources non commitées du lot A de STM1 (`LPAssetRegistryHelpers.h` `f0b17307…`, `.cpp` `3e782808…`, `LPCityWaterSubsystem.cpp` `da127491…` ; `STM1-B7A-FIN.md` § 1) et des autres lots que Big Boss y joint |
| Pack | `D:\Game\LifePlay_Publication\Mods\lpm_city_paris-1.0.0-for-LifePlay-2026.10.2.2a.zip`, 15 108 811 o, SHA-256 `691724c4e169ca3f734b24b6e9315c430f0bef9e9f288e6364c101e2d8234aa6` (`STM1-B7B-FIN.md` § 3.3) |
| Contenu du pack | Paris réel, 3 × 3 km autour du Pont-Neuf (Louvre, Orsay, Notre-Dame, Panthéon, Opéra, Pompidou), 10 911 bâtiments, la Seine en eau (0,6 km²), 12 bâtiments posés sur l'eau à masquer (péniches, un centre de secours fluvial, une fontaine) |
**Ce qui est vérifié ici pour la première fois** :
- la redirection C++ (lot A) ;
- le montage d'un pack de ville ;
- l'eau et le masque venus d'un pack.
Tout est compilé ou cuit à 0 erreur, et **jamais vu en jeu**.
### 1.1 Installation du pack (geste de Big Boss, à vérifier avant exécution)
L'archive contient `README.txt` à la racine et un dossier `LifePlay\` (`Mods\lpm_city_paris\…`, `Content\Modules\lpm_city_paris\…`), à fusionner avec le dossier `LifePlay` du jeu. Le dossier de destination est celui de `LifePlay.exe`.
La commande ci-dessous n'écrase rien (`-aos` : fichiers existants gardés) et n'extrait pas le `README.txt` de la racine :
```cmd
"C:\Program Files\7-Zip\7z.exe" x "D:\Game\LifePlay_Publication\Mods\lpm_city_paris-1.0.0-for-LifePlay-2026.10.2.2a.zip" -o"D:\Game\LifePlay_Build_5.8_Development_COM24\Windows" -x!README.txt -aos
```
Contrôle après extraction (PowerShell) : 6 fichiers attendus, aux tailles de `STM1-B7B-FIN.md` § 3.3.
```powershell
Get-ChildItem -Recurse -File "D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay\Mods\lpm_city_paris","D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay\Content\Modules\lpm_city_paris" | Select-Object FullName, Length
```
Tailles attendues :
| Fichier | Octets |
|---|---|
| `.uplugin` | 490 |
| `.pak` | 2 156 |
| `.ucas` | 15 319 216 |
| `.utoc` | 11 459 |
| `.lpmod` | 569 |
| `CREDITS.txt` | 1 064 |
### 1.2 Retrait du pack (cas .6) : déplacement, jamais de suppression
Jeu fermé, les deux dossiers sont **déplacés** hors du jeu (à remettre ensuite par le geste inverse) :
```powershell
$W = "D:\Game\LifePlay_Build_5.8_Development_COM24\Windows"
New-Item -ItemType Directory -Force "$W\_pack_retire" | Out-Null
Move-Item "$W\LifePlay\Mods\lpm_city_paris" "$W\_pack_retire\Mods_lpm_city_paris"
Move-Item "$W\LifePlay\Content\Modules\lpm_city_paris" "$W\_pack_retire\Modules_lpm_city_paris"
```
## 2. Faisabilité
### 2.1 Lignes de lancement
Le PowerShell de l'utilisateur plante au démarrage : on donne les deux formes, qui sont équivalentes. `-LPPersonsLog=2` n'est **pas** utile ici, aucun cas ne porte sur les personnages.
Forme `cmd` :
```cmd
"D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay.exe" -log
```
Forme PowerShell :
```powershell
& "D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay.exe" -log
```
### 2.2 Journal et motifs
Le « journal » est `D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay\Saved\Logs\LifePlay.log`, celui du lancement jugé. Le jeu garde un exemplaire horodaté à chaque lancement : le retrait du cas .6 donne un second lancement.
Les lignes `[LPCity]` (catégorie `LogLPCity`) ont les formes exactes suivantes, lues dans le code :
| Motif | Fichier : ligne | Quand |
|---|---|---|
| `[LPCity] REDIRECTION '<base>' -> '<pack>' (pack lpm_city_paris)` | `LPAssetRegistryHelpers.cpp` (`ResolveCityPath`) | à la **première** résolution de chaque chemin de Paris dans la session (cache ensuite) : carte, `Static/`, `Water/`, `Water/…_Mask` |
| `[LPCity] RESOLUTION '<base>' -> OK` | `LPAssetRegistryHelpers.cpp` | chaque résolution par `GI.MoveCity`, sur le chemin **demandé** (`/Game/…`) |
| `[LPCity] DEMANDE 'Paris' sm='/Game/Heavy/StreetMap/Paris.Paris' mesh='/Game/Heavy/StreetMap/Static/Paris.Paris'` | `LPCityTraceSubsystem.cpp` | au choix de la ville |
| `[LPCity] POSE <maillage> (t=…)` | `LPCityTraceSubsystem.cpp` | la carte posée ; avec le pack, `<maillage>` = `/lpm_city_paris/StreetMap/Static/Paris.Paris` |
| `[LPCity] EAU Paris : pose /lpm_city_paris/StreetMap/Water/Paris.Paris ; Z eau=… (…) ; Z carte=…` | `LPCityWaterSubsystem.cpp` | pose de l'eau |
| `[LPCity] EAU Paris : masque 12 centres ; instances maisons N ; masquees m ; epargnees 0 (seuil 0 m2) ; centres sans instance c` | `LPCityWaterSubsystem.cpp` | à chaque passe dont le résultat change ; **lire la dernière** |
| `[LPCity] EAU Paris : aucun asset d'eau, rien de pose` | `LPCityWaterSubsystem.cpp` | Paris **sans** pack (gabarit) |
Relevé commun (commande prête, à lancer après chaque lancement) :
```powershell
Select-String -Path "D:\Game\LifePlay_Build_5.8_Development_COM24\Windows\LifePlay\Saved\Logs\LifePlay.log" -Pattern '\[LPCity\]' | Select-Object LineNumber, Line
```
### 2.3 Rejoindre Paris dans le jeu
- **Partie neuve** : à la création du personnage, le **menu des villes** (liste des villes avec les réglages de population) s'ouvre. Choisir **Paris**, puis continuer.
- **En partie** : rouvrir le même menu des villes (comme pour le rechoix de Central London au COMMUN-20, journal de 15:11:44) et choisir **Paris**. Un **déménagement** vers Paris convient aussi, s'il est proposé.
- Le geste exact dépend de l'interface de la build. Ce qui compte : la ligne `DEMANDE 'Paris'`, puis `POSE …`.
| Cas | Fonction présente dans la build ? | Dépend d'un travail non fini ou d'une observation |
|---|---|---|
| .1 à .5 et .7 | oui (lot A compilé à 0 erreur ; pack cuit à 0 erreur) | jamais vu en jeu |
| .5 (Mod Manager) | la case existe pour la moitié texte (`.lpmod`) | la redirection ne lit **pas** la case : voir l'attendu du .5 |
| .6 (retrait) | oui | demande la fermeture du jeu et le déplacement du § 1.2 |
| .8 (sauvegarde) | oui | demande une sauvegarde faite à Paris **avant** le pack (sur le gabarit) ; facultatif |
## 3. Cas
Contrôle automatique : motif cherché dans le journal de jeu par Big Boss. Verdict, Découvreur et Heure restent vides : le BILAN les remplit.
| Cas | Lot | Correctif (CHG / ticket) | Action de l'utilisateur | Attendu à l'écran | Ligne de journal attendue | Verdict | Découvreur | Heure |
|---|---|---|---|---|---|---|---|---|
| COMMUN-24.1 | STM1 | SPEC-09 B7 (installation) | Pack installé (§ 1.1). Lancer le jeu (§ 2.1) ; sur l'écran titre, ouvrir **Mod Manager** | Le mod « City map: Paris (OpenStreetMap, 3 x 3 km) » est listé (auteur LifePlay, licence ODbL) ; **le cocher** s'il ne l'est pas, puis fermer Mod Manager | `Modules : N .lpmod lu(s)` (N augmenté de 1 par rapport à une session sans pack) ; `lpm_city_paris` : aucune fenêtre « Mod version warning » (`MODULE_GAME_VERSION` = `ProjectVersion` = 2026.10.2.2a) ; `LPModGuard` : pas de ligne de démontage de `lpm_city_paris` | | | |
| COMMUN-24.2 | STM1 | SPEC-09 lot A (`STM1-B7A-FIN.md`) | Rejoindre **Paris** (§ 2.3). Laisser la carte finir de charger, puis passer en **vue de dessus** | **La vraie carte du centre de Paris** à la place du gabarit (qui n'avait que 9 bâtiments isolés) : un tissu dense de rues et d'îlots, la Seine en travers avec l'île de la Cité et l'île Saint-Louis, de grands espaces (jardin des Tuileries, cour du Louvre). Les maisons génériques du jeu sont posées sur les bâtiments | `[LPCity] DEMANDE 'Paris'` ; `[LPCity] REDIRECTION '/Game/Heavy/StreetMap/Paris.Paris' -> '/lpm_city_paris/StreetMap/Paris.Paris' (pack lpm_city_paris)` ; idem `Static/Paris.Paris` -> `/lpm_city_paris/StreetMap/Static/Paris.Paris` ; `RESOLUTION … -> OK` ×2 ; `POSE /lpm_city_paris/StreetMap/Static/Paris.Paris` | | | |
| COMMUN-24.3 | STM1 | SPEC-09 lot A (eau d'un pack) ; B6 | À Paris, suivre la **Seine** d'un bord à l'autre de la carte en vue de dessus ; descendre près d'un **pont** et d'un **quai** | La Seine est **bleue** (eau), pas en pavés ; les ponts traversent au-dessus de l'eau ; les quais sont intacts ; l'eau s'arrête aux berges ; les bassins (Tuileries) sont en eau. Bord de carte net à environ 1,5 km du centre | `[LPCity] REDIRECTION '/Game/Heavy/StreetMap/Water/Paris.Paris' -> '/lpm_city_paris/StreetMap/Water/Paris.Paris' (pack lpm_city_paris)` ; `[LPCity] EAU Paris : pose /lpm_city_paris/StreetMap/Water/Paris.Paris ; Z eau=…` ; `aucun asset d'eau` pour Paris : 0 | | | |
| COMMUN-24.4 | STM1 | SPEC-08 (masque) appliqué au pack ; B6 | Sur la Seine, regarder les berges où accostent les **péniches** (quai de la Rapée et de l'Hôtel de Ville, quai du Louvre, pont Neuf) ; repérer toute maison posée sur l'eau (capture bienvenue) | **Aucune maison générique sur l'eau** ; les maisons des berges restent | `[LPCity] REDIRECTION '/Game/Heavy/StreetMap/Water/Paris_Mask.Paris_Mask' -> '/lpm_city_paris/StreetMap/Water/Paris_Mask.Paris_Mask'` ; **dernière** ligne `[LPCity] EAU Paris : masque 12 centres ; instances maisons N ; masquees 12 ; epargnees 0 (seuil 0 m2) ; centres sans instance 0` (noter N ; `masquees` et `centres sans instance` peuvent varier de 1 ou 2 si MapMarkers ne pose pas un bâtiment) | | | |
| COMMUN-24.5 | STM1 | Mod Manager et pack (constat de conception) | Retour au titre, **Mod Manager** : **décocher** le mod ; relancer le jeu ; rejoindre Paris | **Attendu actuel : la vraie carte reste.** Un plugin `Mod` est monté au démarrage dès qu'il est présent, que la case soit cochée ou non (doc 23 § 1, § 2.3), et la redirection ne lit pas cette case. Noter ce qui s'affiche ; l'utilisateur dira s'il veut que la case commande la carte (suite à décider, hors B8) | lignes `REDIRECTION` de Paris : présentes ; à recopier au BILAN | | | |
| COMMUN-24.6 | STM1 | SPEC-09 § 2.1 point 4 (sans pack : gabarit) | Fermer le jeu ; **déplacer** le pack (§ 1.2) ; relancer ; rejoindre Paris | **Retour au gabarit** : la carte de Paris d'avant (9 bâtiments isolés, sans Seine en eau) ; aucun plantage | `[LPCity] REDIRECTION` : **0** ; `[LPCity] POSE /Game/Heavy/StreetMap/Static/Paris.Paris` ; `[LPCity] EAU Paris : aucun asset d'eau, rien de pose` ; `Modules : N .lpmod lu(s)` revenu à sa valeur sans pack | | | |
| COMMUN-24.7 | STM1 | Non-régression Londres et Bath (lot A, COMMUN-20) | Pack **installé** (avant le .6, ou remis par le geste inverse du § 1.2) : rejoindre **Londres**, suivre la Tamise ; puis **Bath** | Londres : carte habituelle, Tamise en eau, **aucune maison sur l'eau**. Bath : inchangée | Londres : `[LPCity] EAU CentralLondon : pose /Game/Heavy/StreetMap/Water/CentralLondon.CentralLondon` et dernière ligne `masque 59 centres ; … masquees 59 ; epargnees 0` ; **aucune** ligne `REDIRECTION` pour `CentralLondon`, `Bath` ni `00BathCC` ; Bath : `EAU … aucun asset d'eau` | | | |
| COMMUN-24.8 (facultatif) | STM1 | Risque SPEC-09 § 4 (parties existantes) | Charger une **sauvegarde faite à Paris** sur le gabarit, avec le pack installé ; regarder le logement et le lieu de travail | Le chargement aboutit ; la carte est la vraie carte de Paris ; noter si le logement ou le travail est mal placé, introuvable ou incohérent | `SAUVEGARDE ville='Paris' -> … trouvee` ; `Fatal\|Unhandled\|Critical error\|Assertion failed` : 0 ; `Accessed None` : recopier toute ligne nouvelle | | | |
Décompte : **8 cas** : installation et Mod Manager 1 (.1), Paris 3 (.2 à .4), case du mod 1 (.5), retrait 1 (.6), non-régressions 1 (.7), sauvegarde 1 (.8, facultatif).
Ordre conseillé :
- .1, .2, .3, .4, .7 dans une même séance, pack installé ;
- puis .5 ;
- puis .6 (retrait) ;
- .8 quand une sauvegarde à Paris existe.
Relevés communs au journal (hors cas) :
- `Fatal|Unhandled|Critical error|Assertion failed` = 0 ;
- `Accessed None` : aucun nouveau ;
- toute ligne `[LPCity]` de la session recopiée au BILAN ;
- temps de chargement de Paris noté (carte de 15 Mo, contre 144 Mo pour Londres).
## 4. Cas témoins
| Cas | VAL statique (chemin) | Verdict statique |
|---|---|---|
| COMMUN-24.2 à .4, .6 | `Docs\Migration\etat\REL\STM1\STM1-B7A-FIN.md` (§ 1 à 3) et `STM1-B7B-FIN.md` (§ 1 à 3) | IMPL et production seulement : compilation à 0 erreur, cuisson « 0 error(s), 0 warning(s) », conteneur contrôlé ; **aucune VAL** de comportement |
| COMMUN-24.4 | `STM1-B7B-FIN.md` § 1 (B6) et la liste du commandlet (12 bâtiments) | liste calculée hors jeu ; jamais observée |
| COMMUN-24.7 | `COMMUN-20-TESTS.md` (.6 à .8) et son BILAN (O2 PASS) | PASS en jeu sans le lot A ; à rejouer avec le lot A |
Aucune VAL de comportement n'existe pour les cas .1 à .6 et .8 : aucun verdict statique ne vaut pour un cas de jeu.
PubCheck : `PubCheck : 0 constat(s)` (lancé par l'auteur après écriture).
Tours : ≈ 4 / 40 (déclaré ; `FicheStats.py` fait foi).
## Fichiers à commiter
- `Docs/Migration/etat/BOSS/COMMUN-24-TESTS.md` (A).