LifePlay-Revival/Docs/Migration/etat/ST/STE/STE-TACHES.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

61 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STE-TACHES : registre des fiches (ST, correctifs après STD, ouvert le 2026-10-10)
Orchestrateur : session « LOT STE » [acb782] (Opus 5.5) depuis le 2026-10-10, décision de l'utilisateur (« tu reprends en
charge etat\ST\STE »), passation inscrite au BOSS-JOURNAL ; avant : session « Lot 29 : sélection outils debugging ». Entrées : `etat\ST\STD\STD-TACHES.md`
(décisions utilisateur du 2026-10-10), `STD-GIX-DIAG.md`, `STD-SCN-DIAG.md`, `STD-TXT-DIAG.md`.
Méthode : skill `lp-mcp` (Blueprint par MCP, instantané, relecture, compilation), `lp-lot`, `lp-doc` ; numéros CHG réservés
dans `etat\REPO\NUMEROS.md` (lp-repo § 7) ; **commits par le gardien seulement** (ticket `etat\REPO\tickets\STE-R<n>.md`,
lp-repo § 8) ; gel de la copie 5.8 annoncé à toutes les sessions avant usage d'UE et levé à la fin.
Départ : **après le commit des fichiers du lot STC** (GI.uasset, MainMenu.uasset, LPSettingsSubsystem.cpp, LPUserSettings.*)
et la fin de son gel ; HEAD de départ relevé à l'ouverture.
Budgets (BUD1) : N0-N2 ≈ 40 tours / 150 k / 20 min ; N3-N5 ≈ 60 tours / 250 k / 30 min.
| Fiche | Objectif (un résultat) | Note → Nx | Agent (modèle) | Dépend de | Statut | Livrable | CHG | Tours | Pic | Jetons | Durée |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STE-D | Dumps requis : 12 fonctions GI (STD-SCN) + PC EventGraph (D-1) + composants SceneCapture de CentralLondon (D-2) | a1 b0 c0 d0 e1 f0 = 2 → N0 | lp-builder | commit STC, gel STC levé | **faite 13/14** (passe 1 Lot 29 interrompue à 6/14 ; suite LOT STE 11:25-11:32) ; `PlayerChangeRace` = événement de l'EventGraph, pas une fonction (code 1) → STE-D2 ; D-2 : `FaceCapture` `RootComponent = None` en 5.8 | `STE-D-INV.md`, `dumps\` (14 fichiers) | — | 18 (suite) | | | 7 min (suite) |
| STE-D2 | Dumps GI `EventGraph` (H2 : `PlayerChangeRace`, `UpdatePlayerMeshWithMorphs` ; STE-GI : nœuds R06/R07/R08/R10 après STC ; H3 : nœuds `PlayScene` à reconfirmer), `CallFunctionReturnBool` (H3 : lecture F3 `_41`), `ReturnStatIfNeeded` (H3 : G3, dump STA périmé) | a1 b0 c0 d0 e1 f0 = 2 → N0 | lp-builder | STE-D, BUILD-GO (rang 1 après STF-T4) | **faite 3/3** (12:27-12:30, code 0, MD5 GI et MainMenu inchangés) | `dumps\GI__EventGraph.txt`, `GI__CallFunctionReturnBool.txt`, `GI__ReturnStatIfNeeded.txt` ; complément dans `STE-D-INV.md` | — | 9 | | | 3 min |
| STE-GI | Gardes R06 (TintUI), R07/R08 (RootComponent de SceneCapture), R10 (Companion) dans GI | a1 b1 c0 d1 e1 f1 = 5 → N2 | orchestrateur (MCP) | STE-D (D-2 pour l'état 5.8 de FaceCapture) | **IMPL faite** (12:37-12:44, 13 nœuds, GI 606EB437…) ; **VAL PASS** (STE-VAL § STE-GI) ; **J1 PASS** (0 / 0 / 0, `STE-VAL.md`) ; commit ticket STE-R2 | CHG-305 + `STE-GI-IMPL.md` | CHG-305 | ≈ 60 appels MCP | | | 7 min (éditeur) |
| STE-TXT | Texte noir dans `CharGen` : `FilenameEntry`, `VarianceSpinBox` | a1 b0 c0 d1 e1 f0 = 3 → N1 | orchestrateur (MCP) | commit STC, gel STC levé | **faite** : IMPL 13:15-13:17 ; J2 partiel puis **J2bis PASS** (avec STE-P1) ; commit STE-R3 | CHG-306 + `STE-VAL.md` | | | | | |
| STE-H3 | F1 / F3 : lectures vides de personnages du moteur de scènes (SPEC puis IMPL) | a1 b2 c1 d1 e1 f1 = 7 → N3 | lp-cart (SPEC) + orchestrateur (IMPL) | STE-D (+ STE-D2 pour `PlayScene` après STC) | **IMPL faite** (G1-G6, MCP 17:19-17:26, GI 62FCCD5B, `STE-GARDES-IMPL.md`) ; **VAL PASS-STATIC**, **J3 PASS** ; commit STE-R5 | `STE-H3-SPEC.md` | | | | | |
| STE-H2 | F4 : `GetSkeletalMesh` sur mannequin de scène (diagnostic puis correctif) | a1 b2 c2 d1 e1 f1 = 8 → N3 | lp-cart | STE-D, STE-D2 | **IMPL faite** (G-H2, 17:32-17:33, GI B8B97C46) ; cause → STE-H2b ; **VAL PASS-STATIC**, **J3 PASS** ; commit STE-R5 | `STE-H2-DIAG.md` | | | | | |
| STE-H2b | F4, cause : ordre maillage / `LoadPreset` du mannequin recyclé (donner le corps avant `LoadPreset` ou ne pas le vider au DESTROY) ; lié à H4 / F5 | à noter | lp-cart (DIAG) | STE-H2 (garde posée) | **DIAG fait** (lp-cart 36/60, voies A et B instruites) : A redondante avec G-H2 ; B (ne plus vider le corps au DESTROY) supprimerait F5 sur les mannequins, coût mémoire non chiffré ; Q-H2b = **Abstention + H4** | `STE-H2b-DIAG.md` | | | | | |
| STE-H3b | Extension des gardes F2 : sites d'appel get / set / modifyActorVar avec `Person[0]`, `_30`, `_41` (`CallFunctionReturnBool`) | à noter | lp-cart (SPEC) + orchestrateur | STE-H3 | **SPEC faite** (G7-G11 ; G9 ajoutée par l'orchestrateur, § 2.4 bis) ; **IMPL faite** (17:26-17:32, GI A5A0EDF0) ; **VAL PASS-STATIC**, **J3 PASS** ; commit STE-R5 | `STE-H3b-SPEC.md` | | | | | |
| STE-H5 | Variable `AI` absente pendant la rafale des routines d'IA (cas B de Q1) | à noter (N3) | lp-cart | STE-H3 | **DIAG fait** (lp-cart 44/60) : H5-1 confirmée, `Array_Clear` de `Variables` dans `UpdateCheckForScenes` pendant la boucle IA `Async`, préexistant 4.27 (ERR-003) ; Q-H5-1 = **Corriger (F-a)** → STE-H5b | `STE-H5-DIAG.md` | | | | | |
| STE-CG | `Accessed None` `property GI` dans `CharGen_C` (`SpinBox_0` `OnValueChanged` avant affectation de `GI`, même mécanisme qu'ERR-057 ; 1 occurrence en J1) | — | — | — | **retiré** : décision de l'utilisateur rapportée par Big Boss (2026-10-10), les résidus `SpinBox_0` du flou de champ (MainMenu et CharGen) forment un seul lot confié à STF (**STF-T5**, `etat\ST\STF\STF-TACHES.md`) | — | | | | | |
| STE-P1 | Plantage ERR-088 : `SetWidgetStyle` UE 5.8 garde un pointeur vers une temporaire ; fonction C++ BlueprintCallable + substitution des 4 nœuds Set WidgetStyle (CharGen ×2, StatMenu ×2) | a1 b2 c1 d2 e1 f1 = 8 → N3 | lp-impl (SPEC, C++) + lp-builder + orchestrateur (MCP) + lp-validator | STE-TXT-DIAG | **faite** : SPEC, C++ (build 0/0), 4 nœuds remplacés (MCP 14:09-14:12), VAL PASS-STATIC, **J2bis PASS** (10 refus sans plantage) ; commit STE-R3 | `STE-P1-SPEC.md`, `STE-P1-IMPL.md` | CHG-311, ERR-088 | | | | |
| STE-H3c | Lectures `Person[0]` restantes (232 `Person_24` en J3 ; `getRelatedPerson`, R7 / R13 de H3b) | a1 b2 c2 d1 e1 f1 = 8 → N3 | lp-cart (SPEC) + orchestrateur | STE-H3b | **fait, CHG-322** : G12 (`AddVariable` 49 → 51) ; VAL PASS-STATIC ; J5 : `Person_24` 109 → 13 ; reste (scènes d'animal) → STE-H3d ; commit STE-R6 | `STE-H3c-SPEC.md` | | | | | |
| STE-H5c | Avertissements `Dress` (personne nulle) et saccades en fin de scène quand la compagne suit le joueur | a1 b2 c2 d1 e1 f2 = 9 → N3 | lp-cart (DIAG) + orchestrateur (MCP) | STE-H5b | **fait, CHG-321** : DIAG (défaut d'origine, C1 sans F-a 25 985) ; O1 `Room` + O3 `clearScenePersons` (Q-H5c-2) ; VAL PASS-STATIC ; J5 : `Dress` 0 ; saccades « encore quelques-unes » (F5 → STE-H4) ; commit STE-R6 | `STE-H5c-DIAG.md`, `STE-H5c-IMPL.md` | | | | | |
| STE-H3d | 13 `Person_24` restants en J5 (6 en J6), dans le `CHECKING:` des scènes d'animal (`pet/meet_new_person_*`) | a1 b2 c2 d1 e1 f1 = 8 → N3 | lp-cart (SPEC) + MCP | STE-H3c | **SPEC faite** (`fiches\STE-H3d.md`, lp-cart 26/60) : source = `isCreatureType` sur `CurrentCompanion` vide (via `CallFunctionReturnBool`, pile de l'Accessed None voisin) ; G13 ; **décisions de l'utilisateur (2026-10-13)** : Q-H3d-1 variante **b** (rendre faux, sous réserve du dump 5.8 de `isCreatureType`), Q-H3d-2 **DIAG** des lignes silencieuses (STE-H3e), Q-H3d-3 abstention G14 ; **dumps P1 faits** (GI 6A957CB2 = CAM B1 non commité ; corps de `isCreatureType` confirmé → variante b sans changement de comportement) ; **IMPL faite** (2026-10-13, BUILD-GO de Big Boss après TRACE1 ; cible jeu reconstruite d'abord, `LifePlay.target` sans Sentry, Build.ps1 code 0) : instantané `Backup_5.5\STE-H3d` (GI 6A957CB2), fiche `STE-H3d-I` (lp-mcp-bp, 41/45 tours, **acceptée**) : G13 b, 3 nœuds, 1 coupure, 6 liens, CRBG 591 → 594, compilation 0 / 0, GI **C4817B84** ; VAL statique `STE-H3d-v` (lp-validator, **reprise** après un refus légitime du crochet sur `tee`, puis **acceptée**) : **PASS** critères 1-2 (594 nœuds, diff P1 = 3 nœuds, CompileAllBlueprints : 0 erreur `/Game/`, CC_Shaders à part ; LPTestStringCompat 3120 / 0 / 60), critères 3-5 reportés au build de STE-H3e ; CHG-343 réservé (`Numero.ps1`, verrou 147), DOC `STE-H3d-d` (lp-writer, 6/25, **acceptée** : CHG-343, plage README) ; commit par le gardien, ticket `STE-H3d-R1` (hash : `git log --grep STE-H3d-R1`) | `STE-H3d-SPEC.md` | | | | | |
| STE-H3e | DIAG des lectures `Person_24` silencieuses restantes (1 par parcours, sans pile : J6:8892, J5 :34375 / :34556) | a1 b2 c1 d1 e1 f1 = 7 → N3 ; C3 = 2, S = 3 → **scindée** (B build N0, J session, A analyse N2) | lp-builder, utilisateur, lp-diag | STE-H3d | **GO de Big Boss** (2026-10-13, en parallèle de CAM-B2, sous jeton UE) ; fiche `fiches\STE-H3e.md` ; piste : drapeau moteur `-ScriptStackOnWarnings` (`ScriptCore.cpp:590-605`) → pile sur chaque avertissement, aucune instrumentation d'asset ; build partagé V7 de CAM (Room B2 non commité) ; session H3e-J de l'utilisateur faite (15:27-15:45, journal `STE-H3e-J\LifePlay.log` MD5 3133FD1E, jeton UE rendu) ; A2 (lp-validator, **acceptée**) : preuve en jeu de H3d, critère 3a **requalifié par l'utilisateur** (0 ligne `isCreatureType`) → **H3d PASS en jeu** (`STE-H3d-VALJEU.md`) ; A1 (lp-diag, **acceptée**, arrêt prévu sur dump manquant) : 2 lignes restantes = `GI.isSameAs` (pile `CheckConditionsWho` ← `Action.CheckInteractionWho`, une par clic carte), lignes silencieuses J6 / J5c rattachées par estimation (`STE-H3e-DIAG.md`) ; Q-H3e-1 = b, puis dumps P2 (lp-builder, 2 tentatives, **acceptée** : isSameAs 11, GetVariable 53, GI EventGraph 6 249, Action EventGraph 363 ; MD5 inchangés) et SPEC `STE-H3g` (lp-cart 27/50, **acceptée**, `STE-H3g-SPEC.md`) : la variante b change un cas réel (`CurrentCompanion` = `[None]` sans compagnon) → **Q-H3g-1 = c, pas de garde G15** (avertissement `isSameAs` accepté comme bruit) ; **H3e clos** |
| STE-ORG | Audit du bonus d'orgasme (demande de l'utilisateur via Big Boss, 2026-10-13) | à noter | lp-cart | — | fiche `fiches\STE-ORG.md` ; **audit fait** (lp-cart 63/60, plafond 70, **accepté**, partiel L9-L13, `STE-ORG-AUDIT.md`) : bonus automatique `GiveOrgasmReward` actif (seul `Endsex` → `GI::cum` coupé, lié à F2) ; grille « Pick bonus reward » (v5.26 de l'auteur) **absente** de nos sources ; décision de l'utilisateur : **lectures seulement** (L9-L13 du build de l'auteur `D:\XxX\LifePlay_2023_04_Stable_64bit`), reconstruction décidée plus tard ; **L9-L13 faites** (tentative 2, lp-cart 38/35, plafond 45, acceptée avec écarts : 3 Write au lieu d'Edit, reprise après 2 refus du crochet sans arrêt ; § 9 : table `statTags` de 20 entrées, formule de rendement décroissant, `DisableBonus` 5.27 absent chez nous, nos sources = assets 5.9) ; L14-L16 facultatives, L1 / L2 / L12 au jeton UE ; **gel des scènes de sexe levé par l'utilisateur pour l'alpha (2026-10-14)** : **ORG4** SPEC `STE-ORG4-SPEC.md` (O4a garde `PersonCumming`) + `STE-ORG4c-SPEC.md` (O4c : bonus à `Endsex` par participant, homme = `IsMale` OU pénis ≥ 90, femme ≥ 100 ; GI 6 253 → 6 273), P0 levé (`ForceEnd = 'true'`) ; IMPL tentative 1 (`STE-ORG4-IMPL.md`) arrêtée au refus du crochet (`tee $L`), GI inchangé ; scindée : **O4a fait** (`STE-ORG4a-IMPL.md`, lp-mcp-bp 35/35, GI `E64B5B37` → `BD0A2256`) et **VAL V5 PASS** (`STE-ORG4a-VAL.md`, 6 256 nœuds) → COMMUN-7 ; **O4c** tentative 1 arrêtée au budget avant l'opération, puis **fait** en Ic1 (`STE-ORG4c-Ic1.md`, 17 nœuds, 50/45 plafond 55) et Ic2 (`STE-ORG4c-IMPL.md`, 1 coupure, 26 liens, 7 valeurs, 51/50 plafond 60 ; refus du crochet après l'enregistrement sur `mkdir` de l'autosave, déplacé par l'orchestrateur, `GI_Auto1` `C21174FA`) ; GI `BD0A2256` → `32FC0A97` ; **VAL V5 PASS-STATIC** (`STE-ORG4c-VAL.md`, 6 273 nœuds) → COMMUN-8 ; V6 (S1-S6) à COMMUN-8 ; **ORG5-I2** (affichage du bonus au même emplacement que l'auteur, décision de l'utilisateur) : SPEC `STE-ORG5-I2-SPEC.md` (lp-cart 44/45 ; option (a) case ajoutée à `EquipMenu` de `Cursor` depuis le C++ ; décisions : lignes seules, 20 s, hauteur 500, `bDisabled` coupe tout), IMPL `STE-ORG5-I2a-IMPL.md` (lp-impl 24/40, acceptée ; **écart orchestrateur : pas d'instantané d'I1 avant I2a**, version I1 seule perdue), VAL `STE-ORG5-V2-VAL.md` **PASS-STATIC** (lp-validator 8/35) → COMMUN-8 (`.h` `87177C7A`, `.cpp` `16147626`, instantané `Backup_5.5\STE-ORG5-I2a`) ; **ORG5** SPEC `STE-ORG5-SPEC.md` (V-min, C++ autonome, 3 récompenses, MIT), IMPL C++ `STE-ORG5-I1-IMPL.md` (lp-impl 29/45, acceptée, fichiers neufs `LPBonusRewardSubsystem.h/.cpp`), **VAL statique PASS-STATIC** `STE-ORG5-V1-VAL.md` (lp-validator 11/40, D1 / D2 mineurs) → candidat COMMUN-6 ; règle commune ORG4 / ORG5 écrite dans les deux SPEC ; aucune modification des scènes de sexe avant la release | | | | | | |
| STE-G3 | `NotifyCoupleTeleported()` dans `LPShowCoupleSubsystem` : reprise de `LastSafe` après téléportation du couple par CAM (demande de Big Boss pour CAM, `CAM-COMMUN9-DIAG.md` § 6.4, 2026-10-14) | à noter | lp-impl | — | fiche `fiches\STE-G3.md` ; instantané `Backup_5.5\STE-G3` (`57DC8CD4` / `35CF128C`) ; **IMPL faite** `STE-G3-IMPL.md` (lp-impl 15/20, acceptée ; +23 lignes ; `.h` `44C721EE`, `.cpp` `3CDD572D`) ; **VAL statique PASS-STATIC** `STE-G3-VAL.md` (lp-validator 5/20 ; D1 journal à chaque appel, D2 informatif) ; contrat transmis à CAM via Big Boss ; compilation COMMUN-11, essai CAM-74 | | | | | | |
| STE-GEL1 | Gel de 34 s pendant la recherche sur tous les bâtiments (COMMUN-5, demande de Big Boss, 2026-10-14) | à noter | lp-diag | — | fiche `fiches\STE-GEL1.md` ; **DIAG fait** (lp-diag 29/45, accepté, `STE-GEL1-DIAG.md`) : `TopRight.SortByDistance` sur ~49 425 bâtiments, tri par sélection en Blueprint (n², estimé), défaut d'origine (5.5 : 40,9 s ; COMMUN-3 : 35,7 s) ; décision de l'utilisateur : **C2** (pas de tri au-delà de 2 000 résultats), visé pour l'alpha ; dump D1 fait (lp-builder 18/15, dumps extraits par l'orchestrateur) ; SPEC `STE-GEL1-SPEC.md` (lp-cart 28/40, acceptée, n² établi) ; **IMPL faite** `STE-GEL1-IMPL.md` (lp-mcp-bp 41/40, acceptée ; TopRight `1FCB94A6` → `CB835360`, instantané `Backup_5.5\STE-GEL1`) ; **VAL V5 PASS** `STE-GEL1-VAL.md` (lp-validator, tentative 1 arrêtée au refus du crochet sur `->`, tentative 2 PASS, 18 tours) ; V6 à COMMUN-6 ; commit après COMMUN-6 sur ordre de Big Boss | | | | | | |
| STE-H3f | DIAG des 3 familles `Accessed None` nouvelles en H3e-J (`K2Node_CustomEvent_Person` Person, `PersonCumming` et `SkeletalMesh_2` GI ; 13 contre 9 en J6) | à noter | lp-diag | STE-H3e | **ouvert par l'utilisateur** (2026-10-13) ; fiche `fiches\STE-H3f.md` ; **DIAG fait** (lp-diag 31/40, **acceptée**, `STE-H3f-DIAG.md`) : 3 défauts d'origine révélés par le parcours (F1 5.5 DC4, F2 4.27, F3 5.5), aucun lié à Room B2, H10 ou H3d ; décisions : F1 / F2 **acceptés sans fiche** (registre ERR au prochain jeton), F3 : **G16 spécifiée** (`STE-H3g-SPEC.md` : 2 gardes IsValid avant les boucles sur `Materials`, 4 nœuds, EventGraph 6 249 → 6 253) et **approuvée par l'utilisateur** ; **IMPL faite** (UE-GO de Big Boss ; lp-mcp-bp 53/50, plafond 60, issue **acceptée** ; `STE-H3g-IMPL.md` : `CallFunction_715` / `_720` IsValid, `IfThenElse_219` / `_220`, compile 0 / 0, GI `C4817B84` → `0E6AEDCC`, instantané `Backup_5.5\STE-H3g`) ; **VAL statique PASS** (lp-validator 24/40, acceptée, `STE-H3g-VAL.md` : 6 253 nœuds, liens conformes, non-régression 11 / 53 / 594 / 363, CompileAllBlueprints 25/3/55/420 = référence, 3120/0/60) ; UE-LIBRE rendu, PASS-STATIC accepté par Big Boss ; **VAL de jeu COMMUN-2** (lp-validator 34/40, acceptée, `STE-H3g-VALJEU.md`) : G16 **non démontré en jeu** (parcours CharGen, marqueurs absents), H3d PASS, H10 PASS, aucune famille nouvelle rattachée à STE ; décisions de l'utilisateur : G16 PASS statique accepté, F-A (`getRelatedPerson`) et F-B (`isTemporary` dans `CallFunctionReturnBool`) → **DIAG STE-H3h** (fiche `fiches\STE-H3h.md`, lp-diag 38/40, acceptée, `STE-H3h-DIAG.md` : F-A défaut d'origine 4.27, `so_follows.lpai:8` estimé ; F-B défaut d'origine ≥ 5.5 ; G13 hors de cause) ; F-A et F-B **acceptés** par l'utilisateur, à inscrire au registre ERR au prochain jeton du journal (avec F1, F2) ; **DIAG STE-H3i** (demande de Big Boss, COMMUN-3 session 1 ; lp-diag 26/40, accepté, `STE-H3i-DIAG.md`) : 378 avertissements `chargen` (et non 756), défaut d'origine (`BodyShapeMenu` / `VisualMorph` ouvert sans CharGen ouvert dans la partie), sans lien avec G16 ni B7-a ; décision de l'utilisateur : dump `VisualMorph` puis SPEC d'une garde `IsValid(GI.CharGen)` **après l'alpha** ; **commit différé** jusqu'au verdict de COMMUN-2 (Big Boss), brouillon CHG et ticket : `STE-H3g-COMMIT-BROUILLON.md` ; écart E2 (Wait-HyperAIStudioMCP code 1, MCP prêt) gardé pour le lot outils ; note : `Person.moveToPersonStand` (F1) est en cours de modification par STG-B1 (Person B239E103, non commité, Big Boss 2026-10-13) : toute SPEC STE sur Person est annoncée à Big Boss avant | | | | | | |
| STE-H7 | Saccades à l'apparition des PNJ : `FlushAsyncLoading` au SPAWN (46 trames SPAWN ≥ 50 ms dont 38 avec FAL, 21 FAL seuls) | a1 b2 c2 d1 e1 f2 = 9 → N3 | lp-cart | STE-H4 | **DIAG fait** (`STE-H7-DIAG.md`, lp-cart 47/60) : FAL ≈ 5 % du temps des trames SPAWN ; l'essentiel = Blueprint relancé par `FlushLatentActions` (64-77 %) ; correctifs FAL (P1-P3) ≤ 5 % ; dumps STE-D9 requis pour nommer les fonctions ; décalage d'une trame de `STE-H4-MESURE.md` relevé (corrigé § 6) | `STE-H7-DIAG.md` | | | | | | ; **C0 fait, CHG-326** (`STE-H4-C0-IMPL.md`, GI FE4406A0, VAL PASS-STATIC `STE-VAL.md` § STE-H4-C0, preuve en jeu reportée à J6) ; commit STE-R7
| STE-H8 | Saccades de fin de scène : `TopRight.GenerateRecs` (13 trames de 300 à 450 ms) | a1 b2 c2 d1 e1 f2 = 9 → N3 | lp-cart | STE-H4 | **DIAG fait** (`STE-H8-DIAG.md`, lp-cart 38/60) : `GenerateRecs` ne cause pas la saccade de fin de scène (trame suivante, 18-56 ms, déclenchée par un `Delay` 0,2 s) ; la saccade est dans la trame de fin de scène (261-807 ms : bascules d'interface / mode d'entrée ≈ 70 ms ×2, modifications de stats 25-35 ms, rhabillage) ; `GenerateRecs` coûte 90-313 ms à l'arrivée dans un lieu ; dumps STE-D9 requis (TopRight, Person `recommend*`, StreetMap) | `STE-H8-DIAG.md` | | | | | |
| STE-H9 | Trace Unreal Insights des saccades (fonctions mesurées) | a1 b2 c1 d0 e1 f1 = 6 → N2 | orchestrateur + utilisateur | STE-H7, STE-H8 | **fait** (`STE-H9-TRACE.md`) : 120 trames ≥ 50 ms (18,6 s) ; sans clic : chargement synchrone des cheveux `LoadHairMeshIfNeeded` → `getSkeletalMeshFromPath` (285 / 442 ms d'actions latentes, corrige H7) ; fin de scène : `SavePreset` dans `DestroyPerson`, `RevertStripAll` / `IsGenitalExposed`, `Current` / `ShowUI` ; décision de l'utilisateur (2026-10-11) : **« Cheveux + fin de scène »** ; BUILD-DEMANDE STE-D9 (12 dumps GI / Person / TopRight) envoyée à Big Boss, puis SPEC ; écritures après C0, coordination CAM (GI, Person) | `STE-H9-TRACE.md` | | | | | |
| STE-H10 | SPEC des correctifs de saccades : (A) cheveux chargés en synchrone ; (B) fin de scène (`SavePreset`, boucles vêtements, liste d'actions) | a2 b2 c2 d1 e1 f2 = 10 → N3 | lp-cart (SPEC) + orchestrateur (MCP) | STE-H9 | **IMPL partielle** (`STE-H10-IMPL.md`) : TopRight B4-a et Person A1 + B3-a écrits, compilés, enregistrés, non commités (TopRight 1FCB94A6, Person D1B4C63D) ; **GI B1-a + B2-a écrits** (2026-10-13, session STE [b84cc5], `lp-mcp-bp`) : `STE-H10-GI1-IMPL.md` (EventGraph 6 232 → 6 241, GI 324A4F27) et `STE-H10-GI2-IMPL.md` (SavePreset 503 → 506, GetSMBoolForSMC_Cloth 11 → 13, compilations 0 / 0, GI **71034A04**), non commités ; 2 arrêts sur faux positif du crochet `ecriture-gardien` (`>` lu comme redirection) ; éditeur PID 8296 fermé, autosaves GI déplacés vers `Backup_5.5\STE-H10\autosave-2026-10-13\` ; **(a) finie, BUILD-FIN envoyé** ; (b) VAL faite (`STE-H10-VAL.md`, lp-validator recyclé, 31 tours) : **FAIL sur un seul critère, cause externe** (E1 : CompileAllBlueprints 420 / 421, 3 erreurs sur `/Engine/CC_Shaders/Utilities/CR_FaceExpRig`, dossier du moteur installé apparu le 2026-10-12 19:57 ; 110 / 110 BP `/Game/` compilent) ; tout le reste PASS (TopRight 907, Person 3 702, ClearProxies 39, GI EventGraph 6 243 = 6 234 + 9, SavePreset 506, GetSMBoolForSMC_Cloth 13, destroyDummy 39, LoadHairMeshIfNeeded 17, CopyActionsToScroll 34, LPTestStringCompat 3120 / 0 / 60) ; MD5 inchangés ; **décision de l'utilisateur sur E1 (2026-10-13) : requalifier** le critère en « BP `/Game/` du projet : 0 erreur » → VAL (b) acceptée, CC_Shaders noté à part (défaut d'outillage du moteur installé) ; (c) build J6 fait (fiche `fiches\STE-J6.md`, lp-builder, `STE-J6-BUILD.md`) : Build.ps1 code 0 (1 unité), UAT code 0, cuisson 0 erreur 1 avertissement (LegacyIterative, comme J5), CheckPackage PASS, GI / Person / TopRight recuits 07:31, MD5 inchangés, archive `D:\Game\LifePlay_Build_5.8_STE-J6_Development` ; (d) session J6 de l'utilisateur faite sous MACHINE CALME (07:36:08-07:44:16, « pas de défauts constatés ») : trace `STE-J6.utrace` (1 534 318 792 o), LPHitchLog 100 lignes (plafond) 14,1 s, max 1 437,5 ms (H9 : 100 lignes, 16,9 s, max 1 564) ; 12 Accessed None, dont 1 `SavePreset` / `GetSkeletalMesh_ReturnValue` **antérieur** (déjà dans STC et H5b-TEMOIN) ; fin de mesure envoyée ; analyse Insights faite (`STE-J6-TRACE.md`, lp-cart, tentative 1 arrêtée : Insights quitte à 80 % de mémoire ; tentative 2 réussie, exports H9 d'origine) : **C0 / ERR-011 établi** (groupe F5 dans la trame du DESTROY 0 / 31 contre 70 / 70 en H9) ; **B1-a atteint** (RevertStripAll sous SavePreset 0 / 4, SavePreset moyen 53,3 → 31,2 ms), **B2-a atteint** (2,17 → 1,40 ms), **B3-a atteint** (8,13 → 5,82 ms) ; **A1 non atteint** (RandomizeHairs max 38,4 → 48,9 ms : cheveux de corps et UpdateProxyMorphs, hors A1 ; LoadHairMeshIfNeeded 284,6 → 778,8 ms, trame de démarrage) ; **B4-a sans gain** (corps de Current reporté à la trame suivante, 72,5 → 77,2 ms) ; trames Suivant 228,0 → 134,3 ms ; trames ≥ 50 ms par minute −12 % ; 0 Accessed None nouveau ; **décision de l'utilisateur (2026-10-13) : tout commiter** (A1 et B4-a gardés : aucune régression ; pistes restantes en H7b / H8b) ; (e) JOURNAL-GO de Big Boss ; DOC faite (`fiches\STE-H10d.md`, lp-writer, `STE-H10-DOC.md`) : CHG-336 (GI), CHG-337 (Person), CHG-338 (TopRight), plage README, ERR-011 « corrigé (part F5 du DESTROY) » ; résumé TRACE1 ajouté en tête de `STE-J6-TRACE.md` ; commits par le gardien : tickets `STE-H10-R1` (GI + journal, index, registre ERR, NUMEROS), `R2` (Person), `R3` (TopRight + livrables STE H7 à H10, J6, fiches, ce registre) ; **commits faits** (gardien, verrou 127) : R1 `b3ee785` (GI + journal, parent 9eaa6cc, 8 chemins), R2 `5b58ffd` (Person, 3), R3 `f32df0d` (TopRight + livrables, 24) ; rien poussé ; JOURNAL-LIBRE envoyé ; **STE-H10 terminé** (reste à commiter : ce registre et `STE-H10-INT.md`, au prochain commit du lot) ; instantanés `LifePlay_Backup_5.5\STE-H10\` ; gel TopRight / Person / GI | `STE-H10-SPEC.md` | | | | | |
| STE-H5b | Correctif F-a : reposer `AI` = `[AIDummy]` avant chaque `PlayScene` de routine d'IA | a1 b2 c2 d1 e1 f2 = 9 → N3 | lp-cart (SPEC) + orchestrateur (MCP) | STE-H5 | **fait, CHG-320** : F-a (`AddVariable('AI')`, `CallFunction_568`) ; C0 18 → J4 0 (témoin retiré) ; VAL PASS-STATIC ; J5 PASS (`STE-H5b-C0.md`, `STE-J4.md`, `STE-J5.md`) ; commit STE-R6 | `STE-H5b-SPEC.md` | | | | | |
| STE-H4 | F5 « No SkeletalMesh » (18 513 en J3) et voie B de H2b : dumps Person / GI manquants (`STE-H2b-DIAG.md` § 5), mesure `memreport -full` avant / après | à noter (N3) | lp-cart | STE-H2b | **DIAG fait** (`STE-H4-DIAG.md`, lp-cart 42/60) : F5 = mannequins en réserve (corps vidé), 69 % moteur (sockets du SCS) + 31 % `CenterBrow` (headtrack, estimé) ; ne cause pas les saccades (trames F5 seules ≤ 47 ms) ; saccades = SPAWN + `FlushAsyncLoading` (52 trames), fins de scène (13) ; décisions de l'utilisateur (2026-10-11) : F5 → **C0** (ordre téléportation / `ResetVars` dans `destroyDummy`), saccades → **mesurer d'abord en jeu** (protocole § 3.7, archive J5) ; SPEC C0 écrite (`STE-H4-C0-SPEC.md` : 0 nœud, 3 coupures, 3 liens) ; IMPL après la porte T11 d'U8 (Big Boss) ; mesure : 2e de la fenêtre « mesure », attendre « MACHINE CALME » | `STE-H4-DIAG.md` | | | | | |
| STE-VAL | VAL de lot : CompileAllBlueprints, LPTestStringCompat, dumps après / avant, relecture des CHG | a1 b1 c0 d0 e1 f1 = 4 → N1 | lp-validator | STE-GI, STE-TXT (+ H2/H3) | à écrire | `STE-VAL.md` | | | | | |
| STE-JEU | Archive Development (cuisson complète si OBB-T3 fait) + parcours utilisateur + `LogStats` | a1 b1 c0 d0 e1 f1 = 4 → N1 | lp-builder + utilisateur | STE-VAL | à écrire | `STE-JEU-VAL.md` | | | | | |
Décisions utilisateur (2026-10-10, questions de `STE-H3-SPEC.md` § 4) :
- Q1 : **A**, toutes les gardes G1 à G6 maintenant ; le défaut du cas B (variable `AI` absente pendant la rafale des routines
d'IA) est instruit à part (H5, lp-cart N3, fiche à ouvrir).
- Q2 : **G5 acceptée**, y compris la suppression de l'écriture `AI_Untils["0"]` et de la ligne « by 0 » quand `AI` est vide
(contrôle `LPDumpSave` avant / après, SPEC § 7.4).
- STE-H2 (question du DIAG) : **garde + instruire la cause** : garde G-H2 posée avec STE-H3, cause instruite par STE-H2b.
- Q3 : **oui, fiche à part ensuite** (STE-H3b) : sites d'appel get / set / modifyActorVar avec `Person[0]`, lectures `_30` et `_41`.
- C0 (`STE-H5b-SPEC.md` § 2.7) : **faire la contre-épreuve** : témoin sur B8B97C46 sans F-a, build `STE-H5b-C0`, session de
l'utilisateur, `Restore.ps1 -Lot STE-H5b`, puis IMPL H5b (2026-10-10).
- Q-H3c-2 (`STE-H3c-SPEC.md` § 4) : **seulement si un reste** : G12 seule ; C1 / C2 seulement si la VAL ou J4 montre encore
des `Person_24` (2026-10-10).
Fiches détaillées : `fiches\STE-D.md`, `fiches\STE-GI.md`, `fiches\STE-TXT.md`, `fiches\STE-H2.md`, `fiches\STE-H3.md`.
Arbitrage « Big Boss » (file de la copie UE, 2026-10-10) : une session à la fois sur la copie UE ; ordre après le commit de
STC : STF-T1, STF-T3, **STE-D**, STF-T4 (si l'utilisateur est disponible), **STE-GI puis STE-TXT** (entrée :
`git status --short -- Content/BPs/GI.uasset` vide), **STE-H2, STE-H3**, puis OBB-T1, OBB-T3. Un `BUILD-GO` par fiche
(`[STE→BOSS] BUILD-DEMANDE <fiche>` / `BUILD-FIN`). Journal : `etat\BOSS\BOSS-JOURNAL.md`. OBB n'est plus orchestré par
Lot 29 mais par la session « OBB » (BOSS-JOURNAL, 2026-10-10).