Fiche STM1-RECH-01 — Niveau N2 — Modèle prévu opus medium | utilisé claude-opus-5-5 — Agent session « Medium · STM1 » (pas de sous-agent) — Skills sk-protocol (lu en CART-01), lp-ue-compat (lu en CART-01) # STM1-RECH-01 : carte de Londres valide et portage du plugin StreetMap en 5.8 (2026-10-20) Ordre : Big Boss (`local_104ff22d`), 2026-10-20 03:00. Demande de l'utilisateur citée par Big Boss : « pour street map voir si on peut récupérer une carte valide de londre et si le plugin intègre la version 5.8 ». Lecture seule : ni copie UE, ni MCP, ni écriture dans `Content\` ou `Plugins\`, ni git qui écrit. Recherche web : GitHub (API `gh`, lecture) et une recherche web. **Résultat : réussi pour les deux questions.** **A.** La carte de Londres de la copie 5.8 est **intacte** : même octet pour octet que la 5.5 et que l'archive du 2026-10-20, et elle se cuit en entier (144 Mo). Aucune version de remplacement n'est nécessaire. La carte « quelconque » vient donc d'ailleurs (repli sur `000Dummy` ou `Cities[0]`, STM1-CART-02). **B.** Notre plugin **compile et charge en 5.8** : portage local fait en U4 (CHG-254) et build 5.8 réussie. L'amont n'est plus maintenu depuis 2023. Deux forks publics visent la 5.8, mais notre plugin est une **variante LifePlay** (eaux, parcs, réglages propres) : un remplacement par un fork casserait plus qu'il ne répare. ## A. Une carte de Londres valide ### A1. L'asset actuel est-il intact ? (établi) | Copie | Paquet source `Content/Heavy/StreetMap/Static/CentralLondon.uasset` | Cuit (`.uexp`, données de rendu) | |---|---|---| | 5.8 (travail) | MD5 `fba15a84cc46…`, 13 607 769 octets | `Saved/Cooked/Windows/…/CentralLondon.uexp` : 144 012 885 octets (2026-10-14 16:35) | | 5.5 | `fba15a84cc46…`, 13 607 769 | 157 023 959 (2026-10-07) | | Archive `LifePlay_Backup_5.5\ARCH58-20261020\LifePlay-master 5.8` | `fba15a84cc46…`, 13 607 769 | — | | 4.27 (`ARCH427\LifePlay-master 4.27`) | `3ff43b1a89c7…`, 202 010 797 (format UE4, données de rendu dans le fichier) | build 2026.9 : 210 059 668 | | `000Dummy` (repère) | `128c0628…`, 98 129 (5.5 = 5.8) | 47 231 | Commande : `find LifePlay_Backup_5.5 "LifePlay-master 5.5" "LifePlay-master 5.8" -iname CentralLondon.uasset -path "*Static*"`, puis `md5sum` et `stat -c %s`, plus `stat` des `.uexp` cuits. La baisse 4.27 → 5.x (202 → 13,6 Mo) est déjà expliquée et close sans perte : **ERR-018** (`Docs/Registre_Erreurs.md:32`). Les 280 maillages `Static` (sommets, triangles, sections, matériaux, dimensions) sont identiques entre les assets 4.27 et 5.5 (CHG-044). En 5.8, `LPCheckStreetMap` donne 280/280 villes conformes (`etat/U58/U8/U8-T7b-VAL.md` § 3.3). Le cuit 5.8 fait trois mille fois la taille de `000Dummy` : la carte complète est bien embarquée. Les archives `Releases/2026.10.1.5` et `2026.10.1.6` contiennent les livrables publiés (exécutable et paquets), pas l'asset source : rien de plus à y prendre (estimé, contenu non ouvert). Les `.uasset` cuits de 1,6 à 2 Ko sont des en-têtes de paquet : les données sont dans le `.uexp`. ### A2. Le jeu d'origine en garde-t-il une autre version ? (établi : non) - Le dépôt public `vinfamy/LifePlay` (dernier push le 2021-01-08) n'a pas de `Content/Heavy` (`gh api repos/vinfamy/LifePlay/contents/Content/Heavy` → HTTP 404). Le doc 12 (`Docs/12_Reconciliation_Vinfamy.md`, index `Docs/README.md:50`) conclut déjà « rien à récupérer ». - `Content/Heavy/*` est ignoré par notre dépôt (`.gitignore:17`) : il n'existe pas d'autre version dans git. Les seules copies sont celles de A1, toutes équivalentes. ### A3. Régénérer depuis OpenStreetMap ? (établi : pas de source locale) - Aucun fichier `.osm` ni `.osm.pbf` sous `D:\Game` (`find /d/Game -maxdepth 6 -iname "*.osm*"` : vide). L'asset `StreetMap/CentralLondon.uasset` ne garde aucun chemin `.osm` lisible (`grep -a`). - L'outil existe : l'import `.osm` du module `StreetMapImporting` est compilé en 5.8 (B2). Il faudrait télécharger un extrait récent de Londres (Geofabrik, Overpass), l'importer, puis recréer le maillage `Static`. - Coût et risques (estimé) : la carte obtenue serait **différente** de l'originale (OSM a changé depuis 2020 : bâtiments, routes, noms). Ces différences touchent les données de jeu indexées sur la carte (bâtiments nommés, aménités, `CityExpansion`, favoris, sauvegardes), la cohérence avec les 279 autres villes et les mods. Il faudrait aussi respecter la licence ODbL : attribution « © OpenStreetMap contributors » dans les crédits, avec une source exacte (règle des crédits du projet). ### A4. Lien avec CART-02 (estimé fort) L'asset étant bon et cuit, une « map quelconque avec des bâtiments lambda » ne vient pas de l'asset de Londres. Elle vient du **choix de la ville** : démarrage sur `000Dummy`, `GetCityByName` sans correspondance, ou `MoveCity` qui retombe sur `Cities[0]` (STM1-CART-02 § 1, M1-M5). Les observations de CART-02 § 5 (messages bleus, journal `GetAssetByObjectPath ECHEC`) et la lecture MCP de `GI.Cities` restent la voie qui tranche. ## B. Le plugin StreetMap et UE 5.8 ### B1. L'amont (établi) | Fait | Source | |---|---| | `ue4plugins/StreetMap` : non archivé, 453 forks, dernier push le 2024-05-23 ; derniers commits du 2023-05-29 (« Miscellaneous fixes for warnings in 5.2 », « Fixed meshes not being rendered unless selected (invalid LOD) », « Fixed crash when reimporting if the .OSM file wasn't found ») | `gh api repos/ue4plugins/StreetMap` ; `gh api repos/ue4plugins/StreetMap/commits?per_page=3` ; https://github.com/ue4plugins/StreetMap | | Le README ne nomme aucune version de moteur. Il annonce seulement l'intention de « keep the source code up to date » | https://github.com/ue4plugins/StreetMap (README) | | Conclusion : l'amont s'arrête à UE 5.2, sans portage 5.3-5.8 | estimé (déduit des commits) | ### B2. Notre copie (établi : compile et fonctionne en 5.8) | Fait | Source | |---|---| | Portage local en U4 : les 9 C4996 du lot sont corrigés, dont ceux de StreetMap (W1 `GetMaterialRelevance`, W2 `GetDetailsView`, W3 `FSlateFontInfo`, W4 `ImportVersion`), sous garde `UE_VERSION_OLDER_THAN(5, 8, 0)` | CHG-254, commit `5ed078d` ; `.claude/skills/lp-ue-compat/ruptures.md` § 3 ; `etat/U58/U4/U4-T3-IMPL.md` | | Compilation 5.8 réussie : `[13/16] Compile [x64] Module.StreetMapRuntime.cpp`, 0 `C4996`, `Result: Succeeded` | `Saved/Logs/portage/U7_Build_20261009-103224.log` | | Modules liés en U4 : StreetMapRuntime (l. 35-39) et StreetMapImporting (l. 71-75) | `etat/U58/U4/U4-T4-BUILD.md` (V3, journal `U4_Build_20261008-181959.log`) | | DLL 5.8 présentes : `UnrealEditor-StreetMapRuntime.dll` (2026-10-08 22:03), `UnrealEditor-StreetMapImporting.dll` (22:07) ; plugin monté et chargé à chaque démarrage | `ls Plugins/StreetMap/Binaries/Win64` ; `Saved/Logs/LifePlay.log` (CART-01 § 2) | | Les deux ruptures 5.8 corrigées par le fork isamarin n'existent pas chez nous : aucun `PostCreateBlueprint` ni `SetNum(…, false)` dans nos sources | `grep -n` dans `Plugins/StreetMap/Source` (vide) | | Notre plugin **diverge** de l'amont : eaux et parcs (`WaterColor`, `ParkColor`, `GetWaters`, `GetParks`), `RoadOffesetZ`, `MakeMeshBatch` simplifié | `diff` entre `gh api …/contents/Source/StreetMapRuntime/{StreetMapSceneProxy,StreetMapComponent}.cpp` et nos fichiers | | Le `.uplugin` reste « VersionName 1.0 » : ce numéro ne dit rien de la version du moteur | `Plugins/StreetMap/StreetMap.uplugin` | | Rappel CART-01 : en jeu, la carte est un `StaticMeshComponent`. Le plugin n'y fournit que les données (`UStreetMap`) et l'import en éditeur | STM1-CART-01 § 1 | ### B3. Forks qui visent 5.8 (établi : existent ; qualité non éprouvée) | Fork | Ce qu'il apporte | Source | |---|---|---| | `isamarin/StreetMap` | 2026-09-15 : « fix UE 5.8 build compatibility » (`SetNum` → `EAllowShrinking`, `UActorFactory::PostCreateBlueprint` supprimé en 5.8), module de tests d'automatisation (6/6 annoncés), correctifs de plantages et de fuites | `gh api repos/isamarin/StreetMap/commits/` | | `carla-simulator/StreetMap`, branche `ue58-digitaltwins` | 2026-09-02 : « UE 5.8 port for CARLA » ; dépend du plugin Carla : inutilisable seul (estimé) | `gh api repos/carla-simulator/StreetMap/commits?sha=ue58-digitaltwins` | | Autres (`lucyyyLL`, `synapticore-studio`, `GeoCivilTech`…) | activité 2025-2026 sans portage 5.8 annoncé dans les derniers commits | `gh api repos/ue4plugins/StreetMap/forks?sort=newest` | ## Options (aucune décision prise) | Option | Ce qu'elle règle | Coût | Risque | |---|---|---|---| | **O1 (recommandée)** : garder l'asset et le plugin actuels ; trancher la cause par les observations de CART-02 § 5 et la lecture MCP de `GI.Cities` (après CG2) | la cause probable de F3 (choix de la ville) | faible : observations de l'utilisateur, une lecture MCP, puis un correctif ciblé du GI ou des données | faible : aucun asset ni plugin remplacé | | O2 : reprendre ponctuellement des correctifs d'`isamarin` (plantages à l'import `.osm`, tests) dans notre variante, sous instantané, avec CHG | robustesse de l'import en éditeur, pas F3 | moyen : diff fichier par fichier contre notre variante | moyen : conflits avec nos ajouts (eaux, parcs) ; sans effet sur la carte en jeu | | O3 : régénérer Londres depuis un extrait OSM récent | rien pour F3 si l'asset est bon ; seulement une carte « à jour » | élevé : import, maillage, contrôle, cuisson, crédits ODbL | élevé : carte différente de l'originale, données de jeu et sauvegardes désalignées, mods | | O4 : remplacer le plugin par un fork 5.8 | rien pour F3 | moyen à élevé | élevé : perte de nos ajouts, assets `UStreetMap` peut-être illisibles si les structures changent | ## Mesuré (extraits bruts) ``` $ md5 + taille de Static/CentralLondon.uasset fba15a84cc46 13607769 LifePlay_Backup_5.5/ARCH58-20261020/LifePlay-master 5.8/Content/Heavy/StreetMap/Static/CentralLondon.uasset fba15a84cc46 13607769 LifePlay-master 5.5/Content/Heavy/StreetMap/Static/CentralLondon.uasset fba15a84cc46 13607769 LifePlay-master 5.8/Content/Heavy/StreetMap/Static/CentralLondon.uasset 3ff43b1a89c7 202010797 LifePlay_Backup_5.5/ARCH427/LifePlay-master 4.27/Content/Heavy/StreetMap/Static/CentralLondon.uasset $ stat .uexp cuits 144012885 2026-10-14 16:35:34 LifePlay-master 5.8/Saved/Cooked/Windows/.../Static/CentralLondon.uexp 47231 2026-10-14 16:35:41 LifePlay-master 5.8/Saved/Cooked/Windows/.../Static/000Dummy.uexp $ gh api repos/ue4plugins/StreetMap --jq '{pushed_at,archived,forks_count}' {"archived":false,"forks_count":453,"pushed_at":"2024-05-23T09:52:01Z"} $ grep -a "StreetMap\|Result:" Saved/Logs/portage/U7_Build_20261009-103224.log [13/16] Compile [x64] Module.StreetMapRuntime.cpp [NoUba] Result: Succeeded $ gh api repos/vinfamy/LifePlay/contents/Content/Heavy gh: Not Found (HTTP 404) ``` ## Incertitudes, écarts, fichiers - Non vérifié : le rendu de la carte en jeu (sans copie UE). Le contenu des archives `Releases` n'a pas été ouvert. Les correctifs d'`isamarin` n'ont été ni compilés ni testés chez nous. - La dernière compilation de `StreetMapImporting` relevée est celle d'U4 (2026-10-08). Le journal ADD1 du 2026-10-19 ne recompile pas StreetMap (0 ligne) : les DLL du 2026-10-08 sont à jour. - Fichiers écrits : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\STM1\STM1-RECH-01.md` (A) ; `STM1-TACHES.md` (M). Fichiers téléchargés de GitHub pour le `diff` : dossier temporaire du système, hors projet. Tours : ≈ 17 / 40 (déclaré ; `FicheStats.py` fait foi). Recherche externe : bien en dessous de la moitié du budget. À verser : - `lp-ue-compat` § 1 ou `lp-paths` : StreetMap = variante LifePlay du dépôt `ue4plugins/StreetMap` (amont arrêté en 5.2) ; portage 5.8 local (U4) ; forks 5.8 connus : `isamarin/StreetMap`, `carla-simulator/StreetMap@ue58-digitaltwins`. - `lp-paths` : `Content/Heavy` n'est ni dans git ni dans `vinfamy/LifePlay` ; les seules copies de référence des villes sont les archives locales (ARCH427, ARCH58-20261020). Suite : Big Boss doit présenter les options à l'utilisateur (O1 recommandée) et maintenir la lecture MCP de CART-02 § 4 après CG2. État : RECH-01 close, aucun fichier du projet modifié.