LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-COMMUN5-ANALYSE.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

11 KiB
Raw Blame History

Fiche STG-C5a — Niveau N3 — Modèle prévu claude-opus-5-5 | utilisé claude-opus-5-5

Analyse STG de l'essai COMMUN-5 (demande de Big Boss, 2026-10-14), en lecture seule, sans UE. Bilan : etat/BOSS/COMMUN-5-BILAN.md. Verdicts STG de l'utilisateur : H6 à H10, I1, I3 à I7 OK. Lot STG, registre STG-TACHES.md. Heures en UTC.

Source : D:\Game\LifePlay_Backup_5.5\COMMUN-5\essais\LifePlay_commun5_session1_BOSS.log (MD5 9c1ebcdc…, 75 384 lignes).

1. stuck and failed = 3 : des passants posés au bord, relevés par S-F5 (établi)

Heure Qui Position Composant, pénétration, normale Suite
22:25:08.7 …980 x -3131401,38 (bord), z -89,93 Box, 63,6, Z = +1 relevé par S-F5 à 22:25:11.9 (78,8 cm)
22:27:11.8 …980 x -3131677,30 (autre bord), z -96,34 Box, 70,0, Z = +1 relevé à 22:27:14.0 (73,8 cm)
22:35:01.9 …956 x -3131677,30, z -96,34 Box, 70,0, Z = +1 relevé à 22:35:23.9 (73,8 cm)
  • Ce sont les « stuck » dans Room.Box déjà expliqués en COMMUN-4 (STG-COMMUN4-ANALYSE.md § 2) : standIdle pose le centre de la capsule au point du navmesh au bord de la rue. La pénétration est exactement l'écart entre le dessus de la Box (-114,4) et le bas de la capsule (z − 88) : 63,6 et 70,0.
  • 0 n'était pas attendu de STG : S-F5 et S-F5j ne suppriment pas le placement, qui reste la cause (STG-POST2). Ils relèvent la personne après coup. Le moteur écrit « stuck » au premier pas tenté, avant le relevage.
  • Délai : 2 à 3 s pour …980. Pour …956, 22 s : il tente de marcher, et la garde « vitesse ≤ 1 cm/s » de S-F5 attend qu'il s'arrête. C'est voulu, pour ne pas déplacer un personnage en mouvement.

2. le joueur quitte = 9 : pas de boucle (établi)

Heures (une ligne chacune) : 22:06:02, 22:07:01, 22:16:05, 22:24:19, 22:24:42, 22:25:36, 22:33:39, 22:38:22, 22:38:38. Les 9 meubles sont distincts (_81, _8, _65, _181, _36, _0, _3, _5, _13), et chaque ligne suit une occupation (« play fnt »).

  • « meuble d'une piece quittee » : 2 (22:20:49 _125, 22:35:53 _13), une ligne chacun.

3. KO3c : Ignore 2, quitte 2, bloque 0 (établi, conforme)

Heure Ligne Suite
22:25:36.896 « joueur dans le volume de _0 (meuble quitte) », puis « quitte _0 » « sorti du volume de _0, Pawn rendu en Block » à 22:25:38.658 (1,8 s)
22:33:39.178 « … _3 (meuble quitte) », puis « quitte _3 » « sorti … _3 … » à 22:33:41.460 (2,3 s)
  • Chaque composant basculé est rendu en Block, une ligne chacun.
  • « (bloque) » = 0 : le déclencheur (2) n'a pas joué. Le joueur n'a jamais poussé sans avancer à l'intérieur d'un volume, et les murs longés n'ont rien déclenché, comme attendu.
  • Le cas du comptoir et du bureau (deux volumes, F8) n'a pas été rejoué dans cette session. Les deux cas vus n'avaient qu'un volume chacun.

