LifePlay-Revival/Docs/Migration/etat/REL/STM1/STM1-B3-FIN.md
edujiro5972 56dfcfc3d2 LifePlay UE 5.8 : état de développement au 2026-10-20
Tickets : PUB-20261020-T1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:35:10 +02:00

6.1 KiB

Fiche STM1-B3 (BUILD-FIN, étape 5 de STM1-SPEC-03) — Niveau N3 — Modèle prévu opus medium | utilisé claude-opus-5-5 — Agent session « Medium · STM1 » (pas de sous-agent) — Skills sk-protocol

STM1-B3 : preuve de la passe 2, matériau M_LP_Water et maillage d'eau de Londres (2026-10-20)

GO de Big Boss (local_104ff22d) :

  • prouver d'abord que la passe 2 recalcule l'origine (pleine précision, décalage en mm) ;
  • puis l'étape 5 : instantané, M_LP_Water en deux faces, exécution réelle sur CentralLondon seule ;
  • aucun autre asset touché, MD5 des 7 assets de référence identiques après ;
  • le sous-système de pose (étape 6) attend un GO séparé.

Résultat : réussi. La passe 2 est bien recalculée (décalage de 0,031 mm, § 1). Deux assets neufs sont créés : /Game/Heavy/StreetMap/Water/M_LP_Water (deux faces) et /Game/Heavy/StreetMap/Water/CentralLondon (13 550 triangles, 5,1 km²). Les 7 assets de référence sont inchangés.

1. Preuve que la passe 2 recalcule l'origine

Le code calcule l'origine finale par const FLonLat Origin = Kept.Num() ? EstimateOrigin(Kept) : Origin1; : nouvelle médiane sur les seules paires retenues, pas de réutilisation de l'origine de la passe 1. Une ligne de rapport en pleine précision a été ajoutée. DryRun de preuve (STM1-B3-DRYRUN-PREUVE.md, code 0) :

origines pleine precision : passe 1 lat 51.511376450986 lon -0.112194547205 ; passe 2 lat 51.511376450709 lon -0.112194547137 ; ecart lat -2.772e-10 deg, lon 6.738e-11 deg ; decalage 0.031 mm ; passe 2 calculee sur 3620 paires (passe 1 : 4523)

