LifePlay-Revival/Docs/Migration/etat/REF/REF1/REF1-CART-01.csv
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

20 KiB

1idenoncedoc_lignecategoriestatut
2C1-001Le dossier Content/Modules doit rester en fichiers nus a cote de l'executable (DirectoriesToAlwaysStageAsNonUFS=Modules) car le jeu le lit par FFileHelper et non par le systeme de paquets, les mods communautaires en dependent.01 §1 l.38-41PRODen vigueur
3C1-002Aucune cle de gameplay dans les .ini ni DataTable: toute la donnee de jeu est du texte sous Content/Modules (.lpmod .lpstat .lpaction .lpscene .lpai .lpquest .lptalk .lpdesc .lpcharacter .lpworld) lu a l'execution via ModdingExtra (LoadTxt/SaveTxt/GetAllFilesFromFolder).01 §1 l.17-26PRODen vigueur
4C1-003A chaque montee de version moteur, verifier les appels Blueprint dont la signature a change sans erreur de compilation (ex. GetAssetsByClass FName vers FTopLevelAssetPath perd la valeur de classe), mesurer l'effet au lieu de se fier au compilateur.01 §6 l.168OPEen vigueur
5C1-004Cible moteur, Target.cs (BuildSettingsVersion.V5, Unreal5_5) et chemins d'outils decrits pour UE 5.5, le moteur et les outils actuels se lisent dans Tools/Engine.ps1 et le doc 27 (UE 5.8).01 §8 l.185-188OPEremplacée par 27 (plan UE 5.8) et Tools/Engine.ps1
6C1-005Ne jamais mesurer l'execution avec UnrealEditor.exe -game (affichage des personnages casse), seules des builds empaquetees Development de meme configuration sont comparables.02 §6 l.133-134OPEen vigueur
7C1-006Regenerable apres sauvegarde: Intermediate, Binaries, Saved/Cooked, StagedBuilds, Crashes, Autosaves, a conserver: .claude/, .mcp.json, .editorconfig, .gitignore, Saved/Backups, SaveGames, Saved/Logs/portage, D:\DDC.02 §8 l.160-176OPEen vigueur
8C1-007La build de reference 4.27 et l'arbre LifePlay-master 4.27 sont gardes comme references intactes (jamais modifies), ils ont ete remises sous LifePlay_Backup_5.5\ARCH427 (CHG-332) et la reference de comportement est devenue le build 5.5 valide.02 §8 l.175-176PRODremplacée par 10 §1 l.24-28 (note U58)
9C1-008Aucun lot n'est valide sans ses tests de sortie, un test en echec entraine le retour arriere du lot puis une analyse, resultats au journal CHG et defauts au registre ERR.03 preambule l.5-7ORGen vigueur
10C1-009Regles de mesure: pas d'editeur -game, comparer des builds empaquetees de meme configuration (Development, Shipping ne journalise pas), verifier que les deux journaux atteignent le meme point, normaliser par nombre de personnages, recouper tout ecart par un second comptage.03 §2 l.30-37OPEen vigueur
11C1-010Le test T-STAT-04 controle que la reference 4.27 est inchangee (CheckIntegrity -Ref427), la reference 4.27 etant abandonnee pour 5.8, ce controle n'a plus d'objet.03 §3.1 l.48OPEremplacée par 10 §1 l.24-28 (reference = build 5.5 DC4)
12C1-011Compilation editeur: Build.bat LifePlayEditor Win64 Development -Project=... -WaitMutex, critere code 0, 0 erreur, 0 nouvel avertissement (jeu: LifePlay Win64 Development).03 §3.2 l.55-56OPEen vigueur
13C1-012Controle de cuisson T-PKG-01: au moins 8555 .uasset sous Windows/LifePlay/Content de la build (8561 attendus), un chiffre plus bas signale des assets charges par chemin non cuits.03 §3.4 l.76OPEen vigueur
14C1-013Le packaging de test s'ecrit RunUAT BuildCookRun ... sans -pak (fichiers nus comme la version de l'auteur).03 §3.4 l.70-72OPEcontradictoire avec 08 §4 l.105 et 11 §13 l.349 (IoStore compresse depuis O2)
15C1-014Non-regression A/B: meme scenario sur build de reference et build courante, Tools\LogStats.ps1 -Compare produit le tableau normalise, trace des E/S de donnees activee par -LogCmds=LogModdingExtra Verbose, chercher les marqueurs ===== LifePlay dans le journal.03 §3.5 l.86-99OPEen vigueur
16C1-015Scenario de reference T-RUN-04: nouvelle partie, 3 actions de lieu avec PNJ generes, sauvegarde TestV1, relance, chargement, copier le journal vers Docs/Migration/etat/<projet>/<lot>/ (dossier donne par Tools/EtatDir.ps1).03 §4 l.101-109OPEen vigueur
17C1-016Retour arriere: git checkout lot-XX-avant -- chemins ou git revert pour les fichiers suivis, Tools\Restore.ps1 -Lot XX (-WhatIf, -Only) pour tout fichier sauvegarde par Snapshot, puis relancer les tests statiques et la compilation et consigner un CHG d'annulation.03 §5 l.113-120OPEen vigueur
18C1-017Outils de base: Tools/Snapshot.ps1 (sauvegarde avec manifeste MD5), Restore.ps1, AssetHeaders.ps1, CheckIntegrity.ps1, LogStats.ps1, RunCommandlet.ps1 (journal archive par lot), ReimportCorrectif.ps1, DiffRemplacementNoeuds.py.03 §7 l.138-147OPEen vigueur
19C1-018Le catalogue annonce 24 commandlets LifePlayEditorTools actifs.03 §7 l.148OPEremplacée par 08 §5.2 l.143-154 (16 commandlets de correction retires en U2)
20C1-019Un lot tient en une session, a un objectif mesurable, des tests d'entree et de sortie et une procedure de retour arriere, un lot qui deborde est coupe (valide commite, reste devient un autre lot).04 preambule+§2 l.5-7 et l.46-47ORGen vigueur
21C1-020Sequence d'un lot: tests du lot precedent au vert, git tag lot-XX-avant, Tools\Snapshot.ps1 -Lot XX sur tous les fichiers vises (y compris hors git), modification, tests de sortie, CHG puis commit et tag lot-XX-apres.04 §2 l.37-45ORGremplacée par skill lp-lot et 32 (cf. 08 l.5), le commit/tag etant fait par le gardien
22C1-021Les fichiers sont mis de cote (deplaces vers LifePlay_Backup_5.5\<lot>\_purge) et jamais supprimes lors des purges de dossiers regenerables.04 §3 L2 l.85-87OPEen vigueur
23C1-022AndroidFileServer recree sa section dans DefaultEngine.ini a chaque lancement: le traiter en desactivant le plugin dans le .uproject plutot qu'en editant l'ini.04 §3 L1 l.70-74PRODen vigueur
24C1-023Lot SAV1 decide non commence: dossier de sauvegardes propre a Revival (reprise par copie jamais deplacement, nom du dossier, compatibilite 4.27, essai nouvelle partie/Continue/Load).04 §6 l.192-194PRODen vigueur
25C1-024Chaque correctif de contenu est reimporte seul (un sous-lot = un commit) avec: tag, Snapshot, dump avant (LPDumpFunction -Pins), simulation -DryRun dont le compte egale l'attendu, application, dump apres et diff, CompileAllBlueprints + LPCheckMeshAssignment, A/B si gameplay.05 §3 l.58-69OPEen vigueur
26C1-025Les commandlets de correction citees dans les correctifs CX-B (LPFix*, LPConvertAtmosphericFog) sont decrites comme outils utilisables.05 §2 l.42-54OPEremplacée par 08 §5.2 l.143-154 (retires en U2, historique git tag U2-avant)
27C1-026Apres validation par l'utilisateur en jeu, l'analyse du journal (archive sous Saved/Logs/portage), le controle de Saved/Crashes et la recherche SaveGameToSlot/LoadGameFromSlot constituent la preuve de validation d'une version.06 §3 l.37-43OPEremplacée par 10 §4 l.100-113 (forme generale)
28C1-027Principe directeur: les Blueprints de gameplay restent ceux de 4.27, tout ecart de comportement moteur se corrige soit en rebranchant des noeuds vers une fonction C++ de compatibilite, soit par un sous-systeme C++ agissant a l'execution sans toucher aux assets.07 §1 l.37-40PRODen vigueur
29C1-028Le tableau des commandlets (analyse, correction de graphes, correction de cartes) liste 24 outils dont LPFix*.07 §2.2 l.62-74OPEremplacée par 08 §5.2 l.143-154
30C1-029LPFixDeprecatedNodes ne doit plus etre utilise (sa variante R-03 aggrave ERR-002, R-04 remplacee par LPFixNavRandomPoint).07 §2.2 l.76-78OPEremplacée par 08 §5.2 l.153 (retire en U2)
31C1-030McpAutomationBridge est limite a l'editeur (TargetAllowList Editor) et ne se publie jamais car il contient un jeton, AndroidFileServer reste desactive.07 §2.3 l.88-89PRODen vigueur
32C1-031Config: DirectoriesToAlwaysCook=/Game obligatoire (assets charges par chemin texte, sinon 3257 paquets cuits au lieu de 8561), rendu explicite (GI 0, SSR, VSM 0, DX12) et r.AntiAliasingMethod=2 (TAA).07 §3 l.95-100PRODen vigueur
33C1-032Le tableau de config indique DefaultGame.ini UsePakFile=False inchange (fichiers nus).07 §3 l.96PRODcontradictoire avec 11 §13 l.349-350 et 08 §4 l.105 (IoStore/Oodle depuis O2)
34C1-033Lecon: une propriete serialisee en delta prend silencieusement la nouvelle valeur par defaut du moteur et une fonction de chaine peut changer de semantique sur les cas limites, comparer les sources moteur sur ces cas avant de conclure (test LPTestStringCompat).07 §4 l.122-124OPEen vigueur
35C1-034Le sous-systeme LPSessionLog n'altere aucun message existant, il ajoute le resume de demarrage, le bilan de session (commande console LifePlay.LogSummary) et les options -LPDump*/-LPTrace* inactives par defaut.07 §5 l.126-139OPEen vigueur
36C1-035Moteur, projet, dossiers de sortie viennent d'un point unique, Tools/Engine.ps1 (dot-source: $LPEngineRoot, $LPProject, $LPBuildRoot, version lue dans le .uproject, surcharge $env:LP_ENGINE_ROOT).08 §1 l.6 et l.14OPEen vigueur
37C1-036Compilateur indique: Visual Studio 2022, MSVC 14.38, SDK 10.0.22621 (la chaine 5.8 est renvoyee au doc 27).08 §1 l.15OPEremplacée par 27 (chaine 5.8) et skill lp-env
38C1-037La reference de comportement est le build 5.5 valide D:\Game\LifePlay_Build_5.5_DC4, sauvegardes de lots dans D:\Game\LifePlay_Backup_5.5\<lot>\, cache D:\DDC a conserver.08 §1 l.17-20PRODen vigueur
39C1-038Jamais versionnes: Content/Heavy (archive 7z de publication), Plugins/McpAutomationBridge, .mcp.json, .claude/ (jeton), Saved/Logs/portage.08 §2 l.32-41OPEen vigueur
40C1-039Ne jamais deplacer ni renommer les dossiers Content/Heavy (New, New2, Clothes4, StreetMap, Daz...): leurs prefixes sont ecrits en texte dans les Blueprints et 17 chemins de Modules, collection LifePlay_Chemins_Fixes et Tools/BuildCollections.py.08 §2.1 l.45-75PRODen vigueur
41C1-040Content/Saves doit exister mais rester vide dans le depot et l'archive, les parties de test de l'editeur vont vers LifePlay_Backup_5.5\O7\Content_Saves.08 §2.1 l.80-81PRODen vigueur
42C1-041Fermer l'editeur avant de compiler (Live Coding actif bloque UBT), critere 0 erreur et aucun nouvel avertissement.08 §3 l.91-95OPEen vigueur
43C1-042Empaquetage: RunUAT BuildCookRun avec -clientconfig=Development pour toute mesure et Shipping pour la distribution, contenu en IoStore, Modules en fichiers nus, builds de plongee via Tools\BuildDebug.ps1 sans jamais -nodebuginfo.08 §4 l.97-110OPEen vigueur
44C1-043Lancement d'une commandlet: UnrealEditor-Cmd.exe projet -run=Nom options -unattended -nopause -nosplash, ou Tools\RunCommandlet.ps1 qui archive le journal, editeur ferme pour toute commandlet qui ecrit des assets.08 §5 l.124-126OPEen vigueur
45C1-044Les 16 commandlets de correction du portage sont retires depuis U2 (tag U2-avant), leurs correctifs sont appliques au contenu.08 §5.2 l.143-154OPEen vigueur
46C1-045Choix de la forme d'un correctif: fonction C++ de compatibilite aux memes broches, enrobage pur, ou UGameInstanceSubsystem avec FTSTicker (preferer le sous-systeme: aucun asset modifie, retour arriere = retirer deux fichiers).08 §6.1 l.164-175OPEen vigueur
47C1-046Commandlet de rebranchement: compter par -DryRun, relever liaisons et valeurs avant, reporter broche par broche, comparer apres (tout ecart laisse le noeud et le Blueprint non sauvegarde), puis diff independant par DiffRemplacementNoeuds.py.08 §6.2 l.177-193OPEen vigueur
48C1-047Diagnostic: mesurer sur build Development empaquetee, comparer au build de reference sur un parcours identique avec LogStats -Compare, options -LPDump*/-LPTrace* via un .bat place a cote de l'executable, performance via Tools\BuildDebug.ps1 et 18_Build_Debug.md.08 §7 l.211-224OPEen vigueur
49C1-048Inspection directe de l'editeur par McpAutomationBridge (serveur MCP port 3000) en lecture seule, toute modification passant par une commandlet versionnee.08 §7 l.226-228OPEcontradictoire avec CLAUDE.md et skill lp-mcp (unreal-mcp d'Epic port 8000, ecriture seulement sous instantane et fiche)
50C1-049Publication: compte GitHub edujiro5972 (gh auth status), identite de commit noreply, jamais publies: e-mail personnel, .mcp.json, .claude/, McpAutomationBridge, SecurityToken, Content/Heavy, binaires, png/7z/mp4, archive 7z avec SHA-256 dans le README.08 §8 l.232-238PRODen vigueur
51C1-050Un tag <lot>-valide est pose par lot valide en jeu, ainsi que v1.0, v1.1.08 §8 l.239DOCremplacée par skill sk-repo/lp-repo (tags de lot poses par le gardien)
52C1-051Piege PowerShell: un argument contenant virgule ou point apres = se met entre guillemets (-Offset=0,-10000000,0), sinon la commandlet recoit une valeur fausse.09 preambule l.15-17OPEen vigueur
53C1-052Apres compilation sans l'addon, UBT reutilise un Makefile.bin sans les modules de l'addon: deplacer (pas supprimer) les Makefile.bin Win64d\LifePlayEditor et \LifePlay avant de recompiler avec l'addon.09 §2 l.45OPEen vigueur
54C1-053Les commandes RunUAT avec -createreleaseversion se lancent via cmd /c ou un .cmd (la version serait coupee), mod d'assets cuit contre la version de reference par Tools\BuildMod.ps1 -Name <Nom>.09 §3 l.73-80PRODen vigueur
55C1-054Ne jamais lancer le CSV Profiler avec -csvCaptureFrames (arret avant l'init RHI), utiliser -ExecCmds=csvprofile repeat=20, csvprofile frames=9000.09 §4 l.167-168OPEen vigueur
56C1-055Sauvegarde et retour: git tag <lot>-avant, Tools\Snapshot.ps1 -Lot <lot> -Path ..., Tools\Restore.ps1 -Lot <lot> [-WhatIf] [-Only chemin] (versions remplacees conservees), git checkout <lot>-avant -- Source Config.09 §6 l.189-198OPEen vigueur
57C1-056Liste de controle de publication: ProjectVersion annee.mois.compteur dans DefaultGame.ini, Get-StrayMods vide (aucun mod monte), build Shipping et version de reference dans un dossier neuf, Releases ne garde que la version publiee, README avec lien du guide de mods.09 §7 l.209-228PRODcontradictoire avec README racine alpha 2026.10.2.1a (format de version a quatre segments, CHG-361)
58C1-057Principes d'operation: documentation d'abord, lots bornes, un correctif = un sous-lot = un commit, tout trace (CHG-NNN au journal avec retour arriere, ERR-NNN au registre), tout reversible (tag + Snapshot, aucune suppression sans copie).10 §1 l.13-21ORGen vigueur
59C1-058Le dossier D:\Game\LifePlay-master 4.27 fait foi et n'est jamais modifie, pour 5.8 la reference de comportement est le build 5.5 valide (lire 4.27 comme build 5.5 DC4), 4.27 remise sous ARCH427.10 §1 l.22-28PRODen vigueur
60C1-059Environnement a preserver: .claude/, .mcp.json (jeton jamais versionne ni affiche), .editorconfig, Saved/Backups, Saved/SaveGames, Saved/Config/WindowsEditor, Saved/Logs/portage, D:\DDC.10 §1 l.29-31OPEen vigueur
61C1-060Deroule d'un lot en 12 etapes (tag avant, Snapshot, dump avant, DryRun, application, diff independant, compilation, build Development, test en jeu par l'utilisateur, puis CHG/registre/commit/tag/push ou retour arriere propose).10 §2 l.33-48ORGremplacée par skill lp-lot (CART, SPEC, IMPL, BUILD, VAL, DOC) et 32 (cf. 08 l.5)
62C1-061Au vert, l'agent du lot commite, pose le tag <lot>-valide et pousse.10 §2 l.47ORGcontradictoire avec skill sk-repo/lp-repo (seul le gardien ecrit dans git, par tickets)
63C1-062Avant toute analyse approfondie, demander a l'utilisateur si le defaut existe deja dans la reference (4.27 ou build 5.5 precedent), verifier vitesse du jeu et heure avant d'agir.10 §3.1-3.2 l.52-61OPEen vigueur
64C1-063Retour arriere: le proposer avec la preuve de regression, attendre l'accord de l'utilisateur, prendre d'abord un instantane (Snapshot.ps1 -Lot <lot>-retour) pour pouvoir defaire le retour.10 §3.4 l.70-76ORGen vigueur
65C1-064Mesurer l'execution plutot que deduire des donnees, lire les sources moteur sur les cas limites, toujours lire les diffs, analyser le releve meme quand le test en jeu passe (correctif en surveillance valide d'abord sur le releve).10 §3.5-3.8 l.78-99OPEen vigueur
66C1-065Test en jeu: fournir une build complete D:\Game\LifePlay_Build_5.5_<lot>\Windows et un .bat de diagnostic (lancer le .bat, pas LifePlay.exe), dire quoi faire et regarder, archiver le journal sous Saved/Logs/portage/<lot>_<objet>_<date>.log.10 §4 l.100-108PRODen vigueur
67C1-066Un changement de packaging se teste sur tous les chemins qui lisent des fichiers: nouvelle partie (choix de ville, creation de personnage), liste des mods, sauvegarde et rechargement, images externes, pas seulement Continue.10 §4 l.110-113PRODen vigueur
68C1-067Supports de tracabilite: Journal_Modifications.md (une entree CHG par modification avec retour arriere), Registre_Erreurs.md (ouvert, corrige, accepte, preexistant), cahier des charges et 05 mis a jour, commits en francais.10 §5 l.117-123DOCen vigueur
69C1-068Les copies de LifePlay_Backup_5.5 et les journaux de Saved/Logs/portage ne sont jamais supprimes.10 §5 l.124-125DOCcontradictoire avec regle traces 2026-10-13 de la memoire projet (archives et indexes, plus d'un mois resumes puis corbeille), doc de la regle non lu dans ce tiers
70C1-069Les compteurs de tracabilite du doc (CHG-001 a 057, ERR-001 a 037) sont ceux de la fin de V1.1.10 §5 l.119-120DOCremplacée par Docs/Journal_Modifications.md et Docs/Registre_Erreurs.md (numerotation courante)
71C1-070Publication: verifier le compte actif et l'identite avant push, relire ce qui part (ni jeton, e-mail, outil local, contenu lourd), version publiee figee (tag, branche, archive 7z + SHA-256), version de reference livree dans l'archive, Mods/ vide avant tout commit ou build.10 §6 l.129-139PRODen vigueur
72C1-071Le jeu designe la plupart des assets par leur nom court et les retrouve par parcours du registre: un asset sans reference peut etre utilise, ne rien supprimer ni deplacer sans analyse (suppression d'assets: gain faible, 60 Mo).11 §1 l.22-26 et §6 l.114-118PRODen vigueur
73C1-072Build allege O1: 20 plugins moteur limites a l'editeur (TargetAllowList Editor) et +DirectoriesToNeverCook, build -nodebuginfo, ne pas mettre /HairStrands en NeverCook (ERR-039).11 §11 l.253-263 et §17.3 l.769-771PRODen vigueur
74C1-073Contenu en IoStore + Oodle (UsePakFile, bUseIoStore, bCompressed vrais) avec Modules et Movies en fichiers nus, un mod remplacant des .uasset de Content ne fonctionnerait plus et exigerait une variante non compressee.11 §13 l.349-375PRODremplacée par 16 (mods d'assets en paquets montes, H3, doc non lu dans ce tiers)
75C1-074Piege du packaging: GetAllFilesFromFolder sur .uasset ne marche plus avec IoStore, repli sur le registre d'assets (O2b, CHG-067).11 §15 l.409-415PRODen vigueur
76C1-075Trace Insights en ligne de commande: UnrealInsights.exe -OpenTraceFile=... -AutoQuit -NoUI avec chemins en /, trace de 10 minutes inanalysable (plus de 50 Go de memoire), trace courte -trace=cpu,frame,bookmark,loadtime -statnamedevents.11 §12 l.276-281OPEen vigueur (voir aussi skill lp-perf)
77C1-076Plugin tiers (Fab): ajout a la bibliotheque par l'utilisateur avec son compte, evaluation dans une copie du projet, jamais livre sans lot dedie ni accord, jamais dependance du build.11 §8 l.149-152ORGen vigueur
78C1-077Les coiffures se declarent par fichiers .lphair (HAIRSTYLE, SEX, DAZ, FIT_MORPH, MORPHABLE, MODE: BASE, FACIAL_HAIR, BODY_HAIR_M/F) lus par LPHairstyleSubsystem, ajoutees en fin de table sans toucher aux Blueprints, verification par -LPVerifyHairstyles, protocole complet en 13.11 §16.7-16.10 l.545-675PRODen vigueur
79C1-078Une ressource tierce integree exige son attribution exacte (ici CC BY 4.0 dans Licenses/Free_3D_Models_Credits.txt et dans le .lphair), aucune ligne de credit sans source exacte.11 §16.8 l.586-588DOCen vigueur
80C1-079Donnees: le texte reste la source (jeu de base et mods), le cache compile JSON par type (Saved/LPDataCache) est une representation derivee, incrementale, desactivable par -LPNoDataCache et verifiable par -LPDataCacheVerify.11 §17 l.682-684 et §17.3 l.741-751PRODen vigueur
81C1-080Rien n'est a recuperer du depot vinfamy/LifePlay, les 33 scenes co_* vides de vin_Base vivent dans le module vin_Corruption et ne doivent pas etre restaurees (doublons de declenchement).12 §1 l.28-37PRODen vigueur