4. releve de = 17 : aucun pendant la marche ni sous un menu (établi)

  • PNJ : 13 relevages. Bas de capsule de -134,9 à -184,3, soit 20,5 cm ou plus sous la Box : aucun faux positif.
  • Joueur : 4 relevages (S-F5j).
    • Pour chacun, la ligne WALK juste avant donne menus=[] forward=0.00 right=0.00 accel=0 :

      Heure Relevé de WALK avant
      22:19:09.8 68,4 22:19:07.9
      22:20:17.0 65,6 22:20:13.0
      22:34:01.4 56,2 22:33:58.4
      22:36:55.3 36,7 22:36:53.6
    • Chaque fois, le joueur venait d'être posé par standIdle (« idle played » 1,6 à 2,5 s avant) : 4 examens à 0,5 s, conforme.

    • Pendant la marche : à 22:19:09.8, la première « Marche : animation » est à 22:19:10.7, donc après le relevage. Aucun relevage n'a lieu entre deux lignes « Marche ».

    • Sous un menu : à 22:34:01.4, la scène dating_cooks n'est pas encore à l'écran. Le journal donne « timed out … pregnant_trap » à 22:34:01.16, puis l'apparition de la personne de la nouvelle scène à 22:34:01.81, après le relevage. Scene_C n'est vue qu'au relevé suivant (22:34:03.4). L'écart est de 0,4 s : c'est conforme, mais serré.

    • Après chaque relevage, le joueur est au sol (bas de capsule -103,0) et marche normalement.

5. CLOSE hors exception