Lecture (estimé) :

  • les origines diffèrent à la 10e décimale : la passe 2 est bien recalculée ;
  • le décalage de 0,031 mm s'explique par la nature des estimations par paire. Chaque paire donne une estimation de l'origine ; le bruit des centres de boîte (jusqu'à plusieurs mètres) se répartit de part et d'autre de la valeur vraie. Retirer les 903 paires les plus éloignées, de façon à peu près symétrique, laisse la médiane presque au même endroit.
  • Le « 0 cm » affiché auparavant était exact, arrondi au centimètre.

2. Code et compilation

  • Instantané Tools\Snapshot.ps1 -Lot STM1-ETAPE5 :
    • LPBuildCityWaterCommandlet.cpp (832047E0…) et LifePlayEditorTools.Build.cs (95F28E7A…) : 2 entrées ;
    • Content\Heavy\StreetMap\Water : absent avant (Test-Path → False), donc rien à sauvegarder.
  • .cpp :
    • ligne de preuve (§ 1) ;
    • garde « ne jamais écraser un maillage d'eau existant » (FPackageName::DoesPackageExist) ;
    • option -CreateMaterial, qui crée M_LP_Water s'il est absent par UMaterialEditingLibrary (CreateMaterialExpression, ConnectMaterialProperty, RecompileMaterial, MaterialEditingLibrary.h:168, 232, 267). Après : MD5 69746A356A6138DAFEFE3F6930E82AF3, LF.
  • Build.cs : + MaterialEditor (dépendance privée). Après : MD5 DA4771A9DDD0A921A538AE52369F5C62, LF. LifePlay.uproject non touché.
  • BUILD Tools\Build.ps1 -Lot STM1 : code=0 duree=26s erreurs=0 avertissements=0 autres=20 unites=1 (STM1_Build_20261020-104059.txt).

3. Exécution réelle (CentralLondon seule)

RunCommandlet.ps1 -Lot STM1 -Commandlet LPBuildCityWater -Args "-City=CentralLondon -Water=…\q1-eau.osm.xml -Buildings=…\q2-batiments.osm.xml -CreateMaterial -Report=…\STM1-B3-ECRITURE.md" → code=0 duree=21s erreurs=0 avertissements=2 (résumé STM1_LPBuildCityWater_20261020-104208.txt, journal Saved\Logs\portage\STM1_LPBuildCityWater_20261020-104208.log).

recalage accepte (criteres : paires retenues, residu median, taux retenu)
polygones dans la carte : 278 exterieurs, 103 trous ; anneaux non fermes ignores : 0
maillage : 13902 sommets, 13550 triangles, aire 5.099 km2
materiau cree : /Game/Heavy/StreetMap/Water/M_LP_Water (…/Content/Heavy/StreetMap/Water/M_LP_Water.uasset), deux faces
asset ecrit : /Game/Heavy/StreetMap/Water/CentralLondon (…/Content/Heavy/StreetMap/Water/CentralLondon.uasset)
CODE 0

Les 2 avertissements n'en font qu'un, recopié deux fois par le résumé : LogUObjectGlobals: Warning: Failed to find object 'MaterialInterface /Game/Heavy/StreetMap/Water/M_LP_Water.M_LP_Water'. C'est le LoadObject qui précède la création, attendu puisque le matériau n'existait pas.

Asset neuf Taille MD5
Content/Heavy/StreetMap/Water/CentralLondon.uasset 391 602 o 5BDF4F0A6B3E709DAE9EFCFE8BCA2F6E
Content/Heavy/StreetMap/Water/M_LP_Water.uasset 5 717 o D413292C80C8C190766AD83ACFE2E418

Copie de sûreté des deux assets (Content\Heavy n'est pas suivi par git) : Snapshot.ps1 -Lot STM1-ETAPE5-APRES → D:\Game\LifePlay_Backup_5.5\STM1-ETAPE5-APRES\ (2 entrées).

4. Contrôles de fin (boss.md § 4)

  • UeState.ps1 : processus=2 editeur=0 compilation=0 shaders=0 jeu=2. Ce sont les LifePlay.exe de la build COMMUN-15 de l'utilisateur, hors copie ; non touchés.
  • CopieEtat -Lot STM1 (9 assets déclarés : les 7 de référence et les 2 neufs) : COPIE OK … proc=0 assets=9 absents=0 modifies=0 parasites=0 verrou=233:libre alertes=aucune (STM1-B3-APRES.json).
  • MD5 des 7 assets de référence identiques à ceux d'avant : GI 32FC0A97, Room 93138747, PC 707220A6, StreetMap_Static B7F20462, CentralLondon.umap 6CE42F91, Static/CentralLondon FBA15A84, StreetMap/CentralLondon A6C4D9B6.
  • Aucun autre asset : Content\Heavy\StreetMap ne contient que Static et le nouveau Water (2 fichiers).
  • Résumés rangés sous etat\REL\STM1\ (3 fichiers) ; etat\ST\STM1\ vide.
  • Brouillon : CHG-372 complété ; ERR : sans objet.

5. Fichiers

  • Projet : Source/LifePlayEditorTools/LPBuildCityWaterCommandlet.cpp (M depuis IMPL-02), LifePlayEditorTools.Build.cs (M).
  • Hors git : Content/Heavy/StreetMap/Water/CentralLondon.uasset, M_LP_Water.uasset (A).
  • Livrables : STM1-B3-FIN.md, STM1-B3-DRYRUN-PREUVE.md, STM1-B3-ECRITURE.md, STM1-B3-APRES.json, résumés STM1_*_20261020-1040*.txt et -1041*, -1042*.

Suite : GO séparé pour l'étape 6 (lecture PIE du Z du Plane, puis IMPL du sous-système ULPCityWaterSubsystem, BUILD, VAL, essai visuel). État : eau de Londres construite, pas encore affichée en jeu.