47 KiB
name: Stabilisation V2 (ST) overview: Avant toute livraison (décision utilisateur du 2026-10-09 : la V2.0 n'est publiée, par U8, qu'après la stabilisation et l'optimisation), traquer et corriger les défauts du jeu 5.8 — erreurs et accès à None au journal, défauts visibles en jeu, défauts remontés par les joueurs — jusqu'à une V2.0 stable, base de mesure du chantier d'optimisation (doc 30). todos:
- id: phase0 content: Phase 0 — Fiche projet (ce document) validée par l'utilisateur status: completed
- id: lot-sta content: Lot STA — Audit / mesure : parcours types, classement de toutes les erreurs et AccessedNone par Blueprint et cause, registre des défauts connus status: completed
- id: gate-gst content: Porte G-ST — go / no-go et ordre des lots (utilisateur) status: completed
Stabilisation V2 (préfixe ST) — fiche projet (phase 0)
Modèle : modèle agnostique de séquençage (fichier Cursor sandbox_addon_migration_ff11aeab.plan.md, mémoire
modele-sequencage) : 0 fiche projet → 1 audit → 2 effort, risques, porte → 3 lots → 4 exécution → 5 évaluation.
Objectif
Une V2.0 stable avant sa publication : aucun défaut visible connu non traité, journal d'un parcours type sans erreur inexpliquée,
nombre d'AccessedNone réduit et chaque restant justifié. Mesurable par Tools/LogStats.ps1 sur des parcours fixes.
Périmètre
- Dans : jeu 5.8 (branche
ue5.8, non publiée ;mainà la publication U8), C++Source/LifePlay, Blueprints (correctifs par commandlet ou en éditeur, comme en portage 5.5), configuration ; défauts au journal (erreurs,AccessedNone, avertissements récurrents, à-coupsGamethread hitch) ; défauts visibles en jeu ; défauts remontés par les joueurs. - Hors : optimisation, retrait ou remplacement de modules UE (doc 30) ; voie UE5 native U9 ; nouveau contenu ; contrat des mods (figé : toute correction qui le toucherait = décision utilisateur dédiée).
Défauts déjà connus (entrée de l'audit STA)
| Défaut | Origine | Source |
|---|---|---|
Personnages enfoncés dans la rue (jusqu'aux genoux) — prioritaire (utilisateur 2026-10-13, défaut visuel ; Room street) — traité, lot STG (CHG-344 ; ERR-115, ERR-128, ERR-129). Cause établie par le moteur : capsule prise dans la collision simple du décor de rue (STG-SF4b-DIAG.md). Correctifs : C++ (boîte du sol, décors en Pawn Ignore, relevage des passants et du joueur S-F5 / S-F5j, écart de 50 cm S-F5k, relevage écarté d'une façade S-F5m / S-F5n, relevage dès la pose S-F5p) et collision complexe de l'asset de rue. En jeu : COMMUN-6, murs solides et pieds sur le pavé (J1, J2 OK) ; COMMUN-8, deux personnages enfoncés contre une façade (→ S-F5m / n) ; COMMUN-9, « des PNJ s'enfoncent et remontent » 2 à 4 s après l'arrivée (→ S-F5p) ; COMMUN-10, Q5 OK : « pas de personnes sous la rue ». Reste après l'alpha : façades fines (STG-POST1), points de standIdle posés trop bas au bord (STG-POST2) |
ancien, présent en 5.5 | utilisateur 2026-10-09, etat/U58/U7/U7-SUIVI.md ; rappel 2026-10-13 ; etat/ST/STG/STG-TACHES.md, etat/BOSS/COMMUN-10-BILAN.md |
Personnages qui se chevauchent parfois : deux personnages doivent occuper deux espaces distincts, séparés d'au moins 10 cm — prioritaire (utilisateur 2026-10-13, défaut visuel) — traité, lot STG (CHG-344 ; ERR-118, ERR-117, ERR-127) : contrôle des tiers dans le placement (Person), garde d'IsValid, place de meuble au maximum et non remplacée, garde GI::Show à 70 cm, joueur posé à 80 cm quand un Blueprint libère son siège sans marche (C7-a, défaut d'origine estimé). COMMUN-2 : 0 place partagée sur 1 256 relevés assis ; COMMUN-8, cas N2 à N5 et O1 à O4 OK (dont C7-a) ; rue sans chevauchement (O5). Reste : scènes de contact (hors règle, décision du 2026-10-13), PNJ debout dans un fauteuil (ERR-122, après l'alpha) |
ancien (causes établies dans les graphes, STG-C1-CART.md) |
utilisateur 2026-10-13 |
Le personnage joueur glisse en marchant avec ZQSD : aucune animation de marche (M_Walk_Loop / B_Walk_Loop pour Michael / Bridget) — dans l'alpha (utilisateur 2026-10-13). « Marche : animation » 0 fois en COMMUN-2 et COMMUN-3 ; WalkAnim gardé par LPAnimRedirect::IsGameTarget(), qui lit Saved/Config/Windows/LPAnimTarget.ini, absent du jeu empaqueté (établi par STG-WALK-DIAG.md : garde fausse en jeu empaqueté et clips /Game/Quaternius jamais cuits) — traité, lot STG (CHG-344 ; ERR-121, ERR-119, ERR-126, ERR-130). Garde locale, clip cuit puis ClipPath, deux clips dupliqués sous /Game/Heavy/Daz/<Bridget ou Michael>/Anim/ (hors git). COMMUN-4 : cas F1 et F2 OK (75 et 105 lancements). Suites : marche coupée à tort par un menu sans boîte visible (C6-b, réponse de l'utilisateur : pas de boîte visible) ; pieds à ≈ 10 cm du sol après un siège (maillage non redescendu au lever, M-Z) : COMMUN-10, Q4 OK, « plus de flottement après le lever » |
5.8 | utilisateur 2026-10-13 ; lot STG |
Dossier de sauvegarde du jeu renommé de LifePlay en LifePlay-Revival — traité (lots REL-SAV et REL-ALPHA, ERR-042) : garde LPSaveRelaunch.cpp avant WinMain (relance avec -UserDir, Shipping toujours, Development seulement avec LPSaveLocation.ini) ; dossier au choix du joueur par LPSaveLocation.ini (SaveDir=) ; aucune reprise automatique des anciennes sauvegardes (R0) ; contrat des mods inchangé hors la lettre finale de la version (décision « Lettre acceptée »). Essais : E1 à E4 et E6 OK sur COMMUN-8 ; E9 OK sur le Shipping 2026.10.2.1a (relance avec -UserDir, dossier créé, sauvegarde puis Continuer, ancien dossier identique). Reste hors du dossier : les personnages d'une partie sont écrits dans <installation>\LifePlay\Content\Saves (sauf Saved) ; E5 (chemin relatif) non fait, facultatif ; option du menu Misc hors alpha |
5.8 | utilisateur 2026-10-13 ; etat/REL/ALPHA/REL-ALPHA-E9-RESULTAT.md |
~364 AccessedNone et 5 erreurs par session (parcours U6) |
4.27 / 5.5 | etat/U58/U6/U6-T3-AB.md |
4 Gamethread hitch sur MapMarkers_C.LPFocusWidgetComponent ; 0 en U8-T5cr et U8-T5cr2 (correctif CHG-292 ; estimé : carte ouverte sur déclaration de l'utilisateur, aucune trace au journal). Les autres saccades et hitchs relèvent des fiches STE-H4, STE-H7, STE-H8 et STE-H9 (analyse en cours, etat/ST/STE/) — analyse faite (H7 à H9) ; correctifs STE-H10 commités (CHG-336 à 338) ; J6 : trames ≥ 50 ms par minute −12 % (STE-J6-TRACE.md) |
5.8 | U6, report U8 ; etat/U58/U8/U8-T5cr2-VAL.md |
| Brouillard aux niveaux Effects Low-Med non comparé 5.5 / 5.8 | 5.8 | U6, report U8 |
Cuisson Shipping à froid (avertissement de cuisson LegacyIterative requis, bUseZenStore=False, vu au build U6) |
5.8 | U6 (doc 27, résultat U6), report U8 (doc 21) |
| Coiffure par défaut perdue (Bridget chauve) — corrigé en 5.8 (U7-T12), reste en V1.x | H1/H3a | etat/U58/U7/U7-T11-CART.md |
| Libellé moteur, bouton du nom d'un mod refusé, ordre d'affichage des mods par défaut (non retenus en U7) | U7 | U7-SUIVI.md |
| 210 acteurs externes orphelins (cartes gabarit absentes) | contenu | doc 21, U5 |
Rafale Attempted to access index 0 from array Floats_3_… of length 0 dans GI_C:getBeautyValue (pile Room.GenerateUnknownNpcs → GI.GeneratePerson → getRandomAge) : 2 591 lignes en 7 s autour des 8 premiers SPAWN (≈ 40 600 lignes de journal) contre 18 en U6 ; GI et Room inchangés depuis U6, probablement aléatoire (génération de PNJ inconnus) — non établi. Mesures suivantes : U8r 4, U8r2 72 (0,82 par SPAWN, 88 SPAWN), tous getBeautyValue |
5.8 (vu en U8) | etat/U58/U8/U8-T5c-VAL.md, U8-T5cr-VAL.md, U8-T5cr2-VAL.md |
Index hors bornes hors rafale équivalents (713 / 702) ; Accessed None 364 → 223 (par personnage 20,2 → 14,9) ; propriétés nouvelles liées à la scène de couple : CallFunc_getFirstDick_Person_1 ×1, Actor ×1 |
U8-T5c | etat/U58/U8/U8-T5c-VAL.md |
No SkeletalMesh : 7 971 lignes en U8r et 10 289 en U8r2, dont 70 à 77 % (70,7 % en U8r2, 76,8 % en U8r) d'un seul acteur Person_C ; famille déjà présente dans les références (871 et 2 723 lignes) — cause non établie |
5.8 (vu en U8) | etat/U58/U8/U8-T5cr-VAL.md, U8-T5cr2-VAL.md |
Accessed None … K2Node_CustomEvent_Person dans Room_C > Person_C:PlayIdle > PlayWorkDaily > PlayDaily > moveToPersonStand : défaut d'origine (journaux C0 et J3, antérieurs à STE-R6), pas de fiche ouverte pour l'instant ; établi par STE, estimé par U8 (comptes non recomptés) ; ne bloque pas T11 selon l'avis de STE, la décision revient à l'utilisateur — classé ERR-089 (« F1 »), accepté sans correctif par l'utilisateur (2026-10-13) ; l'écart E-B1-1 (ERR-090) a disparu avec la garde IsValid de G-B1a (COMMUN-2) |
origine (vu en U8-T5cr2) | etat/U58/U8/U8-T5cr2-VAL.md (requalification du 2026-10-11) |
| Gestionnaire de mods : textes longs (nom « Free Animations Pack (SoerGame, Fab ; mannequin UE5) », auteurs) qui débordent et masquent les flèches ▲/▼ ; demande utilisateur : agrandir la fenêtre, masquer (couper) le texte qui déborde, garantir que les deux zones ne se chevauchent pas — non prioritaire | ancien (5.5) | utilisateur 2026-10-09, etat/U58/U7/U7-SUIVI.md |
Atelier de mods : HairPipeline.ps1 -Step Inspect sans les champs "auto" du guide → message incompréhensible (« Nous ne pouvons pas lier l'argument au paramètre Path… », HairPipeline.ps1:215) au lieu de « champ diffuse manquant » ; valider le JSON en entrée — non prioritaire |
addon | U7-T16, 2026-10-09 |
Atelier : contrôle « dependances A VERIFIER » de Tools/HairMaterials.py faux positif en 5.8 (le registre ne renvoie que le squelette ; matériaux pourtant cuits et rendus, U7-T16) — non prioritaire |
addon / 5.8 | U7-T16, 2026-10-09 |
| Coiffure d'un mod décoché conservée par un personnage qui la porte (Jade) : comportement du contrat 5.5 (plugin toujours monté, doc 23 § 2.4), gardé en V2.0 ; à revoir (ex. retour à la coiffure par défaut) — non prioritaire | contrat 5.5 | utilisateur 2026-10-09 |
Accessed None d'origine acceptés sans correctif : ERR-089 (« F1 »), ERR-091 (« F2 »), ERR-094 (« F-A »), ERR-095 (« F-B »), ERR-096 (isSameAs, bruit accepté) ; ERR-090 (écart E-B1-1) supprimé par G-B1a. COMMUN-4 session 2 : 40 avertissements, tous de ces familles et de PersonCumming |
4.27 (ERR-091, ERR-094) ; 5.5 (ERR-089, ERR-095) ; ERR-096 d'origine | Registre_Erreurs.md (ERR-089 à ERR-091, ERR-094 à ERR-096) ; STE-H3f-DIAG.md, STE-H3h-DIAG.md |
ERR-097 : 378 avertissements chargen en une image à l'ouverture de BodyShapeMenu sans CharGen ouvert ; garde après l'alpha, précédée d'un dump |
d'origine | Registre_Erreurs.md (ERR-097) ; STE-H3i-DIAG.md |
| ERR-098 : gel de 34,2 s après une recherche sur tous les bâtiments (tri de ≈ 49 425 résultats ; 40,9 s en 5.5). Corrigé et validé en jeu : COMMUN-6 J12 « recherche globale très rapide », COMMUN-7 « recherche All rapide » | d'origine (5.5) | Registre_Erreurs.md (ERR-098) ; STE-GEL1-VAL.md, COMMUN-6-BILAN.md, COMMUN-7-BILAN.md |
C1 (ERR-105, ERR-111) : touche C et souris C1 mortes après CharGen en cours de partie (cause établie : SpaceOn laissé à faux) → B2r ; orientation de C1 figée (à côté de la tête après un lever, vue au plafond) → B2s ; COMMUN-7, L1 et L2 OK. Priorité de l'utilisateur : « injouable à cause de C1 » |
5.8 | Registre_Erreurs.md (ERR-105, ERR-111) ; CAM-COMMUN6-DIAG.md § 0, § 10 ; COMMUN-7-BILAN.md |
| Personnage assis qui disparaît de l'écran : ERR-125, bornes de rendu de la pose debout (→ B2q-a, B2q-b1 ; validé : COMMUN-9 P1 OK, COMMUN-10 Q6 OK) ; ERR-107, occlusion par un meuble (témoin T-occ, COMMUN-6 J6 : cas prouvé une fois ; évitement B2l après l'alpha) | 5.8 | Registre_Erreurs.md (ERR-107, ERR-125) ; STG-B2q-DIAG.md ; CAM-COMMUN5-DIAG.md |
| Caméra de scène et commandes pendant le sexe : ERR-108 (axe POV, corrigé, COMMUN-6 J7 OK), ERR-109 et ERR-112 (orbite, molette, Maj + souris, ZQSD, flèches). B2p-R / B2p-D : cas M1 à M8 OK en COMMUN-8, scène de sexe validée pour l'alpha par l'utilisateur | 4.27 (ERR-108, ERR-109) ; 5.8 (ERR-112) | Registre_Erreurs.md (ERR-108, ERR-109, ERR-112) ; COMMUN-8-BILAN.md |
ERR-123 : couple qui flotte au-dessus du lit. Mesure M1d en COMMUN-6 : lowestMinusUnder ≈ 1 cm, le couple touche le lit (J10 OK) ; défaut perçu non expliqué, aucun correctif demandé |
5.8 (estimé) | Registre_Erreurs.md (ERR-123) ; STG-C54-DIAG.md ; COMMUN-6-BILAN.md |
Couple et commandes pendant le sexe — traité, validé avec l'alpha : ERR-113 (couple hors de la pièce, sous le plancher) → B2p-E, B2p-F (murs Wall*, marge, pose libre de recouvrement), COMMUN-11 R1 à R3 OK ; ERR-114 (couple coincé dans un meuble) → B2p-F et G3 (NotifyCoupleTeleported), COMMUN-11 R5 OK, COMMUN-12 : 2 lignes de témoin, aucun KO rapporté ; ERR-100 (champ de filtre qui prend le clavier) → focus rendu à la vue, puis souris libre et panneau sur Alt (B2p-J). COMMUN-11 : R4 KO partiel (lit, pose sur des meubles) → B2p-H ; COMMUN-12 : glisser et rotation à la souris KO, Espace pris → B2p-J. L'utilisateur valide le comportement de l'alpha sur COMMUN-13 (16:00) |
5.8 (code récent) | Registre_Erreurs.md (ERR-113, ERR-114, ERR-100) ; COMMUN-10-BILAN.md ; CAM-COMMUN9-DIAG.md ; etat/BOSS/COMMUN-11-BILAN.md, COMMUN-12-BILAN.md, COMMUN-13-BILAN.md |
| ERR-099 : le champ « Translate » garde le focus, ZQSD est saisi dans le champ — mineur, après l'alpha | à établir | Registre_Erreurs.md (ERR-099) ; COMMUN-5-BILAN.md C5-6 |
| ERR-116 : murs, façades et murets traversables en extérieur (prix de S-F4b). Traité avant l'alpha pour la rue (collision complexe, COMMUN-6 J1 OK) ; autres extérieurs et variante fine après l'alpha (STG-POST1) | 5.8 | Registre_Erreurs.md (ERR-116) ; STG-COMMUN5-ANALYSE.md § 7 ; COMMUN-6-BILAN.md |
Après l'alpha : ERR-110 (caméra POV et caméra de scène dans les têtes), ERR-124 (boîte et bande vertes du couple : DrawDebugBox inconditionnel, retiré des builds Shipping, vérifié : pas de DrawDebugBox dans le Shipping de livraison (REL-ALPHA-T3-VAL.md) ; en Development il reste affiché) |
5.8 | Registre_Erreurs.md (ERR-110, ERR-124) ; BOSS-ETAT.md l. 93 |
| Mineurs non instruits : ERR-122 (PNJ debout dans un fauteuil), ERR-131 (animation d'un meuble qui reste sur le joueur après un changement de pièce ; accessoire mal attaché) | d'origine (estimé) | Registre_Erreurs.md (ERR-122, ERR-131) |
Décisions proposées (à valider)
| # | Proposition |
|---|---|
| S1 | Démarrage sur la branche ue5.8 non publiée (décision utilisateur du 2026-10-09 : aucune livraison avant la stabilisation et l'optimisation, U8 différé) ; référence de mesure de départ : le build Development 5.8 de U6 et son relevé etat/U58/U6/U6-T3-AB.md. |
| S2 | Parcours de mesure fixes : nouvelle partie (liste des villes) + Continuer (sauvegarde de référence Saved\SaveGames + Content\Saves), scène d'éditeur de personnage, une scène de couple ; build Development empaqueté (mémoire « mesure en build empaqueté »). |
| S3 | Classement par impact : (1) visible en jeu / plantage, (2) erreur au journal, (3) AccessedNone groupés par Blueprint et nœud, (4) avertissements récurrents. Un lot = une famille de causes, pas un bug isolé. |
| S4 | Critère de sortie : parcours S2 sans erreur inexpliquée ; AccessedNone restants listés avec justification ; aucune régression A/B. |
| S5 | Publication : aucune pendant la stabilisation ; la V2.0 est publiée par U8 après la sortie de ST et d'OB (porte utilisateur) ; des V2.0.x par lot ou groupe de lots ensuite seulement. |
| S6 | Retours joueurs : un registre unique (doc 21 ou nouveau) alimente les lots. |
| S8 | Bissection des modules (question utilisateur 2026-10-09) : mesure de base avec vin_Base seul et aucun mod d'assets ; puis réintégration un module à la fois (modules texte cochés par défaut, autres modules texte, puis les 3 mods d'assets recuits), même parcours S2 et LogStats à chaque ajout, toute erreur nouvelle attribuée au module ajouté ; passage final tout coché (défauts de combinaison). |
| S7 | Boucle MCP (demande utilisateur 2026-10-09) : plugin Epic « Unreal MCP » évalué puis utilisé en éditeur pour l'aide IA (lot STM) ; écriture par MCP seulement après instantané et tracée ; le build empaqueté reste la référence de mesure. |
Dépôts, outils, livrables
Jeu D:\Game\LifePlay-master 5.8 (branche ue5.8 → main à la publication U8) ; addon LifePlay-Sandbox-5.8. Outils :
Tools/Build.ps1, BuildDebug.ps1 (-NoUBA), LogStats.ps1, commandlets LP* (skill lp-commandlets).
Livrables : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\<lot>\ (voir etat/INVENTAIRE.md) ; CHG au journal ;
reports au registre de 21_Sandbox_Addon.md. Règle de méthode (lot DOCMV, CHG-300, 2026-10-10) : journal, registre, index
README.md, docs numérotées et correctifs\ dans D:\Game\LifePlay-master 5.8\Docs\ ; seuls les livrables de lot restent
dans Docs\Migration\etat\.
Méthode et outillage (pratiques de la communauté, recherche web 2026-10-09)
Principe : on ne corrige que ce qu'on a mesuré, sur build empaqueté, sur un parcours rejouable, et on revérifie sur
le même parcours. Outils existants du projet en premier (LogStats.ps1, commandlets LP*, LPTestStringCompat).
- Mesure reproductible. Parcours S2 fixes (sauvegarde de référence, mêmes étapes), build Development empaqueté
(Epic et les guides : les mesures en éditeur diffèrent nettement).
LogStatsavant / après chaque lot. - Accessed None. Le journal nomme Blueprint, propriété et nœud : regrouper par (Blueprint, nœud) puis chercher
POURQUOI la référence est vide (jamais affectée, Cast échoué, lecture avant création, ordre BeginPlay). Un garde
IsValidseul fait taire le message sans corriger : n'en mettre que si « vide » est un état normal, et le dire. Piège connu : un nœud AND évalue ses deux entrées, il ne protège pas une lecture d'objet nul ; préférer une brancheIsValid(ou « Validated Get ») avant la lecture. Correctifs Blueprint par commandlet tracé (méthode du portage 5.5). Arrêt sur exception en PIE (Epic) : préférence utilisateur « Blueprint Break on Exceptions » (section Experimental ; emplacement 5.8 à confirmer par la recherche des préférences) — l'éditeur s'arrête sur le nœud fautif avec pile d'appels et valeurs (fenêtre Watch, Execution Trace) au lieu d'une remontée du journal. Premier levier sur les ~364AccessedNone; le build empaqueté confirme ensuite le correctif. 2b. Défauts dans le temps (Visual Logger, Epic). Enregistrer l'état au fil de la session et le revoir après coup (fichier joignable à la fiche). Cas d'usage : personnages enfoncés dans la rue — tracer position, capsule et hauteur du sol trouvée, comparer un personnage sain et un fautif. Animation : Rewind Debugger + Animation Insights. 2c. Reproduction par commandes de triche. CommandesExecd'une sous-classe deUCheatManager(console active en Development, retirée en Shipping) pour atteindre directement une scène de couple, l'éditeur de personnage ou une ville : parcours S2 rejouables, base d'un futur scénario Gauntlet. Toute commande ajoutée = code de jeu, tracé (CHG). - À-coups.
t.HitchFrameTimeThreshold+DumpHitches(écrit chaque à-coup au journal),stat unitpour situer Game / Draw / GPU, puis trace Unreal Insights (canaux CPU + Frame,-statnamedevents, ~5 s autour de l'à-coup, signets) ; les fonctions Blueprint n'apparaissent qu'en « Blueprint Time » : ajouter des scopes de profilage C++ autour des appels suspects. - Mémoire / chargement.
memreport -full(significatif seulement en build empaqueté), trace-trace=memory,loadtime,file, Memory Insights (étiquettes LLM, fuites, allocations vivantes). - Plantages. Dossier
Saved\Crashes(journal, minidump.dmp, contexte XML) ; un minidump n'est exploitable qu'avec les PDB du même build : archiver les PDB de chaque build distribué (un dossier par numéro de build, à côté deReleases) et écrire le numéro de build en tête du journal, pour rattacher chaque retour ou plantage à son build ; pour Shipping, activer « Include debug files » ; ouvrir dans Visual Studio ou WinDbg (VS affiche les frames Blueprint dans la pile C++, Rare GDC 2023). Depuis UE 5.4, Epic ne reçoit plus les rapports des jeux empaquetés : les retours joueurs passent par notre registre (S6), journal et dossierCrashesjoints. Lesensureet erreurs non fatales n'atteignent pas le CrashReportClient :LogStatsles couvre. - Non-régression automatisée. Gauntlet (Epic) : lance le jeu empaqueté, pilote un scénario, analyse journaux
et plantages — candidat pour un test de fumée par build (démarrage, nouvelle partie, Continuer, éditeur de
personnage) ; séparer les échecs du banc de ceux du jeu (un plantage peut se cacher derrière une erreur générique du
banc, retour d'expérience 5.8 sur le MCP). Tests d'automatisation existants (
LPTestStringCompat) gardés. Data Validation (Epic) : règles sur les assets, en éditeur ou en ligne de commande (CI) ; ne détecte pas unAccessed Noneau jeu, mais peut refuser à la cuisson une référence obligatoire non renseignée. - Tri. Dédupliquer par pile d'appels / (Blueprint, nœud) ; trier par fréquence × impact ; chaque cas : build, étapes, journal ; pas de nouvelle fonctionnalité pendant un lot de stabilisation.
- Outils tiers (ex. « Unreal Test Kit » sur Fab : bot de jeu, rapports JUnit) : affirmations de vendeur non vérifiées ; évaluation à part avant tout usage.
Outil Epic par famille de défaut (recherche web 2026-10-09 ; un lot choisit son outil de preuve dans ce tableau) :
| Famille | Outil Epic | Règle d'usage |
|---|---|---|
Logique Blueprint, AccessedNone |
Blueprint Debugger (points d'arrêt, Watch, Execution Trace), Break on Exceptions | PIE pour trouver, build empaqueté pour confirmer |
| Comportement dans le temps (position, état, IA) | Visual Logger | enregistrement joint à la fiche |
| Animation | Rewind Debugger, Animation Insights, Pose Watch | plugin Animation Insights en éditeur seulement |
| À-coups, temps CPU | stat unit / stat game, DumpHitches, Unreal Insights |
Development empaqueté, -statnamedevents |
| Mémoire, chargement | memreport -full, Memory Insights, trace loadtime,file |
build empaqueté seulement |
| Invariants C++ | check / verify / ensure |
pas d'effet de bord dans check (non exécuté en Shipping) ; ensure = signalé une fois, continue |
| Plantages | CrashReportClient, minidump + PDB du même build | collecte par notre registre (S6) |
| Non-régression | Automation (dont CQTest), Gauntlet | test de fumée par build, échec = build non diffusé |
| Assets | Data Validation | refus à la cuisson d'une référence obligatoire vide |
- Assistance IA par MCP (demande utilisateur 2026-10-09) : l'IA pilote l'éditeur pour réduire les manipulations
humaines et tester l'interaction avec l'éditeur.
-
Établi (local) : UE 5.8 livre le plugin Epic « Unreal MCP » (
Engine/Plugins/Experimental/ModelContextProtocol, « Anthropic MCP (Model Context Protocol) server implementation for Unreal Engine », expérimental, désactivé par défaut) et « MCP Client Toolset » (bêta). Le projet a déjà.mcp.json→http://localhost:8000/mcp(adresse par défaut) ; la session Claude Code voit un serveurunreal-engineen échec de connexion tant que l'éditeur ne l'expose pas. Notre pluginMcpAutomationBridgeest désactivé pour V2.0 (D4) ; l'évaluation du MCP Epic était hors chemin critique (D7) : elle devient le lot STM. -
Outil de mise en place retenu (2026-10-09) : « Hyper AI Studio » (Games by Hyper, Fab, gratuit, sans compte ni activation, 5.8 seulement, documentation en ligne + doc Epic « Unreal MCP »), choisi parmi les outils Fab du compte (écartés : Unreal MCP Setup Assistant sans doc, NexusMCP doc complète en chinois, NarshaADK en accès anticipé, Log Viewer avec version Pro, BugSplat service en ligne). Installé dans le projet (
Plugins/Marketplace/HyperAIStudio, non commité) ; setup « Ready », endpoint127.0.0.1:8000/mcprépondant. Écarts corrigés à la main : 15 plugins Toolset activés sansTargetAllowList: ["Editor"](ajouté),Optionalretiré deMcpAutomationBridge(remis). Fichiers générés (CLAUDE.md,AGENTS.md,.hyperai/) exclus localement ; les skillslp-*priment sur leurs consignes. Instantané :LifePlay_Backup_5.5\STM. Erreur de démarrage de la sonde Automation corrigée dans notre code (ERR-054, CHG-260). -
Résultats STM-T2 à T4b (2026-10-09, CHG-262) : éditeur lancé hors écran (
-RenderOffScreen -ModelContextProtocolStartServer -ModelContextProtocolPort=8000),.uprojectnon réécrit, session Claude Code connectée (/mcp). Lecture :initialize88 ms, appels 8-16 ms ; ~50 toolsets ; 91 outils HyperAIStudio enregistrés sur 109, tous « source candidate » (préversion vendeur), aucun « admitted ». Testés et utiles : carte ouverte, journal en direct filtré (hyper_log_tail), état de débogage d'un Blueprint (hyper_blueprint_debug_inspect), relevé et diff stable (hyper_blueprint_snapshot/_diff), référenceurs (AssetTools.get_referencers). Écriture (T4,Content/BPs/TestStatic.uasset) : outils Epic (BlueprintTools.set_node_position,compile_blueprint,AssetTools.save_assets) → diff = 1 changement, retour arrière par MCP → diffidentical, puis fichier remis à l'octet pargit checkoutéditeur fermé (un réenregistrement 5.8 réécrit l'en-tête : 25 919 → 26 029 octets). Écriture par HyperAIStudio : inutilisable sous Windows — budget d'étape (ERR-055, contourné en validation par un patch ≥ 2 opérations) puis identifiant de projet SHA-1 refusé par l'étape d'application qui exige SHA-256 (ERR-056) ; décision utilisateur : ne pas patcher le plugin, défauts signalés au vendeur. -
Règles d'usage (mises à jour après T4c, 2026-10-09, CHG-266) :
- Rôles. HyperAIStudio lit et vérifie ; les outils Epic de l'éditeur (
editor_toolset.*) modifient. Pas d'écriture par HyperAIStudio (ERR-055, ERR-056). - Lecture d'un Blueprint. Charger l'asset par
AssetTools.load_asset(HyperAIStudio ne charge jamais) ; localiser parBlueprintTools.find_nodes, lire parget_connected_subgraph/get_node_infos(fiables) ;read_graph_dslrend vide sur les gros graphes ethyper_blueprint_snapshot/_diffrefuse les gros Blueprints (graph_source_bound_exceeded, ex.Person, 20 Mo) : les réserver aux petits Blueprints. - Écriture. Instantané (
Snapshot.ps1) ; modification parcreate_node/connect_pins/break_pins/delete_node; relecture des liaisons parget_node_infos;compile_blueprint+hyper_blueprint_debug_inspect(0 diagnostic) ;save_assets; puisCompileAllBlueprintséditeur fermé. Retour arrière à l'octet : instantané ou git, éditeur fermé (un réenregistrement 5.8 réécrit l'en-tête). - Correctif
Accessed None. Un gardeIsValidseulement si « vide » est un état normal, et l'écrire au CHG ; préférer des branches en cascade à un AND / OR (évalue toutes ses entrées) ; comportement inchangé exigé. - Preuve. La PIE pilotée par MCP ne déroule pas un parcours d'interface (menus, chargement de ville) : la
preuve qu'un
Accessed Nonedisparaît reste le build empaqueté +LogStatssur le parcours S2. - Volume. Appels paginés et filtrés ; éviter
hyper_capability_reportet lesdescribe_toolsetcomplets (75-116 Ko) ;hyper_log_tailignore le filtre de catégorie : préférer le journal sur disque (LogStats). - Copie partagée. Éditeur MCP, commandlets et builds s'excluent ; avant un usage de la copie 5.8, gel annoncé
à toutes les sessions actives (
ListAgents), pas seulement à celle du lot voisin (incident T4c : deux sessions ont écrit dansTools/et le journal pendant un gel annoncé à une seule) ; commit limité à ses propres fichiers et lignes. - Périmètre gratuit. Seule la partie gratuite de HyperAIStudio est utilisée (aucun contrôle de licence dans le plugin installé) ; l'offre payante Games by Hyper (« [Beta] Access to Hyper AI », palier EPIC et plus) sort des critères de sélection (toutes fonctions dès l'origine, sans limite de temps) : non retenue.
- Pas de serveur MCP supplémentaire. Les profils proposés par HyperAIStudio (ex. « Project Docs Filesystem
MCP » par
npx @modelcontextprotocol/server-filesystem) restent désactivés : doublon de l'accès fichiers de Claude Code, paquet téléchargé à chaque lancement, exposition du projet. Seulunreal-mcp(Epic) est utilisé. - Mesure. La mesure qui fait foi reste le build empaqueté.
Avertissements connus de l'éditeur 5.8 en culture française : 20
LogAutomationTest: Error: Condition faileddu test de fumée EpicUnifiedError::FactoryMethod(textes anglais attendus), présents avant HyperAIStudio. - Rôles. HyperAIStudio lit et vérifie ; les outils Epic de l'éditeur (
-
Recommandation pour la porte G-STM : adopter le MCP (
unreal-mcpd'Epic + HyperAIStudio gratuit en lecture) pour le tri et le diagnostic desAccessed Noneet pour les correctifs Blueprint petits et réversibles (preuve T4c : ~5 min du diagnostic à l'enregistrement, ~30 appels) ; ne pas souscrire à l'offre payante ; garderMcpAutomationBridgedésactivé (remplacé par le MCP d'Epic, retrait à trancher avec le chantier OB) ; inscrire les règles 1 à 10 dans les skillslp-*(STM-T5). -
Estimé (guides tiers, à vérifier en STM) : serveur local sans authentification (ne jamais l'exposer hors de la machine) ; appels d'outils exécutés en série sur le thread de jeu (attendre chaque résultat) ; commencer en lecture seule, n'autoriser que des modifications petites et réversibles. Un plantage de l'éditeur peut apparaître côté client comme une simple erreur HTTP 502 (retour d'expérience 5.8) : surveiller le processus et le journal de l'éditeur en parallèle. Des serveurs tiers existent (StraySpark, ziggymar, ChiR24) : non retenus sans évaluation.
-
Usages visés : lecture des graphes Blueprint fautifs d'un
Accessed None(nœud, variable, ordre d'affectation) sans export manuel ; requêtes du registre d'assets et des références (preuve d'usage pour OB) ; lancement de commandlets / validation de données ; PIE scripté et captures pour un premier tri avant le build empaqueté ; application de correctifs Blueprint réversibles après instantané. La mesure qui fait foi reste le build empaqueté (S2) ; MCP n'en dispense pas. -
Garde-fous : éditeur de la copie 5.8 seulement ; instantané (
Snapshot.ps1) avant toute écriture par MCP ; chaque modification par MCP tracée (fiche, CHG) comme une modification manuelle ; plugin MCP activé en éditeur uniquement, jamais dans un paquet (vérifierType/plateformes du.upluginet la liste des plugins cuits) ;.mcp.jsonet.claude/jamais commités (règlelp-paths).
-
Sources : Gauntlet (Epic) · Data Validation (Epic) · Stat commands (Epic) · Memory Insights (Epic) · Unreal Insights après stat (guide) · Optimisation à petit budget (T. Looman) · Accessed None (guide) · Accessed None (forum Epic) · Minidumps (guide) · Plantages éditeur / Shipping (AccelByte) · Plantage d'automatisation caché, MCP 5.8 (forum Epic) · Unreal Test Kit (forum, vendeur) · Asserts (Epic) · Blueprint Debugger (Epic) · Break on Exceptions (réf. API 4.26) · Visual Logger (Epic) · Rewind Debugger (Epic) · Crash reporting (Epic) · Cheat Manager (Unreal Garden) · Tests automatisés, Sea of Thieves (Unreal Fest 2019) · Rare, débogage UE5 dans Visual Studio (GDC 2023) · Hyper AI Studio (doc vendeur) · Unreal MCP in Unreal Editor (Epic). MCP : Unreal MCP dans UE 5.8, configuration et sécurité (guide SEELE, FR) · Unreal MCP Server (StraySpark, tiers) · unreal-mcp (ziggymar, tiers) · Unreal_mcp (ChiR24, tiers) · ue-mcp (db-lyon, tiers). Niveau de preuve : documentation Epic = établi pour la fonction de l'outil ; guides tiers = estimé ; vendeurs = non vérifié.
Lot préalable : STM — boucle MCP (prévu après la V2.0 ; mené le 2026-10-09 avant toute livraison ; reste T5)
État au 2026-10-09 (SEQ1) : T1 à T4c faits (CHG-260, CHG-262, CHG-263, CHG-266), T4b bloqué, T5 seul en attente. Aucune livraison n'ayant lieu avant la stabilisation et l'optimisation (décision utilisateur du 2026-10-09, plan 27 § U8), la porte G-STM n'est liée à aucun Shipping : elle se tient quand l'utilisateur le décide, avant STA.
- STM-T1 (N1, web d'abord) : doc Epic et notes 5.8 de « Unreal MCP » (outils exposés, réglages, sécurité, limites). Fait (§ Méthode, point 9 : outil HyperAIStudio retenu, CHG-260).
- STM-T2 (N0 + utilisateur) : activer le plugin dans l'éditeur de la copie 5.8 (instantané du
.uproject), lancer l'éditeur, connexion depuis Claude Code (.mcp.jsonexistant), journal de démarrage. Fait (CHG-262). - STM-T3 (N1) : fait (CHG-262) ; batterie en lecture seule (lister des assets, lire un Blueprint connu, interroger le registre, lancer un commandlet inoffensif), mesures de latence et de stabilité ; preuve par l'échec : comportement si l'éditeur tombe (erreur côté client, détection).
- STM-T4 (N3) : un correctif Blueprint réversible de bout en bout par MCP (instantané → modification → compilation BP → contrôle → retour arrière à blanc). Fait (outils Epic, CHG-262) ; T4b (écriture par HyperAIStudio) : bloquée par ERR-055 / ERR-056, plugin non patché (décision utilisateur).
- STM-T4c (2026-10-09, CHG-263) : efficacité sur un cas réel. Correction faite :
Accessed None … property ContactMenu(63 par session au parcours U6, 2e famille) dansPerson_C:UpdateDailyPose(appelé parCity.LoadCity→GI.MoveCity). Cause :Branch(OR(secondScreen, GI.ContactMenu.DummyPerson == self))— le OR évalue ses deux entrées et litDummyPersonalors que le menu de contacts n'existe pas encore au chargement de la ville. Correctif (« vide » est un état normal ici, d'où le garde) :Branch(secondScreen)→ sortie si vrai ; sinonBranch(IsValid(GI.ContactMenu))→ vrai : branche d'origine sur l'égalité ; faux :Switch(même chemin que l'égalité fausse) ; OR supprimé. Comportement identique, lecture protégée. Outils : Epic (find_nodes,get_connected_subgraph,create_node×3,break_pins×2,connect_pins×8,delete_node,compile_blueprint,save_assets) ; contrôleget_node_infos+hyper_blueprint_debug_inspect(39 nœuds, compilé, 0 diagnostic) ;CompileAllBlueprintscode 0, 0 erreur, 0 avertissement. Temps : ~1 min de démarrage de l'éditeur, ~5 min du diagnostic à l'enregistrement, ~30 appels MCP. Preuve en jeu (U8-T5c, CHG-276) : PASS avec réserve — archive Development U8 (cuisson complète U8-T3), même sauvegarde DC4 que U6 : 0 ligneContactMenu(U6 : 63 événements + 2 du résumé), 15 SPAWN,MoveCityexécuté par Continuer ; réserve : les chemins d'origine en U6 (CheckIfReachedFnt20,Room_C20,DressSavedActualActual8…) ne journalisent rien quand ils réussissent, absence non circulaire seulement pourMoveCity(estimé). Texte d'origine : reste à prouver en jeu (build empaqueté Development,LogStats:ContactMenu63 → 0 attendu, parcours STA-T1 ; U8 différé, SEQ1). Limites relevées :read_graph_dslrend une chaîne vide sur ce graphe ;hyper_blueprint_snapshotrefusePerson(graph_source_bound_exceeded, Blueprint de 20 Mo, 134 graphes) ;hyper_log_tailignore le filtre de catégorie (réponse lourde) ; la PIE pilotée par HyperAIStudio (hyper_playtest_run) ne sait pas dérouler un parcours d'interface (menus, chargement de ville) : la capture en PIE d'unAccessed Nonede ce type n'est pas faisable par MCP seul. - STM-T5 (orchestrateur + utilisateur) : en attente (recommandation écrite, § Méthode point 9, CHG-266) ; décision — MCP Epic adopté,
McpAutomationBridgeretiré ou gardé (lien OB), règles d'usage inscrites dans les skillslp-*; porte G-STM.
Lot d'audit proposé (phase 1) : STA (lecture seule + mesures)
- STA-T1 (N1) : parcours S2 enregistrés,
LogStatsdétaillé ; STA-T2 (N3) : classement desAccessedNoneet erreurs par Blueprint / nœud / cause probable ; STA-T3 (N1) : registre des défauts visibles (captures, étapes) ; STA-T4 (N4) : effort et risques par famille, ordre recommandé → porte G-ST. - Découpage (SEQ1, 2026-10-09, règle de taille du plan 27) : STA-T2 devient STA-T2a (N0, extraction des signatures
par
Tools/LogStats.ps1 -Pattern, comptes bruts), STA-T2b- (N3, une fiche par famille de Blueprint, une hypothèse de cause par fiche) et STA-T2c (N1, consolidation des comptes rendus) ; STA-T4 ne lit que les comptes rendus de T1 à T3, pas les journaux. - Lot d'essai des gabarits (TPL1, 2026-10-09) : fiches d'entrée au gabarit de
sk-orchestrate§ 3, livrables aux gabarits de rôle delp-doc/gabarits.md, registreetat/ST/STA/STA-TACHES.md, mesures parpython -I Tools/FicheStats.py --lot STA. Comparaison à U0–U7b (Tools/FicheStats.py --lot U<n>, doc 31) à l'EVAL de STA : part des fiches hors budget (U7 : 6 sur 16), reprises, sections de gabarit manquantes relevées à la réception, longueur des comptes rendus. Gabarits gardés si ces indicateurs baissent sans reprise de plus ; sinon allégés.
Point d'étape du 2026-10-10 (lots STB, STC, STD, STE, STF, OBB, ETAT3)
Synthèse écrite par ETAT3-T6 à partir des registres et livrables de lot (chemins relatifs à etat/) ; un registre de lot
n'est pas une preuve : chaque ligne renvoie au livrable. Causes et statuts : Registre_Erreurs.md, ERR-058 à ERR-086
(table cause → ERR : etat/DOC/ETAT3/ETAT3-T6-DOC.md).
- STB (corrections après G-ST), clos : 12 correctifs, CHG-281 à CHG-292 (GI : BeautyStandards, tableaux lus sans test,
clearScenePersons,determinePersonVars, Interacting ; Person :standIdle, Headtrack,assignHome; MainMenu ; StreetMap_Static ; Room ; SexInterface ; garde C++ MapMarkers), précédés de STB-T0 (CHG-280, noms d'événements dansLPDumpFunction). VAL PASS (ST/STB/STB-VAL.md§ 5 :CompileAllBlueprints418 / 418, 0 erreur, 0 avertissement ;LPTestStringCompat3120 / 0 / 60). Preuve en jeu STB-JEU acceptée avec réserve (ST/STB/STB-JEU-VAL.md§ 5) : signatures visées à 0,Floats_330 contre 1 107 sur la contre-épreuve U8 ; réserve : familles nouvelles du moteur de scènes ni attribuées ni exclues faute de parcours identique. Régression ERR-057 (réglages écrasés à l'ouverture du menu) causée par CHG-286, retirée par CHG-294 ; R13 / R14 rouverts (ERR-068). Évaluation :ST/STB/STB-EVAL.md. - Porte G-STM adoptée par l'utilisateur (2026-10-10) : règles d'usage du MCP inscrites dans le skill
lp-mcp, STM-T5 faite (ST/STD/STD-TACHES.md:7). - STD (diagnostics, lecture seule), clos : trois DIAG acceptés.
ST/STD/STD-GIX-DIAG.md: R06 et R07 / R08 défauts d'affectation d'origine (4.27), R10 None normal ;ST/STD/STD-SCN-DIAG.md: familles F1 à F5 du moteur de scènes, aucune ne vient de STB (F1, F2, F3, F5 préexistantes en 5.5 DC4, F4 préexistante en 5.8 avant STB) ;ST/STD/STD-TXT-DIAG.md(partiel) : texte pâle de CharGen identique en 5.5, cause probable : aucune couleur de texte fixée. Décisions utilisateur (ST/STD/STD-TACHES.md:16-23) : gardes simples pour R06, R07 / R08 et R10 ; deux lots H2 (F4) et H3 (F1 / F3) ; texte noir sur deux widgets de CharGen ; exécution par le lot STE. - STE (correctifs après STD), planifié : 7 fiches (
ST/STE/STE-TACHES.md, ce registre fait foi sur celui de STD) : STE-D, STE-GI, STE-TXT « fiche écrite » ; STE-H3, STE-H2, STE-VAL, STE-JEU « à écrire ». Départ après le commit des fichiers de STC et la fin de son gel. Cibles au registre : ERR-062, ERR-063, ERR-065 (STE-GI), ERR-082 à ERR-084 (STE-H3), ERR-085 (STE-H2). - STC (lot UI : vitesse caméra en slider, durée des scènes protégée) : d'après
ST/STC/STC-TACHES.md, T0 à T6 faites ou acceptées, STC-VAL acceptée, PASS (V1 build 0 / 0, V2 418 / 418, V3 3120 / 0 / 60) ; restent V8 (archive) et J1 (preuve en jeu) ; CHG annoncéCHG-296(« à venir »), pas encore au journal ; fichiers du lot non commités à cette date. - STF (12 autres SpinBox de MainMenu), en attente : STF-T0 faite, SPEC écrite en attente de la clôture de STC et du feu
vert (
ST/STF/STF-TACHES.md). - OBB (bloquants de publication) : OBB-T6 acceptée (
OB/OBB/OBB-T6-INV.md) : L1 = la V1.5 publiée ne contient pas l'addon, L2 =TargetConfigurationDenyListlu par le moteur et UBT 5.8 ; décision utilisateur : clé de CHG-279 conservée, B2 clos ; OBB-T3 (B3, contrôles de paquet : CHG-301) et OBB-T1 (B1,.gitdeContent\Moduleshors de l'arbre : CHG-304, CHG-307) faits ; OBB-T7 fait : Shipping 5.8 neuf, 4 contrôles de paquet à 0, B1 à B3 prouvés (CHG-308). - ETAT3 (CHG-297) : depuis le 2026-10-10, les livrables de lot vivent dans
D:\Game\LifePlay-master 5.8\Docs\Migration\etat\(texte.md/.csvsuivi par git, le reste local) ; l'etat\de la copie 5.5 est une archive figée, saufetat\REPO\(réservationsNUMEROS.md, tickets et journal du gardien). Registre du lot :DOC/ETAT3/ETAT3-TACHES.md. - DOCMV (CHG-300) : décision utilisateur du 2026-10-10 (« Déplacer dans Docs\ ») ; journal, registre, index
README.md, docs 01-32 etcorrectifs\montés deDocs\Migration\àDocs\(41 renommages git) ;Docs\Migration\ne garde queetat\; skills, agentlp-writer,CLAUDE.mdet outils mis aux nouveaux chemins. Registre du lot :DOC/DOCMV/DOCMV-TACHES.md.
Point d'étape du 2026-10-14 (alpha 2026.10.2.1a, livrée)
Synthèse écrite à partir des registres de lot et des bilans d'essai (chemins relatifs à etat/) ; un registre n'est pas une
preuve : chaque ligne renvoie au livrable. Objectif de l'utilisateur (2026-10-13) : build alpha 2026.10.2.1a, Shipping seule,
remise au plus tard le 2026-10-18. Décisions de l'utilisateur : poursuivre les corrections avant l'alpha ; gel des scènes de
sexe levé (BOSS/COMMUN-6-TESTS.md) ; ZQSD pour la caméra, flèches pour le couple, glisser-déposer (CAM/CAM-B2p-SPEC.md) ;
bonus d'orgasme affiché au même emplacement que chez l'auteur (ST/STE/STE-ORG5-I2-SPEC.md) ; priorité à C1
(CAM/CAM-COMMUN6-DIAG.md § 0) ; façades de la rue avant l'alpha (ST/STG/STG-TACHES.md) ; « bien on valide la scene de sexe
dans son ensemble pour l'alpha » (11:06, BOSS/COMMUN-8-BILAN.md) ; « bien je valide le comportement de l'alpha. Prépares la
build de livraison » (16:00, BOSS/BOSS-JOURNAL.md) ; « Lettre acceptée » pour la version (REL/ALPHA/REL-ALPHA.md).
- Essais communs. COMMUN-1 à COMMUN-13 construites (CheckPackage PASS) ; bilans
BOSS/COMMUN-2-BILAN.mdàCOMMUN-13-BILAN.md; COMMUN-13 (T1 à T8 OK, validés en bloc) ; un plantage GPU à la fin de l'essai, hors scène, cause extérieure estimée (ST/STG/STG-COMMUN13-GPU-DIAG.md), cité dans les défauts connus des notes de version. - STE. H3d, H10, GEL1 PASS en jeu ; G16 PASS statique ; O4a, O4c et ORG5 (récompenses et affichage) validés
(COMMUN-8) ; G3 compilée, 2 lignes de témoin en COMMUN-12 ; garde
chargenaprès l'alpha. - STG. Enfoncement, chevauchement, marche animée : voir ERR-115, 118, 121 ; façades de la rue solides ; C7-a, B2q-b1, S-F5m / n / p, M-Z validés en jeu (COMMUN-8 à 10).
- CAM. C1, C2, corrections B2f à B2s, pendant le sexe B2p-R à B2p-J (cycle Scene, C3, POV ; couple borné dans la pièce ; panneau sur Alt ou clic molette ; icône d'aide) ; B3 (vue plafonnier) non faite.
- REL. Garde de sauvegarde : E1 à E4, E6, E9 OK ;
LPModGuardaccepte une lettre finale ; Shipping4a9bbdb3, archiveLifePlay_Revival_2026.10.2.1a_Windows_Game.7z(SHA-25689ed211d…), 4 zips de mods, notes de version et annonces ; 32 builds obsolètes (59,24 Go) envoyés à la corbeille de Windows. - Hors alpha. P7-H2 (crochet
ecriture-gardien) : v1 69 / 69 mais VAL FAIL, v2 partielle, rien installé. EVAL-FAB-1 à 4 : contenus Fab négatifs. Après l'alpha : B3, POV de scène dans les têtes, STG-POST1 et POST2, B2q-b2 à b4, garde STE-H3i, fauteuil,Content\Saveshors du dossier de sauvegarde.