Paire Relevés Contexte Classement
joueur / …884 60 (gap -40) NoCollision, sexOn = 1, SF_ft07 (pregnant_trap) exception Q-STG-5
joueur / …980 2 (gap -40) 22:03, house_viewing, …980 assis (fnt_chair06-f-0-sit), joueur sans meuble estimé, non établi : joueur posé par la scène près du point d'acteur du fauteuil (placement de scène) ; 2 relevés, à surveiller
…932 / …908 15 (gap -16,6), de 22:20:18 à 22:21:28 street ; les deux passants ont été posés au même bord (x -3131677,3 / -3131677,5, à 23,4 cm d'écart en y), enfoncés, puis relevés par S-F5 à 22:20:18.0 et 22:20:18.5, à la verticale, x et y gardés vrai chevauchement de passants debout, rendu visible par S-F5 (avant, il était sous le pavé). Cause : deux points de standIdle à moins de 40 cm sur le bord, la même que STG-POST2 (S-F2) et C-O1 / C-O3 (Room)
…932 / …908 3 (gap 6,0, 22:37) ; …980 / …956 2 (gap 7,8) street, debout, sans meuble sous 10 cm, sans recouvrement ; posés au bord, puis relevés
joueur / …932 5 (gap 8,1) joueur sans meuble, …932 en fnt_new038-f-1-look place d'un meuble à côté du joueur, sans recouvrement

Nouveau constat (B-CHEV) : S-F5 relève à la verticale. Deux passants posés trop près l'un de l'autre au bord restent l'un dans l'autre une fois relevés, jusqu'à leur prochain départ (70 s ici).

  • Correctif possible (S-F5k), environ 15 lignes : avant le relevage, si une autre personne visible est à moins de 50 cm en 2D, ne relever qu'une des deux et pousser l'autre de 50 cm dans l'axe du bord, par une descente balayée. Risque : un déplacement latéral visible.
  • Correctif de fond : les points de standIdle (STG-POST2) ou l'espacement dans Room (C-O1 / C-O3, Room = CAM). Après l'alpha.

6. Accessed None : 45 lignes, comparées à COMMUN-4

Famille (lignes) COMMUN-5 COMMUN-4 S1 COMMUN-4 S2 Lecture
K2Node_CustomEvent_Person (lecture) + affectation 22 + 11 0 4 + 4 F1 (STE, défaut d'origine, signature 2 lectures + 1 affectation) : 11 occurrences. Elle suit les entrées en rue avec des passants au travail (STG-COMMUN2-ANALYSE.md § e) ; nombreuses ici : 12 entrées en extérieur (« plancher Box epaissi »), F1 groupée à 22:19-22:24, pendant les visites de rue de 22:19:07 à 22:25:07
Per 4 0 4 STE (inchangé de S2)
CallFunc_getFirstDick_Person_1, CallFunc_GetSkeletalMesh_ReturnValue(_3) 1 + 2 1 + 2 — inchangé (STE)
CallFunc_Array_Get_Item_93 1 0 13 en baisse (STE)
GI dans CityMenu_C 1 0 0 nouvelle, 1 ligne : hors STG (UI, carte de la ville) ; à donner à STE ou à CAM

Aucune famille dans Person::moveToPersonStand autre que F1, ni dans les fonctions touchées par STG (Show, MoveToFnt, PlayFntAnim) : STG n'ajoute pas d'Accessed None. Le module C++ STG lit tout par réflexion avec contrôle de nullité ; il ne produit pas de message LogScript.

7. Façades traversables (C5-5) : variante avant l'alpha, estimation chiffrée

État : les façades de la street font partie du seul maillage fnt_ext001 (STG-SF5b-DIAG.md § 3). S-F4b le met en Pawn Ignore pour supprimer le volume piège. Les façades deviennent donc traversables.

Variante minimale avant l'alpha (rue seulement) :

Poste Détail
Assets 1 : Content/Heavy/New2/Furniture/fnt_ext001.uasset (508 Ko, 13 173 triangles), Collision Complexity = Use Complex Collision As Simple. Hors git (Content/Heavy) : instantané et copie de sécurité
MCP 1 fiche lp-mcp-bp sous UE-GO : charger l'asset, set_properties sur le BodySetup (CollisionTraceFlag), relire, sauvegarder ce seul asset. Environ 10 appels
C++ environ 5 lignes dans LPOutdoorRoomSubsystem::IgnoreOutdoorDecor (S-F4b) : ne pas basculer en Ignore un décor dont le BodySetup est déjà en CTF_UseComplexAsSimple. Les 6 autres extérieurs gardent S-F4b. VAL statique
Build 1 build de plus (COMMUN-6), avec le recuit de fnt_ext001 (vérifier qu'il est plus récent que sa source) et CheckPackage
Essai rue : façades solides ; marche le long des trottoirs, de la rambarde et des bordures ; passants au travail (accrochages) ; relevages S-F5 / S-F5j toujours justes ; images par seconde
Durée MCP + VAL environ 1 h ; build environ 10 min ; essai de 15 à 20 min

Risques (non mesurés, à établir à l'essai) :

  • accrochage de la capsule aux petits reliefs du pavé (marches, bordures, rambarde) : la marche peut buter là où elle passait ;
  • personnage posé sous le pavé (placements de bord, S-F2) : avec des triangles, la capsule n'est plus prisonnière d'un volume, mais elle peut buter sous la surface. S-F5 et S-F5j relèvent par une descente balayée depuis le dessus, ce qui doit rester valable, mais c'est à vérifier ;
  • données physiques complexes cuites : le paquet doit contenir le maillage de collision complexe pour la physique, et non seulement pour les traces. À vérifier au recuit et en jeu. S'il manque, les façades restent traversables, sans piège ;
  • dépendance : asset partagé par la seule street (fnt_ext001 n'apparaît que dans street___vin01.lpworld), donc aucun effet ailleurs.

Avis : la variante est faisable avant l'alpha pour la seule rue, au prix d'un build et d'une session d'essai de plus, avec un risque moyen (accrochages). Les 6 autres extérieurs (12 assets fnt_ext002 à 012) restent pour après l'alpha (STG-POST1). Décision à Big Boss ou à l'utilisateur.

8. Synthèse

Point Verdict
stuck = 3 passants posés au bord (S-F2), relevés en 2 à 22 s : attendu tant que STG-POST2 n'est pas fait
quitte = 9 pas de boucle
KO3c 2 basculés, 2 rendus, 0 « bloque » : conforme ; le cas à deux volumes n'a pas été rejoué
releve = 17 0 faux positif ; joueur : 4, jamais pendant la marche ni sous un menu (la marge la plus courte, 0,4 s, est à 22:34:01)
CLOSE 1 vrai chevauchement de passants (15 relevés), rendu visible par S-F5 : S-F5k possible, ou correctif de fond après l'alpha
Accessed None aucune famille STG ; F1 (STE) suit les entrées en rue ; 1 nouvelle ligne CityMenu_C.GI (hors STG)
Façades variante rue seule faisable avant l'alpha : 1 asset, 1 fiche MCP, environ 5 lignes de C++, 1 build et 1 essai ; risque moyen

9. Fichiers à commiter

Docs/Migration/etat/ST/STG/STG-COMMUN5-ANALYSE.md.