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

81 lines
20 KiB
Text

id;enonce;doc_ligne;categorie;statut
C1-001;Le 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-41;PROD;en vigueur
C1-002;Aucune 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-26;PROD;en vigueur
C1-003;A 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.168;OPE;en vigueur
C1-004;Cible 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-188;OPE;remplacée par 27 (plan UE 5.8) et Tools/Engine.ps1
C1-005;Ne 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-134;OPE;en vigueur
C1-006;Regenerable 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-176;OPE;en vigueur
C1-007;La 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-176;PROD;remplacée par 10 §1 l.24-28 (note U58)
C1-008;Aucun 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-7;ORG;en vigueur
C1-009;Regles 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-37;OPE;en vigueur
C1-010;Le 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.48;OPE;remplacée par 10 §1 l.24-28 (reference = build 5.5 DC4)
C1-011;Compilation 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-56;OPE;en vigueur
C1-012;Controle 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.76;OPE;en vigueur
C1-013;Le packaging de test s'ecrit RunUAT BuildCookRun ... sans -pak (fichiers nus comme la version de l'auteur).;03 §3.4 l.70-72;OPE;contradictoire avec 08 §4 l.105 et 11 §13 l.349 (IoStore compresse depuis O2)
C1-014;Non-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-99;OPE;en vigueur
C1-015;Scenario 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-109;OPE;en vigueur
C1-016;Retour 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-120;OPE;en vigueur
C1-017;Outils 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-147;OPE;en vigueur
C1-018;Le catalogue annonce 24 commandlets LifePlayEditorTools actifs.;03 §7 l.148;OPE;remplacée par 08 §5.2 l.143-154 (16 commandlets de correction retires en U2)
C1-019;Un 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-47;ORG;en vigueur
C1-020;Sequence 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-45;ORG;remplacée par skill lp-lot et 32 (cf. 08 l.5), le commit/tag etant fait par le gardien
C1-021;Les 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-87;OPE;en vigueur
C1-022;AndroidFileServer 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-74;PROD;en vigueur
C1-023;Lot 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-194;PROD;en vigueur
C1-024;Chaque 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-69;OPE;en vigueur
C1-025;Les commandlets de correction citees dans les correctifs CX-B (LPFix*, LPConvertAtmosphericFog) sont decrites comme outils utilisables.;05 §2 l.42-54;OPE;remplacée par 08 §5.2 l.143-154 (retires en U2, historique git tag U2-avant)
C1-026;Apres 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-43;OPE;remplacée par 10 §4 l.100-113 (forme generale)
C1-027;Principe 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-40;PROD;en vigueur
C1-028;Le tableau des commandlets (analyse, correction de graphes, correction de cartes) liste 24 outils dont LPFix*.;07 §2.2 l.62-74;OPE;remplacée par 08 §5.2 l.143-154
C1-029;LPFixDeprecatedNodes ne doit plus etre utilise (sa variante R-03 aggrave ERR-002, R-04 remplacee par LPFixNavRandomPoint).;07 §2.2 l.76-78;OPE;remplacée par 08 §5.2 l.153 (retire en U2)
C1-030;McpAutomationBridge 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-89;PROD;en vigueur
C1-031;Config: 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-100;PROD;en vigueur
C1-032;Le tableau de config indique DefaultGame.ini UsePakFile=False inchange (fichiers nus).;07 §3 l.96;PROD;contradictoire avec 11 §13 l.349-350 et 08 §4 l.105 (IoStore/Oodle depuis O2)
C1-033;Lecon: 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-124;OPE;en vigueur
C1-034;Le 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-139;OPE;en vigueur
C1-035;Moteur, 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.14;OPE;en vigueur
C1-036;Compilateur indique: Visual Studio 2022, MSVC 14.38, SDK 10.0.22621 (la chaine 5.8 est renvoyee au doc 27).;08 §1 l.15;OPE;remplacée par 27 (chaine 5.8) et skill lp-env
C1-037;La 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-20;PROD;en vigueur
C1-038;Jamais versionnes: Content/Heavy (archive 7z de publication), Plugins/McpAutomationBridge, .mcp.json, .claude/ (jeton), Saved/Logs/portage.;08 §2 l.32-41;OPE;en vigueur
C1-039;Ne 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-75;PROD;en vigueur
C1-040;Content/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-81;PROD;en vigueur
C1-041;Fermer l'editeur avant de compiler (Live Coding actif bloque UBT), critere 0 erreur et aucun nouvel avertissement.;08 §3 l.91-95;OPE;en vigueur
C1-042;Empaquetage: 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-110;OPE;en vigueur
C1-043;Lancement 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-126;OPE;en vigueur
C1-044;Les 16 commandlets de correction du portage sont retires depuis U2 (tag U2-avant), leurs correctifs sont appliques au contenu.;08 §5.2 l.143-154;OPE;en vigueur
C1-045;Choix 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-175;OPE;en vigueur
C1-046;Commandlet 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-193;OPE;en vigueur
C1-047;Diagnostic: 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-224;OPE;en vigueur
C1-048;Inspection directe de l'editeur par McpAutomationBridge (serveur MCP port 3000) en lecture seule, toute modification passant par une commandlet versionnee.;08 §7 l.226-228;OPE;contradictoire avec CLAUDE.md et skill lp-mcp (unreal-mcp d'Epic port 8000, ecriture seulement sous instantane et fiche)
C1-049;Publication: 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-238;PROD;en vigueur
C1-050;Un tag <lot>-valide est pose par lot valide en jeu, ainsi que v1.0, v1.1.;08 §8 l.239;DOC;remplacée par skill sk-repo/lp-repo (tags de lot poses par le gardien)
C1-051;Piege 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-17;OPE;en vigueur
C1-052;Apres 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.45;OPE;en vigueur
C1-053;Les 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-80;PROD;en vigueur
C1-054;Ne jamais lancer le CSV Profiler avec -csvCaptureFrames (arret avant l'init RHI), utiliser -ExecCmds=csvprofile repeat=20, csvprofile frames=9000.;09 §4 l.167-168;OPE;en vigueur
C1-055;Sauvegarde 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-198;OPE;en vigueur
C1-056;Liste 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-228;PROD;contradictoire avec README racine alpha 2026.10.2.1a (format de version a quatre segments, CHG-361)
C1-057;Principes 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-21;ORG;en vigueur
C1-058;Le 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-28;PROD;en vigueur
C1-059;Environnement 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-31;OPE;en vigueur
C1-060;Deroule 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-48;ORG;remplacée par skill lp-lot (CART, SPEC, IMPL, BUILD, VAL, DOC) et 32 (cf. 08 l.5)
C1-061;Au vert, l'agent du lot commite, pose le tag <lot>-valide et pousse.;10 §2 l.47;ORG;contradictoire avec skill sk-repo/lp-repo (seul le gardien ecrit dans git, par tickets)
C1-062;Avant 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-61;OPE;en vigueur
C1-063;Retour 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-76;ORG;en vigueur
C1-064;Mesurer 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-99;OPE;en vigueur
C1-065;Test 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-108;PROD;en vigueur
C1-066;Un 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-113;PROD;en vigueur
C1-067;Supports 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-123;DOC;en vigueur
C1-068;Les copies de LifePlay_Backup_5.5 et les journaux de Saved/Logs/portage ne sont jamais supprimes.;10 §5 l.124-125;DOC;contradictoire 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
C1-069;Les 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-120;DOC;remplacée par Docs/Journal_Modifications.md et Docs/Registre_Erreurs.md (numerotation courante)
C1-070;Publication: 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-139;PROD;en vigueur
C1-071;Le 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-118;PROD;en vigueur
C1-072;Build 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-771;PROD;en vigueur
C1-073;Contenu 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-375;PROD;remplacée par 16 (mods d'assets en paquets montes, H3, doc non lu dans ce tiers)
C1-074;Piege du packaging: GetAllFilesFromFolder sur .uasset ne marche plus avec IoStore, repli sur le registre d'assets (O2b, CHG-067).;11 §15 l.409-415;PROD;en vigueur
C1-075;Trace 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-281;OPE;en vigueur (voir aussi skill lp-perf)
C1-076;Plugin 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-152;ORG;en vigueur
C1-077;Les 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-675;PROD;en vigueur
C1-078;Une 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-588;DOC;en vigueur
C1-079;Donnees: 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-751;PROD;en vigueur
C1-080;Rien 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-37;PROD;en vigueur