12 KiB
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 deContent/Heavy(gh api repos/vinfamy/LifePlay/contents/Content/Heavy→ HTTP 404). Le doc 12 (Docs/12_Reconciliation_Vinfamy.md, indexDocs/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
.osmni.osm.pbfsousD:\Game(find /d/Game -maxdepth 6 -iname "*.osm*": vide). L'assetStreetMap/CentralLondon.uassetne garde aucun chemin.osmlisible (grep -a). - L'outil existe : l'import
.osmdu moduleStreetMapImportingest compilé en 5.8 (B2). Il faudrait télécharger un extrait récent de Londres (Geofabrik, Overpass), l'importer, puis recréer le maillageStatic. - 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/<sha> |
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
Releasesn'a pas été ouvert. Les correctifs d'isamarinn'ont été ni compilés ni testés chez nous. - La dernière compilation de
StreetMapImportingrelevé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 lediff: 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 oulp-paths: StreetMap = variante LifePlay du dépôtue4plugins/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/Heavyn'est ni dans git ni dansvinfamy/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é.