LifePlay-Revival/Docs/Migration/etat/COMMIT-CART.md
edujiro5972 eb008e3541 CP : carte et plan des commits par phase
Phase CP (hors CHG).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:50:11 +02:00

432 lines
48 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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\<phase suivante>\<chemin>), 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\<même chemin>` ; `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).