70 lines
9.7 KiB
Markdown
70 lines
9.7 KiB
Markdown
|
|
# Plan d'exécution des commits par phase (COMMIT-PLAN)
|
||
|
|
|
||
|
|
**Fiche CP-T1b — Modèle prévu sonnet | utilisé sonnet**
|
||
|
|
|
||
|
|
Date : 2026-10-07. Lecture seule sur le dépôt `D:\Game\LifePlay-master 5.5` (branche `main`, HEAD `fba19bc`) : aucune commande git d'écriture ; seuls `COMMIT-PLAN.json`, `COMMIT-PLAN.md` et `gitignore.final` ont été écrits. Entrée : `Docs/Migration/etat/COMMIT-CART.md`. Instantanés : `D:\Game\LifePlay_Backup_5.5\<Lot>\`.
|
||
|
|
|
||
|
|
Le plan exécutable est `COMMIT-PLAN.json` (même dossier). Sources : `current` = copie du dépôt, `snap:<Lot>` = `D:\Game\LifePlay_Backup_5.5\<Lot>\<chemin>`, `content:commit_plan/gitignore.final` = contenu final de `.gitignore` (le vrai `.gitignore` n'est pas modifié par ce plan).
|
||
|
|
|
||
|
|
## 1. Tableau des commits (ordre d'exécution)
|
||
|
|
|
||
|
|
| Id | Phase | CHG | Fichiers | Message |
|
||
|
|
|---|---|---|---:|---|
|
||
|
|
| C0 | HYG | hors CHG | 1 (+163 suppressions déjà indexées, `keep_staged`) | Hygiène du dépôt : journaux de lots et texture isolée hors suivi, règles .gitignore pour les assets d'animation lourds |
|
||
|
|
| C1 | Dbg | 114, 117, 118 | 20 | Dbg : outillage de debug (BuildDebug, LPDebugSubsystem, lanceurs, événements LoadTxt / LPDataCache), documents 18 et 19 |
|
||
|
|
| C2 | G6a | 115 | 3 | G6a : FindCenterOfPolygon rebranché dans GI, commandlet LPFixFindCenter |
|
||
|
|
| C3 | G6b | 116 | 3 | G6b : PreloadCityPackages au démarrage (LPDataCompat, LPModInfoSubsystem ; rattrape FindCenterOfPolygon et le renommage ModInfoCheckInterval) |
|
||
|
|
| C4 | PawnGlobal | 144 | 3 | PawnGlobal : Room::addObject bloque le canal Pawn, commandlet LPFixPawnResponse |
|
||
|
|
| C5 | PawnDyn | 145 | 1 | PawnDyn : Room::addObject passe les objets de Room en WorldDynamic, murs Wall1 à Wall4 |
|
||
|
|
| C6 | Proximité | 157, 166, 167 | 4 | Proximité : LPDirectControlSubsystem (marche ZQSD/WASD, touche E), DefaultInput, index furniture.lpnear |
|
||
|
|
| C7 | Clavier | 156, 164, 165 | 2 | Clavier : LPKeyboardSubsystem (bouton et panneau Clavier, touches dans Saved/Config/Windows/LPKeyboard.ini) |
|
||
|
|
| C8 | Réglages | 158..163 | 4 | Réglages : LPSettingsSubsystem (onglets, bouton titre) et LPColorGradeSubsystem (réglages vidéo couleur) |
|
||
|
|
| C9 | Sandbox/AnimToGenesis | 168..186 | 4 | Sandbox / AnimToGenesis : LPDirectControlSubsystem (mannequin Quaternius, copie vers Genesis), ImportQuaternius, DiagnosePose |
|
||
|
|
| C10 | AP1 | 205 | 2 | AP1 (reste) : profils de squelettes ue4_mannequin et genesis8 |
|
||
|
|
| C11 | AP4 | 208 | 1 | AP4 (reste) : RapportControles.py |
|
||
|
|
| C12 | AP5 | 209 | 10 | AP5 (restes) : animate() / LPModDailies, commandlet LPPatchDailies, Person, DeliverAnims, mod lpr_anim_quaternius |
|
||
|
|
| C13 | AP6 | 210, 211 | 47 | AP6 (restes) : catalogue des animations (Catalogue.py, pack.json, catalogue.html/json) et planches animées du mod Quaternius |
|
||
|
|
| C14 | AP7 | 221..224 | 84 | AP7 : pilote AnimPipeline, méthodes ue4/ue5/genesis_direct, identification du squelette, mod lpr_anim_freeanims, cuisson DLC (ProjectVersion 2026.10.1.6) |
|
||
|
|
| C15 | DOC-MOD | 225 | 3 | DOC-MOD : document 23 (cycle de vie d'un mod), ligne d'index README |
|
||
|
|
| C16 | DOC-MOD-2 | 226 | 2 | DOC-MOD-2 : cycle de vie d'un mod, § 2.4, 3.1 à 3.4, 5, 6 |
|
||
|
|
| C17 | DOC-MOD-3 | 227 | 2 | DOC-MOD-3 : cycle de vie d'un mod, § 2.6 et 7 schémas Mermaid |
|
||
|
|
| C18 | SB0 | 228 | 4 | SB0 : conception du sandbox addon (validation SB0, pin 3b21fd1) |
|
||
|
|
| C19 | SB1 | 229 | 7 | SB1 : registre des mods du sandbox (spécification, implémentation, build, validation ; pin 82dae58) |
|
||
|
|
| C20 | SB2 | 230 | 8 | SB2 : scène du sandbox (cartographie, implémentation, référence, validation ; pin fece7e9) |
|
||
|
|
| C21 | SB2-O1 | 231 | 4 | SB2-O1 : ShowRoom, correctif d'affichage de la chambre (pin 3d85852) |
|
||
|
|
| C22 | SB4 | 232 | 7 | SB4 : registre des mods dans LPPairSandbox (build, évaluation, validation ; pin 16905c6), cycle de vie § 7 |
|
||
|
|
| C23 | CP | hors CHG | 4 | CP : carte et plan des commits par phase |
|
||
|
|
|
||
|
|
Total : 24 commits. Entrées de fichier : 230 (156 chemins distincts, dont 1 `.gitignore` en `content:`).
|
||
|
|
|
||
|
|
C0 : `.gitignore` source `content:commit_plan/gitignore.final` (état courant + 9 lignes : `/Content/FreeAnimationsPack/`, `/Content/Quaternius/`, `/Content/Retarget_ue5/`, `/Content/AnimPacks/`, `/Content/__ExternalActors__/`, `/Content/__ExternalObjects__/`, `__pycache__/` et 2 commentaires). Les 163 suppressions (162 `Docs/Migration/etat/**/*.txt`, `Content/Characters/Textures/NormalMap.uasset`) restent dans l'index, à ne pas réindexer.
|
||
|
|
|
||
|
|
## 2. Résultats des vérifications
|
||
|
|
|
||
|
|
Méthode : `git status --short --untracked-files=all` (837 lignes : 163 suppressions indexées + 674 autres) ; `git check-ignore` exécuté dans un dépôt temporaire (`scratchpad\ignrepo`) contenant `gitignore.final` comme `.gitignore`, sans toucher au vrai.
|
||
|
|
|
||
|
|
- **(a) Dernière occurrence = état courant : OK**, 0 écart (156 chemins ; `.gitignore` finit en `content:`). Le dernier état de chaque fichier multi-phases (Journal, 21, S3-INT, 23, DeliverAnims.*, Catalogue.py, pack.json, RapportControles.py, planches/catalogue quaternius, Room.uasset, LPDirectControl*, README) est bien `current`.
|
||
|
|
- **(b) Existence : OK**, tous les `snap:<Lot>` existent (`Test-Path`), toutes les sources `current` et `content:` existent.
|
||
|
|
- **(c) Doublons dans un même commit : OK**, aucun.
|
||
|
|
- **(d) Chemins exclus ou ignorés par `gitignore.final` : OK**, aucun chemin du plan n'est exclu (point 3) ni ignoré. Les planches `.jpg` (52 fichiers, 5,78 Mo) ne sont pas ignorées (seul `*.png` l'est) ; `Docs/Migration/etat/*.md` et `commit_plan/*` non plus.
|
||
|
|
- **(e) Couverture du `git status` : OK, restes = 0.** Répartition : 163 suppressions indexées (C0), 156 dans le plan, 11 exclus, 507 ignorés par `gitignore.final`.
|
||
|
|
- **Dossiers visés par `git check-ignore -v` (gitignore.final)** : `Content/FreeAnimationsPack/` (l. 59), `Content/Quaternius/` (60), `Content/Retarget_ue5/` (61), `Content/AnimPacks/` (62), `Content/__ExternalActors__/` (64), `Content/__ExternalObjects__/` (65), `Tools/__pycache__/` (`__pycache__/`, 66), `Content/Characters/` (56), `Docs/Migration/etat/**/*.txt` (53) : tous ignorés. Les 507 fichiers `Content/...` non suivis du `git status` sont tous couverts.
|
||
|
|
- Vérifié en plus : les 3 fichiers de `ModSources/lpr_anim_quaternius` (uplugin, CREDITS, lpmod) sont identiques entre instantané AP7 et état courant (donc source `current` en C12 sans perte). Le seul état intermédiaire retiré par déduplication : `Tools/anim/DeliverAnims.py` en C13 (identique à celui de C12). Les planches `.jpg` et `catalogue.*` quaternius diffèrent entre fin AP6 (`snap:AP7`) et courant, donc présents en C13 (snap) et C14 (current).
|
||
|
|
|
||
|
|
## 3. Notes
|
||
|
|
|
||
|
|
- **Fichier partagé entre phases sans instantané intermédiaire : en entier dans la dernière phase qui l'a modifié.**
|
||
|
|
- `Source/LifePlay/LPDataCompat.h/.cpp` (G6a + G6b) : en entier en C3 (G6b). C2 (G6a) isolé : `LPFixFindCenterCommandlet` dépend de `LPDataCompat`, il peut ne pas compiler seul.
|
||
|
|
- `Source/LifePlay/LPModInfoSubsystem.cpp` (Dbg + G6b) : en entier en C3 (G6b) ; le commit Dbg n'a pas le renommage `ModInfoCheckInterval`.
|
||
|
|
- `Docs/Migration/08_Guide_Developpeur.md` : en entier en C1 (Dbg) ; il contient aussi le paragraphe IoStore « depuis le lot O2 » (décision 4).
|
||
|
|
- `README.md` : C1 = instantané `DOC-MOD` (lignes 18 et 19) ; C15 = état courant (ligne 23 ajoutée).
|
||
|
|
- `LPDirectControlSubsystem.h/.cpp` : C6 = `snap:AnimToGenesis` ; C9 = courant. `Room.uasset` : C4 = `snap:PawnDyn` ; C5 = courant.
|
||
|
|
- `Journal_Modifications.md`, `21_Sandbox_Addon.md`, `S3-INT.md`, `23_Cycle_De_Vie_Mod.md` : chaîne d'instantanés de l'AP7 au SB4, dernier état = courant en C22. `S3-INT.md` en C18 (SB0) est déduit de l'instantané SB1 (fiable mais déductif). AP7 ne modifie pas `S3-INT.md`.
|
||
|
|
- `DeliverAnims.ps1/.py` : C12 = `snap:AP6` ; C13 = `snap:AP7` (`.ps1`) ; C14 = courant. `Catalogue.py`, `AnimSources/quaternius/pack.json` : C13 = `snap:AP7` ; C14 = courant. `RapportControles.py` : C11 = `snap:AP7` ; C14 = courant.
|
||
|
|
- **Phases sans commit** (aucun fichier restant) : AP2, AP3, PairCap, PairCap2, PairCol, ShowCouple, PoseMeasure, S0 à S8 (CHG-119..155, 187..220 hors AP1/AP4/AP5/AP6), H3, UI, O et lots antérieurs : tout est déjà dans HEAD ou hors suivi. Les fichiers mod-AP des phases AP2/AP3 (`LPAnimEval/Twist`) sont tous dans AP7. `LifePlay.uproject` est dans C14 (AP7) selon la décision 4.
|
||
|
|
- **Attributions probables** (cart) : `LPAnimEval/Twist .h`, `LPAnimMethodSelect.h` (AP7) ; `RapportControles.py` (AP4) ; `ImportQuaternius.py`, `DiagnosePose.py` (Sandbox/AnimToGenesis).
|
||
|
|
- **Exclus de tous les commits, fichiers conservés sur disque** (11 chemins) : `Docs/Migration/24_Plan_Decouplage_Sandbox.md`, `Docs/Migration/etat/sandbox/DC0/DC0-CART.md` et `DC0-SPEC.md` (session DC0), `Tools/anim/21_Sandbox_Addon.md`, `Tools/anim/Journal_Modifications.md`, `LPSandboxMeasure.cpp`, `LPSandboxMeasureTour.cpp`, `Tools/__pycache__/RetargetQuaternius.cpython-314.pyc` (ignoré), et **`.cursor/`** (3 fichiers : `plans/controles_et_interaction_bd9e495b.plan.md`, `skills/lifeplay-debug-build/SKILL.md` et `reference.md`) : outil d'éditeur, comme `.claude/`, **à signaler à l'utilisateur et non commité** (la carte CP-T1 les rattachait à Dbg et Proximité).
|
||
|
|
- **Dernier commit C23 (CP)** : `COMMIT-CART.md`, `commit_plan/COMMIT-PLAN.json`, `COMMIT-PLAN.md`, `gitignore.final`. Si ces fichiers sont modifiés après la vérification, relancer le contrôle (e).
|
||
|
|
- **Cohérence de compilation non vérifiée** (aucune compilation). Les commits intermédiaires Dbg et G6a peuvent ne pas être « construisibles » seuls (voir ci-dessus) ; l'état final (C23) est identique à l'état courant.
|
||
|
|
- Après C23, `git status --short` ne doit montrer que : les 11 exclus ci-dessus et les 507 fichiers Content ignorés n'apparaissent pas (ignorés) ; seuls restent visibles les exclus non ignorés (`.cursor/`, DC0, `Tools/anim/*`, `LPSandboxMeasure*.cpp`).
|