U1 : cartographie 5.5 vers 5.8 (mods, correctifs, reliquats 4.27, releve Blueprint), pin addon f0af432 (CHG-251)

- plan 27 : decisions utilisateur U2 (dossiers _5.8, references 5.8, libelles LPStringCompat, TAA garde, ReimportCorrectif adapte), actions U3/U5 issues de U1
- synthese 28 : section 2.7 cartographie U1, contradictions C12-C14, points ouverts
- 21_Sandbox_Addon.md : pin addon f0af432 consigne ici (etat/ local)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-10-08 15:46:13 +02:00
parent db8678ee05
commit d4d9726c38
5 changed files with 72 additions and 4 deletions

View file

@ -124,12 +124,12 @@ D:\Game\
- **Liaison** : `LifePlay.uproject` déclare `"AdditionalPluginDirectories": ["../LifePlay-Sandbox/Plugins"]` (chemin relatif au `.uproject`) et active `LPSandbox` dans `Plugins`. UBT et l'éditeur y trouvent `LPSandbox.uplugin` (modules `LPSandbox` et `LPAnimMeasure`) ; les DLL du plugin sont compilées avec le jeu (`Build.bat LifePlayEditor Win64 Development`). - **Liaison** : `LifePlay.uproject` déclare `"AdditionalPluginDirectories": ["../LifePlay-Sandbox/Plugins"]` (chemin relatif au `.uproject`) et active `LPSandbox` dans `Plugins`. UBT et l'éditeur y trouvent `LPSandbox.uplugin` (modules `LPSandbox` et `LPAnimMeasure`) ; les DLL du plugin sont compilées avec le jeu (`Build.bat LifePlayEditor Win64 Development`).
- **Pourquoi pas un submodule** : l'addon est un `uproject` mince qui contient le plugin sous `Plugins/LPSandbox/`. Un submodule monté sur `Plugins/LPSandbox` du jeu donnerait `Plugins/LPSandbox/Plugins/LPSandbox/` (plugin imbriqué, non scanné au bon niveau) ; un submodule `External/LifePlay-Sandbox` dupliquerait l'addon à côté du sibling et rendrait ambigu l'exemplaire chargé. Un clone sibling évite les deux problèmes. - **Pourquoi pas un submodule** : l'addon est un `uproject` mince qui contient le plugin sous `Plugins/LPSandbox/`. Un submodule monté sur `Plugins/LPSandbox` du jeu donnerait `Plugins/LPSandbox/Plugins/LPSandbox/` (plugin imbriqué, non scanné au bon niveau) ; un submodule `External/LifePlay-Sandbox` dupliquerait l'addon à côté du sibling et rendrait ambigu l'exemplaire chargé. Un clone sibling évite les deux problèmes.
- **Pin** : le jeu consomme un commit précis de l'addon, consigné à la main dans `S3-INT.md` (aujourd'hui `79f0205b7281152dde7cd088086d8c813e0b20f5`, `lot/DC3-atelier`, DC3 atelier de mods (scripts, `ModSources`, `AnimSources`) dans l'addon ; précédents : `97c0d134cd1388c3735add79d77ea98817e89fbe` DC2 module éditeur `LPModTools` et chemins propres à l'addon, `3e9c32f1f27b1abdaf7731dc90496c27ee061718` DC1 `LPAnimRedirect` et `LPCoupleSim` rapatriés dans le plugin `LPAnimCore` du jeu, `16905c68070992f5139dab907b41b461fb765957` SB4 ouverture par déclencheur éphémère non mémorisée, `3d858527fccfdddd8711c7c7448fa001442e0b8a` SB2-O1 correction de `ShowRoom`, `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add` SB2 bibliothèques de scène et de personnages, caméra du socle, état des modes sorti vers les mods, `82dae58380b76c45f60541fd7cb5a0a409700e10` SB1 registre de mods et barre latérale, `3b21fd180c04f0fa49a1b5c9ef1b517ade1cb362` SB0 conception de la sandbox modulaire, `f09c42e5a2bc613cf269cce76c878461ca41c8b7` S7-T2 uplugin, `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` S5-T2 `LPCoupleSim`, `f8102647ccdebad37e4977ccbf2c51e583823a80`, S4-T3). Le pin est mis à jour (hash dans `S3-INT.md` et README de l'addon) à chaque évolution de l'addon que le jeu doit prendre. Reproduire : - **Pin** : le jeu consomme un commit précis de l'addon, consigné à la main ici depuis le lot U0 (`etat/` est local ; auparavant dans `S3-INT.md`) (aujourd'hui `f0af432fd88965c92e3d01ddf2feb6194ce0adc4`, U1 commandlet `LPAuditBlueprintCalls` dans `LPModTools` et skills `lp-*` des sous-agents ; précédents : `79f0205b7281152dde7cd088086d8c813e0b20f5` DC3 atelier de mods (scripts, `ModSources`, `AnimSources`) dans l'addon, `97c0d134cd1388c3735add79d77ea98817e89fbe` DC2 module éditeur `LPModTools` et chemins propres à l'addon, `3e9c32f1f27b1abdaf7731dc90496c27ee061718` DC1 `LPAnimRedirect` et `LPCoupleSim` rapatriés dans le plugin `LPAnimCore` du jeu, `16905c68070992f5139dab907b41b461fb765957` SB4 ouverture par déclencheur éphémère non mémorisée, `3d858527fccfdddd8711c7c7448fa001442e0b8a` SB2-O1 correction de `ShowRoom`, `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add` SB2 bibliothèques de scène et de personnages, caméra du socle, état des modes sorti vers les mods, `82dae58380b76c45f60541fd7cb5a0a409700e10` SB1 registre de mods et barre latérale, `3b21fd180c04f0fa49a1b5c9ef1b517ade1cb362` SB0 conception de la sandbox modulaire, `f09c42e5a2bc613cf269cce76c878461ca41c8b7` S7-T2 uplugin, `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` S5-T2 `LPCoupleSim`, `f8102647ccdebad37e4977ccbf2c51e583823a80`, S4-T3). Le pin est mis à jour (hash ici et dans le README de l'addon) à chaque évolution de l'addon que le jeu doit prendre. Reproduire :
```powershell ```powershell
cd D:\Game cd D:\Game
git clone https://github.com/edujiro5972/LifePlay-Sandbox.git git clone https://github.com/edujiro5972/LifePlay-Sandbox.git
git -C LifePlay-Sandbox checkout 79f0205b7281152dde7cd088086d8c813e0b20f5 git -C LifePlay-Sandbox checkout f0af432fd88965c92e3d01ddf2feb6194ce0adc4
# le jeu doit être cloné à côté : D:\Game\LifePlay-master 5.5 # le jeu doit être cloné à côté : D:\Game\LifePlay-master 5.5
``` ```

View file

@ -172,16 +172,34 @@ Vérification de chaque livrable par l'orchestrateur (preuves, cohérence entre
- reliquats 4.27 (29 docs, `Config/DefaultEngine.ini`, `Tools/AssetHeaders.ps1`, commandlets P3) ; - reliquats 4.27 (29 docs, `Config/DefaultEngine.ini`, `Tools/AssetHeaders.ps1`, commandlets P3) ;
- chemins moteur codés en dur (`UE_5.5` dans `Tools/`, lanceurs `.bat`, mémoire) ; - chemins moteur codés en dur (`UE_5.5` dans `Tools/`, lanceurs `.bat`, mémoire) ;
- livrable `etat/U58/U1/U1-CART.md` ; handoff → U2/U3. - livrable `etat/U58/U1/U1-CART.md` ; handoff → U2/U3.
- **Résultat U1 (2026-10-08)** : contrat des mods inchangé (recuisson obligatoire, `bUseZenStore` False → True) ; 2 correctifs
spécifiés avec garde de version, pistes `IAnimationDataModel` et macro D11 (b) écartées ; 32 commandlets (16 à retirer) ;
audit Blueprint 5.5 (110 BP, 46 617 nœuds, 15 signatures changées, aucun nœud à corriger, estimé). Détail : doc 28, § 2.7.
### U2 — Retrait 4.27 et chemin moteur (N1) ### U2 — Retrait 4.27 et chemin moteur (N1)
- retrait des commandlets P3 et de leurs entrées Build.cs ; `Config` et `Tools` sans référence 4.27 ; - retrait des commandlets P3 et de leurs entrées Build.cs ; `Config` et `Tools` sans référence 4.27 ;
- un seul point de configuration du moteur (`Tools/Engine.ps1` lu par tous les scripts et lanceurs) ; - un seul point de configuration du moteur (`Tools/Engine.ps1` lu par tous les scripts et lanceurs) ;
- docs : bandeau « historique 4.27 » sur les docs concernés (pas de réécriture du passé) ; - docs : bandeau « historique 4.27 » sur les docs concernés (pas de réécriture du passé) ;
- compilation 5.5 inchangée (A-BUILD haiku) avant bascule. - compilation 5.5 inchangée (A-BUILD haiku) avant bascule.
- **Décisions utilisateur (2026-10-08, sur l'inventaire U1-T3)** : dossiers de sortie `LifePlay_Build_5.5*`
(`Tools/BuildDebug.ps1:25`, `StagingDirectory` de `Config/DefaultGame.ini:16`) → `_5.8` dans la branche `ue5.8`
(la sauvegarde `LifePlay_Backup_5.5` reste) ; contrôles de référence `CheckIntegrity.ps1` (`-Ref427`,
`-InitRef427`, T-STAT-02 « Modules = 4.27 ») → référence 5.8, figée après G-U6 ; `README.md:4` → mention 5.8 en U8
(V2.0) ; libellés « 4.27 » de `LPStringCompat` / `LPTestStringCompat` (commentaires, messages du test) →
« sémantique UE4 conservée en 5.8 », sans changement de comportement ni de nom de fonction. TAA
(`Config/DefaultEngine.ini:14-17`) : justification « comme en 4.27 » obsolète → commentaire réécrit (ERR-032,
validé en 5.5) ; la **valeur** `r.AntiAliasingMethod=2` reste (VQ ne règle que `sg.AntiAliasingQuality`,
`DefaultScalability.ini:115`) ; pas de nouvel essai TSR : on reprend l'existant du lot VQ (TAA verrouillé,
VQ1-SPEC), et U6 rejoue les tests VQ en 5.8. `Tools/ReimportCorrectif.ps1` : outil générique (protocole doc 05 § 3,
commandlet en paramètre), pas ponctuel → **adapté** en U2 (exemple sans `LPFix*`, moteur lu dans `Tools/Engine.ps1`) ;
il servira en U5 aux corrections de nœuds dépréciés (U1-T4) ; `LPDumpFunction` et `LPCheckMeshAssignment` sont gardés.
### U3 — Bascule moteur et compilation (N3 pour les correctifs, N4 en cas de blocage ; N0 pour les compilations) ### U3 — Bascule moteur et compilation (N3 pour les correctifs, N4 en cas de blocage ; N0 pour les compilations)
- `EngineAssociation` 5.8, régénération des fichiers de projet, compilation `LifePlayEditor` ; boucle erreurs → - `EngineAssociation` 5.8, régénération des fichiers de projet, compilation `LifePlayEditor` ; boucle erreurs →
correctifs (opus) → compilation (haiku) ; cible : 0 erreur, avertissements de dépréciation listés. correctifs (opus) → compilation (haiku) ; cible : 0 erreur, avertissements de dépréciation listés.
- **Actions issues de U1** : appliquer les correctifs D1 (R1, `LPCoupleSimCore.cpp:127`, fichier CRLF) et D2 (R2,
`LPDataCache.cpp:198`) de la spécification U1 (D11 : forme avec garde recommandée, décision de l'utilisateur en U3) ;
écrire `bUseZenStore=False` explicitement (D1) ; relever la boîte du couple sur le build DC4 avant G-U3.
### U4 — Plugins tiers et addon (N3 + N1) ### U4 — Plugins tiers et addon (N3 + N1)
- `StreetMap`, `ModdingExtra`, `LPAnimCore` compilés 5.8 ; `McpAutomationBridge` selon P7 ; - `StreetMap`, `ModdingExtra`, `LPAnimCore` compilés 5.8 ; `McpAutomationBridge` selon P7 ;
@ -191,6 +209,8 @@ Vérification de chaque livrable par l'orchestrateur (preuves, cohérence entre
### U5 — Contenu (N1 + N0) ### U5 — Contenu (N1 + N0)
- ouverture du projet, `LPResavePackages` sur tout `Content`, journal de chargement sans erreur ; cuisson sans - ouverture du projet, `LPResavePackages` sur tout `Content`, journal de chargement sans erreur ; cuisson sans
avertissement ; `LPCheckStreetMap` (280 villes) ; relevé des nœuds Blueprint dépréciés et correctifs. avertissement ; `LPCheckStreetMap` (280 villes) ; relevé des nœuds Blueprint dépréciés et correctifs.
- **Diagnostic proposé par U1 (à décider)** : `bEnableMutableContainerWarnings=True` temporaire dans la copie 5.8, puis
`CompileAllBlueprints` (les 11 fonctions `Array_*` à signature changée sont tolérées jusqu'en 5.9).
### U6 — Comportement en jeu (N1 + utilisateur ; N3 pour un écart inexpliqué) ### U6 — Comportement en jeu (N1 + utilisateur ; N3 pour un écart inexpliqué)
- build empaqueté Development 5.8 ; A/B contre le build 5.5 sur le même parcours (nouvelle partie + Continuer, - build empaqueté Development 5.8 ; A/B contre le build 5.5 sur le même parcours (nouvelle partie + Continuer,

View file

@ -2,6 +2,8 @@
Fiche U0-DOC1 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet — Agent lp-writer — Skills sk-protocol, lp-doc, lp-lot Fiche U0-DOC1 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet — Agent lp-writer — Skills sk-protocol, lp-doc, lp-lot
Mise à jour U1-DOC — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-writer
Date : 2026-10-08. Complète le plan [27_Plan_Migration_UE58.md](27_Plan_Migration_UE58.md) (décisions et lots : on n'y Date : 2026-10-08. Complète le plan [27_Plan_Migration_UE58.md](27_Plan_Migration_UE58.md) (décisions et lots : on n'y
revient pas ici). Ce document se suffit à lui-même : il reprend les constats de l'audit UA, l'effort et les risques, les revient pas ici). Ce document se suffit à lui-même : il reprend les constats de l'audit UA, l'effort et les risques, les
décisions de la porte G-U, l'arbre de compétences des sous-agents (lot SK) et tient le journal des lots U0 à U9. décisions de la porte G-U, l'arbre de compétences des sous-agents (lot SK) et tient le journal des lots U0 à U9.
@ -119,6 +121,45 @@ Bilan du § 2 : **48 constats étiquetés** (45 lignes des tableaux 2.1 à 2.4 e
33 établis, 3 estimés, 9 incertains, 3 mixtes (deux statuts dans la même ligne). Les passes, erreurs et avertissements 33 établis, 3 estimés, 9 incertains, 3 mixtes (deux statuts dans la même ligne). Les passes, erreurs et avertissements
de l'essai (tableaux 2.5) sont des mesures établies, non recomptées ici. de l'essai (tableaux 2.5) sont des mesures établies, non recomptées ici.
### 2.7 Cartographie U1 (2026-10-08, lecture seule ; hors du bilan des 48 constats ci-dessus)
Contrat des mods et moteur (U1-T1) :
| Constat | Statut | Preuve |
|---|---|---|
| Contrat des mods inchangé en 5.8 : découverte `Mods/`, activation par défaut, montage pak ordre 0, point de montage, registre d'assets dans le paquet, `-basedonreleaseversion` ; risque R2 de UA-MODS écarté par le code, confirmation en build empaqueté (test T-M1, U7) | établi (code) ; incertain (empaqueté) | lecture des sources 5.8 ; test T-M1 |
| Formats cuits : pak 11 → 12, en-tête de conteneur 4 → 5, version d'objet UE5 1013 → 1018 : recuisson obligatoire | établi | en-têtes 5.5 / 5.8 |
| Un mod cuit pour 5.8 dans le jeu 5.5 : arrêt fatal au démarrage | estimé | `PakFile.cpp:300` |
| `bUseZenStore` : False (5.5) → True (5.8) ; le projet ne le fixe pas : écriture explicite en U3 (D1) | établi | `BaseGame.ini:95` |
Correctifs de compilation (U1-T2) : ni compilés ni appliqués (statut « proposé, non compilé »).
| # | Site | Correctif retenu | Garde | Équivalence |
|---|---|---|---|---|
| R1 | `LPCoupleSimCore.cpp:127` (fichier CRLF) | `GetCompressedData().Get().CompressedTrackToSkeletonMapTable` (`AnimSequence.h:885`, `AnimCompressionTypes.h:780`) ; même migration chez Epic (`MovieSceneSkeletalAnimationSection.cpp:722-723`) | `UE_VERSION_OLDER_THAN(5, 8, 0)` | jeu cuit : établi ; éditeur : estimé |
| R2 | `LPDataCache.cpp:198` | `FString(File.Key.ToView())` (`SharedString.h:92-95`) ; variante sans garde `FString(*File.Key)` | oui (forme recommandée pour D11) | établi (mêmes caractères) |
| `:155` | `LPCoupleSimCore.cpp:155` | aucun : conversion implicite `double` → `FAnimExtractContext` (constructeur non `explicit`, `AnimationAsset.h:303`) | non | estimé ; preuve au premier build U3 |
Piste `IAnimationDataModel` écartée : API réservée à l'éditeur. Repli D11 (b) par macro `UE_JSONOBJECT_LEGACY_STRING_KEYS`
impossible avec le moteur installé (`TargetRules.cs:2776-2778`, DLL Json compilée avec la valeur 0) : seul le correctif de
code vaut. Autres clés `FJsonObject` du jeu et de l'addon : compilent, copies silencieuses sans effet (établi).
Reliquats 4.27 (U1-T3) : 32 commandlets dont 16 à retirer (15 `LPFix*` et `LPConvertAtmosphericFog`) et 2 gardés
(`LPResavePackages`, `LPTestStringCompat`) ; 3 réglages de chemin moteur (`LifePlay.uproject:3`, `Tools/BuildDebug.ps1:19`,
`Tools/RunCommandlet.ps1:20`) ; environ 411 mentions 4.27 dans 28 docs (établi, décompte). Décisions : plan 27, § U2.
Blueprints (U1-T4, commandlet en lecture seule `LPAuditBlueprintCalls` de l'addon, relevé en 5.5 puis croisé avec les
en-têtes 5.8) :
| Mesure | Valeur | Statut |
|---|---|---|
| Relevé 5.5 | 110 Blueprints (27 Blueprint, 73 Widget, 7 Anim, 3 ControlRig), 977 graphes, 46 617 nœuds, 498 membres natifs (449 fonctions, 49 propriétés), 63 classes de nœud, 0 échec | établi |
| Croisement 5.8 | 458 membres inchangés, 25 propres au projet, 15 à signature changée (931 nœuds) ; aucun redirigé ni retiré | établi |
| 15 signatures changées | surtout 11 `Array_*` passés en `UPARAM(ref)` : tolérés par `AllowedMutableContainerFunctions` (`BaseEditor.ini:197-215`, « REMOVE IN UE 5.9 ») | établi (tolérance) ; fin en 5.9 |
| Classes de nœud dépréciées | `K2Node_InputAction`, `K2Node_InputAxisEvent` : 38 nœuds dans `/Game/BPs/PC`, sans effet tant que `DeprecatedActionAndAxisNames` est vide | estimé |
| Nœud à corriger en 5.8 | aucun | estimé |
| Non couverts | `.umap`, nœuds Make/Break, AnimGraph, RigVM | incertain (U5) |
## 3. Effort et risques (UA-SYNTHESE) ## 3. Effort et risques (UA-SYNTHESE)
Marge : bornes hautes = bornes basses × 1,5 (première exécution en 5.8) + une escalade de niveau par lot ; scénario Marge : bornes hautes = bornes basses × 1,5 (première exécution en 5.8) + une escalade de niveau par lot ; scénario
@ -251,7 +292,7 @@ sont décrits aux § 2, 4 et 5.
| Lot | Date de clôture | Résultat | CHG | | Lot | Date de clôture | Résultat | CHG |
|---|---|---|---| |---|---|---|---|
| U0 Préparation | 2026-10-08 | VS 2026 en coexistence ; 5.5 épinglé `CompilerVersion=14.38.33130` (compilation de contrôle code 0, éditeur démarré sans erreur) ; toolset 5.8 `14.50.35717` non banni (cl.exe 14.50.35739) ; tag `ue5.5-final` ; copie `LifePlay-master 5.8` sur `ue5.8` ; P1, P6, P7 verrouillées ; VAL PASS (T2, T2b, T3, doc 28) | CHG-249, CHG-250 | | U0 Préparation | 2026-10-08 | VS 2026 en coexistence ; 5.5 épinglé `CompilerVersion=14.38.33130` (compilation de contrôle code 0, éditeur démarré sans erreur) ; toolset 5.8 `14.50.35717` non banni (cl.exe 14.50.35739) ; tag `ue5.5-final` ; copie `LifePlay-master 5.8` sur `ue5.8` ; P1, P6, P7 verrouillées ; VAL PASS (T2, T2b, T3, doc 28) | CHG-249, CHG-250 |
| U1 Cartographie | — | — | — | | U1 Cartographie | 2026-10-08 | Contrat des mods inchangé (recuisson obligatoire : pak 12, conteneur 5, objet 1018) ; 2 correctifs spécifiés avec garde de version (R1 `GetCompressedData()`, R2 `FString(File.Key.ToView())`), pistes `IAnimationDataModel` et macro D11 (b) écartées ; 32 commandlets (16 à retirer) et 3 réglages de chemin moteur ; audit Blueprint 5.5 : 110 BP, 46 617 nœuds, 15 signatures changées (931 nœuds), aucun nœud à corriger (estimé) | CHG-251 |
| U2 Retrait 4.27 et chemin moteur | — | — | — | | U2 Retrait 4.27 et chemin moteur | — | — | — |
| U3 Bascule et compilation (porte G-U3) | — | — | — | | U3 Bascule et compilation (porte G-U3) | — | — | — |
| U4 Plugins tiers et addon | — | — | — | | U4 Plugins tiers et addon | — | — | — |
@ -275,6 +316,9 @@ Incertains à trancher par un essai :
8. ~~Toolset 14.38 conservé par 5.5 après l'ajout de VS 2026~~ : **tranché en U0-T2b** — `CompilerVersion=14.38.33130` 8. ~~Toolset 14.38 conservé par 5.5 après l'ajout de VS 2026~~ : **tranché en U0-T2b** — `CompilerVersion=14.38.33130`
épinglé, compilation de contrôle code 0 avec `D:\Game\VS2022\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64\cl.exe` (établi). épinglé, compilation de contrôle code 0 avec `D:\Game\VS2022\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64\cl.exe` (établi).
9. Résultats des tests SK-T5 et vagues V2 à V4 du lot SK. 9. Résultats des tests SK-T5 et vagues V2 à V4 du lot SK.
10. Boîte englobante du couple (`LPCoupleSimCore`, chemin « animations ») : aucune référence 5.5 en jeu cuit ; à relever sur le build DC4 avant G-U3.
11. `bUseZenStore=False` à écrire explicitement dans la configuration du projet en U3 (D1) : le défaut moteur passe à True en 5.8.
12. Blueprints : `.umap`, nœuds Make/Break, AnimGraph et RigVM non couverts par l'audit U1 ; `CompileAllBlueprints` en U5.
Contradictions entre sources (la plus récente retenue) : Contradictions entre sources (la plus récente retenue) :
@ -291,3 +335,6 @@ Contradictions entre sources (la plus récente retenue) :
| C9 | UA-MOTEUR (c8) cite `LPDataCache.cpp:52,196` ; l'essai place l'erreur à `:198` | `:198` (essai) | | C9 | UA-MOTEUR (c8) cite `LPDataCache.cpp:52,196` ; l'essai place l'erreur à `:198` | `:198` (essai) |
| C10 | Plan 27 (U0) : le toolset VS 2026 `14.50.35717` serait banni ; U0-T2 : le bannissement porte sur la version du `cl.exe` (`MicrosoftPlatformSDK.cs:1156`, `:1416`), ici 14.50.35739, hors plage `14.50.0-14.50.35722` (`Windows_SDK.json:41`) | non banni ; épingle 5.8 : `CompilerVersion=14.50.35717` | | C10 | Plan 27 (U0) : le toolset VS 2026 `14.50.35717` serait banni ; U0-T2 : le bannissement porte sur la version du `cl.exe` (`MicrosoftPlatformSDK.cs:1156`, `:1416`), ici 14.50.35739, hors plage `14.50.0-14.50.35722` (`Windows_SDK.json:41`) | non banni ; épingle 5.8 : `CompilerVersion=14.50.35717` |
| C11 | UA-OUTILS : `Log.txt` UBT issu d'un run 5.8, version de 14.44 « 19.44.35228 » ; U0-T2 : run 5.5, version 14.44.35228 | U0-T2 | | C11 | UA-OUTILS : `Log.txt` UBT issu d'un run 5.8, version de 14.44 « 19.44.35228 » ; U0-T2 : run 5.5, version 14.44.35228 | U0-T2 |
| C12 | UA-PLUGINS / UA-SYNTHESE : piste `IAnimationDataModel` pour R1 ; U1-T2 : API réservée à l'éditeur (`AnimSequenceBase.h:238-281`), inutilisable dans le module Runtime | U1-T2 : piste écartée |
| C13 | UA-SYNTHESE, `lp-ue-compat` : macro `UE_JSONOBJECT_LEGACY_STRING_KEYS` comme repli D11 (b) ; U1-T2 : impossible avec le moteur installé (`TargetRules.cs:2776-2778`, DLL Json compilée avec 0) | U1-T2 : pas de repli par macro, correctif de code seul |
| C14 | UA-MODS : attendu du test T5 (mod 5.8 monté dans le jeu 5.5) = TOC « Too new » refusé (`IoStore.cpp:1145-1147`) ou avertissement de version ; U1-T1 : la version de TOC n'a pas changé, le pak 12 provoque un arrêt fatal au démarrage (`PakFile.cpp:300`, estimé) | U1-T1 (attendu T5 corrigé) |

View file

@ -1131,6 +1131,7 @@ Validation L7c/L7d (2026-10-02, parc, même cadrage) : la nuit reste claire (sol
| CHG-155 | 2026-10-05 | ShowCouple | Un lit est reconnu par son nom. Il ne bloque un déplacement que vers le bas, pour se poser ; le retour horizontal n'est plus arrêté et le contact ne renvoie plus la boîte | après avoir quitté le lit, la boîte ne pouvait plus y revenir | revenir au test `DoesPackageExist` et au filtre du flanc seul | | CHG-155 | 2026-10-05 | ShowCouple | Un lit est reconnu par son nom. Il ne bloque un déplacement que vers le bas, pour se poser ; le retour horizontal n'est plus arrêté et le contact ne renvoie plus la boîte | après avoir quitté le lit, la boîte ne pouvait plus y revenir | revenir au test `DoesPackageExist` et au filtre du flanc seul |
| CHG-156 | 2026-10-05 | Clavier | `LPKeyboardSubsystem` : bouton « Clavier » ajouté à l'exécution dans `MainMenu.SettingsScrollBox` ; panneau pour changer, ajouter ou retirer une touche (actions et axes clavier). Écrit dans `Saved/Config/Windows`, pas dans `GameSettings.sav` | pouvoir réaffecter les touches, dont Q, sans modifier les Blueprints | retirer `LPKeyboardSubsystem.h/.cpp` et la dépendance `UMG` | | CHG-156 | 2026-10-05 | Clavier | `LPKeyboardSubsystem` : bouton « Clavier » ajouté à l'exécution dans `MainMenu.SettingsScrollBox` ; panneau pour changer, ajouter ou retirer une touche (actions et axes clavier). Écrit dans `Saved/Config/Windows`, pas dans `GameSettings.sav` | pouvoir réaffecter les touches, dont Q, sans modifier les Blueprints | retirer `LPKeyboardSubsystem.h/.cpp` et la dépendance `UMG` |
| CHG-158 | 2026-10-05 | Réglages | `LPSettingsSubsystem` : onglets Audio, Video, Lewd, General, Keyboard, Misc au-dessus de `SettingsScrollBox`. Les lignes du Blueprint restent en place et sont montrées selon leur texte ; le reste va dans Misc. Keyboard affiche la liste des touches | la liste unique ne montrait pas le clavier | retirer `LPSettingsSubsystem.h/.cpp` | | CHG-158 | 2026-10-05 | Réglages | `LPSettingsSubsystem` : onglets Audio, Video, Lewd, General, Keyboard, Misc au-dessus de `SettingsScrollBox`. Les lignes du Blueprint restent en place et sont montrées selon leur texte ; le reste va dans Misc. Keyboard affiche la liste des touches | la liste unique ne montrait pas le clavier | retirer `LPSettingsSubsystem.h/.cpp` |
| CHG-251 | 2026-10-08 | U1 | `Docs/Migration/27_Plan_Migration_UE58.md`, `Docs/Migration/28_Synthese_Migration_UE58.md`, `Docs/Migration/21_Sandbox_Addon.md` (pin), index `Docs/Migration/README.md` ; addon `D:\Game\LifePlay-Sandbox` : `8ec9c64` commandlet `LPAuditBlueprintCalls` (`LPModTools`), `f0af432` skills `lp-*` (dont `lp-ue-compat` mis à jour), `558fe1d` pin | cartographie U1 : contrat des mods inchangé en 5.8 (R2 écarté par le code, recuisson obligatoire, `bUseZenStore` à fixer en U3) ; correctifs R1/R2 spécifiés avec garde de version (repli macro D11 b impossible) ; reliquats 4.27 et chemins moteur inventoriés, décisions utilisateur en § U2 ; relevé Blueprint (option b) : 110 Blueprints, 498 membres natifs, aucun nœud à corriger en 5.8 (estimé), 931 nœuds `Array_*` tolérés jusqu'en 5.9 ; pin addon `79f0205` → `f0af432`, consigné dans le doc 21 (`S3-INT.md` local) ; VAL PASS | `git revert` du commit ; addon : `git -C D:\Game\LifePlay-Sandbox revert 558fe1d f0af432 8ec9c64` et pin `79f0205` |
| CHG-250 | 2026-10-08 | U0 | `Docs/Migration/27_Plan_Migration_UE58.md`, `Docs/Migration/28_Synthese_Migration_UE58.md`, `Tools/VS2026/LifePlay-UE58.vsconfig` (nouveau) ; hors dépôt : tag local `ue5.5-final`, copie `D:\Game\LifePlay-master 5.8` (branche `ue5.8`) | clôture de U0 : P1, P6, P7 verrouillées (G-U D5, D6, D4/D7) ; copie de travail 5.8 (17 087 fichiers, `.mcp.json` utilisateur conservé, jonction des skills) ; configuration VS Installer de VS 2026 suivie ; fiches T2, T2b, T3, T4, DOC1 et VAL déléguées (N0 haiku, N1 sonnet), VAL PASS | `git revert` du commit ; copie 5.8 : dossier à supprimer par l'utilisateur ; tag : `git tag -d ue5.5-final` | | CHG-250 | 2026-10-08 | U0 | `Docs/Migration/27_Plan_Migration_UE58.md`, `Docs/Migration/28_Synthese_Migration_UE58.md`, `Tools/VS2026/LifePlay-UE58.vsconfig` (nouveau) ; hors dépôt : tag local `ue5.5-final`, copie `D:\Game\LifePlay-master 5.8` (branche `ue5.8`) | clôture de U0 : P1, P6, P7 verrouillées (G-U D5, D6, D4/D7) ; copie de travail 5.8 (17 087 fichiers, `.mcp.json` utilisateur conservé, jonction des skills) ; configuration VS Installer de VS 2026 suivie ; fiches T2, T2b, T3, T4, DOC1 et VAL déléguées (N0 haiku, N1 sonnet), VAL PASS | `git revert` du commit ; copie 5.8 : dossier à supprimer par l'utilisateur ; tag : `git tag -d ue5.5-final` |
| CHG-249 | 2026-10-08 | U0-entrée | `.gitignore`, `Config/DefaultEngine.ini`, `Docs/Migration/27_Plan_Migration_UE58.md`, `Docs/Migration/28_Synthese_Migration_UE58.md` (nouveau), index `Docs/Migration/README.md`, `Docs/Migration/etat/` (92 fichiers retirés du suivi) | fiches de travail `etat/` hors dépôt (décision utilisateur : un doc de synthèse suffit ; copie `D:\Game\LifePlay_Backup_5.5\etat\`), `.cursor/` ignoré ; doc 28 = synthèse autonome UA + G-U + SK ; U0-T2/T2b : VS 2026 en coexistence, projet 5.5 épinglé `CompilerVersion=14.38.33130` (compilation de contrôle code 0, toolset 14.38.33130 au journal UBT), toolset 5.8 `14.50.35717` non banni (version `cl.exe` 14.50.35739) | `git revert` du commit ; les fichiers `etat/` restent sur le disque ; ini : `Tools\Restore.ps1 -Lot U0 -Only Config\DefaultEngine.ini` | | CHG-249 | 2026-10-08 | U0-entrée | `.gitignore`, `Config/DefaultEngine.ini`, `Docs/Migration/27_Plan_Migration_UE58.md`, `Docs/Migration/28_Synthese_Migration_UE58.md` (nouveau), index `Docs/Migration/README.md`, `Docs/Migration/etat/` (92 fichiers retirés du suivi) | fiches de travail `etat/` hors dépôt (décision utilisateur : un doc de synthèse suffit ; copie `D:\Game\LifePlay_Backup_5.5\etat\`), `.cursor/` ignoré ; doc 28 = synthèse autonome UA + G-U + SK ; U0-T2/T2b : VS 2026 en coexistence, projet 5.5 épinglé `CompilerVersion=14.38.33130` (compilation de contrôle code 0, toolset 14.38.33130 au journal UBT), toolset 5.8 `14.50.35717` non banni (version `cl.exe` 14.50.35739) | `git revert` du commit ; les fichiers `etat/` restent sur le disque ; ini : `Tools\Restore.ps1 -Lot U0 -Only Config\DefaultEngine.ini` |
| CHG-248 | 2026-10-08 | U-PLAN-2 | `Docs/Migration/27_Plan_Migration_UE58.md` | lot UA (audit jeu, plugins, mods, moteur, essai de compilation 5.8, effort et risques) et porte G-U avant tout portage ; orchestration révisée : Opus high orchestre, délègue jusqu'à Fable (niveaux N0–N5, grille de complexité a–f, fiche à 9 rubriques) ; agents `opus-xhigh`, `opus-max`, `fable-top` dans `~/.claude/agents/` | document seul : `git revert` du commit | | CHG-248 | 2026-10-08 | U-PLAN-2 | `Docs/Migration/27_Plan_Migration_UE58.md` | lot UA (audit jeu, plugins, mods, moteur, essai de compilation 5.8, effort et risques) et porte G-U avant tout portage ; orchestration révisée : Opus high orchestre, délègue jusqu'à Fable (niveaux N0–N5, grille de complexité a–f, fiche à 9 rubriques) ; agents `opus-xhigh`, `opus-max`, `fable-top` dans `~/.claude/agents/` | document seul : `git revert` du commit |

View file

@ -41,7 +41,7 @@ La migration a été reprise le 2026-09-29, après l'échec d'un premier portage
| [26_Eval_Agents_VideoQuality.md](26_Eval_Agents_VideoQuality.md) | évaluation | déroulé multi-agents du chantier VQ (VQ5) | | [26_Eval_Agents_VideoQuality.md](26_Eval_Agents_VideoQuality.md) | évaluation | déroulé multi-agents du chantier VQ (VQ5) |
| [27_Plan_Migration_UE58.md](27_Plan_Migration_UE58.md) | pilotage | migration UE 5.5 → 5.8 (lots U0–U9) : 4.27 abandonné, gestion des mods figée, V2.0 | | [27_Plan_Migration_UE58.md](27_Plan_Migration_UE58.md) | pilotage | migration UE 5.5 → 5.8 (lots U0–U9) : 4.27 abandonné, gestion des mods figée, V2.0 |
| [28_Synthese_Migration_UE58.md](28_Synthese_Migration_UE58.md) | pilotage | synthèse autonome de l'audit UA, de l'essai de compilation 5.8, des décisions G-U, du lot SK ; journal des lots U0–U9 | | [28_Synthese_Migration_UE58.md](28_Synthese_Migration_UE58.md) | pilotage | synthèse autonome de l'audit UA, de l'essai de compilation 5.8, des décisions G-U, du lot SK ; journal des lots U0–U9 |
| [Journal_Modifications.md](Journal_Modifications.md) | traçabilité | `CHG-001` à `CHG-250`, chacune avec son retour arrière | | [Journal_Modifications.md](Journal_Modifications.md) | traçabilité | `CHG-001` à `CHG-251`, chacune avec son retour arrière |
| [Registre_Erreurs.md](Registre_Erreurs.md) | traçabilité | `ERR-001` à `ERR-037`, statut et lot | | [Registre_Erreurs.md](Registre_Erreurs.md) | traçabilité | `ERR-001` à `ERR-037`, statut et lot |
| `correctifs/` | relecture | écarts de code 4.27 → 5.5 en patchs (`P01` à `P06`) | | `correctifs/` | relecture | écarts de code 4.27 → 5.5 en patchs (`P01` à `P06`) |
| `etat/` | preuves (locales, hors dépôt depuis U0) | fiches et relevés datés par lot ; non suivis par git, copie dans `D:\Game\LifePlay_Backup_5.5\etat\` ; le contenu utile est repris dans les docs de synthèse numérotés | | `etat/` | preuves (locales, hors dépôt depuis U0) | fiches et relevés datés par lot ; non suivis par git, copie dans `D:\Game\LifePlay_Backup_5.5\etat\` ; le contenu utile est repris dans les docs de synthèse numérotés |