L5 : ERR-027 et ERR-002 clos - personnages visibles et habilles valides en jeu (build L5d)
0 lecture de corps vide ; Accessed None maillage 0,38/perso (43,7 avant, 4.27 : 0,06). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
0d703d47a7
commit
14ef71f5dc
3 changed files with 113 additions and 94 deletions
|
|
@ -39,6 +39,7 @@ exporté dans `Docs/Migration/correctifs/` pour relecture.
|
||||||
| CX-B04 | `LPFixOrphanBoundEvents` | `UI/TopRight` (1), `UI/CharGen` (2) | 3 événements `On Clicked` orphelins supprimés | avertissements ; clics déjà morts | 4 | **réimporté** (CHG-024) |
|
| CX-B04 | `LPFixOrphanBoundEvents` | `UI/TopRight` (1), `UI/CharGen` (2) | 3 événements `On Clicked` orphelins supprimés | avertissements ; clics déjà morts | 4 | **réimporté** (CHG-024) |
|
||||||
| CX-B05 | `LPFixDeprecatedNodes` (R-03) | 56 nœuds `SkeletalMesh`, 10 Blueprints | `GetSkeletalMeshAsset()` | **rejeté** : aggrave ERR-002 (16,6 → 35 `Accessed None`/perso) car les proxies sont des `USkinnedMeshComponent` | — | à refaire autrement (L7a) |
|
| CX-B05 | `LPFixDeprecatedNodes` (R-03) | 56 nœuds `SkeletalMesh`, 10 Blueprints | `GetSkeletalMeshAsset()` | **rejeté** : aggrave ERR-002 (16,6 → 35 `Accessed None`/perso) car les proxies sont des `USkinnedMeshComponent` | — | à refaire autrement (L7a) |
|
||||||
| CX-B06 | `LPFixDeprecatedNodes` (R-04) | 6 nœuds, `AI`, `Person`, `Room` | `LPNavigationHelpers` | avertissements de dépréciation seulement | 5 | reporté (L7) |
|
| CX-B06 | `LPFixDeprecatedNodes` (R-04) | 6 nœuds, `AI`, `Person`, `Room` | `LPNavigationHelpers` | avertissements de dépréciation seulement | 5 | reporté (L7) |
|
||||||
|
| CX-B08 | `LPFixParseIntoArray` (nouveau) | 114 nœuds `ParseIntoArray`, 17 Blueprints | rebranchés sur `LPStringCompat::ParseIntoArray` (algorithme UE 4.27) | UE5 renvoie `[""]` pour une chaîne vide : cause d'ERR-027 (personnages de quête invisibles/dévêtus) | 1 | **réimporté** (CHG-029), validé en jeu |
|
||||||
| CX-B07 | `ResavePackages` | dossiers de gameplay (`BPs`, `UI`, `Structs`, `Scenes`, `Render`, `Characters`) | format UE5 | chargement plus rapide ; T-STAT-01 | 6 | après CX-B01 à B04 (L4) |
|
| CX-B07 | `ResavePackages` | dossiers de gameplay (`BPs`, `UI`, `Structs`, `Scenes`, `Render`, `Characters`) | format UE5 | chargement plus rapide ; T-STAT-01 | 6 | après CX-B01 à B04 (L4) |
|
||||||
|
|
||||||
## 3. Protocole de réimport sous contrôle renforcé
|
## 3. Protocole de réimport sous contrôle renforcé
|
||||||
|
|
|
||||||
|
|
@ -342,3 +342,20 @@ source créés, retirés par `Restore.ps1` en cas de retour).
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| CHG-029 | 2026-09-29 | L4-CX-B08 | `Source/LifePlay/LPStringCompat.h/.cpp`, `Source/LifePlayEditorTools/LPFixParseIntoArrayCommandlet.h/.cpp` (nouveaux) ; 17 Blueprints | `ParseIntoArray` UE5 renvoie `[""]` pour une chaîne vide (UE4 : `[]`) : `generatePerson()` sans argument chargeait les 141 presets | `Tools\Restore.ps1 -Lot L4-CX-B08` ou `git checkout L4-CX-B08-avant -- Content Source` |
|
| CHG-029 | 2026-09-29 | L4-CX-B08 | `Source/LifePlay/LPStringCompat.h/.cpp`, `Source/LifePlayEditorTools/LPFixParseIntoArrayCommandlet.h/.cpp` (nouveaux) ; 17 Blueprints | `ParseIntoArray` UE5 renvoie `[""]` pour une chaîne vide (UE4 : `[]`) : `generatePerson()` sans argument chargeait les 141 presets | `Tools\Restore.ps1 -Lot L4-CX-B08` ou `git checkout L4-CX-B08-avant -- Content Source` |
|
||||||
| CHG-030 | 2026-09-29 | L5 | `Source/LifePlayEditorTools/LPDumpFunctionCommandlet.cpp` | option `-Exec` (broches d'exécution) | `Tools\Restore.ps1 -Lot L5-dumpexec` |
|
| CHG-030 | 2026-09-29 | L5 | `Source/LifePlayEditorTools/LPDumpFunctionCommandlet.cpp` | option `-Exec` (broches d'exécution) | `Tools\Restore.ps1 -Lot L5-dumpexec` |
|
||||||
|
|
||||||
|
### Validation d'exécution de CX-B08 — build `LifePlay_Build_5.5_L5d` (2026-09-30)
|
||||||
|
|
||||||
|
Partie jouée par l'utilisateur : **personnages de quête et personnages aléatoires visibles et habillés**.
|
||||||
|
Journal : `Saved/Logs/portage/L5d_partie_utilisateur_20260930.log`.
|
||||||
|
|
||||||
|
| Mesure | 5.5 avant (L5b/L5c) | 5.5 L5d | 4.27 (quête jouée) |
|
||||||
|
|---|---:|---:|---:|
|
||||||
|
| Personnages générés | 16 | 40 | 16 |
|
||||||
|
| Presets de phénotype/stéréotype chargés à tort | tous | **0** | 0 |
|
||||||
|
| Lectures `Mesh_2` / `SkeletalMesh_2` vides | 378+ | **0** | 0 |
|
||||||
|
| `Accessed None` maillage / personnage | 43,7 | **0,38** | 0,06 |
|
||||||
|
| Plantages | 0 | 0 | 0 |
|
||||||
|
|
||||||
|
Résidu : 15 lectures `GetSkeletalMesh_DEPRECATED` vides (composants proxy ; dette R-03, lot L7a) ; `ModLauncher.config`
|
||||||
|
(ERR-014) et `OldPlayer.lpcharacter` absents (build sans sauvegarde antérieure). Cuisson L5d : 0 erreur,
|
||||||
|
95 avertissements (à examiner : la cuisson L5c en comptait 0).
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
| 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-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) |
|
| 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) |
|
||||||
| ERR-024 | `McpAutomationBridge` (outil de développement) impose des plugins d'exécution (`GameplayAbilities`, `SmartObjects`, `Niagara`, `PythonScriptPlugin`…) et dépend de `StructUtils`, déprécié en 5.5 | UBT L2 | — | faible (livraison) | L7g | ouvert |
|
| ERR-024 | `McpAutomationBridge` (outil de développement) impose des plugins d'exécution (`GameplayAbilities`, `SmartObjects`, `Niagara`, `PythonScriptPlugin`…) et dépend de `StructUtils`, déprécié en 5.5 | UBT L2 | — | faible (livraison) | L7g | ouvert |
|
||||||
| ERR-002 | `generatePerson()` sans argument : personnages identiques (« Tyrone »), nus, invisibles ; en PIE 5.5 chaque `index SPAWN` pointe vers `Person_C_0` | rapport 2026-09-28, journal PIE 09-28 | 16,6 `Accessed None` maillage/perso (4.27 : 0,3) | bloquante | L5 | **scindé** après la partie jouée du 2026-09-29 (build L4b) : les PNJ générés au hasard dans les pièces sont affichés et habillés → volet « aléatoire » corrigé par CX-B01 (confirmé visuellement). Le volet « preset » reste ouvert → ERR-027 |
|
| ERR-002 | `generatePerson()` sans argument : personnages identiques (« Tyrone »), nus, invisibles ; en PIE 5.5 chaque `index SPAWN` pointe vers `Person_C_0` | rapport 2026-09-28, journal PIE 09-28 | 16,6 `Accessed None` maillage/perso (4.27 : 0,3) | bloquante | L5 | **clos** : volet aléatoire corrigé par CX-B01, volet preset par CX-B08 (ERR-027) ; validé en jeu le 2026-09-30 |
|
||||||
| ERR-027 | Personnages de quête (`generatePerson(preset)`) invisibles pendant le dialogue, dévêtus dans le mini-jeu. Pile : `ReadSceneLine → CallFunction → GeneratePerson → LoadPreset → GenerateAndApplyStrings / GenerateAndApplyBools` lit un maillage vide dans les champs de structure `Mesh_2_99B58993…` et `SkeletalMesh_2_93573D99…` ; en aval `GetSkeletalMesh_DEPRECATED` renvoie None (`Person` EventGraph, `GI::PlayAnimationMorph`) | partie utilisateur L4b (`LifePlay_Build_5.5_L4b/.../Saved/Logs/LifePlay.log`) | `Accessed None` maillage : **26,5 par personnage** (1 219 / 46) contre **0,27** en 4.27 (4 / 15) ; les deux signatures de champ : 0 occurrence en 4.27 | **bloquante** | L5 | **cause racine identifiée** : `ParseIntoArray("")` renvoie `[""]` en UE 5.5 contre `[]` en 4.27 → `generatePerson()` sans argument charge les 141 presets → race legacy non chargée. Correctif : CX-B08 |
|
| ERR-027 | Personnages de quête (`generatePerson(preset)`) invisibles pendant le dialogue, dévêtus dans le mini-jeu. Pile : `ReadSceneLine → CallFunction → GeneratePerson → LoadPreset → GenerateAndApplyStrings / GenerateAndApplyBools` lit un maillage vide dans les champs de structure `Mesh_2_99B58993…` et `SkeletalMesh_2_93573D99…` ; en aval `GetSkeletalMesh_DEPRECATED` renvoie None (`Person` EventGraph, `GI::PlayAnimationMorph`) | partie utilisateur L4b (`LifePlay_Build_5.5_L4b/.../Saved/Logs/LifePlay.log`) | `Accessed None` maillage : **26,5 par personnage** (1 219 / 46) contre **0,27** en 4.27 (4 / 15) ; les deux signatures de champ : 0 occurrence en 4.27 | **bloquante** | L5 | **corrigé (CHG-029, CX-B08)**, validé en jeu le 2026-09-30 : 0 lecture de corps vide, 0,38 `Accessed None`/perso (43,7 avant) |
|
||||||
| ERR-028 | `clearVariable` : index 0 sur tableau `Person` vide de `Variable` (via `GeneratePerson`, `getRelative`, `GetSpecific`) | partie utilisateur L4b | 211 | **bruit** : présent à l'identique en 4.27 — piste écartée | — | accepté |
|
| ERR-028 | `clearVariable` : index 0 sur tableau `Person` vide de `Variable` (via `GeneratePerson`, `getRelative`, `GetSpecific`) | partie utilisateur L4b | 211 | **bruit** : présent à l'identique en 4.27 — piste écartée | — | accepté |
|
||||||
| ERR-003 | `Attempted to access index 0 from array Float_… of length 0` dans `GI::ReturnStatIfNeeded` (variable DSL `Float` vide) | build 5.5 Development | 2 (4.27 : 0) | haute | L5 | ouvert |
|
| ERR-003 | `Attempted to access index 0 from array Float_… of length 0` dans `GI::ReturnStatIfNeeded` (variable DSL `Float` vide) | build 5.5 Development | 2 (4.27 : 0) | haute | L5 | ouvert |
|
||||||
| ERR-004 | `index N from CallFunc_ParseIntoArray_ReturnValue of length N` (`GI` EventGraph) | PIE 09-28 | 6 510 | moyenne | L7b | ouvert — origine localisée (L3) : `GI.populateClothes4` appelée par `Person.ReceiveBeginPlay` |
|
| ERR-004 | `index N from CallFunc_ParseIntoArray_ReturnValue of length N` (`GI` EventGraph) | PIE 09-28 | 6 510 | moyenne | L7b | ouvert — origine localisée (L3) : `GI.populateClothes4` appelée par `Person.ReceiveBeginPlay` |
|
||||||
|
|
@ -33,3 +33,4 @@
|
||||||
| ERR-019 | Plantages du resave de masse : `BulkData IsUnlocked`, `Array.h:783` (`fnt_new100/111`) | `Saved/Crashes` 09-07 | 2 | à surveiller | L4 | ouvert |
|
| ERR-019 | Plantages du resave de masse : `BulkData IsUnlocked`, `Array.h:783` (`fnt_new100/111`) | `Saved/Crashes` 09-07 | 2 | à surveiller | L4 | ouvert |
|
||||||
| ERR-025 | `LPFixEditableTextBoxFont` : un `Make EditableTextBoxStyle` peut perdre sa police sans rebranchement selon l'ordre de parcours (`CharGen::Make_64`) | relecture du diff L4-CX-B02 | 1 nœud | haute (silencieuse) | L4-CX-B02 | corrigé dans la commandlet (CHG-020) ; présent probablement dans le contenu du 2026-09-07 |
|
| ERR-025 | `LPFixEditableTextBoxFont` : un `Make EditableTextBoxStyle` peut perdre sa police sans rebranchement selon l'ordre de parcours (`CharGen::Make_64`) | relecture du diff L4-CX-B02 | 1 nœud | haute (silencieuse) | L4-CX-B02 | corrigé dans la commandlet (CHG-020) ; présent probablement dans le contenu du 2026-09-07 |
|
||||||
| ERR-026 | Build Development incomplète : 3 257 packages cuits au lieu de 8 561 ; la plupart des maillages, vêtements, coiffures et textures manquent (chargés par chemin à l'exécution, invisibles pour le cuiseur) | retour utilisateur sur `LifePlay_Build_5.5_L4` | 5 304 packages | **bloquante** | L4 | corrigé (CHG-025) : `+DirectoriesToAlwaysCook=(Path="/Game")` ; test T-PKG-01 ajouté |
|
| ERR-026 | Build Development incomplète : 3 257 packages cuits au lieu de 8 561 ; la plupart des maillages, vêtements, coiffures et textures manquent (chargés par chemin à l'exécution, invisibles pour le cuiseur) | retour utilisateur sur `LifePlay_Build_5.5_L4` | 5 304 packages | **bloquante** | L4 | corrigé (CHG-025) : `+DirectoriesToAlwaysCook=(Path="/Game")` ; test T-PKG-01 ajouté |
|
||||||
|
| ERR-029 | Cuisson L5d : 95 avertissements (L5c : 0) | `L5d_BuildCookRun.log` | 95 | à qualifier | L6 | ouvert |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue