11 KiB
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.Boxdéjà expliqués en COMMUN-4 (STG-COMMUN4-ANALYSE.md§ 2) :standIdlepose 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 laBox(-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_cooksn'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_Cn'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_ext001n'apparaît que dansstreet___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.