LifePlay-Revival/Docs/Migration/etat/CAM/CAM-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

104 lines
31 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.

# CAM-TACHES : registre des fiches (CAM, ouvert le 2026-10-11)
Lot CAM (session « Camera », copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`, HEAD de départ `4283c13`).
Demande de l'utilisateur (2026-10-11) : audit des caméras (dénombrer, configuration, surnuméraires), puis réduction et
repositionnement vers C1 (1re personne), C2 (3e personne à 1,75 m, regard vers le MC, suit ses déplacements), C3
(plafond, centre de la salle, < 3 m au-dessus du MC), caméras de rue en enfilade.
Phase 1 = lecture seule (aucune écriture dans `Content/`, aucun éditeur, MCP, commandlet ni build sans BUILD-GO de Big Boss).
| Fiche | Objectif (un résultat) | Note → Nx | Agent (modèle) | Dépend de | Statut | Livrable | CHG | Tours | Pic | Jetons | Durée |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CAM-T1 | inventaire chiffré des sources caméra (uasset par chaîne, niveaux, acteurs externes, Config, C++, Modules) | a2 b0 c1 d0 e1 f0 = 4 → N1 | lp-inventory (sonnet ; utilisé claude-sonnet-5-5) | — | acceptée (réserve : « 11 sur 21 » au § 2 A, 12 selon la liste) | `CAM-T1-INV.md` | — | | | | |
| CAM-T2 | cartographie des graphes BP caméra depuis les dumps existants (GI, Room, PC, Pawn, Person…) : qui active quelle caméra, quand | a2 b2 c1 d0 e1 f1 = 7 → N3 | lp-cart (opus ; utilisé claude-opus-5-5) | — | acceptée | `CAM-T2-CART.md` | — | | | | |
| CAM-T3 | cartographie C++ (`Source/`) et configuration (ini, Settings) des caméras | a1 b2 c1 d0 e1 f1 = 6 → N3 (N2 + 1 : chaîne d'appels C++ ↔ BP) | lp-cart (opus ; utilisé claude-opus-5-5) | — | acceptée | `CAM-T3-CART.md` | — | | | | |
| CAM-AUDIT | synthèse chiffrée (orchestrateur) | — | orchestrateur | T1-T3 | écrite | `CAM-AUDIT.md` | — | | | | |
| CAM-CIBLE | écart à la cible, plan et questions (orchestrateur) | — | orchestrateur | AUDIT | écrite, questions Q1-Q10 à l'utilisateur | `CAM-CIBLE.md` | — | | | | |
| CAM-T4 | phase 1b : 11 commandlets en lecture seule (réglages CDO, graphes Birdview, ContactMenu, Person) | a1 b0 c1 d1 e1 f0 = 4 → N1 | lp-builder (utilisé claude-haiku-5-5) | Q10 + BUILD-GO | tentative 1 arrêtée avant lancement (cause : consigne, règle de processus trop large) ; fiche corrigée, même agent repris → acceptée : 11/11 code 0, MD5 7/7 identiques (recontrôlés), BUILD-FIN envoyé ; écart : résumé du 1er commandlet écrit dans `etat\Docs\Migration\etat\CAM\` (EtatDir relatif), déplacé par l'orchestrateur dans `etat\CAM\` | `CAM-T4-BUILD.md` | — | | | | |
| CAM-T5 | SPEC exécutable de la phase 2 (voie B, sous-lots commitables, liste des fonctions GI touchées) | a2 b2 c1 d1 e1 f2 = 9 → N3 (N4 − 1 : décisions déjà prises par l'utilisateur) | opus-xhigh (utilisé claude-opus-5-5) | T4 + § 4b | acceptée (références de nœuds contrôlées : GI:23596-23600, 14505-14513, 24030 ; ROOM:4435-4439) ; Q1-Q20 soumises à l'utilisateur | `CAM-SPEC.md` | — | | | | |
| CAM-T5b | amendement de la SPEC : Q4 = poursuite lissée et évitement des murs (B2, B0, (e), (g)) ; Q1-Q3, Q5-Q20 retenues | — (reprise du même agent) | opus-xhigh | réponses « q4 lissage et évitement, le reste oui » | acceptée (preuves R12 contrôlées : CM:5321-5340 SelectInt 2/1 selon isCreature, PERS:13468-13472 execute vide, BV:174-179 SpaceOn) ; copie UE ≈ 6 h 20 ; GI inchangé | `CAM-SPEC.md` (amendé) | — | | | | |
| CAM-T6 | redump `-Pins -Exec` de Birdview, ContactMenu, Person.EventGraph (3 commandlets en lecture seule) | a1 b0 c0 d1 e1 f0 = 3 → N1 | lp-builder | accord utilisateur + BUILD-GO | BUILD-GO reçu → acceptée : 3/3 code 0, liens présents, MD5 3/3 identiques (recontrôlés), BUILD-FIN envoyé ; HEAD passé à `c01b543` (commit U8, Docs seulement) pendant la fiche | `CAM-T6-BUILD.md` | — | | | | |
| CAM-B0 | sonde MCP des capacités R1/R2 (2 BP jetables, aucun fichier suivi) | — (SPEC § (a)) | session CAM (claude-opus-5-5), appels MCP directs | BUILD-GO | **faite** (2026-10-13) : 26 capacités, 24 « fait », 1 échec avec remplacement (`K2_ClearTimerDelegate` → handle), 2 voies trouvées (`Classe\|<BP>\|…` pour les membres d'un autre BP) ; 0 refus du mode auto ; sondes déplacées vers `Backup_5.5\CAM\B0\` (MD5 identiques), `Content\Dev` absent ; GI/Person/TopRight/Room/PC inchangés ; SPEC à amender avant B1 (§ 3 de l'IMPL) ; BUILD-FIN envoyé | `CAM-B0-IMPL.md` | — | | | | ≈ 15 min de copie UE |
| CAM-B0a | amendement de la SPEC d'après la sonde B0 (lecture seule, sans copie UE) | — (fiche courte, accord Big Boss) | session CAM (claude-opus-5-5) | B0 | faite, acceptée par Big Boss (contre-vérifiée, 2026-10-13) : R1, R2, B1-1 (`RoomCamTimer`), B1-13 et B2-6 (arrêt par handle), (c), (d), nouveau § « Identifiants de nœuds (B0a) » ; GI inchangé ; copie d'avant `Backup_5.5\CAM\SPEC-avant-B0a\` (`3f0f59bf`) → après `5eab69a4` | `CAM-SPEC.md` (amendé) | — | | | | 0 |
| CAM-B1 | C1 hors sexe, commutation C, reclassement (Room, PC, GI) par MCP | SPEC § (a) B1 | session CAM (claude-opus-5-5), appels MCP directs | B0a + commits STE-H10 + BUILD-GO | écriture et V3-V7 faites (2026-10-13) : 78 noeuds (Room 66, PC 6, GI 6), compilations sans message, V5 conforme, V6 = référence STE-H10V, build et CheckPackage PASS ; décision utilisateur (mur : règle de PC, WallWasHidden retirée) ; SPEC amendée B1b ; 2e écart d'appels parallèles ; BUILD-FIN envoyé ; **commité** `a08c134` (ticket CAM-B1-R1, parent `f32df0d`, 20 fichiers) après V8 PASS, essais PASS (B1d, homme et femme), corrections B1c et B1d | `CAM-B1-IMPL.md` | CHG-339 | | | | ≈ 35 min de copie UE + 7 min de V5-V7 |
| CAM-B2 | C2 en poursuite lissée avec évitement des murs (Room seul) par MCP | a1 b2 c1 d1 e1 f1 = 7 → N3 ; S = C3 1 (procédure `lp-mcp` § 3, identifiants SPEC B0a) + f 1 = 2 < 3 : pas de scission ; C9a cochée (relevé, SPEC § (a) B2, (e), (f), `CAM-B2-DEMANDE.md` relus le 2026-10-13) | session CAM (claude-opus-5-5), appels MCP directs | B1 commité + UE-GO | UE-GO bloc 1 reçu (2026-10-13, en parallèle de STE-H3e) ; relevé : HEAD `0745917`, Room `50E736F8`, 0 éditeur ; instantané `Backup_5.5\CAM-B2\` ; éditeur PID 9500 ; attente MCP refusée par le mode auto, reprise sur « mcp ok » de l'utilisateur ; B2-1 à B2-7 écrits (55 nœuds, 240 supprimé), V3, V4, V5, V6 PASS ; Room `50E736F8` → `A5FA970E` ; 3e écart « deux appels MCP dans un message » (sans effet) ; UE-LIBRE bloc 1 ; V7 (lp-builder, Haiku, UE-GO Big Boss) **acceptée** (recomptée) : Build.ps1 code 0, 0 unité ; UAT code 0, cuisson « Success - 0 error(s), 1 warning(s) », Room cuit 13:38:42 ; CheckPackage PASS 4/4 (rejoué) ; archive `D:\Game\LifePlay_Build_5.8_CAM-B2_Development` ; résumé du build déplacé de `etat\CAM-B2\` vers `etat\CAM\` (lot hors table EtatDir) ; constat : `Source/LifePlay/LPDebugSubsystem.cpp/.h` modifiés à 13:42 hors CAM (exe archivé lié à 12:44, sans eux) ; UE-LIBRE ; UE-GO des essais donné puis repris par Big Boss (essais reportés d'environ 1 h, jeton donné à STG ; archive CAM-B2 intacte) ; marche à suivre des essais remise à l'utilisateur ; nouvel UE-GO des essais reçu, essais de l'utilisateur en cours sur l'archive V7 | `CAM-B2-IMPL.md` | — | | | | |
| CAM-B2b | amendement après essais B2 : confinement de C2 dans la pièce, repli, trajectoire protégée, pilotage (option 1/2) | a1 b2 c1 d1 e1 f1 = 7 → N3 ; S = 1 + 1 = 2 < 3 ; découpage A (confinement) / B (pilotage) car choix utilisateur en attente ; C9a au jour de l'envoi | session CAM | essais B2 + accord Big Boss + choix utilisateur + test C3/ZQSD | option 1 choisie ; GO d'écriture (lp-mcp-bp, un appel à la fois) ; SPEC amendée B2b (`5a9cd3d3`) ; fiches F1-F7 (`CAM-B2b-FICHES.md`, découpage par budget de tours) ; instantané `Backup_5.5\CAM-B2b\` ; éditeur ouvert puis refermé sans appel (jeton UE repris pour les essais STE/STG) ; marche perdue hors CAM (STG) ; F1-F7 par lp-mcp-bp (F6/F7 regroupées en F6a, F6b, F7), toutes acceptées et contre-vérifiées (issue : F5 hors budget 62/60, autres dans le budget) ; Room `A5FA970E` → `E0517C63` ; V5, V6 PASS ; UE-LIBRE ; V7 = build commun STG `LifePlay_Build_5.8_COMMUN-1_Development` (Room B2b + Person STG-B1 + mesure STG), lancé par STG ; build fait par STG (CheckPackage 4/4, Room `E0517C63` recuit) ; UE-GO des essais B2b reçu, marche à suivre `CAM-B2b-ESSAIS.md` (donnée par Big Boss) ; copie du journal par Big Boss, V8 par CAM | `CAM-B2b-IMPL.md` | — | | | | |
| CAM-B2d | C2 sur la rotation de contrôle (modèle Third Person d'Epic) : Z éloigne de la caméra, souris et flèches tournent la caméra (demande directe de l'utilisateur) | a1 b2 c1 d1 e1 f1 = 7 → N3 ; S = 1 + 1 = 2 | lp-mcp-bp | GO Big Boss après l'UE-LIBRE de STG (street) | analyse `CAM-B2d-TPS.md` ; SPEC amendée B2d (`48aa5499`, copie `Backup_5.5\CAM\SPEC-avant-B2d.md`) ; fiche `CAM-B2d-FICHE.md` ; **faite** (lp-mcp-bp 59/60, acceptée, contre-vérifiée) ; enregistrée avec B2e ; V5, V6 PASS | `CAM-B2d-IMPL.md` | — | | | | |
| CAM-B2e | boîte de pièce sur les faces intérieures des murs (défaut « camera est hors de la pièces ») | a1 b2 c1 d1 e1 f1 = 7 → N3 ; S = 2 | lp-mcp-bp | B2d, GO Big Boss | diagnostic au journal (boîte symétrique sur Wall2/Wall4, centres des murs, épaisseur ≈ 50 cm ignorée) ; fiche `CAM-B2e-FICHE.md` ; **faite** (lp-mcp-bp 65/65, acceptée, contre-vérifiée) ; Room `E0517C63` → `CA2A9A0B` ; V5, V6 PASS ; points ouverts : lacet 0 supposé, pas de garde Min ≤ Max ; DOC prête (`CAM-B2-IMPL.md`, `CAM-B2-DOC.md` : CHG et ticket B2-B2e), attente essai COMMUN-2 | `CAM-B2e-IMPL.md` | — | | | | |
| CAM-B2c | indicateur du mode de caméra à l'écran (demande utilisateur) | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 1 + 1 = 2 | session CAM (SPEC) ; lp-impl, lp-builder, lp-validator | B2b + GO Big Boss | SPEC courte écrite : sous-système C++ `ULPCameraModeSubsystem` qui observe la vue (aucun Blueprint touché) ; **prioritaire** (capture 5 : mode inconnu de l'utilisateur) ; GO Big Boss pour COMMUN-2 ; IMPL faite (lp-impl 22/40) + correction Builder / C3 old par la session ; `LPCameraModeSubsystem.h` `bf3412c1`, `.cpp` `bbca21b0` ; non compilé (COMMUN-2) | `CAM-B2c-SPEC.md` | — | | | | |
| CAM-C2D | DIAG des KO de COMMUN-2 : A17 (POV), caméra trop près, ZQSD assis, avis PNJ dans la tête (demande Big Boss) | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 1 + 1 = 2, lecture seule, sans scission | session CAM (claude-opus) | essai COMMUN-2 | fait : causes 1 et 3 prouvées (`PC.POVOn` lu sur GI ; `GI.CurrentScene` jamais vidé, donc garde `ScenePlaying`), cause 2 probable (sonde canal Camera, Room ignoré, PNJ cachés en collision) ; correctifs proposés pour COMMUN-3, attente GO | `CAM-COMMUN2-DIAG.md` | — | | | | |
| CAM-B2f | correctifs CAM de COMMUN-2 : POV lu sur le PC (A17), témoin C2 au journal, sonde de C2 en Visibility (Room 459/499/505) | a0 b1 c1 d0 e1 f1 = 4 → N3 (MCP) ; S = 1 + 1 = 2 | session CAM (C++) ; lp-mcp-bp (Room) | CAM-C2D + GO utilisateur | C++ fait (`.cpp` 1DE73AA9, `.h` 84F9BA30, SPEC B2c corrigée) ; Room `CA2A9A0B` → `F2B082D2` (amendement B2f-a : `set_pin_value` ne marque pas l'asset, Branche créée puis supprimée) ; V5 et V6 PASS (`CAM-B2f-VAL.md`) ; V7 au build COMMUN-3 (D7-D9) ; FIN-LOT : traiter `Saved/Autosaves/Game/BPs/Room_Auto1.uasset` (état intermédiaire de B2f-a) | `CAM-B2f-FICHE.md` | — | | | | |
| CAM-C3D | DIAG de D8 KO (COMMUN-3) : caméra collée à la nuque | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 1 + 1 = 2, lecture seule | session CAM (claude-opus) | essai COMMUN-3 (journal partiel) | fait : cause prouvée par le témoin, acteur `PersistentLevel.Wall` (panneau de fond, caché, collision Camera et Visibility), traversé par le joueur ; DIAG COMMUN-2 (PNJ cachés) corrigé ; correctif B2g proposé (GI.Wall dans ActorsToIgnore) ; second cas (repli contre Wall derrière la tête) ; KO C1 souris : pas de regard prévu (Q11), correctif Room (OR CamC1On sur 96/97) + STG (Walk : lacet de contrôle en C1) ; 3e cas (assis) = même plaque ; géométrie de Wall prouvée (Cube BlockAll, plaque X -3131490, 10 cm × 12,56 m, à 53 cm du centre de toute pièce) ; finalisé sur les journaux définitifs (cas 3 probable : plaque Wall, tête assise décalée non mesurée) ; § 10 : correctifs exacts A-D et MD5 ; attente GO | `CAM-COMMUN3-DIAG.md` | — | | | | |
| CAM-B2g/h | D8 : GI.Wall ignoré par les sondes de C2 (MakeArray_5 [2]) ; C1 : souris et flèches tournent la rotation de contrôle (OR CamC1On sur 96/97) ; témoin C2 complété (C) | a0 b1 c0 d0 e1 f1 = 3 → N3 (MCP) ; S = 2 | lp-mcp-bp (Room) ; session CAM (C++) ; lp-validator | CAM-C3D + GO Big Boss | fait : Room `F2B082D2` → `0C8EB59F` (OR_60 créé, E1 : IfThenElse_100 laissé sur PO_8) ; `.cpp` `61FB5582` ; V5, V6 PASS, C++ PASS statique ; V7 au build COMMUN-4 (avec Walk de STG) | `CAM-B2g-IMPL.md`, `CAM-B2g-VAL.md` | — | | | | |
| CAM-C4D | DIAG COMMUN-4 : déplacement des personnages bloqué en mode Scene pendant le sexe | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 2, lecture seule | session CAM (claude-opus) | essai COMMUN-4 (en cours) | fait : branches « C2 ? » (96-100) vraies pendant le sexe si vue = CamRoom (scène partie de C2, B2b/B2d) ou CamC1On (scène partie de C1, B2h) ; STG et B2g écartés ; correctif B2i retenu par Big Boss (AND NOT SexOn sur 96-100), fiche `CAM-B2i-FICHE.md` prête, UE-GO après la session COMMUN-4 | `CAM-COMMUN4-DIAG.md` | — | | | | |
| CAM-C4D-b | DIAG COMMUN-4 : touche C sans effet après CharGen | a1 b1 c2 d0 e1 f1 = 6 → N2 ; S = 2, lecture seule | session CAM (claude-opus) | essai COMMUN-4 | non tranché : H4 probable (actions du PC coupées après CharGen, la marche lit les touches brutes), H1 (SpaceOn) à écarter ; B2h et B2g sans lien ; témoin C++ « touche C » proposé avec B2i ; questions à l'utilisateur ; complément : dump CharGen sans appel d'entrée ni de vue, aucun correctif Room prouvable | `CAM-COMMUN4-DIAG.md` § 5 | — | | | | |
| CAM-B2i | garde « hors sexe » (AND NOT SexOn) sur les branches C2 ? 96-100 (déplacement des personnages pendant le sexe) | a0 b1 c0 d0 e1 f1 = 3 → N3 (MCP) ; S = 2 | lp-mcp-bp ; lp-validator | CAM-C4D + UE-GO Big Boss | fait : Room `0C8EB59F` → `18565365` (NOT 453, AND 61 et 62) ; V5 1264 nœuds, V6 PASS ; V7 au build suivant (CAM-29 à 32) | `CAM-B2i-IMPL.md`, `CAM-B2i-VAL.md` | — | | | | |
| CAM-B2j | témoin C++ « touche C » (gardes du PC, état C1, entrées) et ligne « Indicateur de camera : aucun » | a0 b0 c0 d0 e1 f0 = 1 → N1 ; S = 0 | session CAM ; lp-validator | CAM-C4D-b + GO Big Boss | fait, non compilé : `.cpp` `D8981529`, `.h` `2E1E2458` ; VAL statique PASS ; compilation et essai dans COMMUN-5 | `CAM-B2j-VAL.md` | — | | | | |
| CAM-C5D | DIAG COMMUN-5 : C5-3 (C1 dans le buste), C5-2 (joueur masqué en C2 assis), piste POV/Scene | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 2, lecture seule | session CAM (claude-opus) | essai COMMUN-5 | fait : C5-3 prouvé (C1 posé une fois au milieu des yeux puis figé sur la racine ; entrée en C1 assise) → B2k (SetWorldLocation sur 83.then) ; C5-2 probable (meubles ignorés par les sondes) → témoin d'occlusion, évitement après l'alpha ; POV : Roll relatif (951) au lieu d'un lacet ; Scene : rotation sur place (149) ; attente GO | `CAM-COMMUN5-DIAG.md` | — | | | | |
| CAM-Tocc | témoin d'occlusion C2 (tracé complexe caméra → tête, Room compris) | a0 b0 c0 d0 e1 f0 = 1 → N1 ; S = 0 | session CAM ; lp-validator | CAM-C5D + GO Big Boss | écrit, non compilé : `.cpp` `FE9236BD`, `.h` `7DA111CB` ; VAL statique PASS ; compilation et essai dans COMMUN-6 | `CAM-Tocc-VAL.md` | — | | | | |
| CAM-B2k | recalage de C1 sur les yeux à chaque passage de la minuterie (C5-3) | a0 b1 c0 d0 e1 f1 = 3 → N3 ; S = 2 | lp-mcp-bp ; lp-validator | CAM-C5D + UE-GO | fait : Room `18565365` → `6BE71E01` (nœud 512) ; V5, V6 PASS (`CAM-B2kmn-VAL.md`) ; V7 COMMUN-6 | `CAM-B2k-FICHE.md` | — | | | | |
| CAM-B2m | lacet POV à la souris (PC : 312 Yaw, 136 → 204) | a0 b1 c0 d1 e1 f0 = 3 → N3 ; S = 1 | lp-mcp-bp ; lp-validator | gel des scènes levé + UE-GO | fait : PC `A19510E6` → `F45BE57A` (312 Yaw, 136 → 204) ; V5, V6 PASS ; V7 COMMUN-6 (sens à vérifier) | `CAM-B2m-FICHE.md` | — | | | | |
| CAM-B2n | orbite de la caméra de scène autour du couple (Room, après 149) | a0 b1 c1 d0 e1 f1 = 4 → N3 ; S = 2 | lp-mcp-bp ; lp-validator | gel des scènes levé + UE-GO | fait (amendement B2n-a : 535 dans le fil) : Room `6BE71E01` → `3A451FDD` (7 nœuds) ; V5 1272 nœuds, V6 PASS ; V7 COMMUN-6 ; limite : vue CamRoom jusqu'au premier C (B2o à décider) | `CAM-B2n-FICHE.md`, `CAM-COMMUN-6-TESTS.md` | — | | | | |
| CAM-C6D | DIAG COMMUN-6 : caméra immobile en mode Scene pendant le sexe (vue `CamRoom` par Q8, B1-2 et B1-8 ; souris vers `SceneCamera` par B2i) | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 2, lecture seule | session CAM | KO COMMUN-6 relayé par Big Boss | fait ; correctif B2p proposé (option A, Room seul, 2 nœuds, 9 liens) ; décision de l'utilisateur sur Q8 attendue ; aucune écriture ; § 6 : KO Maj + souris non causé par B2n, B2k ni CamC1On (couple déplacé à 05:13:17-27 ; POV hors voie Room par conception) ; § 7 : C1 au plafond = orientation figée à la pose de tête de fin de scène, correctif P5 dans B2p ; § 8 (prioritaire) : personnages assis éliminés par le rendu (T-occ muet 05:26-05:33, joueur et PNJ), bornes de pose de référence sans asset physique, correctif B2q (C++, BoundsScale 3, environ 1 h, lot à attribuer) ; § 9 : C1 décalée après le lever = même orientation figée que § 7, minuterie B2k active, correctif P5 ; § 10 : CharGen en cours de partie : ShowRender (GI 233) met SpaceOn à faux et rien ne le remet (CloseCharGen, GameStart faux) ; souris : hypothèse MainMenuOn resté vrai (H-M, test Échap Échap) ; correctif B2r (b) C++ recommandé pour l'alpha | `CAM-COMMUN6-DIAG.md` | — | | | | |
| CAM-B2p | SPEC : pendant le sexe, ZQSD = caméra (C++), flèches = couple sans Maj (Room), vue Scene = SceneCamera (C6D A) ; retour par SexOn sans remappage | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 ; deux fiches B2p-R (lp-mcp-bp) et B2p-C (lp-impl) | session CAM | demande de l'utilisateur relayée par Big Boss + GO | GO de l'utilisateur (« go », 2026-10-14), option A (retour sur Q8 pendant le sexe) ; B2p-C (C++) écrit, VAL statique PASS avec reprise (pas de temps borné), CameraMode `8E35E07A` / `9E20981F` dans COMMUN-7 ; instantané CAM-B2p-R pris (Room `C5AB7241`) ; B2p-R (Room P1 + P2) fait : Room `C5AB7241` → `93138747` (S1 102, S2 103, O1 OR_63 ; 13 liens), VAL PASS (V5 1279 nœuds, V6 = référence) ; compilation et V7 au prochain passage | `CAM-B2p-SPEC.md`, `CAM-B2p-C-IMPL.md`, `CAM-B2p-C-VAL.md`, `CAM-B2p-R-FICHE.md` | — | | | | |
| CAM-B2p-D | SPEC : glisser-déposer du couple à la souris (sélection par projection, plan horizontal, borne au sol de Room), rotation à la molette pendant le glisser, témoin du lacet ; constat rotation : Maj + souris demande un bouton tenu (MoveCamera), B2p-C hors de cause | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 | session CAM ; lp-validator | demande de l'utilisateur relayée par Big Boss | fait (GO Big Boss) : CameraMode `8E35E07A` / `9E20981F` → `D6063264` / `6585D7F6` ; VAL statique PASS (reprise D-1 : pas de prise avec Maj) ; compilation COMMUN-8, essais CAM-58 à 63 | `CAM-B2p-SPEC.md`, `CAM-B2p-D-IMPL.md`, `CAM-B2p-D-VAL.md` | — | | | | |
| CAM-C9D | DIAG COMMUN-9 : couple hors de la pièce et sous le plancher (flèches P2 sans borne ; tracé vertical de B2p-D qui traverse le sol ; descentes Z de source incertaine) | a1 b1 c1 d0 e1 f1 = 5 → N2 ; S = 2, lecture seule | session CAM | KO COMMUN-9 relayé par Big Boss | fait ; correctif B2p-E fait ; § 6 COMMUN-10 : borne XY sur Room.Box plus large que les murs (couple posé à +477 cm sans correction), E1 tourne (5 corrections Z) ; correctif B2p-F proposé (murs Room Wall*, repli indices et échelle, marge = demi-boîte du couple, pose libre de recouvrement, focus clavier rendu à la vue, ligne des bornes) ; G3 (dégagement, LastSafe de LPShowCouple) à attribuer à STE ; en attente de GO | `CAM-COMMUN9-DIAG.md` | — | | | | |
| CAM-B2p-E | C++ : borne dure du couple pendant le sexe (sol de Room.Box, marge 30 cm, racine du maillage ≥ sol − 5 cm, plafond estimé + 350 cm), surface ≥ sol dans le glisser, témoin des déplacements hors prise | a1 b1 c1 d0 e1 f1 = 5 → N3 ; S = 2 | session CAM ; lp-validator | GO Big Boss | fait : CameraMode `D6063264` / `6585D7F6` → `FFF0FBB4` / `0EDC1F76` ; VAL statique FAIL (B1 : local Root masquant un membre, C4458) puis PASS après reprise ; compilation COMMUN-10, essais CAM-64 à 68 | `CAM-COMMUN9-DIAG.md`, `CAM-B2p-E-IMPL.md`, `CAM-B2p-E-VAL.md` | — | | | | |
| CAM-B2p-F | C++ : intérieur réel de la pièce (murs Room Wall*, replis AllComponents[0..5] et échelle), marge 80 cm, plafond, ligne des bornes par scène, même borne au glisser, pose libre de recouvrement (lits admis), témoin sans faux positif, focus clavier rendu à la vue | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 | session CAM ; lp-validator | GO Big Boss ; G3 (NotifyCoupleTeleported) attribué à STE | fait : CameraMode `FFF0FBB4` / `0EDC1F76` → `8C6A3D71` / `3DF4B511`, puis appel G3 de STE (NotifyCoupleTeleported au relâcher si le meneur a bougé) → `03D85D28` / `4AE65994` ; VAL statique PASS, reprise G3 PASS (D1 : murs partiellement reconnus) ; compilation COMMUN-11, essais CAM-69 à 75 | `CAM-COMMUN9-DIAG.md` § 6, `CAM-B2p-F-IMPL.md`, `CAM-B2p-F-VAL.md` | — | | | | |
| CAM-B2p-G | SPEC : C3 dans le cycle C du sexe (Scene, C3, POV), recadrage sur le couple, recadrage à l'entrée en Scene, caméra de scène qui suit le couple ; DIAG COMMUN-11 : la caméra ne suit jamais le couple, clics sans prise = couple hors cadre | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 | session CAM ; lp-mcp-bp ; lp-validator | GO Big Boss (option 1) ; UE-GO pour le PC | fait (sans compilation) : CameraMode `03D85D28` / `4AE65994` → `A5F041FF` / `00D43993` (VAL statique PASS après reprise N1/N2) ; PC `F45BE57A` → `B07F16A9` (G-d : SexC3 + branches 132/133 ; G-g : coupures 123→35 et 15→10, Espace pendant le sexe → LeftMouseSexOn par 134/408 ; amendement B2p-G-PC-a, option A) ; VAL PC PASS (V5 1439 → 1447 nœuds, V6 = référence ; défaut de SexC3 non lu) ; compilation COMMUN-12 et essais à venir | `CAM-B2p-G-SPEC.md`, `CAM-B2p-G-IMPL.md`, `CAM-B2p-G-VAL.md`, `CAM-B2p-G-PC-FICHE.md`, `CAM-B2p-G-PC-IMPL.md`, `CAM-B2p-G-PC-VAL.md` | — | | | | |
| CAM-B2p-H | C++ : pose sur le lit (G-e, tracé Pawn, racine la plus basse à surface + 3 cm), seuls sol et lits admis (G-f), clic molette court = panneau des positions pendant le sexe (G-g), maillage dans les refus, `Reach` → `ObstacleReach` (N7) | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 | session CAM ; lp-validator | GO Big Boss (KO COMMUN-11) | fait (sans compilation), un instantané par point (CAM-B2p-H1 à H5) : CameraMode `A5F041FF` / `00D43993` → `210B665A` / `239DA609` ; VAL statique PASS-STATIC par point et global (N1 à N6 non bloquants) ; compilation COMMUN-12, essais CAM-81 à 85 | `CAM-B2p-G-SPEC.md` § 5, `CAM-B2p-H-IMPL.md`, `CAM-B2p-H-VAL.md` | — | | | | |
| CAM-B2p-I | Aide des contrôles du sexe : supprimer les 4 lignes de `SexInterface.TextBlock_1`, icône « i » (texture FAQ `/Game/Heavy/New/info`) à côté du filtre `Cursor.SearchAction`, survol et clic = aide à jour (touches lues des mappages) | a0 b1 c1 d0 e1 f1 = 4 → N3 ; S = 1 | session CAM | demande de l'utilisateur relayée par Big Boss | DIAG + SPEC écrites (lecture seule, build COMMUN-12 en cours) ; option 1 recommandée (C++ seul, 0 nœud) ; en attente de GO (option, langue, lecture MCP) | `CAM-B2p-I-SPEC.md` | — | | | | |
| CAM-B2p-J | DIAG COMMUN-12 (glisser et rotation sans effet : souris verrouillée par le GameOnly du PC depuis que G-g ne libère plus la souris par le panneau ; S3 = même cause ; hauteurs de la molette de Room) et correctif : souris libre pendant le sexe, curseur de prise sur deltas bruts, refus muets écrits, panneau sur Alt, restauration à la sortie avec ligne de témoin ; PC : Espace rendu (G-g 2 défait) | a1 b1 c1 d1 e1 f1 = 6 → N3 ; S = 2 | session CAM ; lp-mcp-bp ; lp-validator | GO Big Boss (C++) ; UE-GO (PC) | fait (sans compilation) : CameraMode `0F383EF7` / `6EDBBCCF` (B2p-I avec D1, N2 en I0) → `1F10631F` / `9AEE8D04` (instantanés CAM-B2p-I3, I4) ; VAL statique FAIL (D1 GetKeyValue) puis PASS-STATIC après reprise ; PC `B07F16A9` → `707220A6` (amendement B2p-J-PC-a), VAL PC PASS (V5 1447 → 1445, V6 = référence) ; essais COMMUN-13 (CAM-86 à 95) | `CAM-B2p-J-IMPL.md`, `CAM-B2p-J-VAL.md`, `CAM-B2p-J-PC-FICHE.md`, `CAM-B2p-J-PC-IMPL.md`, `CAM-B2p-J-PC-VAL.md` | — | | | | |
| CAM-B2r | C++ : remise de SpaceOn (et MainMenuOn si le menu est fermé) à la sortie de CharGen ; témoins Touche C étendu et C1 (priorité 1) | a0 b1 c1 d0 e1 f0 = 3 → N3 ; S = 0 | lp-impl ; lp-validator | GO Big Boss (écriture de GI en jeu) + jeton UE pour la compilation | fait (GO Big Boss, sans compilation) : .cpp `FE9236BD` → `124336D3`, .h `7DA111CB` → `61A3E062` ; VAL statique PASS avec réserves (C-1 à C-8, aucune bloquante) ; compilation et essais CAM-50 à 53 en COMMUN-7 | `CAM-B2r-FICHE.md`, `CAM-B2r-IMPL.md`, `CAM-B2r-VAL.md` | — | | | | |
| CAM-B2s | Room : orientation de C1 recalée à chaque passage (P5) et pose avant le retour de la vue (P6) (priorités 2 et 3) | a0 b1 c0 d0 e1 f1 = 3 → N3 ; S = 1 | lp-mcp-bp ; lp-validator | UE-GO | fait (UE-GO Big Boss, avant ORG4) : Room `3A451FDD` → `C5AB7241` (P5 + P6, nœuds 539 à 542, 11 liens) ; VAL PASS (V5 1276 nœuds, V6 = référence) ; V7 en COMMUN-7 | `CAM-B2s-FICHE.md`, `CAM-B2s-IMPL.md`, `CAM-B2s-VAL.md` | — | | | | |
| CAM-B1e-CART | rendu première personne natif UE 5.8 : tête de Person, FirstPersonSM, API native, contraintes d'éclairage, options a/b/c | a2 b2 c2 d0 e1 f2 = 9 → N3 ; S = 2 + 2 = 4 ≥ 3 : scindée (CART seule, SPEC ensuite) | lp-cart (opus) | demande utilisateur via Big Boss | **acceptée** (56/60 tours ; contre-vérifiée : FirstPersonSM = FirstPerson_C caméra, ini l. 22/24/28, BuiltData 43 149 o, API 5.8 `SetFirstPersonPrimitiveType` PrimitiveComponent.h:2120, `HasFirstPersonGBufferBit` exige `!IsStaticLightingAllowed()` RenderUtils.cpp:2589-2593) ; recommandation : relevé d'exécution puis option a (SetOwnerNoSee) ; Q1-Q5 à l'utilisateur | `CAM-B1e-CART.md` | — | | | | |
Note CAM-T4 (Big Boss, 2026-10-11) : BUILD-FIN acceptée et contre-vérifiée. Le défaut du `-EtatDir` relatif
(`Tools\EtatDir.ps1:30` joint un chemin relatif à `Docs\Migration\etat`, d'où `etat\Docs\Migration\etat\CAM\`) rejoint le
lot candidat EtatDir.
Arbitrage GI (Big Boss, 2026-10-11) : après la porte T11 d'U8, STE IMPL C0 (`GI.destroyDummy`) d'abord jusqu'à son commit,
puis CAM B0 → B6 un sous-lot à la fois (BUILD-GO → instantané → écriture → VAL → BUILD-FIN → ticket gardien et commit avant
le suivant ; aucun GI ou Room non commité entre deux sous-lots). B5 : relecture et accord de STE requis avant écriture
(`GI.CallFunction_682` = `Room.refreshIdleDummies`), accord cité dans la BUILD-DEMANDE B5. Person (Q18) : si oui, signaler
à Big Boss (arbitrage avec STE-H4). Redump `-Pins -Exec` (≈ 3 min) avant T11 : accordé dans son principe, BUILD-DEMANDE
avec accord de l'utilisateur, GO après la mesure STE-H4.
Consigne B0 (Big Boss, 2026-10-11) : sonde après T11, derrière l'IMPL C0 de STE ; le BP jetable `/Game/Dev/CAM_Probe` ne
doit jamais entrer dans une cuisson ni dans un ticket ; à la fin de B0, le déplacer vers `D:\Game\LifePlay_Backup_5.5\CAM\` ;
aucun build d'un autre lot tant qu'il existe dans `Content` ; contrôle exigé dans le BUILD-FIN de B0.
File après T11 (Big Boss, 2026-10-11) : 1. STE C0 (`GI.destroyDummy`) ; 2. STE-H10 (TopRight, Person, GI : `DestroyPerson`,
`SavePreset`, `GetSMBoolForSMC_Cloth` ; gel des 3 assets jusqu'à ses commits) ; 3. CAM B0 → B6. Aucun graphe commun avec la
SPEC (grep lp-cart de Big Boss). Conséquences pour CAM : instantané GI de B1 à partir du MD5 d'après les commits de STE ;
redump `LPDumpFunction -BP=GI -Fn=EventGraph -Pins -Exec` (et `-Fn=CallFunction` pour B4) en lecture seule à inclure dans la
BUILD-DEMANDE B1, noms `K2Node_*` de la SPEC à revérifier sur ce GI ; Person sera aussi modifiée par STE-H10 : MD5 de
référence de V2 (`BE21838A…`) à remplacer par celui d'après STE-H10.
Accord de l'utilisateur sur cette file et le plan (2026-10-11) : « approuvé ».
État de reprise (session CAM `local_cb58847a`, vidée puis reprise le 2026-10-13) : rien de lancé, rien écrit.
Relevé : HEAD `bfaaed2` ; Room `E8F58B2A…` et PC `09F54974…` = MD5 de la SPEC ; GI `FE4406A0…` (STE-R7 `7bceea6`, C0 de
STE fait) → référence de l'instantané B1 ; Person `D1B4C63D…` (STE-H10 non commité, gel) ; éditeur PID 8296 ouvert, tenu par
STE (GO (a) GI). File (BOSS-ETAT) : STE-H10 (a) à (e), puis P7-T8 (Sentry), puis CAM B0. Risque nouveau : les écritures
MCP de `lp-mcp-bp` ont été refusées 4 fois par le mode auto dans STE ; CAM B0-B5 utilisent la même voie → décision de
l'utilisateur (session d'écriture en mode « default ») à prendre avant la BUILD-DEMANDE B0. `etat\CAM\` jamais commité.
2026-10-13 : B0 autorisé par Big Boss en parallèle de la fin de STE-H10 (CAM passe devant P7-T8) ; BUILD-DEMANDE B0 envoyée
(≈ 40 min, sondes `/Game/Dev/CAM_Probe` et `CAM_Probe2`, appels MCP par la session, pas de `lp-mcp-bp`) ; attente du BUILD-GO.
Relevé : GI désormais `M` (écrit par STE-H10, gel respecté par CAM).
Consigne pour B2 et la suite (Big Boss, 2026-10-13, après 2 écarts en B0 et B1) : **un appel MCP à la fois, sans
exception, lectures comprises** ; ne jamais regrouper deux appels `unreal-mcp` dans un même message. Avant de rouvrir
l'éditeur pour une correction de B1 : demande à Big Boss (STE lance des dumps de GI en lecture seule pendant les essais).
État au 2026-10-13, **PAUSE** (demande de l'utilisateur relayée par Big Boss) : rien de lancé, éditeur fermé, aucun asset
CAM modifié (Room `50E736F8`, PC `A19510E6`, GI `6A957CB2` = commit `a08c134`). B1 clos (JOURNAL-LIBRE envoyé ; `a08c134` contrôlé et
accepté par Big Boss, réservation de Room, PC et GI levée). B2 : brouillon `CAM-B2-DEMANDE.md` prêt, non
envoyé ; à envoyer au signal de Big Boss à la reprise, après P7-T8 et STE-H3d (relevé HEAD, MD5 Room et 0 éditeur à
refaire). Puis B3 (vue plafonnier C3, attendue par l'utilisateur). Cette ligne et le hash de B1 partent au prochain commit CAM.
Reprise 2026-10-13 (session vidée, skills rechargés ; message de Big Boss) : PAUSE maintenue, rien de lancé. Relevé : HEAD
`6babe5d`, `git status -- Content Source Config` vide, Room `50E736F8` (= `a08c134`), 0 éditeur. Objectif de l'utilisateur :
alpha 2026.10.2.1a en Shipping, remise au plus tard le 2026-10-18 ; CAM prioritaire (B2 puis B3, vue plafonnier).
Barème de chaque fiche (`sk-orchestrate` § 2, essai D-P7.16) : grille a-f et S = C3 + f notées avant l'envoi ; scission si
S ≥ 2 (N0-N2) ou S ≥ 3 (N3-N5) ; case C9a (faits d'état et critères relus le jour même) ; issue notée après (acceptée,
reprise ou hors budget). B2 provisoire : C3 = 1 (procédure `lp-mcp`), f = 1 (réglages de poursuite et d'évitement
décidés en SPEC, réglage fin à l'essai) → S = 2 < 3, pas de scission ; grille à refaire au jour de l'envoi.