12 KiB
Fiche U4-T1 — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths
U4-T1 — Cartographie des références 5.5 dans le worktree addon 5.8
Lecture seule. Aucun fichier du worktree modifié.
1. Porte d'entrée (arrêt de la fiche)
git -C D:/Game/LifePlay-Sandbox-5.8 rev-parse --abbrev-ref HEAD -> ue5.8 ; rev-parse --short HEAD -> f9033a1 ; git status --porcelain -> vide. Établi. Pas d'arrêt.
2. Commandes et comptes bruts
Toutes depuis D:/Game/LifePlay-Sandbox-5.8 (fichiers suivis par git uniquement ; Binaries/Intermediate/Saved absents du suivi).
| Commande | Résultat |
|---|---|
git grep -n -I -E '5\.5|5_5|UE_5|LifePlay-master|EngineAssociation|BuildSettingsVersion|IncludeOrderVersion|DefaultBuildSettings|Unreal5_|CompilerVersion|Game.Launcher' |
192 lignes, 36 fichiers |
même motif, git grep -c -I ... | awk -F: '{s+=$2} END{print s}' (recompte autre formulation) |
192 (confirmé) |
git grep -n 'UE_5\.5' | cut -d: -f1 | sort -u | wc -l |
16 fichiers |
git grep -n -E 'UE_5\.5' -- ':!Tools/claude' ':!README.md' ':!Docs' | wc -l |
8 lignes (les 8 scripts connus) |
git grep -c 'LifePlay_Backup_5.5' -- Tools/mods Tools/hairs |
HAIRS1.json 13, lpr_hair_pocolov.json 25 |
git ls-files | grep -iE 'Build|Engine|Roots' |
5 *.Build.cs/ini + Tools/BuildMod.ps1, Tools/Roots.ps1 |
Répartition par fichier (192) : lpr_hair_pocolov.json 25, lp-build/SKILL.md 22, lp-ue-compat/ruptures.md 20, lp-ue-compat/SKILL.md 16, HAIRS1.json 13, lp-env/SKILL.md 13, README.md 11, lp-validate 9, lp-paths 9, lp-lot 7, lp-commandlets 5, lp-build/symptoms.md 4, Docs/SB-plan.md 4, LPSandbox.uproject 3, Creating_Asset_Mods.md 3, 3 .bat 2 chacun, lp-doc 2, BuildMod.ps1 2, 2 Target.cs 2 chacun, et 1 pour : RapportControles.py, DeliverAnims.ps1, AnimPipeline.ps1, NewMod.ps1, HairPipeline.ps1, EditMod.ps1, LPHairFromStaticMeshCommandlet.h/.cpp, LPAuditBlueprintCallsCommandlet.cpp, SB0-conception.md, S3-move.md, LPSandbox.ini, DefaultGame.ini, DefaultEngine.ini.
Absences vérifiées (motif large, 0 résultat attendu et plausible) : aucun .Build.cs (5 fichiers) ni LPSandbox.uplugin ne contient 5.5 ni EngineVersion (grep -n -i 'engine\|version' Plugins/LPSandbox/LPSandbox.uplugin ne montre que FileVersion, Version, VersionName, IsBetaVersion). Aucun CompilerVersion dans l'addon. Aucun .cmd/.py autre que RapportControles.py:10.
3. Tableau des occurrences A et B (détail vérifiable)
| fichier:ligne | extrait | cat. | remplacement proposé pour 5.8 |
|---|---|---|---|
| LPSandbox.uproject:3 | "EngineAssociation": "5.5", |
A | "5.8" |
| LPSandbox.uproject:5 | "Description": "... UE 5.5" |
C | texte -> UE 5.8 (cosmétique) |
| LPSandbox.uproject:20 | "../LifePlay-master 5.5/Plugins/LPAnimCore" |
A | ../LifePlay-master 5.8/Plugins/LPAnimCore (chemin relatif au dossier du .uproject ; voir § 5 sur le nom du dossier frère) |
| Source/LPSandbox.Target.cs:12 | DefaultBuildSettings = BuildSettingsVersion.V5; |
A | V7 (symptoms.md:24 et lp-ue-compat : la cible éditeur 5.8 refuse V5) |
| Source/LPSandbox.Target.cs:13 | IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5; |
A | Latest ou Unreal5_8 (5.8 : Unreal5_5 obsolète, Oldest = Unreal5_6, ruptures.md:100-101) |
| Source/LPSandboxEditor.Target.cs:12 | idem V5 | A | V7 |
| Source/LPSandboxEditor.Target.cs:13 | idem Unreal5_5 | A | Latest / Unreal5_8 |
| Config/LPSandbox.ini:46 | GameRoot=..\LifePlay-master 5.5 |
B (lu par Roots.ps1) | ..\LifePlay-master 5.8 ; ou fixer -GameRoot à l'appel |
| Tools/BuildMod.ps1:53 | $UE = 'D:\Game\Launcher\Engine\UE_5.5\Engine' |
B | ...\UE_5.8\Engine (ou lecture via Engine.ps1 du jeu, décision orchestrateur) |
| Tools/BuildMod.ps1:30 | exemple -Install D:\Game\LifePlay_Build_5.5_H3d\Windows |
C (aide en commentaire) | chemin de build 5.8 d'exemple |
| Tools/EditMod.ps1:23 | $Editor = '...\UE_5.5\Engine\Binaries\Win64\UnrealEditor.exe' |
B | UE_5.8 |
| Tools/HairPipeline.ps1:53 | $UE = '...\UE_5.5\...\UnrealEditor-Cmd.exe' |
B | UE_5.8 |
| Tools/anim/AnimPipeline.ps1:47 | $Editor = '...\UE_5.5\...\UnrealEditor-Cmd.exe' |
B | UE_5.8 |
| Tools/anim/DeliverAnims.ps1:49 | $Editor = '...\UE_5.5\...\UnrealEditor-Cmd.exe' |
B | UE_5.8 |
| Tools/debug/LifePlay_interaction_sandbox.bat:6 | ... else (set "GAME=%~dp0..\..\..\LifePlay-master 5.5") |
B | LifePlay-master 5.8 |
| Tools/debug/LifePlay_interaction_sandbox.bat:7 | set "UE=...\UE_5.5\...\UnrealEditor.exe" |
B | UE_5.8 |
| Tools/debug/LifePlay_measure_sandbox.bat:6 / :9 | idem (GAME 5.5 / UE_5.5) | B | idem |
| Tools/debug/LifePlay_pair_sandbox.bat:6 / :7 | idem | B | idem |
| Tools/anim/RapportControles.py:10 | défaut D:\\Game\\LifePlay-master 5.5\\Saved\\AnimPipeline\\quaternius |
B (chemin du jeu, défaut de docstring/argument) | LifePlay-master 5.8 si le défaut est actif ; non vérifié si c'est code ou docstring (incertain) |
| Tools/NewMod.ps1:73 | backup = "D:/Game/LifePlay_Backup_5.5/mods/$Name" |
D (dossier de sauvegarde indépendant du moteur, cf. Engine.ps1 du jeu) | ne pas toucher |
Les 8 scripts attendus (critère fiche § 8) y figurent : AnimPipeline.ps1:47, DeliverAnims.ps1:49, BuildMod.ps1:53, les 3 .bat (:7, :9, :7), EditMod.ps1:23, HairPipeline.ps1:53. Recompte : git grep -n 'UE_5\.5' -- ':!Tools/claude' ':!README.md' ':!Docs' = 8 lignes, 8 fichiers (le fichier measure_sandbox.bat porte UE_5.5 à la ligne 9, non 7).
Comptes par catégorie (hors lignes C/D listées ci-après) : A = 6 lignes (uproject :3, :20 ; Target.cs 4 lignes... soit 2 + 4 = 6). B = 13 lignes (LPSandbox.ini:46 ; 5 scripts .ps1 = 5 ; 3 .bat x 2 = 6 ; RapportControles.py:10 = 1). Moins de 300 : détail fourni.
4. Occurrences C et D (par fichier)
C (skills / docs de méthode / docs d'usage à mettre à jour), détail par git grep -n ci-dessus :
- README.md : 3, 19, 25, 56, 83, 88, 101, 107, 118, 119, 125 (11 lignes). Lignes 56, 101, 107 sont des commandes (Build.bat LifePlayEditor / LPSandboxEditor, UnrealEditor.exe en
UE_5.5) : à passer en UE_5.8 ; 118-119 décrivent le défaut..\LifePlay-master 5.5. - Docs/Modding/Creating_Asset_Mods.md : 3, 30, 39 (guide public, "UE 5.5" et
UE_5.5: à mettre à jour à la release 5.8). - Docs/SB-plan.md:183 contient une commande de build
UE_5.5; autres lignes 154, 186, 247 = chemins. - Tools/claude/skills/** (lp-build 22, lp-ue-compat 36, lp-env 13, lp-validate 9, lp-paths 9, lp-lot 7, lp-commandlets 5, lp-doc 2, symptoms 4) : ces skills sont des copies de ceux du jeu (jonction
.claude\skills) ; lp-build/SKILL.md:19 et symptoms.md:27 décrivent déjà la collision addon 5.5/5.8 ; plusieurs lignes sont volontairement bilingues 5.5/5.8 (à ne pas réécrire mécaniquement). - Config/DefaultEngine.ini:3, Config/DefaultGame.ini:3 : commentaires (chemin 5.5, "clé non supportée par UE 5.5") ; Plugins/.../LPHairFromStaticMesh*.h/.cpp:1 et LPAuditBlueprintCallsCommandlet.cpp:673 : commentaires (la dernière cite déjà 5.5 et 5.8). Catégorie D/C selon décision, sans effet sur la compilation.
D (historique, ne pas toucher) : Tools/mods/lpr_hair_pocolov.json (25 lignes) et Tools/hairs/HAIRS1.json (13 lignes), toutes des chemins D:/Game/LifePlay_Backup_5.5/... (sauvegarde indépendante du moteur ; grep -vc 'LifePlay_Backup_5.5' = 0 ligne différente pour lpr_hair_pocolov.json) ; Docs/SB0-conception.md:4, Docs/S3-move.md:108 (décrit les Target.cs 5.5), Docs/SB-plan.md:154, 186, 247 ; NewMod.ps1:73.
Total vérifié : A 6 + B 13 + D (json 38 + NewMod 1 + Docs 5 + ...) + C : la somme exacte par catégorie n'a pas été recalculée ligne à ligne pour C/D ; seul le total brut 192 est établi.
5. Mécanisme moteur / jeu
Addon (worktree) :
Tools/Roots.ps1(lu en entier) :Resolve-LPRootsne résout QUE le jeu, pas le moteur. Ordre : paramètre-GameRootdu script appelant, sinonConfig\LPSandbox.inisection[Workshop]cléGameRoot(ligne 46 :..\LifePlay-master 5.5, relative à la racine de l'addon), sinon erreur ; exigeLifePlay.uprojectdans cette racine. Les scripts Tools qui l'appellent : BuildMod.ps1:50-51, EditMod.ps1:20-21, HairPipeline.ps1:50-51, NewMod.ps1:33-34, AnimPipeline.ps1:45-46, DeliverAnims.ps1:46-47.- Moteur : codé en dur dans 5
.ps1(UE_5.5) ; dans les 3.bat, moteur en durUE_5.5et jeu =%LP_GAMEROOT%si défini, sinon%~dp0..\..\..\LifePlay-master 5.5(frère de l'addon). Aucun script de l'addon ne litEngineAssociationni n'appelleEngine.ps1(git grep -n 'Engine\.ps1\|LP_ENGINE': seulement des mentions dans les skills). Établi. - Conséquence : le worktree
D:\Game\LifePlay-Sandbox-5.8étant frère deLifePlay-master 5.5, le défaut..\de LPSandbox.ini et des.batdésigne la copie 5.5, pasLifePlay-master 5.8, tant qu'on ne change pas la valeur ou n'exporte pasLP_GAMEROOT/-GameRoot. Estimé (calcul de chemin, non exécuté).
Jeu 5.8 (D:\Game\LifePlay-master 5.8\Tools\Engine.ps1, lu, sans conclusion d'autorité) : à dot-sourcer ; lit EngineAssociation de LifePlay.uproject (doit être de forme X.Y), définit $LPEngineVersion, $LPEngineBase = 'D:\Game\Launcher\Engine' (seul chemin moteur codé en dur), $LPEngineRoot = $LPEngineBase\UE_<version>\Engine ou $env:LP_ENGINE_ROOT s'il est défini, $LPBuildRoot = D:\Game\LifePlay_Build_<version> ; lève une erreur si le moteur n'existe pas, sauf -NoCheck. Il lit l'.uproject du JEU (son propre dossier parent), pas celui de l'addon. Les scripts de l'addon ne l'utilisent pas aujourd'hui.
6. Compilation du projet LPSandbox
- Aucun script de l'addon ne compile LPSandbox :
git grep -n -E 'Build\.bat|UnrealBuildTool|Build\.cs|Resolve-LPRoots'sur Tools/.ps1 et Tools/anim/.ps1 ne trouve aucun appel de Build.bat/UBT. Établi. - Seul
Tools/BuildMod.ps1:233lanceRunUAT.bat BuildCookRun -project="$Root\LifePlay.uproject"(cuisson d'un mod, projet du JEU, moteur$UE= UE_5.5 ligne 53) ; ce n'est pas une compilation de LPSandbox. - Les commandes de compilation sont uniquement documentées, README.md:101 :
...\UE_5.5\Engine\Build\BatchFiles\Build.bat LPSandboxEditor Win64 Development -Project='D:\Game\LifePlay-Sandbox\LPSandbox.uproject' -WaitMutex(cible autonome de l'addon, moteur 5.5) ; README.md:56 et Docs/SB-plan.md:183 :Build.bat LifePlayEditor ... -Project='D:\Game\LifePlay-master 5.5\LifePlay.uproject'(compile le jeu, l'addon arrivant parAdditionalPluginDirectoriesdu jeu). - Cibles :
Source/LPSandbox.Target.csetSource/LPSandboxEditor.Target.cs(V5 / Unreal5_5), modulesLPSandboxApp(Source) + plugin LPSandbox (modules LPSandbox, LPAnimMeasure, LPModTools). - Pas de
CompilerVersionépinglé dansConfig/DefaultEngine.inide l'addon (0 occurrence) : l'épinglage MSVC vit dans le jeu (non vérifié ici, voir lp-build/SKILL.md:14-15 : 14.38.33130 en 5.5, 14.50.35717 en 5.8). Tools/claude/skills/lp-build/SKILL.md:19etsymptoms.md:27signalent que les copies 5.5 et 5.8 partagent le dossier addon (binaires 5.5 écrasables) : le worktreeSandbox-5.8est le contournement prévu ; sonPlugins/LPSandbox/Binariesne figure pas dans le suivi git.
7. Niveaux de preuve
- Établi : porte (branche/commit), comptes 192 / 16 / 8 et lignes des tableaux A/B (relus par
git grep -n), contenu de Roots.ps1 et Engine.ps1, absence de commande de compilation dans les scripts Tools, absence de 5.5 dans Build.cs et .uplugin. - Estimé : résolution du défaut
..\LifePlay-master 5.5vers la copie 5.5 depuis le worktree frère ; valeurs de remplacement V7 / Latest (tirées des skills lp-build/symptoms.md:24 et lp-ue-compat/ruptures.md:100-101, citations de documentation non revérifiées dans UE_5.8/Engine/Source). - Incertain : statut code ou commentaire de RapportControles.py:10 (à trancher en lisant la ligne dans son contexte) ; répartition C/D exacte du total 192 (somme par catégorie non recalculée ligne à ligne) ; si
AdditionalPluginDirectoriesde l'addon 5.8 doit pointer le jeu 5.8 (décision U4, non conclue ici).