L4-CX-B01 : reimport controle du correctif des broches AssetRegistry de GI

LPFixAssetRegistryPins : 3 GetAssetsByClass -> GetAssetsByClassName (classes
SkeletalMesh, StaticMesh, StreetMap conservees), 2 GetAssetObjectPath inseres.
Dry-run conforme, diff avant/apres de GI::EventGraph limite aux 5 noeuds
attendus, 0 broche orpheline restante dans GI, CompileAllBlueprints identique
au releve de base. A/B d'execution en attente de CX-B02.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-09-29 02:09:04 +02:00
parent 3abf03e4be
commit e174857024
4 changed files with 25 additions and 2 deletions

Binary file not shown.

View file

@ -33,7 +33,7 @@ exporté dans `Docs/Migration/correctifs/` pour relecture.
| ID | Outil | Cible | Effet attendu | Justification | Priorité | Statut |
|---|---|---|---|---|---|---|
| CX-B00 | `LPFixAssetRegistryNodes` (portage 4.27) | `GI`, `Person`, `Room`, `UI/VisualMorph` | `GetAssetByObjectPath` en nœud pur | **déjà présent dans la base 4.27** (les 4 assets importent `LifePlay.LPAssetRegistryHelpers`) | — | inclus dans la base |
| CX-B01 | `LPFixAssetRegistryPins` | `GI` : 3 `GetAssetsByClass` (+ 2 broches associées) | nœuds rebranchés sur `GetAssetsByClassName` avec la valeur de classe d'origine | **candidat n°1 pour ERR-002** : sans lui, `GetAssetsByClass` interroge avec un chemin de classe vide ; aucun corps, vêtement ni coiffure énumérable | 1 | à réimporter (L4) avec A/B d'exécution |
| CX-B01 | `LPFixAssetRegistryPins` | `GI` : 3 `GetAssetsByClass` (+ 2 broches associées) | nœuds rebranchés sur `GetAssetsByClassName` avec la valeur de classe d'origine | **candidat n°1 pour ERR-002** : sans lui, `GetAssetsByClass` interroge avec un chemin de classe vide ; aucun corps, vêtement ni coiffure énumérable | 1 | **réimporté** (CHG-018, validé statiquement) ; A/B d'exécution après CX-B02 |
| CX-B02 | `LPFixEditableTextBoxFont` | `UI/CharGen`, `UI/StatMenu` : 6 nœuds `Make/Break EditableTextBoxStyle` | broche `Font` orpheline retirée | **bloque la cuisson** (6 erreurs, cook du 2026-09-07) | 2 | à réimporter (L4) |
| CX-B03 | `LPFixZeroScaleActors -Fix -Scale=0.1` | `Scenes/CentralLondon` : `Wall.StaticMeshComponent0` | échelle X 0 → 0,1 | corps physique invalide ; `ensure InverseFast` (plantage éditeur du 2026-09-07) | 3 | à réimporter (L4) |
| CX-B04 | `LPFixOrphanBoundEvents` | `UI/TopRight` (1), `UI/CharGen` (2) | 3 événements `On Clicked` orphelins supprimés | avertissements ; clics déjà morts | 4 | à réimporter (L4) |

View file

