LifePlay-Revival/Docs/Migration/etat/ST/STA/STA-T1-INV.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

25 KiB
Raw Blame History

Fiche STA-T1 — Niveau N1 — Modèle prévu (modèle de l'agent lp-inventory) | utilisé claude-sonnet-5-5 — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths (sk-windows-shell non préchargé ; ses pièges lus dans la fiche : guillemets, -Command)

STA-T1-INV : signatures d'avertissement / erreur des journaux CIBLE (U8 Development) et REF (U6 session 2), regroupées par famille (2026-10-09)

Lecture seule : aucun journal, dépôt ni fichier de jeu modifié ; ni jeu, ni éditeur, ni commandlet ; aucun commit. git status --short (copie 5.8) : vide après les mesures. Fichiers écrits : ce livrable, STA-T1-familles.csv (produit par le script, § 1), et 3 scripts / sorties dans le scratchpad.

Journaux (inchangés depuis la lecture de U8-T5c) :

  • CIBLE = D:\Game\LifePlay_Build_5.8_Development_U8_essai\Windows\LifePlay\Saved\Logs\LifePlay.log, 52 550 lignes (nommé LifePlay.log ci-dessous).
  • REF = D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\U6\LifePlay_58_session2.log, 17 317 lignes (nommé session2.log).
  • Résumé de fin de session LogLifePlay: Display: <n> […] exclu de tous les comptes d'événements : CIBLE lignes 52462-52509 (48 lignes), REF lignes 17229-17276 (48 lignes) ; borne détectée par la ligne « bilan de session » puis les lignes LogLifePlay: Display: consécutives.

1. Commandes exactes

pwsh -NoProfile -Command "& './Tools/LogStats.ps1' -Compare 'D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\U6\LifePlay_58_session2.log','D:\Game\LifePlay_Build_5.8_Development_U8_essai\Windows\LifePlay\Saved\Logs\LifePlay.log'"      (depuis D:\Game\LifePlay-master 5.8 ; code de sortie 0)
python -I "<scratchpad>\sta_t1.py" "<scratchpad>" "D:/Game/LifePlay-master 5.5/Docs/Migration/etat/ST/STA/STA-T1-familles.csv"      (sortie complète : <scratchpad>\sta_t1_out.txt, 203 lignes)
python -I "<scratchpad>\explore.py"      (exploration des formes de message, avant sta_t1.py)
Grep output_mode count (recompte par une autre méthode, § 2.6)
Read de lignes précises pour les exemples (§ 2.6)
git status --short   (copie 5.8)

<scratchpad> = %USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-8\87a0d630-8082-4d24-9a2d-960932aa8255\scratchpad\ ; scripts : sta_t1.py (12 532 octets, 3e version : la 1re normalisait mal les nombres négatifs des lignes « Show couple », corrigé avant les chiffres de ce livrable), explore.py. Clé et famille : voir § Constats 0.

2. Comptes bruts

2.1 Sortie brute de LogStats.ps1 -Compare (A = REF, B = CIBLE ; codes couleur ANSI retirés)

Mesure                   A     B
Lignes               17317 52550
Personnages             18    15
ActeursDistincts         6     5
AccessedNone           364   223
AccessedNoneMaillage     1     0
NoneMaillageParPerso  0,06  0,00
NoSkeletalMesh        2723   871
IndexHorsBornes        734  3298
LoadTxtOK                0     0
LoadTxtEchec             2     1
LogClassError            0     0
FailedToLoad             0     0
Fatal                    0     0
Erreurs                  5     3
Avertissements        5015  8056
LogLifePlay            124   157
LogLPAnimMeasure         0     0
TraceModding            16    14
Fichiers enumeres (GetAllFilesFromFolder) qui different : aucun (0 enumerations identiques)

Identique ligne à ligne à U8-T5c § A (même sortie).

2.2 Totaux par catégorie (script sta_t1.py, événements hors résumé de fin de session)

Catégorie CIBLE REF Contrôle (autre méthode)
(a) Accessed None, toutes formes 256 390 Grep LogScript: Warning: Accessed None : 256 / 390
dont « trying to read (real) property » 220 357 + lignes du résumé 3 / 7 = 223 / 364 = LogStats AccessedNone
dont « reading structure » (DepthOfFieldFarBlurSize) 6 6
dont forme nue Accessed None (sans propriété) 30 27
+ lignes du résumé (toutes formes) 3 7 grep -c 'Accessed None' : 259 = 256 + 3 ; 397 = 390 + 7 (U8-T5c § A)
(b) Attempted to access index … from array 3 293 731 + lignes du résumé 5 / 3 = 3 298 / 734 = LogStats IndexHorsBornes ; Grep Attempted to access index : 3 298 / 734
dont forme directe (array X of length N!, avec ligne Function) 3 229 661
dont forme Script Msg: … array 'X' … in '<classe>' (sans ligne Function) 64 70
dont Floats_3 (GUID retiré) 2 591 18 Grep array Floats_3_ : 2 591 (CIBLE)
(c) lignes Error: 4 6 LogStats : Error: 3 / 5 ; motif large Error: (Grep U8-T5c) 4 / 6 ; 0 ligne Error: dans le résumé
(d) autres avertissements 4 507 3 894
dont lignes de continuation (Script call stack: 3 496 / 1 060 ; Script Msg called by: 65 / 72) 3 561 1 132 Grep LogScript: Warning: Script call stack: : 3 496 / 1 060
dont signatures propres 946 2 762
(e) Gamethread hitch 2 4 LogStats -Pattern U8-T5c § C : 2 / 4
Total des lignes : Warning: = (a)+(b)+(d) 256 + 3 293 + 4 507 = 8 056 390 + 731 + 3 894 = 5 015 LogStats Avertissements 8 056 / 5 015 (aucune ligne du résumé n'y est comptée) ; Grep [ts][n]X: Warning: : 8 056

2.3 Définitions d'« Accessed None » (reprise U8-T5c § G.1)

LogStats (« property ») : 223 / 364 = 220 / 357 événements + 3 / 7 lignes du résumé. Toutes formes : 259 / 397 = 256 / 390 événements + 3 / 7 lignes du résumé. Événements réels, toutes formes : 256 / 390.

2.4 Familles = Blueprint + fonction en tête de pile (types (a) et (b)), triées par compte CIBLE décroissant

Somme de la colonne « Total cible » = 3 549 = 256 + 3 293 ; « Total ref » = 1 121 = 390 + 731 (vérifié par le script et recalculé depuis le CSV, § 2.6).

# Famille A cible A ref B cible B ref Total cible Total ref
1 GI_C:getBeautyValue 0 0 2505 18 2505 18
2 GI_C:ExecuteUbergraph_GI 16 58 630 630 646 688
3 GI_C:clearVariable 72 94 0 0 72 94
4 Person_C:standIdle 56 40 0 0 56 40
5 GI_C:getRandomAge 0 0 56 0 56 0
6 GI_C:(Script Msg) 0 0 46 61 46 61
7 GI_C:determinePersonVars 30 34 0 0 30 34
8 MainMenu_C:Get_SpinBox_0_Value_0 30 30 0 0 30 30
9 GI_C:getRandomEthnicity 0 0 30 0 30 0
10 Person_C:ExecuteUbergraph_Person 27 31 0 0 27 31
11 Person_C:(Script Msg) 0 0 15 9 15 9
12 StreetMap_Static_C:SearchByAmenitySafe 10 15 0 0 10 15
13 StreetMap_Static_C:ExecuteUbergraph_StreetMap_Static 5 6 0 0 5 6
14 Room_C:pickPresetWorld 0 0 4 10 4 10
15 GI_C:clearScenePersons 4 8 0 0 4 8
16 Person_C:assignHome 0 0 4 3 4 3
17 SexInterface_C:(Script Msg) 0 0 3 0 3 0
18 GI_C:ReturnStatIfNeeded 2 2 0 0 2 2
19 MainMenu_C:ExecuteUbergraph_MainMenu 2 2 0 0 2 2
20 GI_C:isCreatureType 1 0 0 0 1 0
21 PC_C:ExecuteUbergraph_PC 1 0 0 0 1 0
22 Person_C:UpdateDailyPose 0 63 0 0 0 63
23 CharGen_C:ExecuteUbergraph_CharGen 0 3 0 0 0 3
24 StreetMap_Static_C:findNearbyBuilding 0 2 0 0 0 2
25 CharGen_C:PopulateGenitalSlidersDaz 0 1 0 0 0 1
26 CityMenu_C:ExecuteUbergraph_CityMenu 0 1 0 0 0 1
Total (26 familles, 47 clés) 256 390 3293 731 3549 1121

2.5 Clés par famille (T = type ; exemple = première ligne, fichier:ligne, CIBLE si compte CIBLE > 0 sinon REF). Détail machine : STA-T1-familles.csv (47 lignes, colonnes famille;type;cle;cible;ref;exemple, séparateur ;, UTF-8 avec BOM).

Famille T Clé Cible Ref Exemple
GI_C:getBeautyValue B Floats_3 2505 18 LifePlay.log:8183
GI_C:ExecuteUbergraph_GI A Interacting in GI_C 7 24 LifePlay.log:7652
A TintUI in GI_C 5 17 LifePlay.log:49418
A Companion in GI_C 2 4 LifePlay.log:49404
A CallFunc_K2_GetRootComponent_ReturnValue_1 in not an UClass 1 6 LifePlay.log:7797
A CallFunc_Array_Get_Item_53 in not an UClass 1 2 LifePlay.log:7382
A CallFunc_K2_GetRootComponent_ReturnValue_2 in not an UClass 0 5 session2.log:7635
B CallFunc_ParseIntoArray_ReturnValue_3 570 570 LifePlay.log:1021
B CallFunc_ParseIntoArray_ReturnValue_29 40 40 LifePlay.log:6243
B CallFunc_ParseIntoArray_ReturnValue_28 20 20 LifePlay.log:6923
GI_C:clearVariable A CallFunc_Array_Get_Item in not an UClass 72 94 LifePlay.log:38012
Person_C:standIdle A Near in not an UClass 42 30 LifePlay.log:7511
A (sans propriete) 14 10 LifePlay.log:7542
GI_C:getRandomAge B Floats_3 56 0 LifePlay.log:8071
GI_C:(Script Msg) B Person_24 in Variable 39 59 LifePlay.log:38010
B Texture2dArray_3 in Te2dArray 6 0 LifePlay.log:51230
B WidgetComponents in MapMarkers_C 1 2 LifePlay.log:7380
GI_C:determinePersonVars A currentMatchRace in GI_C 30 34 LifePlay.log:8041
MainMenu_C:Get_SpinBox_0_Value_0 A (sans propriete) 12 12 LifePlay.log:917
A CallFunc_Array_Get_Item in not an UClass 6 6 LifePlay.log:923
A GI in MainMenu_C 6 6 LifePlay.log:911
A structure DepthOfFieldFarBlurSize 6 6 LifePlay.log:935
GI_C:getRandomEthnicity B Floats_3 30 0 LifePlay.log:19709
Person_C:ExecuteUbergraph_Person A HeadtrackStatic in Person_C 11 10 LifePlay.log:7980
A OccupyingFnt in Person_C 10 17 LifePlay.log:7637
A (sans propriete) 3 2 LifePlay.log:37738
A HeadtrackTarget in Person_C 3 2 LifePlay.log:37731
Person_C:(Script Msg) B Standspots_Occupied in Room_C 15 9 LifePlay.log:7635
StreetMap_Static_C:SearchByAmenitySafe A CurrentCityExpansion in GI_C 9 14 LifePlay.log:7898
A (sans propriete) 1 1 LifePlay.log:51388
StreetMap_Static_C:ExecuteUbergraph_StreetMap_Static A BGA in StreetMap_Static_C 5 6 LifePlay.log:7446
Room_C:pickPresetWorld B BuildingPoints 4 10 LifePlay.log:7465
GI_C:clearScenePersons A Companion in GI_C 2 4 LifePlay.log:49664
A Interacting in GI_C 2 4 LifePlay.log:49674
Person_C:assignHome B FamilyLiveWiths 2 2 LifePlay.log:51402
B CallFunc_SearchByAmenitySafe_Buildings 2 1 LifePlay.log:51429
SexInterface_C:(Script Msg) B SexPersons in GI_C 3 0 LifePlay.log:51235
GI_C:ReturnStatIfNeeded A Person in not an UClass 2 2 LifePlay.log:37958
MainMenu_C:ExecuteUbergraph_MainMenu A GI in MainMenu_C 2 2 LifePlay.log:1001
GI_C:isCreatureType A Actor in not an UClass 1 0 LifePlay.log:49114
PC_C:ExecuteUbergraph_PC A CallFunc_getFirstDick_Person_1 in not an UClass 1 0 LifePlay.log:51243
Person_C:UpdateDailyPose A ContactMenu in GI_C 0 63 session2.log:8118
CharGen_C:ExecuteUbergraph_CharGen A (sans propriete) 0 2 session2.log:7522
A GI in CharGen_C 0 1 session2.log:7515
StreetMap_Static_C:findNearbyBuilding A CurrentCityExpansion in GI_C 0 2 session2.log:13900
CharGen_C:PopulateGenitalSlidersDaz A CallFunc_GetSkeletalMesh_ReturnValue in not an UClass 0 1 session2.log:7536
CityMenu_C:ExecuteUbergraph_CityMenu A GI in CityMenu_C 0 1 session2.log:7910

2.6 (c) Lignes Error: (signature sans horodatage ni identifiants)

Signature Cible Ref Exemple
InputMode:UIOnly - Attempting to focus Non-Focusable widget SObjectWidget [Widget.cpp(#)]! (LogPlayerController) 3 5 LifePlay.log:1015 (autres : 51359, 52083)
r.MorphTarget.Mode is read only! (sans catégorie de journal) 1 1 LifePlay.log:7378
Total 4 6 LogStats : Error: 3 / 5 (la 2e signature n'a pas la forme : Error: )
Aucune signature nouvelle côté CIBLE ; Fatal 0 / 0 (LogStats).

2.7 (d) Avertissements hors (a)(b) : 27 signatures distinctes en tout (< 30, donc la liste est complète)

Nombres remplacés par #, identifiants d'instance _2147… et GUID retirés ; les 5 signatures GetSocketInfoByName(<os>): No SkeletalMesh for Component(CharacterMesh#) Actor(Person_C /Game/Scenes/CentralLondon.CentralLondon:PersistentLevel.Person_C) sont abrégées en […] ci-dessous.

# Signature Cible Ref Exemple
1 LogScript: Script call stack: (ligne de continuation de chaque événement (a)(b)(d) avec pile) 3496 1060 LifePlay.log:914
2 LogSkinnedMeshComp: GetSocketInfoByName(CenterBrow): No SkeletalMesh […] 376 273 LifePlay.log:49684
3 LogSkinnedMeshComp: GetSocketInfoByName(Head): No SkeletalMesh […] 196 978 LifePlay.log:38196
4 LogSkinnedMeshComp: GetSocketInfoByName(chestUpper): No SkeletalMesh […] 98 489 LifePlay.log:38199
5 LogSkinnedMeshComp: GetSocketInfoByName(hip): No SkeletalMesh […] 98 489 LifePlay.log:38200
6 LogSkinnedMeshComp: GetSocketInfoByName(pelvis): No SkeletalMesh […] 98 489 LifePlay.log:38198
7 LogLifePlay: Meubles assis ou couches : # ouverts au passage 53 24 LifePlay.log:8003
8 LogScript: Script Msg called by: GI_C (continuation des (b) Script Msg) 46 61 LifePlay.log:7381
9 LogScript: Script Msg called by: Person_C (continuation) 15 9 LifePlay.log:7636
10 LogScript: Attempted to access NODE_AddStaticMeshComponent#_# via property OccupyingFnt, but … is not valid (pending kill or garbage) 9 2 LifePlay.log:50980
11 LogLifePlay: Show couple : boite pose centre X=# Y=# Z=# etendue X=# Y=# Z=# 6 0 LifePlay.log:51234
12 LogScript: Script Msg called by: SexInterface_C (continuation) 3 0 LifePlay.log:51236
13 LogUObjectGlobals: Gamethread hitch waiting for resource cleanup on a UObject (WidgetComponent …MapMarkers_C.LPFocusWidgetComponent) overwrite took #ms. Fix the higher level code… 2 4 LifePlay.log:7972
14 LogScript: Attempted to assign to None 2 3 LifePlay.log:1008
15 LogCrowdFollowing: Unable to find RecastNavMesh instance while trying to create UCrowdManager instance 1 1 LifePlay.log:52461
16 LogLifePlay: Clavier : …/LPKeyboard.ini illisible, les touches du jeu sont gardees 1 1 LifePlay.log:863
17 `LogModdingExtra: LoadTxt ECHEC 'Modules/ModLauncher.config' introuvable ou illisible` 1 1
18 LogScript: Script Msg called by: SexAction_C (continuation) 1 1 LifePlay.log:7412
19 LogScript: Script Msg: Divide by zero: Divide_DoubleDouble 1 1 LifePlay.log:7411
20 LogSpawn: SpawnActor failed because no class was specified 1 1 LifePlay.log:908
21 LogLifePlay: Show couple : Pawn chambre Block=# Overlap=# Ignore->Block=# Room_C_#/NODE_AddStaticMeshComponent#_#, … 1 0 LifePlay.log:51233
22 LogLifePlay: Show couple : ancien chemin 1 0 LifePlay.log:51369
23 LogLifePlay: Show couple : branche (PlayerCharacter + Person_C) 1 0 LifePlay.log:51232
24 LogScript: Attempted to access AudioComponent via property BGA, but AudioComponent is not valid (pending kill or garbage) 0 4 session2.log:8942
25 `LogModdingExtra: LoadTxt ECHEC 'Saves/_session/Characters/OldPlayer.lpcharacter' introuvable ou illisible` 0 1
26 LogScript: Script Msg called by: Room_C (continuation) 0 1 session2.log:7478
27 LogScript: Script Msg: Divide by zero: Divide_Vector#DVector#D 0 1 session2.log:7477
Total 4507 3894 continuation 3 561 / 1 132 ; signatures propres 946 / 2 762

2.8 (e) Gamethread hitch (tous sur MapMarkers_C…LPFocusWidgetComponent, instances MapMarkers_C_2147… ; CIBLE une seule instance 2147481658)

Journal Ligne Durée
CIBLE LifePlay.log:7972 1,77 ms
CIBLE LifePlay.log:51241 11,66 ms
REF session2.log:7736 3,45 ms
REF session2.log:8321 6,07 ms
REF session2.log:9687 3,14 ms
REF session2.log:14480 3,43 ms
Totaux : CIBLE 2 hitchs, 13,43 ms, max 11,66 ms ; REF 4 hitchs, 16,09 ms, max 6,07 ms (= U8-T5c § C).

2.9 Recompte par une autre méthode (sk-recount)

Élément Script Autre méthode Verdict
(b) lignes Attempted to access index 3 293 + 5 résumé = 3 298 / 731 + 3 = 734 Grep count : 3 298 / 734 confirmé
(a) événements LogScript: Warning: Accessed None 256 / 390 Grep count : 256 / 390 confirmé
Floats_3 2 591 Grep count array Floats_3_ : 2 591 confirmé
Script call stack: 3 496 / 1 060 Grep count : 3 496 / 1 060 confirmé
Lignes : Warning: 8 056 Grep count : 8 056 confirmé
Lignes No SkeletalMesh du résumé REF (pour 2 723) 5 Grep count LogLifePlay: Display:.*No SkeletalMesh : 5 ; 978 + 3 × 489 + 273 = 2 718, + 5 = 2 723 confirmé
Lignes Show couple CIBLE 9 (6 + 1 + 1 + 1) Grep count : 9 confirmé
Sommes du CSV recalculées en Python depuis le fichier relu 47 lignes ; cible 3 549 (A 256, B 3 293) ; ref 1 121 (A 390, B 731) = § 2.4 confirmé
Exemples relus (Read) LifePlay.log:38012 (clearVariable), session2.log:8118 (UpdateDailyPose), LifePlay.log:51230-51235 (Te2dArray, SexPersons) conformes aux clés confirmé

3. Écarts au compte attendu de la fiche

Attendu (critère rubrique 8 / U8-T5c) Obtenu Écart
Accessed None 223 / 364 (LogStats) 223 / 364 = 220 + 3 / 357 + 7 aucun ; 3 / 7 = lignes du résumé, exclues des événements
index hors bornes 3298 / 734 3 298 / 734 = 3 293 + 5 / 731 + 3 aucun ; 5 / 3 = lignes du résumé
erreurs 3 / 5 3 / 5 (: Error: ) ; 4 / 6 (motif large) aucun ; la 4e / 6e ligne est Error: r.MorphTarget.Mode is read only! (sans catégorie)
sommes par famille = totaux de catégorie A 256 / 390 ; B 3 293 / 731 ; total 3 549 / 1 121 aucun, vérifié par le script et par relecture du CSV
(hors critère) Avertissements LogStats 8 056 / 5 015 A + B + D = 8 056 / 5 015 aucun
U8-T5c § D (par propriété, CIBLE / REF) mes sommes par propriété + résumé : CallFunc_Array_Get_Item 78 + 1 = 79 / 100 + 1 = 101 ; Near 42 + 1 = 43 / 30 + 1 = 31 ; currentMatchRace 30 + 1 / 34 + 1 ; Interacting 9 / 28 + 1 = 29 ; ContactMenu 0 / 63 + 2 = 65 cohérent avec le tableau D (écarts = lignes du résumé, un par propriété concernée)

Écarts de méthode à la fiche (voir aussi § Constats 0) :

  1. « Fonction en tête de pile » pour les 64 / 70 événements Script Msg: Attempted to access index : ces événements n'ont pas de ligne Function ; la famille a été construite avec la classe de la ligne suivante Script Msg called by: <Classe> et le pseudo-nom (Script Msg). Convention de ce livrable, non prévue par la fiche.
  2. Les scripts ont été écrits dans le scratchpad avec Write (la fiche l'exige, sk-protocol § 7 limite pourtant Write au livrable) ; le CSV est écrit par le script lui-même, pas par un second Write ; le livrable .md est le seul Write destiné à etat/.
  3. STA-T3-DOC.md est apparu dans le même dossier pendant la mesure (créé par une autre fiche, 19:24) : non lu, non touché.

4. Établi / estimé / incertain

Établi (sortie de commande ou lecture, § 2) : tous les comptes des § 2.1 à 2.8, les recoupements de § 2.9, les bornes du résumé de fin de session, les exemples relus. Estimé :

  • Les familles ExecuteUbergraph_* sont des fourre-tout : la ligne Function sous l'avertissement est le graphe d'événements (ExecuteUbergraph_GI, _Person, _MainMenu, _PC, _StreetMap_Static, _CharGen, _CityMenu), pas la fonction métier ; la vraie fonction appelante est dans la pile (lignes Function après Script call stack:), non exploitée ici (graphe d'appels : escalade, sk-protocol § 6).
  • La rafale Floats_3 (2 591 contre 18) est confinée à trois fonctions : getBeautyValue 2 505, getRandomAge 56, getRandomEthnicity 30 (compte direct, établi) ; sa cause reste hors périmètre (U8-T5c § 6 case 2).
  • Les 630 index CallFunc_ParseIntoArray_ReturnValue_* sont identiques des deux côtés (570 + 40 + 20), donc constants au démarrage (même séquence, estimé), sans lien avec le parcours. Incertain :
  • Aucune comparaison entre deux parcours identiques n'existe (CIBLE : scène de couple, sans LoadCity ; REF : l'inverse, U8-T5c § 6 case 3) : les différences de comptes par famille sont indicatives. Essai qui trancherait : un second parcours CIBLE et un parcours REF-like, comptés avec sta_t1.py.
  • Non vérifié : stabilité de la rafale Floats_3 d'un lancement à l'autre.

Constats

0. Définitions (reprises de U8-T5c, précisées)

  • Événement (a) : ligne LogScript: Warning: Accessed None… hors résumé ; formes : trying to read (real) property P in <classe /Game/… ou « not an UClass »>, reading structure S, forme nue. Clé = propriété in propriétaire (propriétaire = classe après le dernier . du chemin /Game/…).
  • Événement (b) : ligne Attempted to access index … from array … hors résumé ; forme directe (clé = tableau sans GUID _[0-9A-F]{32}, famille = Function sous l'avertissement) et forme Script Msg: … array '<tableau>' … in '<classe>' (clé = tableau in classe, famille = classe de Script Msg called by: + (Script Msg)). Le suffixe numérique de variable (_3, _28, _29) est conservé.
  • Famille = classe:fonction de la 1re ligne Function /Game/… sous l'avertissement (suffixe :64X retiré). Types (a) et (b) additionnés dans le tableau 2.4, séparés par la colonne T dans le CSV.

1. Lecture pour le diagnostic (compte CIBLE décroissant)

  1. GI_C:getBeautyValue : 2 505 événements, 76 % des 3 293 (b) et 31 % de tous les avertissements CIBLE ; avec getRandomAge (56) et getRandomEthnicity (30), la rafale Floats_3 vaut 2 591 ; REF 18, tous dans getBeautyValue (famille 1). Ce sont les familles 1, 5 et 9.
  2. GI_C:ExecuteUbergraph_GI : 646 (CIBLE) contre 688 (REF) ; 630 sont constants (ParseIntoArray, 570 + 40 + 20), le reste est (a) : 16 contre 58 (Interacting 7 / 24, TintUI 5 / 17, Companion 2 / 4, GetRootComponent_ReturnValue_* 1 / 11, Array_Get_Item_53 1 / 2).
  3. GI_C:clearVariable : 72 (CIBLE) contre 94, une seule clé (CallFunc_Array_Get_Item), à 100 % du côté (a) ; plus gros poste (a) isolé.
  4. Person_C:standIdle : 56 contre 40, hausse nette de +16 (Near 42 / 30, nue 14 / 10) ; hausse seule des familles (a) présentes des deux côtés avec ExecuteUbergraph_Person (HeadtrackStatic 11 / 10, HeadtrackTarget 3 / 2) ; parcours différent (estimé, U8-T5c § 6 case 3).
  5. Constants (même compte des deux côtés, aucune action liée au correctif) : MainMenu_C:Get_SpinBox_0_Value_0 30 / 30 (4 clés), GI_C:ReturnStatIfNeeded 2 / 2, MainMenu_C:ExecuteUbergraph_MainMenu 2 / 2, FamilyLiveWiths 2 / 2.
  6. Nouveaux côté CIBLE (absents de REF) : GI_C:getRandomAge 56, GI_C:getRandomEthnicity 30, Texture2dArray_3 in Te2dArray 6 et SexPersons in GI_C 3 (scène de couple, 9 lignes Show couple), GI_C:isCreatureType / Actor 1, PC_C:ExecuteUbergraph_PC / CallFunc_getFirstDick_Person_1 1. Aucune erreur nouvelle.
  7. Disparus côté CIBLE : Person_C:UpdateDailyPose / ContactMenu 63 (objet du correctif, 0 événement), CharGen_C:* 4, CityMenu_C:ExecuteUbergraph_CityMenu 1, StreetMap_Static_C:findNearbyBuilding 2, BGA/AudioComponent 4 (voir 2.7 n° 24), OldPlayer 1 : chemins non joués (ville, création de personnage), estimé comme U8-T5c § F.
  8. Baisses sans lien avec le correctif : StreetMap_Static_C:SearchByAmenitySafe 10 / 15, ExecuteUbergraph_StreetMap_Static 5 / 6, Room_C:pickPresetWorld 4 / 10, GI_C:clearScenePersons 4 / 8, OccupyingFnt 10 / 17.
  9. NoSkeletalMesh (d) : CIBLE 866 événements (+ 5 du résumé = 871), REF 2 718 (+ 5 = 2 723) ; la baisse porte sur Head (196 / 978), pelvis, hip, chestUpper (98 / 489 chacun) ; CenterBrow monte (376 / 273) : parcours (estimé).

2. Points à donner à l'orchestrateur

  • Pour STA-T2 et suivantes : les familles à priorité de correction par volume sont 1 (rafale), 3 (clearVariable), 4 (standIdle) puis le fond constant ExecuteUbergraph_GI / MainMenu_C ; la fonction réelle derrière les familles ExecuteUbergraph_* demande une lecture de pile (escalade).
  • Les scripts sta_t1.py / explore.py ne sont pas conservés au projet ; à ranger dans Saved/STA/ ou Tools/ si l'orchestrateur les veut (sk-protocol § 7 : « script à usage répété »).

Fichiers écrits : D:\Game\LifePlay-master 5.5\Docs\Migration\etat\ST\STA\STA-T1-INV.md (ce livrable), D:\Game\LifePlay-master 5.5\Docs\Migration\etat\ST\STA\STA-T1-familles.csv (produit par sta_t1.py).