LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-COMMUN2-ANALYSE.md

76 lines
5.5 KiB
Markdown
Raw Normal View History

# Fiche STG-C2a — Niveau N3 — Modèle prévu claude-opus-5-5 | utilisé claude-opus-5-5
Analyse STG de l'essai COMMUN-2 (demande de Big Boss, 2026-10-13 : points a-d), lecture seule, sans copie UE. Source :
`D:\Game\LifePlay_Backup_5.5\COMMUN-2\essais\LifePlay_commun2_definitif_BOSS.log` (MD5 `3f2355f4…`, 85 697 lignes, 502 relevés
M1). Verdicts de l'utilisateur rapportés par Big Boss : B1, B2, B7 KO ; B8 OK ; autres non signalés. Lot STG, registre
`STG-TACHES.md`.
## (a) B7 — voir `STG-C5-CART.md` § 4
Partenaire posée par `show()` sur les coordonnées exactes du joueur (0,1 cm près), en dialogue ; correctif B7-a (GI).
## (b) `Accessed None K2Node_CustomEvent_Person` après G-B1a (établi)
- 20 lectures + 10 affectations, même pile (`Room` → `PlayIdle` → `PlayWorkDaily` → `PlayDaily` → `moveToPersonStand`),
acteurs `…980` (18), `…932` (6), `…956` (3), `…908` (3) ; regroupés par seconde : 5 × 3 lignes, 1 × 6, 1 × 9, 1 × 2
(lignes de pile mêlées).
- Soit **10 occurrences de 2 lectures + 1 affectation** : la signature **d'avant B1** (F1 de `etat/ST/STE/STE-H3f-DIAG.md`,
défaut d'origine présent en 5.5 DC4), et non 3 + 1 (signature avec B1, E-B1-1).
- Conclusion : **G-B1a a rempli son rôle** (la lecture ajoutée par B1 a disparu) ; les 20 restantes sont F1, défaut d'origine
hors STG (STE, décision de l'utilisateur sur F1). Rien à corriger côté STG.
## (c) Classement des `CLOSE` (206 lignes)
| Paire | Lignes | Contexte | Classement |
|---|---|---|---|
| Joueur / `…1884` | 48 | 41 en intérieur, `NoCollision`, animations de couple (`MF_kol07`, `MF_sp02/04`) ; **7 en street**, dialogue `pregnant_trap`, `QueryAndPhysics`, z -99 | 41 : exception Q-STG-5 ; **7 : B7** (`show`) aggravé par le piège `fnt_ext` |
| Joueur / `…1860` | 40 + 1 | intérieur, `sr_fso_door_dare3_friend_cms`, `NoCollision`, animations de couple (`MF_layBJ10`, `FM_layFD210`, `MF_Na208`, `MF_sp14`, `MF_fp02`) | exception Q-STG-5 |
| `…980` / `…908` | 41 | extérieur (échelle Z 0,01), même meuble `…0_294` (`fnt_new053`), places **m-0 et f-1** | **pas un chevauchement** : deux places d'un même siège partagent le point d'acteur (§ 7 de `STG-M1-ANALYSE.md`) |
| `…956` / `…932` | 39 | idem, meuble `…0_291`, places f-1 et m-0 | idem, pas un chevauchement |
| `…980` / `…956` (gap 7) | 32 | street, `work_hourly` puis `pregnant_trap`, `QueryAndPhysics`, **z -99, sans plancher** | **piège `fnt_ext`** (posés côte à côte puis coincés) → S-F4b |
| `…980/956`, `…956/908` | 2 + 2 | street, `head_outdoor`, meuble `fnt_ext009`, places f-3 / m-2 / f-0 | pas un chevauchement (places distinctes) |
| Joueur / `…980` | 1 | street, `sr_fso_cutedate`, joueur `NoCollision` sur `fnt_chair01` | ponctuel, scène ; à revoir après S-F4b |
Vrais chevauchements hors exception : **B7** (7 relevés) et **piège `fnt_ext`** (32 + 1). M1 compte aussi les places
multiples d'un siège comme `CLOSE` : à corriger dans l'outil (comparer `occupyingFnt` et la place de l'animation) pour la
prochaine mesure.
## (d) B11 / K8-a (établi)
502 relevés, **1 256** relevés de personnages assis (`occupyingFnt` renseigné, visibles) : **0** place partagée (même
meuble, même numéro de place dans `currentAnimation`). Places multiples bien distinctes (`fnt_new053` m-0 / f-1,
`fnt_ext009` f-0 / m-2 / f-3). K8-a tient dans cet essai.
## (e) F1 plus fréquente qu'en J6 : B1 / G-B1a / K8-a ou la rue ? (estimé, demande de Big Boss)
Question de STE : 30 lignes F1 en COMMUN-2 (0,087 par SPAWN) contre 3 en J6 (0,048).
- **Par le graphe, STG n'ajoute aucun appel** (établi, `STG-B1-IMPL.md`, `STG-B2P-IMPL.md`) :
- B1 insère ses nœuds après `unOccupyFnt`, à l'intérieur de `moveToPersonStand` ; G-B1a garde seulement la lecture
ajoutée par B1 (retour à 2 lectures + 1 affectation par appel, § b) ;
- K8-a ne touche que `MoveToFnt` et `PlayFntAnim` ;
- aucun des trois ne modifie les appelants (`Room` → `PlayIdle` → `PlayWorkDaily` → `PlayDaily` → `moveToPersonStand`),
ni le nombre de lectures par appel.
- **Par le journal, la cause est le parcours** : les 20 lignes horodatées tombent toutes entre 16:48:04 et 16:58:30. Elles
sont groupées autour des entrées dans la street (16:48:03, 16:55:07, 16:58:29), et les quatre acteurs sont les PNJ de la
street en `work_hourly` (`…980`, `…932`, `…956`, `…908`), dont deux sont pris dans le piège `fnt_ext` (§ c).
Commandes :
- `grep -n K2Node_CustomEvent_Person` (horodatages) ;
- `grep -n "plancher Box epaissi"` (entrées en street).
F1 suit le nombre de `PlayIdle` de Room avec des PNJ au travail. Il dépend donc du lieu, de la durée et des
changements de pièce, et pas du nombre de SPAWN : le rapport par SPAWN ne compare pas les deux essais.
- **Avis** : la hausse vient de la rue (PNJ au travail, relancés à chaque entrée, piège `fnt_ext`), pas de B1, G-B1a ni K8-a.
- **Contrôle** : dans COMMUN-3 (avec S-F4b), compter F1 par entrée en street ; même signature 2 + 1 attendue, en nombre
comparable par entrée.
## Synthèse pour COMMUN-3
- B1 / B2 (enfoncés, immobiles en street) : S-F4b + M1c (écrits, PASS-STATIC).
- B7 : B7-a dans `GI::Show` (GI ; STE ou de concert, décision de Big Boss).
- B11 : rien à faire. E-B1-1 : rien à faire. F1 : STE.
- Outil M1 : exclure de `CLOSE` deux personnages sur deux places distinctes d'un même meuble (≈ 6 lignes dans `LPDebugSubsystem`,
optionnel).
## Fichiers à commiter
`Docs/Migration/etat/ST/STG/STG-COMMUN2-ANALYSE.md`, `STG-C5-CART.md`.