@ -115,3 +115,26 @@ règle §2 du document 03) : `Saved/Logs/portage/L3_game_20260929-012748.log` (n
Découverte au passage : les erreurs `ParseIntoArray` (ERR-004) viennent de `GI.populateClothes4`,
appelée par `Person.ReceiveBeginPlay`.
---
## Lot L4 — Réimport contrôlé des correctifs (2026-09-29)
### Sous-lot L4-CX-B01 — broches AssetRegistry de `GI` (ERR-020)
Tag d'entrée `L4-CX-B01-avant`. Sauvegarde : `D:\Game\LifePlay_Backup_5.5\L4-CX-B01\` (`GI.uasset`, MD5 `F4550DA5…`).
| Étape du protocole | Résultat | Preuve (`Docs/Migration/etat/`) |
|---|---|---|
| 2. Photographie avant | `GI::EventGraph` : 6 199 nœuds, 23 662 lignes | `L4-CX-B01_dump_avant.txt` |
| 3. Simulation `-DryRun` | 3 `[enum]` (`StreetMap`, `StaticMesh`, `SkeletalMesh`), 2 `[path]` (1 consommateur chacun), 0 non traité — **conforme à l'attendu** | `L4-CX-B01_dryrun.txt` |
| 4. Application | 3 énumérations, 2 chemins, 1 Blueprint enregistré, 0 cas non traité, 0 échec | `L4-CX-B01_application.txt` |
| 5. Photographie après + diff | 6 201 nœuds ; **35 lignes différentes, toutes attendues** : 3 nœuds `AssetRegistry::GetAssetsByClass` → `LPAssetRegistryHelpers::GetAssetsByClassName` avec leur classe d'origine ; 2 nœuds `GetAssetObjectPath` insérés, reprenant les consommateurs des sorties `ObjectPath` orphelines. Aucune autre ligne du graphe ne change | `L4-CX-B01_dump_apres.txt`, `L4-CX-B01_diff.txt` |
| 6. `LPCheckMeshAssignment` | 0 broche orpheline dans `GI` (restent les 6 nœuds de CX-B02) | `L4-CX-B01_LPCheckMeshAssignment_*.txt` |
| 6. `CompileAllBlueprints` | identique au relevé de base : 6 erreurs (CX-B02), 100 avertissements, 0 échec de chargement ; **aucune erreur nouvelle** | `L4-CX-B01_CompileAllBlueprints_*.txt` |
| 7. A/B d'exécution | **en attente** : la cuisson exige CX-B02 ; sera faite sur la build Development qui suit CX-B02 | — |
| ID | Date | Lot | Fichiers | Raison | Avant → après | Retour arrière |
|---|---|---|---|---|---|---|
| CHG-018 | 2026-09-29 | L4-CX-B01 | `Content/BPs/GI.uasset` | réimport de CX-B01 (`LPFixAssetRegistryPins`) | MD5 `F4550DA5…` (UE4) → `0AA14EDB…` (UE5, réenregistré par la commandlet) | `Tools\Restore.ps1 -Lot L4-CX-B01` ou `git checkout L4-CX-B01-avant -- Content/BPs/GI.uasset` |

View file

@ -6,7 +6,7 @@
| ID | Signature | Source | Fréquence | Gravité | Lot cible | Statut |
|---|---|---|---:|---|---|---|
| ERR-001 | `Content/BPs/GI.uasset` au format UE4, identique à 4.27 | `Tools\AssetHeaders.ps1` | 1 fichier | bloquante | L1 | clos (CHG-007) : remplacé par la base saine 4.27 complète ; format UE5 → ERR-022 |
| ERR-020 | `GetAssetsByClass` : classe perdue à la montée de version (3 nœuds `GI`) + 2 `Break AssetData` sans `ObjectPath` | `LPCheckMeshAssignment` L1 | 5 broches | **bloquante** (cause probable d'ERR-002) | L4-CX-B01 | ouvert |
| ERR-020 | `GetAssetsByClass` : classe perdue à la montée de version (3 nœuds `GI`) + 2 `Break AssetData` sans `ObjectPath` | `LPCheckMeshAssignment` L1 | 5 broches | **bloquante** (cause probable d'ERR-002) | L4-CX-B01 | corrigé statiquement (CHG-018) ; A/B d'exécution en attente |
| ERR-021 | broche `Font` d'`EditableTextBoxStyle` : échec de compilation `UI/StatMenu`, `UI/CharGen` | `CompileAllBlueprints` L1 | 6 erreurs | **bloquante** (cuisson) | L4-CX-B02 | ouvert |
| ERR-022 | 293 packages de gameplay au format UE4 (base 4.27) | `Tools\AssetHeaders.ps1` | 293 | faible (converti au chargement) | L4-CX-B07 | ouvert |
| ERR-023 | `AndroidFileServer` réécrit sa section et son `SecurityToken` dans `DefaultEngine.ini` à chaque lancement | L1 | chaque lancement | faible (bruit git) | L2 | clos (CHG-011, CHG-012) |