165 lines
14 KiB
Markdown
165 lines
14 KiB
Markdown
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).
|