# Carte des commits par phase (COMMIT-CART) **Fiche CP-T1 — Modèle prévu sonnet | utilisé sonnet** Date de la carte : 2026-10-07 (état du dépôt lu vers 15:00 ; `.gitignore` et index modifiés à 14:54). Lecture seule : aucune commande git d'écriture, aucun fichier du dépôt modifié hors ce livrable. Dépôt `D:\Game\LifePlay-master 5.5`, branche `main`, HEAD `fba19bc` (2026-10-06 21:10). ## 0. Constats qui conditionnent le plan (à lire en premier) 1. **L'état de l'index n'est pas vierge.** 163 suppressions sont déjà indexées (`D ` en colonne 1) : 162 fichiers `Docs/Migration/etat/**/*.txt` (dont 10 de `L4-CX-B02_essai1_rejete/`, 35 179 451 o au total, tous encore présents sur disque) et `Content/Characters/Textures/NormalMap.uasset` (8 259 429 o, présent sur disque). `.gitignore` est modifié (2 blocs : `/Docs/Migration/etat/**/*.txt` et `/Content/Characters/`). Index et `.gitignore` datent du 07/10 14:54, soit **après** SB4 (14:44) : ce n'est donc la production d'aucune des phases AP7..SB4 et aucune CHG ne le décrit (hygiène préparée par l'utilisateur ou la session parente). **Tout `git commit` sans précaution l'embarquerait** : il faut soit un commit d'hygiène en premier, soit retirer ces suppressions de l'index avant le commit AP7. 2. **`fba19bc` ne contient pas toute la chaîne AP1–AP6.** Il contient les commandlets C++ (`LPAnimEval`, `LPAnimTwist`, `LPAnimChecks`, `LPAnimCatalog`), les docs, `BuildMod.ps1`. Restent **non suivis** : `Tools/anim/profiles/ue4_mannequin.json` et `genesis8.json` (AP1), `Tools/anim/DeliverAnims.*` (AP5 puis AP6), `Tools/anim/Catalogue.py` et `AnimSources/quaternius/pack.json` (AP6), `Tools/anim/RapportControles.py` (AP4), `LPModDailies.*`, `LPPatchDailiesCommandlet.*` et `Content/BPs/Person.uasset` modifié (AP5), `ModSources/lpr_anim_quaternius/` (AP5/AP6). L'état de `Tools/anim/` avant AP7 n'est donc dans aucun commit. 3. **Des phases antérieures hors liste sont aussi non commitées** (Dbg, G6a/G6b, PawnGlobal/PawnDyn, Proximité, Réglages/Clavier, AnimToGenesis/Sandbox : CHG-114 à CHG-186). Elles apparaissent ci-dessous et sont à traiter (commit de rattrapage, fusion dans un autre commit, ou abandon) : décision de l'utilisateur, section 4. 4. **Intégrité des instantanés vérifiée** : pour les lots AP1 à SB4 (15 manifestes, 639 entrées `Existed=True`), toutes les copies existent et leur MD5 égale celui du manifeste (0 écart). Pour tous les fichiers suivis du lot AP7, l'instantané AP7 est identique au blob HEAD (donc : « avant AP7 » = HEAD). Les manifestes sont des états **avant** modification : l'état « fin de la phase P » d'un fichier est la copie de l'instantané de la phase suivante qui l'a touché. 5. Quatre fichiers sont des erreurs de chemin (vides ou extraits) : à ne pas commiter (section 4). ## 1. Tableau principal : entrée, phase, certitude, motif Statut git : `M` modifié, `??` non suivi, `D` suppression déjà indexée (état de l'index avant ma lecture). Les dates sont celles de dernière modification sur disque (2026). « HEAD » = `fba19bc`. ### 1a. Entrées individuelles | Entrée | St | Taille (o) | Modifié | Phase | Certitude | Motif | |---|---|---:|---|---|---|---| | `Tools/anim/profiles/genesis8.json` | ?? | 2245 | 10-06 12:11 | AP1 | sûre | CHG-205 ; manifeste AP1 (Tools\anim nouveau) ; 06/10 12:11 ; resté hors fba19bc | | `Tools/anim/profiles/ue4_mannequin.json` | ?? | 1478 | 10-06 12:11 | AP1 | sûre | CHG-205 ; manifeste AP1 (Tools\anim nouveau) ; 06/10 12:11 ; resté hors fba19bc | | `Tools/anim/RapportControles.py` | ?? | 16103 | 10-06 22:35 | AP4,AP7 | probable | CHG-208 (AP4) le cite ; absent des manifestes AP4 et AP6 (seul AP7 le snapshotte, existant) ; modifié 06/10 22:35 (AP7) | | `Content/BPs/Person.uasset` | M | 20616335 | 10-06 14:32 | AP5 | sûre | CHG-209 (animate() / Dailies) ; 06/10 14:32 ; snapshot AP5 == HEAD ; 20 613 073 -> 20 616 335 o ; non inclus dans fba19bc | | `ModSources/lpr_anim_quaternius/lpr_anim_quaternius.uplugin` | ?? | 453 | 10-06 14:34 | AP5 | sûre | création du mod (manifeste AP5), 06/10 14:34 ; re-snapshotés par AP7 (inchangés) | | `ModSources/lpr_anim_quaternius/Module/CREDITS.txt` | ?? | 312 | 10-06 14:34 | AP5 | sûre | création du mod (manifeste AP5), 06/10 14:34 ; re-snapshotés par AP7 (inchangés) | | `ModSources/lpr_anim_quaternius/Module/lpr_anim_quaternius.lpmod` | ?? | 512 | 10-06 14:34 | AP5 | sûre | création du mod (manifeste AP5), 06/10 14:34 ; re-snapshotés par AP7 (inchangés) | | `Source/LifePlay/LPModDailies.cpp` | ?? | 5525 | 10-06 14:41 | AP5 | sûre | CHG-209 ; manifeste AP5 (nouveau) ; 06/10 14:26-14:41 ; non inclus dans fba19bc | | `Source/LifePlay/LPModDailies.h` | ?? | 2272 | 10-06 14:26 | AP5 | sûre | CHG-209 ; manifeste AP5 (nouveau) ; 06/10 14:26-14:41 ; non inclus dans fba19bc | | `Source/LifePlayEditorTools/LPPatchDailiesCommandlet.cpp` | ?? | 9379 | 10-06 14:27 | AP5 | sûre | CHG-209 ; manifeste AP5 (nouveau) ; non inclus dans fba19bc | | `Source/LifePlayEditorTools/LPPatchDailiesCommandlet.h` | ?? | 1451 | 10-06 14:27 | AP5 | sûre | CHG-209 ; manifeste AP5 (nouveau) ; non inclus dans fba19bc | | `Tools/anim/DeliverAnims.ps1` | ?? | 12783 | 10-07 00:46 | AP5,AP6,AP7 | sûre | création AP5 (nouveau), modifs AP6 et AP7 (CHG-224 pour .py) ; voir section 2 | | `Tools/anim/DeliverAnims.py` | ?? | 5823 | 10-07 02:37 | AP5,AP6,AP7 | sûre | création AP5 (nouveau), modifs AP6 et AP7 (CHG-224 pour .py) ; voir section 2 | | `AnimSources/quaternius/pack.json` | ?? | 19664 | 10-06 22:35 | AP6,AP7 | sûre | création AP6 (CHG-210), modif AP7 (22:35) | | `ModSources/lpr_anim_quaternius/Module/Animations/catalogue.html` | ?? | 72644 | 10-07 00:33 | AP6,AP7 | sûre | création AP6 (CHG-210), régénérés AP7 (00:33) | | `ModSources/lpr_anim_quaternius/Module/Animations/catalogue.json` | ?? | 88342 | 10-07 00:33 | AP6,AP7 | sûre | création AP6 (CHG-210), régénérés AP7 (00:33) | | `Tools/anim/Catalogue.py` | ?? | 24354 | 10-06 22:35 | AP6,AP7 | sûre | création AP6 (nouveau), modif AP7 (22:35) | | `AnimSources/freeanims/pack.json` | ?? | 6448 | 10-06 23:10 | AP7 | sûre | manifeste AP7 (nouveau) ; 23:10 | | `Config/DefaultGame.ini` | M | 3083 | 10-07 02:23 | AP7 | sûre | CHG-224 ; diff = ProjectVersion 2026.10.1.6 + 4 DirectoriesToNeverCook ; snapshot AP7 == HEAD ; 07/10 02:23 | | `Docs/Migration/20_Chaine_Animations.md` | M | 19539 | 10-07 03:09 | AP7 | sûre | CHG-221..224 (AP7 ✔, méthodes, pilote) ; snapshot AP7 == HEAD ; 07/10 03:09 | | `ModSources/lpr_anim_freeanims/lpr_anim_freeanims.uplugin` | ?? | 512 | 10-07 00:45 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `ModSources/lpr_anim_freeanims/Module/Animations/catalogue.html` | ?? | 24333 | 10-07 02:38 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `ModSources/lpr_anim_freeanims/Module/Animations/catalogue.json` | ?? | 21988 | 10-07 02:38 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `ModSources/lpr_anim_freeanims/Module/CREDITS.txt` | ?? | 464 | 10-07 00:46 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `ModSources/lpr_anim_freeanims/Module/lpr_anim_freeanims.lpmod` | ?? | 576 | 10-07 00:45 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `Source/LifePlayEditorTools/LPAnimEvalCommandlet.cpp` | M | 23264 | 10-06 22:12 | AP7 | sûre | diff post-commit ; snapshot AP7 == HEAD ; 06/10 22:08-22:12 ; manifeste AP7 | | `Source/LifePlayEditorTools/LPAnimEvalCommandlet.h` | M | 2057 | 10-06 22:12 | AP7 | probable | absent du manifeste AP7 mais même heure (22:08-22:12) que le .cpp associé ; HEAD = base | | `Source/LifePlayEditorTools/LPAnimIdentifyCommandlet.cpp` | ?? | 7803 | 10-06 21:51 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Source/LifePlayEditorTools/LPAnimIdentifyCommandlet.h` | ?? | 1241 | 10-06 21:25 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Source/LifePlayEditorTools/LPAnimMethodSelect.h` | ?? | 1715 | 10-06 21:51 | AP7 | probable | créé 21:51 avec LPAnimIdentify ; absent du manifeste AP7 et des CHG ; en-tête auxiliaire des méthodes (CHG-221) | | `Source/LifePlayEditorTools/LPAnimTwistCommandlet.cpp` | M | 14971 | 10-06 22:08 | AP7 | sûre | diff post-commit ; snapshot AP7 == HEAD ; 06/10 22:08-22:12 ; manifeste AP7 | | `Source/LifePlayEditorTools/LPAnimTwistCommandlet.h` | M | 1711 | 10-06 22:08 | AP7 | probable | absent du manifeste AP7 mais même heure (22:08-22:12) que le .cpp associé ; HEAD = base | | `Tools/anim/AnimPipeline.ps1` | ?? | 34465 | 10-07 00:13 | AP7 | sûre | CHG-222/223 ; manifeste AP7 (nouveau) | | `Tools/anim/methodes/genesis_direct.json` | ?? | 401 | 10-06 21:50 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Tools/anim/methodes/ue4.json` | ?? | 428 | 10-06 21:50 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Tools/anim/methodes/ue5.json` | ?? | 417 | 10-06 21:50 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Tools/anim/profiles/ue5_mannequin.json` | ?? | 3060 | 10-06 21:52 | AP7 | sûre | CHG-221 ; manifeste AP7 (nouveau) | | `Tools/anim/RetargetPack.py` | ?? | 20279 | 10-06 22:17 | AP7 | sûre | CHG-222/223 ; manifeste AP7 (nouveau) | | `Tools/BuildMod.ps1` | M | 19886 | 10-06 23:44 | AP7 | sûre | CHG-222/223 (-Anim, guillemets de chemin) ; snapshot AP7 == HEAD ; 06/10 23:44 | | `Docs/Migration/Journal_Modifications.md` | M | 405813 | 10-07 14:44 | AP7,DOC-MOD,DOC-MOD-2,DOC-MOD-3,SB0,SB1,SB2,SB2-O1,SB4 | sûre | multi-phases (+1 CHG par phase, 221..232), voir section 2 | | `Docs/Migration/21_Sandbox_Addon.md` | M | 20742 | 10-07 14:44 | AP7,SB0,SB1,SB2,SB2-O1,SB4 | sûre | multi-phases, voir section 2 | | `LifePlay.uproject` | M | 3255 | 10-06 22:45 | AP7? | inconnue | 06/10 22:45 (après le commit 21:10 et après le snapshot AP7-addon 22:27) ; diff = LPSandbox SupportedTargetPlatforms Win64 + AdditionalPluginDirectories déplacé en fin de fichier ; aucun manifeste, aucune CHG (CHG-219/S7 ne cite que Optional) | | `Tools/__pycache__/RetargetQuaternius.cpython-314.pyc` | ?? | 30901 | 10-05 20:49 | aucune | sûre | bytecode Python généré (05/10 20:49) ; ne jamais commiter | | `Source/LifePlay/LPKeyboardSubsystem.cpp` | ?? | 27785 | 10-05 13:00 | Clavier(+Réglages) | sûre | CHG-156, 162, 164 ; 05/10 13:00 | | `Source/LifePlay/LPKeyboardSubsystem.h` | ?? | 2369 | 10-05 13:00 | Clavier(+Réglages) | sûre | CHG-156, 162, 164 ; 05/10 13:00 | | `.cursor/skills/lifeplay-debug-build/reference.md` | ?? | 3408 | 10-04 12:30 | Dbg | probable | CHG-117 cite le skill lifeplay-debug-build ; 04/10 12:30-15:13 | | `.cursor/skills/lifeplay-debug-build/SKILL.md` | ?? | 5114 | 10-04 15:13 | Dbg | probable | CHG-117 cite le skill lifeplay-debug-build ; 04/10 12:30-15:13 | | `Docs/Migration/18_Build_Debug.md` | ?? | 17677 | 10-04 15:51 | Dbg | sûre | 18 : CHG-114 ; 19 : plan du lot Dbg (README : gates I0-I6, décision G6 vs O10) ; 04/10 13:28 et 15:51 | | `Docs/Migration/19_Plan_Outillage_Debug.md` | ?? | 11363 | 10-04 13:28 | Dbg | sûre | 18 : CHG-114 ; 19 : plan du lot Dbg (README : gates I0-I6, décision G6 vs O10) ; 04/10 13:28 et 15:51 | | `Plugins/ModdingExtra/Source/ModdingExtra/Private/LPDataCache.cpp` | M | 8945 | 10-04 12:28 | Dbg | sûre | CHG-114 (événements LoadTxt / LPDataCache, TRACE_CPUPROFILER) ; 04/10 12:28 | | `Plugins/ModdingExtra/Source/ModdingExtra/Private/ModdingExtraBPLibrary.cpp` | M | 11994 | 10-04 12:28 | Dbg | sûre | CHG-114 (événements LoadTxt / LPDataCache, TRACE_CPUPROFILER) ; 04/10 12:28 | | `Source/LifePlay/LPDebugSubsystem.cpp` | ?? | 16164 | 10-04 15:14 | Dbg | sûre | CHG-114/117 | | `Source/LifePlay/LPDebugSubsystem.h` | ?? | 1714 | 10-04 15:12 | Dbg | sûre | CHG-114/117 | | `Source/LifePlay/LPModSettingsLibrary.cpp` | M | 1610 | 10-04 12:31 | Dbg | sûre | CHG-114 (renommage SettingsModEnabledsName, build unity) ; 04/10 12:31 | | `Tools/BuildDebug.ps1` | ?? | 3107 | 10-04 15:34 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/CollectDebugArtifacts.ps1` | ?? | 3318 | 10-04 12:39 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_bugs.bat` | ?? | 182 | 10-04 12:28 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_collision.bat` | ?? | 276 | 10-04 15:13 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_gpu.bat` | ?? | 220 | 10-04 12:28 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_sessionA_insights.bat` | ?? | 395 | 10-04 12:28 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_sessionB_mem.bat` | ?? | 363 | 10-04 15:13 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_sessionC_profil.bat` | ?? | 308 | 10-04 12:28 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_ui.bat` | ?? | 199 | 10-04 15:33 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/debug/LifePlay_debug_ui.ps1` | ?? | 11104 | 10-04 15:33 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Tools/SummarizeDebugCsv.ps1` | ?? | 2574 | 10-04 13:21 | Dbg | sûre | CHG-114/117/118 ; 04/10 12:28-15:34 | | `Docs/Migration/08_Guide_Developpeur.md` | M | 14383 | 10-04 12:30 | Dbg (+O2) | probable | diff : renvois BuildDebug/18_Build_Debug (Dbg, 04/10 12:30) et paragraphe IoStore « depuis le lot O2 » ; aucun snapshot ni CHG ne cite ce fichier à cette date | | `Docs/Migration/README.md` | M | 5377 | 10-07 08:19 | Dbg(2 lignes)+DOC-MOD(1 ligne) | sûre | +18, +19 (Dbg, CHG-114 ; déjà présentes dans le snapshot DOC-MOD) et +23 (CHG-225) ; voir section 2 | | `Source/LifePlay/LPModInfoSubsystem.cpp` | M | 6958 | 10-04 14:14 | Dbg+G6b | sûre | CHG-114 (renommage ModInfoCheckInterval) + CHG-116 (appel PreloadCityPackages) ; 04/10 14:14 | | `Docs/Migration/23_Cycle_De_Vie_Mod.md` | ?? | 40923 | 10-07 14:43 | DOC-MOD,DOC-MOD-2,DOC-MOD-3,SB4 | sûre | création DOC-MOD (CHG-225), puis 226, 227, 232 (§ 7) ; voir section 2 | | `Content/BPs/GI.uasset` | M | 51917561 | 10-04 14:19 | G6a | sûre | CHG-115 (4 appels FindCenterOfPolygon rebranchés) ; 04/10 14:19 ; snapshot G6a == HEAD ; 51 917 033 -> 51 917 561 o | | `Source/LifePlayEditorTools/LPFixFindCenterCommandlet.cpp` | ?? | 7705 | 10-04 14:16 | G6a | sûre | CHG-115 ; 04/10 14:14-14:16 | | `Source/LifePlayEditorTools/LPFixFindCenterCommandlet.h` | ?? | 592 | 10-04 14:14 | G6a | sûre | CHG-115 ; 04/10 14:14-14:16 | | `Source/LifePlay/LPDataCompat.cpp` | M | 9446 | 10-04 14:14 | G6a+G6b | sûre | CHG-115 (FindCenterOfPolygon) et CHG-116 (PreloadCityPackages) ; 2 hunks par fichier | | `Source/LifePlay/LPDataCompat.h` | M | 2523 | 10-04 14:14 | G6a+G6b | sûre | CHG-115 (FindCenterOfPolygon) et CHG-116 (PreloadCityPackages) ; 2 hunks par fichier | | `.gitignore` | M | 1468 | 10-07 14:54 | HYG | sûre | index et .gitignore touchés le 07/10 14:54, après SB4 (14:44), aucune CHG ; 2 blocs : ignore des etat/**/*.txt, ignore de Content/Characters/ | | `Source/LifePlayEditorTools/LPFixPawnResponseCommandlet.cpp` | ?? | 5369 | 10-04 22:32 | PawnGlobal | sûre | CHG-144 ; 04/10 22:32 | | `Source/LifePlayEditorTools/LPFixPawnResponseCommandlet.h` | ?? | 700 | 10-04 22:33 | PawnGlobal | sûre | CHG-144 ; 04/10 22:32 | | `Content/BPs/Room.uasset` | M | 5712854 | 10-04 22:35 | PawnGlobal+PawnDyn | sûre | CHG-144 puis CHG-145 ; 04/10 22:35 ; snapshot PawnGlobal == HEAD ; 5 713 084 -> 5 712 854 o (étape intermédiaire = snapshot PawnDyn, 5 713 081 o) | | `.cursor/plans/controles_et_interaction_bd9e495b.plan.md` | ?? | 6515 | 10-05 09:31 | Proximité | probable | plan « contrôles et interaction » 05/10 09:31, minute proche de CHG-157 (09:26-09:27) ; non cité | | `Config/DefaultInput.ini` | M | 17382 | 10-05 09:26 | Proximité | sûre | CHG-157 (ZQSD/WASD, Interact=E) ; 05/10 09:26 ; seul le lot L0 le snapshotte ; hors liste AP7+ | | `Content/Modules/vin_Base/Proximity/furniture.lpnear` | ?? | 199 | 10-05 09:27 | Proximité | sûre | CHG-157 (index des .lpnear) ; 05/10 09:27 | | `Source/LifePlay/LPDirectControlSubsystem.cpp` | ?? | 32787 | 10-05 20:23 | Proximité+AnimToGenesis | sûre | CHG-157 (création) ; manifeste AnimToGenesis (modif 05/10 20:23, état intermédiaire = copie du snapshot) | | `Source/LifePlay/LPDirectControlSubsystem.h` | ?? | 2440 | 10-05 20:23 | Proximité+AnimToGenesis | sûre | CHG-157 (création) ; manifeste AnimToGenesis (modif 05/10 20:23, état intermédiaire = copie du snapshot) | | `Source/LifePlay/LPColorGradeSubsystem.cpp` | ?? | 12464 | 10-05 12:14 | Réglages | sûre | CHG-161 ; 05/10 12:13 | | `Source/LifePlay/LPColorGradeSubsystem.h` | ?? | 2153 | 10-05 12:13 | Réglages | sûre | CHG-161 ; 05/10 12:13 | | `Source/LifePlay/LPSettingsSubsystem.cpp` | ?? | 19472 | 10-05 11:34 | Réglages | sûre | CHG-158..160 ; 05/10 11:10-11:34 | | `Source/LifePlay/LPSettingsSubsystem.h` | ?? | 1758 | 10-05 11:10 | Réglages | sûre | CHG-158..160 ; 05/10 11:10-11:34 | | `Tools/ImportQuaternius.py` | ?? | 1717 | 10-05 16:19 | Sandbox (CHG-176) | probable | 05/10 16:19 ; aucune CHG ne le cite ; import de Content/Quaternius (CHG-176) | | `Tools/DiagnosePose.py` | ?? | 4647 | 10-05 20:42 | Sandbox/AnimToGenesis (CHG-176..186) | probable | 05/10 20:42 ; aucune CHG ne le cite ; diagnostic de pose, même plage horaire que le lot AnimToGenesis (20:23) | | `Docs/Migration/etat/sandbox/SB0/SB0-VAL.md` | ?? | 1737 | 10-07 11:00 | SB0 | sûre | CHG-228 | | `Docs/Migration/etat/sandbox/S3/S3-INT.md` | M | 3058 | 10-07 14:44 | SB0,SB1,SB2,SB2-O1,SB4 | sûre | pins successifs ; voir section 2 | | `Docs/Migration/etat/sandbox/SB1/SB1-BUILD.md` | ?? | 1689 | 10-07 11:34 | SB1 | sûre | CHG-229 | | `Docs/Migration/etat/sandbox/SB1/SB1-IMPL.md` | ?? | 2359 | 10-07 11:31 | SB1 | sûre | CHG-229 | | `Docs/Migration/etat/sandbox/SB1/SB1-SPEC.md` | ?? | 14758 | 10-07 11:05 | SB1 | sûre | CHG-229 | | `Docs/Migration/etat/sandbox/SB1/SB1-VAL.md` | ?? | 8282 | 10-07 12:04 | SB1 | sûre | CHG-229 | | `Tools/anim/21_Sandbox_Addon.md` | ?? | 0 | 10-07 12:04 | SB1 (erreur de chemin) | probable | créé 07/10 12:04 au mauvais chemin (0 o pour le premier ; 1 087 o = extrait de SB1-VAL.md pour le second) ; à ne pas commiter, suppression par l'utilisateur | | `Tools/anim/Journal_Modifications.md` | ?? | 1087 | 10-07 12:04 | SB1 (erreur de chemin) | probable | créé 07/10 12:04 au mauvais chemin (0 o pour le premier ; 1 087 o = extrait de SB1-VAL.md pour le second) ; à ne pas commiter, suppression par l'utilisateur | | `Docs/Migration/etat/sandbox/SB2/SB2-BUILD.md` | ?? | 1558 | 10-07 12:42 | SB2 | sûre | CHG-230 | | `Docs/Migration/etat/sandbox/SB2/SB2-CART.md` | ?? | 14477 | 10-07 12:13 | SB2 | sûre | CHG-230 | | `Docs/Migration/etat/sandbox/SB2/SB2-IMPL.md` | ?? | 2899 | 10-07 12:25 | SB2 | sûre | CHG-230 | | `Docs/Migration/etat/sandbox/SB2/SB2-REF.md` | ?? | 9804 | 10-07 12:40 | SB2 | sûre | CHG-230 | | `Docs/Migration/etat/sandbox/SB2/SB2-VAL.md` | ?? | 11838 | 10-07 13:44 | SB2 | sûre | CHG-230 | | `LPSandboxMeasure.cpp` | ?? | 0 | 10-07 12:23 | SB2 (erreur de chemin) | probable | fichier vide (0 o) à la racine, 07/10 12:23 = écriture au mauvais chemin pendant SB2-IMPL ; à ne pas commiter | | `LPSandboxMeasureTour.cpp` | ?? | 0 | 10-07 12:23 | SB2 (erreur de chemin) | probable | fichier vide (0 o) à la racine, 07/10 12:23 = écriture au mauvais chemin pendant SB2-IMPL ; à ne pas commiter | | `Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md` | ?? | 2468 | 10-07 14:06 | SB2-O1 | sûre | CHG-231 | | `Docs/Migration/etat/sandbox/SB4/SB4-BUILD.md` | ?? | 1850 | 10-07 14:10 | SB4 | sûre | CHG-232 | | `Docs/Migration/etat/sandbox/SB4/SB4-EVAL.md` | ?? | 4168 | 10-07 14:43 | SB4 | sûre | CHG-232 | | `Docs/Migration/etat/sandbox/SB4/SB4-VAL.md` | ?? | 7028 | 10-07 14:44 | SB4 | sûre | CHG-232 | ### 1b. Groupes (dossiers volumineux et lots de fichiers) | Groupe | Fichiers | Taille | Modifié (plage) | Phase | Certitude | Motif | |---|---:|---:|---|---|---|---| | `Docs/Migration/etat/**/*.txt (suppressions indexées, dont L4-CX-B02_essai1_rejete)` | 162 | 33,5 Mo | 09-29 01:09 .. 10-01 23:15 | HYG | sûre | suppression indexée (retrait de l'index) ; fichier encore sur disque, désormais couvert par .gitignore | | `Content/Quaternius/UAL/*` | 132 | 64,1 Mo | 10-06 23:07 .. 10-06 23:49 | AP7 | sûre | état courant = reconversion 06/10 23:07-23:49 (manifestes PoseRetarget, AP3, AP4, AP7) ; import initial Sandbox CHG-176 ; binaires | | `Content/Quaternius/Retarget/*` | 5 | 395 Ko | 10-06 23:45 .. 10-06 23:46 | AP7 | sûre | rigs régénérés 23:45-23:46 (manifeste AP7) ; créés CHG-178 (Sandbox) ; binaires | | `Content/FreeAnimationsPack/Demo/*` | 124 | 487,1 Mo | 10-05 15:58 .. 10-05 15:58 | AP7 | probable | importé le 05/10 15:58 (avant AP1), cité seulement CHG-222..224 (deuxième pack) ; binaires | | `Content/FreeAnimationsPack/Animations/* + Map/Overview.umap` | 11 | 8,6 Mo | 10-05 15:58 .. 10-05 15:58 | AP7 | probable | importé le 05/10 15:58 (avant AP1), cité seulement CHG-222..224 (deuxième pack) ; binaires | | `Content/AnimPacks/FreeAnimationsPack/*` | 20 | 20,9 Mo | 10-07 00:37 .. 10-07 00:37 | AP7 | sûre | CHG-224 ; manifeste AP7 ; binaires | | `Content/Retarget_ue5/*` | 5 | 466 Ko | 10-07 00:36 .. 10-07 00:36 | AP7 | sûre | CHG-224 (DirectoriesToNeverCook) ; manifeste AP7 ; binaires | | `Content/__ExternalActors__/VehicleTemplate/*` | 149 | 178,8 Mo | 10-05 15:58 .. 10-05 15:58 | AP7 (scories d'import) | probable | 05/10 15:58, même minute que FreeAnimationsPack ; Content/ThirdPerson et Content/VehicleTemplate n'existent pas : acteurs externes orphelins ; binaires | | `Content/__ExternalActors__/ThirdPerson/*` | 41 | 165 Ko | 10-05 15:58 .. 10-05 15:58 | AP7 (scories d'import) | probable | 05/10 15:58, même minute que FreeAnimationsPack ; Content/ThirdPerson et Content/VehicleTemplate n'existent pas : acteurs externes orphelins ; binaires | | `Content/__ExternalObjects__/VehicleTemplate/* et ThirdPerson/*` | 20 | 43 Ko | 10-05 15:58 .. 10-05 15:58 | AP7 (scories d'import) | probable | 05/10 15:58, même minute que FreeAnimationsPack ; Content/ThirdPerson et Content/VehicleTemplate n'existent pas : acteurs externes orphelins ; binaires | | `ModSources/lpr_anim_quaternius/Module/Animations/planches/*.jpg` | 42 | 4,2 Mo | 10-07 00:33 .. 10-07 00:33 | AP6,AP7 | sûre | planches JPEG CHG-211 (AP6), régénérées AP7 00:33 (binaires, section 3) | | `ModSources/lpr_anim_freeanims/Module/Animations/planches/*.jpg` | 10 | 1,4 Mo | 10-07 02:38 .. 10-07 02:38 | AP7 | sûre | CHG-223/224 ; manifeste AP7 (nouveau) ; planches jpg = binaires (section 3) | | `Content/Characters/Textures/NormalMap.uasset` | 1 | 7,9 Mo | disque conservé | HYG | sûre | suppression indexée, 8 259 429 o (même taille que HEAD) ; `/Content/Characters/` ajouté au .gitignore | ### 1c. Décompte par phase (une entrée comptée une fois, phase = propriétaire principal, la première citée si multi-phases) | Phase | Entrées | |---|---:| | AP1 (reste) | 2 | | AP4 (reste, retouché AP7) | 1 | | AP5 (restes, retouchés AP6/AP7) | 2 | | AP5 (restes) | 8 | | AP6 (restes, retouchés AP7) | 46 | | AP7 | 542 | | Aucune (pycache) | 1 | | DOC-MOD / -2 / -3 | 1 | | Erreur de chemin SB1 (à écarter) | 2 | | Erreur de chemin SB2 (à écarter) | 2 | | Hygiène dépôt (hors phase) | 164 | | Phases antérieures hors liste : Clavier(+Réglages) | 2 | | Phases antérieures hors liste : Dbg | 20 | | Phases antérieures hors liste : Dbg (+O2) | 1 | | Phases antérieures hors liste : Dbg(2 lignes)+DOC-MOD(1 ligne) | 1 | | Phases antérieures hors liste : Dbg+G6b | 1 | | Phases antérieures hors liste : G6a | 3 | | Phases antérieures hors liste : G6a+G6b | 2 | | Phases antérieures hors liste : PawnGlobal | 2 | | Phases antérieures hors liste : PawnGlobal+PawnDyn | 1 | | Phases antérieures hors liste : Proximité | 3 | | Phases antérieures hors liste : Proximité+AnimToGenesis | 2 | | Phases antérieures hors liste : Réglages | 4 | | Phases antérieures hors liste : Sandbox (CHG-176) | 1 | | Phases antérieures hors liste : Sandbox/AnimToGenesis (CHG-176..186) | 1 | | SB0 | 1 | | SB0..SB4 (S3-INT, multi) | 1 | | SB1 | 4 | | SB2 | 5 | | SB2-O1 | 1 | | SB4 | 3 | | **Total** | **830** | ## 2. Fichiers touchés par plusieurs phases : sources des états intermédiaires Règle : l'état « fin de P » d'un fichier = la copie, dans l'instantané de la phase suivante qui l'a touché (D:\Game\LifePlay_Backup_5.5\\), sinon l'état courant. Les instantanés sont des états *avant* modification, vérifiés MD5 contre leur manifeste (0 écart) ; existence confirmée pour chaque ligne ci-dessous. #### Docs/Migration/Journal_Modifications.md (+1 ligne CHG par phase) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP7 (CHG-221..224) | instantané `DOC-MOD\Docs\Migration\Journal_Modifications.md` — snapshot DOC-MOD contient CHG ≤ 224, base de départ AP7 = snapshot AP7 = HEAD (CHG ≤ 220) | oui | 396344 | `33BA3CD8FA528A08D4117C0F91D3F626` | | DOC-MOD (225) | instantané `DOC-MOD-2\Docs\Migration\Journal_Modifications.md` — CHG ≤ 225 | oui | 397024 | `C7FCF6353DC56A34D08EC0A85C045C38` | | DOC-MOD-2 (226) | instantané `DOC-MOD-3\Docs\Migration\Journal_Modifications.md` — CHG ≤ 226 | oui | 397955 | `1D625ABD5EFFCFE5FB68B52B6973A68B` | | DOC-MOD-3 (227) | instantané `SB0\Docs\Migration\Journal_Modifications.md` — CHG ≤ 227 | oui | 398861 | `6CE48B7AF710AF5D8A1D6D8B085B411A` | | SB0 (228) | instantané `SB1\Docs\Migration\Journal_Modifications.md` — CHG ≤ 228 | oui | 399848 | `D632E046DE699B5FAE552353AF309B26` | | SB1 (229) | instantané `SB2\Docs\Migration\Journal_Modifications.md` — CHG ≤ 229 | oui | 401042 | `7AD517950E12D92D92170B524B407ECC` | | SB2 (230) | instantané `SB2-O1\Docs\Migration\Journal_Modifications.md` — CHG ≤ 230 | oui | 402827 | `95DFB127168607791C9B86396CAB6D1B` | | SB2-O1 (231) | instantané `SB4\Docs\Migration\Journal_Modifications.md` — CHG ≤ 231 | oui | 404452 | `B514A63500FCDB0F4E05BDCA2939BFD5` | | SB4 (232) | copie courante du dépôt — CHG ≤ 232 | oui | 405813 | `81ECB0A5335922F5D6828D5F593F6EF6` | #### Docs/Migration/21_Sandbox_Addon.md | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP7 (pin addon a3b1b89) | instantané `SB0\Docs\Migration\21_Sandbox_Addon.md` — AP7 a bien modifié ce fichier : snapshot AP7 (27496312…) = HEAD, snapshot SB0 diffère | oui | 18269 | `E681367048711B33783B44D7C6B4AF66` | | SB0 (pin 3b21fd1) | instantané `SB1\Docs\Migration\21_Sandbox_Addon.md` | oui | 18268 | `4D14153A3DAB11965CF3A6889F4FCC11` | | SB1 (pin 82dae58) | instantané `SB2\Docs\Migration\21_Sandbox_Addon.md` | oui | 19165 | `4C61BBB6D45EF62216E1E4074087C861` | | SB2 (pin fece7e9) | instantané `SB2-O1\Docs\Migration\21_Sandbox_Addon.md` | oui | 19738 | `BF4C9CDC2E1555FAF27A6472471529EF` | | SB2-O1 (pin 3d85852) | instantané `SB4\Docs\Migration\21_Sandbox_Addon.md` | oui | 20244 | `CBBD963C6B45093BE49A8B8D84E0F040` | | SB4 (pin 16905c6) | copie courante du dépôt | oui | 20742 | `F19C3DA0BE7707003DCB0F9680639778` | #### Docs/Migration/etat/sandbox/S3/S3-INT.md | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP7 (aucune modif visible) | blob HEAD (fba19bc) — snapshot AP7 == HEAD ; SB0 n'a pas de snapshot de ce fichier ; diff HEAD → snapshot SB1 = uniquement pin SB0 : AP7 n'a donc pas modifié S3-INT | oui | 2962 | `52C8767D2A3F4B6E311114A9D386E6F5` | | SB0 (pin 3b21fd1) | instantané `SB1\Docs\Migration\etat\sandbox\S3\S3-INT.md` — déduit : seul instantané entre SB0 et SB1 | oui | 3019 | `3730BC467D1987C9DF4E93B2BACB997D` | | SB1 (pin 82dae58) | instantané `SB2\Docs\Migration\etat\sandbox\S3\S3-INT.md` | oui | 3019 | `A91B857BD5A6A689C281B718ECE6F2F8` | | SB2 (pin fece7e9) | instantané `SB2-O1\Docs\Migration\etat\sandbox\S3\S3-INT.md` | oui | 3005 | `582C95D7EC1D28CFB24802F9CE9AC27F` | | SB2-O1 (pin 3d85852) | instantané `SB4\Docs\Migration\etat\sandbox\S3\S3-INT.md` | oui | 3008 | `790C59D10DB3F4203BE377B5783039C8` | | SB4 (pin 16905c6) | copie courante du dépôt | oui | 3058 | `35F831567D48CC6A40CC8003182B9EC1` | #### Docs/Migration/20_Chaine_Animations.md | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP5 (déjà dans HEAD ou non concerné : base = snapshot AP5) | instantané `AP6\Docs\Migration\20_Chaine_Animations.md` — état fin AP5 | oui | 15635 | `4739FAED09DDB33D6B717BBD74881F0D` | | AP6 (dans HEAD) | instantané `AP7\Docs\Migration\20_Chaine_Animations.md` — snapshot AP7 == HEAD | oui | 17826 | `839AEE3CDA854AF70697E7BECF281F46` | | AP7 | copie courante du dépôt — pas de snapshot ultérieur ; mtime 07/10 03:09, aucun lot SB/DOC ne le touche | oui | 19539 | `9EDBAD976F2AC3AB3F926C67BF1C43DE` | #### Docs/Migration/README.md | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | Dbg (lignes 18 et 19, hors liste) | instantané `DOC-MOD\Docs\Migration\README.md` — snapshot DOC-MOD = HEAD + 2 lignes (18, 19) : état fin « Dbg » reconstructible pour ce fichier | oui | 5126 | `93E058C83A11EEB4B4FB08963C78D5F4` | | DOC-MOD (ligne 23) | copie courante du dépôt — HEAD + 18 + 19 + 23 | oui | 5377 | `E4070690AA75B277C860619D495912A4` | #### Docs/Migration/23_Cycle_De_Vie_Mod.md (non suivi ; créé par DOC-MOD) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | DOC-MOD (création) | instantané `DOC-MOD-2\Docs\Migration\23_Cycle_De_Vie_Mod.md` — instantané pris au début de DOC-MOD-2, après la création | oui | 16511 | `9C9D07A10C4BA95E8919E18437C4E240` | | DOC-MOD-2 | instantané `DOC-MOD-3\Docs\Migration\23_Cycle_De_Vie_Mod.md` | oui | 24890 | `5AA378DA18EA4253A454E8067048B1C8` | | DOC-MOD-3 (§ 2.6) | instantané `SB4\Docs\Migration\23_Cycle_De_Vie_Mod.md` — SB0..SB2-O1 ne touchent pas ce fichier (journal) ; courant − snapshot SB4 = +53 lignes, tout dans § 7 | oui | 34499 | `1253E05380C5DBBB0AF0805F1F535E9D` | | SB4 (§ 7) | copie courante du dépôt | oui | 40923 | `B3F486FE7EFC591727B1DABE908D56A3` | #### Tools/anim/DeliverAnims.ps1 (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP5 (création) | instantané `AP6\Tools\anim\DeliverAnims.ps1` — fin AP5 | oui | 8019 | `26248379078A2E4F6F291384252A6A25` | | AP6 | instantané `AP7\Tools\anim\DeliverAnims.ps1` — fin AP6 | oui | 9322 | `7294F09F72037EA22ACC46546938F44E` | | AP7 | copie courante du dépôt | oui | 12783 | `7C3C2C2E84AFFDCD5B67CF19ACD9C0E1` | #### Tools/anim/DeliverAnims.py (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP5 (création) | instantané `AP6\Tools\anim\DeliverAnims.py` — fin AP5 | oui | 5004 | `C0A3EA7937DF7FEBC87170D38DA1D8D2` | | AP6 | instantané `AP7\Tools\anim\DeliverAnims.py` — fin AP6 | oui | 5004 | `C0A3EA7937DF7FEBC87170D38DA1D8D2` | | AP7 | copie courante du dépôt | oui | 5823 | `E882C2331EE7425CA7ED78DCBD6C7680` | #### Tools/anim/Catalogue.py (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP6 (création) | instantané `AP7\Tools\anim\Catalogue.py` — fin AP6 | oui | 24148 | `D916B1B5A1779943EA28039F7B103206` | | AP7 | copie courante du dépôt | oui | 24354 | `1D82E86796A5969A5E5933B5F9388A00` | #### AnimSources/quaternius/pack.json (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP6 (création) | instantané `AP7\AnimSources\quaternius\pack.json` — fin AP6 | oui | 18644 | `5812B9528B5569ECB6E4DFF0EFE8B772` | | AP7 | copie courante du dépôt | oui | 19664 | `472E4490C18E28759BD7C9DE1D2CB46B` | #### Tools/anim/RapportControles.py (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | AP4 (création, absente des manifestes AP4/AP6) | instantané `AP7\Tools\anim\RapportControles.py` — fin AP4/AP6 : seul état connu | oui | 15914 | `57C53F5025C04198C1081CD3DF6F2D34` | | AP7 | copie courante du dépôt | oui | 16103 | `FD01ABA5697351F67DD6FF9783CD16AB` | #### Source/LifePlay/LPDirectControlSubsystem.cpp (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | Proximité (CHG-157) | instantané `AnimToGenesis\Source\LifePlay\LPDirectControlSubsystem.cpp` — état avant la modification du lot AnimToGenesis | oui | 32403 | `18A65AF334C17FA127D8974A478DE47D` | | AnimToGenesis | copie courante du dépôt | oui | 32787 | `CC5EB9BCC7B99FFDE5CA08AD2B9B6FD3` | #### Source/LifePlay/LPDirectControlSubsystem.h (non suivi) | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | Proximité (CHG-157) | instantané `AnimToGenesis\Source\LifePlay\LPDirectControlSubsystem.h` | oui | 2450 | `4A37D01F4D1DFFCF002FE1B7CEEA52AB` | | AnimToGenesis | copie courante du dépôt | oui | 2440 | `7B8FED0E88A4939BFB249C475FBDD7C4` | #### Content/BPs/Room.uasset | Phase P | État « fin de P » = | Existe | Octets | MD5 | |---|---|---|---:|---| | PawnGlobal (CHG-144) | instantané `PawnDyn\Content\BPs\Room.uasset` — snapshot PawnDyn = Room après PawnGlobal | oui | 5713081 | `C90914882F875B98CBAFEE4E73F189C8` | | PawnDyn (CHG-145) | copie courante du dépôt | oui | 5712854 | `C3E9B54C273DBCA79584B631626AD8D8` | ### Commentaires sur les chaînes - **Phases dont l'état de fin n'est pas reconstructible isolément** : - `S3-INT.md` en **SB0** : SB0 ne l'a pas snapshotté (manifeste SB0 = Journal + 21 seulement) bien que CHG-228 le cite. L'état fin SB0 est déduit de l'instantané SB1 (seul état avant SB1) ; cela suppose que rien d'autre n'a touché le fichier entre les deux (le diff HEAD → instantané SB1 ne montre que le pin SB0 `3b21fd1`). Fiable, mais déductif. - `S3-INT.md` en **AP7** : le fichier est dans le manifeste AP7 mais n'a visiblement pas été modifié (le pin AP7 `a3b1b89` n'y figure pas, uniquement dans le doc 21) : AP7 n'a rien à y committer. - `Tools/anim/RapportControles.py` : créé en AP4 (CHG-208) mais absent des manifestes AP4 et AP6 ; seul un état « avant AP7 » existe. Un commit AP4 rétroactif n'aurait que cet état. - `Content/BPs/GI.uasset` (G6a), `Person.uasset` (AP5), `Room.uasset` (PawnGlobal puis PawnDyn) : états de fin = état courant, états de départ = instantanés (identiques à HEAD) ; seul Room a un état intermédiaire (instantané PawnDyn). - Fichiers C++ à hunks multi-phases sans instantané (`LPDataCompat.*` G6a puis G6b, `LPModInfoSubsystem.cpp` Dbg puis G6b, `README.md` pour Dbg) : séparation par hunk (`git add -p`) possible, pas par copie. - Pour les phases AP5 et AP6 (restes non suivis), les états « fin de phase » sont les instantanés du lot suivant (tables ci-dessus) ; ces états ne passent par aucun commit existant. - Pour les fichiers suivis modifiés par AP7 seulement (`DefaultGame.ini`, `BuildMod.ps1`, `LPAnimEval/Twist.cpp`, `20_Chaine_Animations.md`) : base = instantané AP7 = HEAD, fin AP7 = copie courante (aucune phase ultérieure ne les touche : aucun manifeste SB/DOC ne les liste). - Hors AP7+ : aucune des phases antérieures ne dispose d'un instantané de fin des fichiers multi-phases suivis (voir `LPDirectControlSubsystem.*`, `Room.uasset` ci-dessus pour les deux cas disponibles). ## 3. Binaires et gros dossiers non suivis Aucun n'est exclu par le `.gitignore` actuel (aucune règle ne les couvre : seuls `Content/Heavy/*`, `Content/Saves/*`, `*.png`, `*.7z`, `*.mp4`, `/ModSources/*/Content/`, `/ModSources/*/Saved/` sont exclus ; `*.jpg` et `.uasset` hors dossiers cités ne le sont pas). Total Content non suivi : environ 760 Mo, 507 fichiers. | Dossier | Fichiers | Taille | Exclu par .gitignore ? | Recommandation | Motif | |---|---:|---:|---|---|---| | `Content/FreeAnimationsPack/Demo` | 124 | 487,1 Mo | non | **ignorer** (ajouter `/Content/FreeAnimationsPack/`) ; à décider pour la licence/redistribution | pack tiers brut importé le 05/10 15:58, source de travail ; CHG-224 le met en `DirectoriesToNeverCook` (« jamais dans le jeu ») ; principe : pas de binaires lourds (comme `Content/Heavy`) | | `Content/FreeAnimationsPack/Animations` + `Map/Overview.umap` | 11 | 8,6 Mo | non | **ignorer** (même règle) | source du deuxième pack (CHG-222/223) | | `Content/__ExternalActors__/VehicleTemplate` | 149 | 178,8 Mo | non | **à décider (suggestion : supprimer ou ignorer)** | acteurs externes orphelins : `Content/VehicleTemplate` et `Content/ThirdPerson` n'existent pas ; scories de l'import du pack du 05/10 15:58 | | `Content/__ExternalActors__/ThirdPerson` | 41 | 0,2 Mo | non | idem | idem | | `Content/__ExternalObjects__/VehicleTemplate` + `ThirdPerson` | 20 | 0,04 Mo | non | idem | idem | | `Content/Quaternius/UAL` | 132 | 64,1 Mo | non | **ignorer** (ou à décider si les clips sources doivent rester reproductibles hors archive) | sources et clips convertis `B_`/`M_`, régénérables par `Tools/anim/RetargetPack.py` ; `DirectoriesToNeverCook` ; binaires | | `Content/Quaternius/Retarget` | 5 | 0,4 Mo | non | **ignorer** | rigs et retargeters régénérés par `RetargetPack.py` | | `Content/Retarget_ue5` | 5 | 0,5 Mo | non | **ignorer** | rigs UE5 (AP7), régénérés | | `Content/AnimPacks/FreeAnimationsPack` | 20 | 20,9 Mo | non | **ignorer** | clips convertis AP7, livrés par le mod | | `ModSources/lpr_anim_quaternius/Module/Animations/planches/*.jpg` | 42 | 4,2 Mo | non (`*.png` seulement) | **à décider** | livrable du mod (page `catalogue.html` : animation au survol) ; petite taille ; mais `.jpg` binaires, et les vignettes `.png` jumelles sont ignorées | | `ModSources/lpr_anim_freeanims/Module/Animations/planches/*.jpg` | 10 | 1,4 Mo | non | **à décider** | idem | | `Tools/__pycache__/` | 1 | 31 Ko | non | **ignorer** (ajouter `__pycache__/`) | bytecode généré | | `Docs/Migration/etat/**/*.txt` (déjà indexés en suppression) | 162 | 33,6 Mo | **oui, par le `.gitignore` modifié** (en attente de commit) | commit d'hygiène | décision déjà prise dans l'index/.gitignore (14:54) | | `Content/Characters/` | 1 | 7,9 Mo | **oui, par le `.gitignore` modifié** | commit d'hygiène | idem | Pas de LFS dans le dépôt ; aucun jeton repéré dans les entrées listées (le fichier `.mcp.json` est déjà ignoré, `Plugins/McpAutomationBridge` ignoré, absent de la liste). ## 4. Inconnues et décisions à trancher par l'utilisateur 1. **Périmètre des commits « un par phase »** : (a) seulement AP7, DOC-MOD, DOC-MOD-2, DOC-MOD-3, SB0, SB1, SB2, SB2-O1, SB4 ; (b) avec des commits de rattrapage AP1, AP4, AP5, AP6 (restes) avant AP7 ; (c) avec en plus les phases antérieures hors liste (Dbg, G6a/G6b, PawnGlobal/PawnDyn, Proximité, Réglages/Clavier, AnimToGenesis/Sandbox). Sans (b) et (c), les commits AP7 et DOC-MOD embarquent des fichiers de ces phases (voir ci-dessous) et ne se reconstruisent pas sur HEAD (par ex. `Person.uasset` modifié par AP5 reste hors commit, `Tools/anim/DeliverAnims.*` entre en entier dans AP7). 2. **Index déjà modifié** (163 suppressions + `.gitignore`) : confirmer que c'est voulu et le commiter à part (commit « hygiène », en premier) ; sinon le désindexer avant les phases. 3. **`LifePlay.uproject`** (06/10 22:45, aucun manifeste, aucune CHG) : diff = plugin `LPSandbox` avec `SupportedTargetPlatforms: ["Win64"]` et `AdditionalPluginDirectories` déplacé en fin de fichier. Phase probable : AP7 (compagnon du `.uplugin` de l'addon S7/CHG-219), mais attribuable aussi à un résidu S7. À trancher : l'inclure dans AP7 ou en commit à part. 4. **`Docs/Migration/08_Guide_Developpeur.md`** : phase Dbg probable ; le diff mêle aussi un paragraphe « depuis le lot O2 » (IoStore). À attribuer (Dbg, O2) ou à joindre au commit qui l'embarque. 5. **`Docs/Migration/README.md`** : trois lignes d'index (18, 19, 23). Les lignes 18 et 19 relèvent de Dbg (docs 18 et 19 non suivis) ; la ligne 23 de DOC-MOD. Sans commit Dbg, DOC-MOD embarque les lignes 18/19, ce qui impose de commiter aussi `18_Build_Debug.md` et `19_Plan_Outillage_Debug.md` (liens sinon cassés). 6. **Fichiers d'erreur de chemin à écarter (suppression par l'utilisateur, non effectuée par moi)** : `Tools/anim/21_Sandbox_Addon.md` (0 o), `Tools/anim/Journal_Modifications.md` (1 087 o, extrait de `SB1-VAL.md`), `LPSandboxMeasure.cpp` et `LPSandboxMeasureTour.cpp` à la racine (0 o). 7. **Binaires** (section 3) : décision d'ignorer ou non `Content/FreeAnimationsPack`, `Content/__External*__` (orphelins), `Content/Quaternius`, `Content/Retarget_ue5`, `Content/AnimPacks` ; décision sur les planches `.jpg` des deux mods d'animation. 8. **Entrées de certitude « probable »** à valider : `LPAnimEval/Twist*.h` et `LPAnimMethodSelect.h` (absents du manifeste AP7), `RapportControles.py` (AP4), `Tools/DiagnosePose.py` et `Tools/ImportQuaternius.py` (phase Sandbox/AnimToGenesis, aucune CHG), `.cursor/` (Dbg et plan « Proximité »), `Content/FreeAnimationsPack` (AP7), `Docs 08`. 9. **Méthode de fabrication des commits pour les fichiers multi-phases** (copier l'instantané dans l'arbre puis restaurer l'état courant, ou injecter l'instantané dans l'index sans toucher à l'arbre) : à valider avant exécution ; le dépôt ne doit pas perdre l'état courant des fichiers. 10. **Cohérence de compilation** : non vérifiée (aucune compilation, par consigne). Un commit AP7 sur HEAD sans les restes AP5 ne garantit pas que `LifePlayEditorTools` compile à l'identique ; à contrôler avant de considérer un commit comme « construisible ». ## 5. Proposition d'ordre des commits (un par phase, sans push) Ordre chronologique des phases. Les commits marqués « (option) » dépendent de la décision 1. Pour chaque fichier multi-phase, la source de l'état à indexer est indiquée entre crochets : `snap X` = `D:\Game\LifePlay_Backup_5.5\X\` ; `courant` = copie du dépôt. ### C0 — Hygiène dépôt (hors phase) — recommandé en premier - Déjà indexé : 162 suppressions `Docs/Migration/etat/**/*.txt` et `Content/Characters/Textures/NormalMap.uasset`. - À ajouter : `.gitignore` [courant]. ### Commits de rattrapage (option, décision 1b/1c), dans l'ordre - **Dbg** (CHG-114/117/118) : `Tools/BuildDebug.ps1`, `Tools/CollectDebugArtifacts.ps1`, `Tools/SummarizeDebugCsv.ps1`, `Tools/debug/LifePlay_debug_*.{bat,ps1}` (8 fichiers), `Source/LifePlay/LPDebugSubsystem.{h,cpp}`, `Docs/Migration/18_Build_Debug.md`, `19_Plan_Outillage_Debug.md`, `.cursor/skills/lifeplay-debug-build/{SKILL,reference}.md` ; hunks Dbg de `Plugins/ModdingExtra/.../LPDataCache.cpp`, `ModdingExtraBPLibrary.cpp`, `Source/LifePlay/LPModSettingsLibrary.cpp`, `LPModInfoSubsystem.cpp` (renommage), `Docs/Migration/08_Guide_Developpeur.md`, `README.md` (lignes 18, 19 : état = `snap DOC-MOD`). - **G6a / G6b** : `Content/BPs/GI.uasset`, `Source/LifePlayEditorTools/LPFixFindCenterCommandlet.{h,cpp}`, hunks de `Source/LifePlay/LPDataCompat.{h,cpp}` et `LPModInfoSubsystem.cpp` (PreloadCityPackages). - **PawnGlobal puis PawnDyn** : `Content/BPs/Room.uasset` [PawnGlobal : `snap PawnDyn` ; PawnDyn : courant], `LPFixPawnResponseCommandlet.{h,cpp}` (PawnGlobal). - **Proximité / Clavier / Réglages** : `Config/DefaultInput.ini`, `Content/Modules/vin_Base/Proximity/furniture.lpnear`, `Source/LifePlay/LPDirectControlSubsystem.{h,cpp}` [Proximité : `snap AnimToGenesis`], `LPKeyboardSubsystem.*`, `LPSettingsSubsystem.*`, `LPColorGradeSubsystem.*`, `.cursor/plans/controles_et_interaction_bd9e495b.plan.md`. - **Sandbox / AnimToGenesis** : `Source/LifePlay/LPDirectControlSubsystem.{h,cpp}` [courant], `Tools/ImportQuaternius.py`, `Tools/DiagnosePose.py`. - **AP1 (reste)** : `Tools/anim/profiles/ue4_mannequin.json`, `Tools/anim/profiles/genesis8.json`. - **AP4 (reste)** : `Tools/anim/RapportControles.py` [`snap AP7`]. - **AP5 (restes)** : `Content/BPs/Person.uasset`, `Source/LifePlay/LPModDailies.{h,cpp}`, `Source/LifePlayEditorTools/LPPatchDailiesCommandlet.{h,cpp}`, `Tools/anim/DeliverAnims.{ps1,py}` [`snap AP6`], `ModSources/lpr_anim_quaternius/{lpr_anim_quaternius.uplugin,Module/CREDITS.txt,Module/lpr_anim_quaternius.lpmod}`. - **AP6 (restes)** : `Tools/anim/Catalogue.py` [`snap AP7`], `AnimSources/quaternius/pack.json` [`snap AP7`], `Tools/anim/DeliverAnims.{ps1,py}` [`snap AP7`], et selon décision binaires `ModSources/lpr_anim_quaternius/Module/Animations/{catalogue.html,catalogue.json,planches/*.jpg}` [`snap AP7`]. ### C1 — AP7 (CHG-221 à 224) - `Config/DefaultGame.ini` [courant] - `Docs/Migration/20_Chaine_Animations.md` [courant] - `Docs/Migration/21_Sandbox_Addon.md` [`snap SB0`] - `Docs/Migration/Journal_Modifications.md` [`snap DOC-MOD`] - `Source/LifePlayEditorTools/LPAnimEvalCommandlet.{h,cpp}`, `LPAnimTwistCommandlet.{h,cpp}` [courant] - `Source/LifePlayEditorTools/LPAnimIdentifyCommandlet.{h,cpp}`, `LPAnimMethodSelect.h` [courant] - `Tools/BuildMod.ps1` [courant] - `Tools/anim/AnimPipeline.ps1`, `RetargetPack.py`, `methodes/{ue4,ue5,genesis_direct}.json`, `profiles/ue5_mannequin.json` [courant] - `Tools/anim/DeliverAnims.{ps1,py}`, `Catalogue.py`, `RapportControles.py`, `AnimSources/quaternius/pack.json` [courant ; sans rattrapage ils entrent ici en entier] - `Tools/anim/profiles/{ue4_mannequin,genesis8}.json` [courant ; sans rattrapage AP1] - `AnimSources/freeanims/pack.json` [courant] - `ModSources/lpr_anim_freeanims/{lpr_anim_freeanims.uplugin,Module/CREDITS.txt,Module/lpr_anim_freeanims.lpmod,Module/Animations/catalogue.{html,json}}` [courant] + planches `.jpg` (décision) - `ModSources/lpr_anim_quaternius/Module/Animations/catalogue.{html,json}` [courant] + planches (décision) + uplugin/lpmod/CREDITS si non rattrapés - `LifePlay.uproject` [courant] (décision 3) - Binaires Content (décision section 3) : normalement aucun. - Pas de `S3-INT.md` (aucune modification AP7). ### C2 — DOC-MOD (CHG-225) - `Docs/Migration/23_Cycle_De_Vie_Mod.md` [`snap DOC-MOD-2`] - `Docs/Migration/README.md` [courant] (contient aussi les lignes 18/19 de Dbg : décision 5) - `Docs/Migration/Journal_Modifications.md` [`snap DOC-MOD-2`] ### C3 — DOC-MOD-2 (CHG-226) - `Docs/Migration/23_Cycle_De_Vie_Mod.md` [`snap DOC-MOD-3`] - `Docs/Migration/Journal_Modifications.md` [`snap DOC-MOD-3`] ### C4 — DOC-MOD-3 (CHG-227) - `Docs/Migration/23_Cycle_De_Vie_Mod.md` [`snap SB4`] - `Docs/Migration/Journal_Modifications.md` [`snap SB0`] ### C5 — SB0 (CHG-228) - `Docs/Migration/etat/sandbox/SB0/SB0-VAL.md` [courant] - `Docs/Migration/21_Sandbox_Addon.md` [`snap SB1`] - `Docs/Migration/etat/sandbox/S3/S3-INT.md` [`snap SB1`] (déductif, voir section 2) - `Docs/Migration/Journal_Modifications.md` [`snap SB1`] ### C6 — SB1 (CHG-229) - `Docs/Migration/etat/sandbox/SB1/SB1-BUILD.md`, `SB1-IMPL.md`, `SB1-SPEC.md`, `SB1-VAL.md` [courant] - `21_Sandbox_Addon.md`, `S3-INT.md`, `Journal_Modifications.md` [`snap SB2`] ### C7 — SB2 (CHG-230) - `Docs/Migration/etat/sandbox/SB2/SB2-BUILD.md`, `SB2-CART.md`, `SB2-IMPL.md`, `SB2-REF.md`, `SB2-VAL.md` [courant] - `21_Sandbox_Addon.md`, `S3-INT.md`, `Journal_Modifications.md` [`snap SB2-O1`] ### C8 — SB2-O1 (CHG-231) - `Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md` [courant] - `21_Sandbox_Addon.md`, `S3-INT.md`, `Journal_Modifications.md` [`snap SB4`] ### C9 — SB4 (CHG-232) - `Docs/Migration/etat/sandbox/SB4/SB4-BUILD.md`, `SB4-EVAL.md`, `SB4-VAL.md` [courant] - `Docs/Migration/23_Cycle_De_Vie_Mod.md` (§ 7), `21_Sandbox_Addon.md`, `S3-INT.md`, `Journal_Modifications.md` [courant] Résidus à ne pas commiter dans cette suite : `Tools/__pycache__/`, `Tools/anim/21_Sandbox_Addon.md`, `Tools/anim/Journal_Modifications.md`, `LPSandboxMeasure.cpp`, `LPSandboxMeasureTour.cpp` ; binaires `Content/...` selon section 3. Après C9, l'arbre de travail doit être identique à son état actuel (vérification proposée : `git status --short` doit ne montrer que les résidus et les binaires ignorés/écartés).