LifePlay-Revival/Docs/Migration/etat/commit_plan/COMMIT-PLAN.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

9.7 KiB

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).