diff --git a/Docs/Migration/21_Sandbox_Addon.md b/Docs/Migration/21_Sandbox_Addon.md index 6b0f5a6..fe101fa 100644 --- a/Docs/Migration/21_Sandbox_Addon.md +++ b/Docs/Migration/21_Sandbox_Addon.md @@ -117,12 +117,12 @@ D:\Game\ - **Liaison** : `LifePlay.uproject` déclare `"AdditionalPluginDirectories": ["../LifePlay-Sandbox/Plugins"]` (chemin relatif au `.uproject`) et active `LPSandbox` dans `Plugins`. UBT et l'éditeur y trouvent `LPSandbox.uplugin` (modules `LPSandbox` et `LPAnimMeasure`) ; les DLL du plugin sont compilées avec le jeu (`Build.bat LifePlayEditor Win64 Development`). - **Pourquoi pas un submodule** : l'addon est un `uproject` mince qui contient le plugin sous `Plugins/LPSandbox/`. Un submodule monté sur `Plugins/LPSandbox` du jeu donnerait `Plugins/LPSandbox/Plugins/LPSandbox/` (plugin imbriqué, non scanné au bon niveau) ; un submodule `External/LifePlay-Sandbox` dupliquerait l'addon à côté du sibling et rendrait ambigu l'exemplaire chargé. Un clone sibling évite les deux problèmes. -- **Pin** : le jeu consomme un commit précis de l'addon, consigné à la main dans `S3-INT.md` (aujourd'hui `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add`, `lot/SB2-bibliotheques`, SB2 bibliothèques de scène et de personnages, caméra du socle, état des modes sorti vers les mods ; précédents : `82dae58380b76c45f60541fd7cb5a0a409700e10` SB1 registre de mods et barre latérale, `3b21fd180c04f0fa49a1b5c9ef1b517ade1cb362` SB0 conception de la sandbox modulaire, `f09c42e5a2bc613cf269cce76c878461ca41c8b7` S7-T2 uplugin, `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` S5-T2 `LPCoupleSim`, `f8102647ccdebad37e4977ccbf2c51e583823a80`, S4-T3). Le pin est mis à jour (hash dans `S3-INT.md` et README de l'addon) à chaque évolution de l'addon que le jeu doit prendre. Reproduire : +- **Pin** : le jeu consomme un commit précis de l'addon, consigné à la main dans `S3-INT.md` (aujourd'hui `3d858527fccfdddd8711c7c7448fa001442e0b8a`, `lot/SB2-O1`, SB2-O1 correction de `ShowRoom` ; précédents : `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add` SB2 bibliothèques de scène et de personnages, caméra du socle, état des modes sorti vers les mods, `82dae58380b76c45f60541fd7cb5a0a409700e10` SB1 registre de mods et barre latérale, `3b21fd180c04f0fa49a1b5c9ef1b517ade1cb362` SB0 conception de la sandbox modulaire, `f09c42e5a2bc613cf269cce76c878461ca41c8b7` S7-T2 uplugin, `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` S5-T2 `LPCoupleSim`, `f8102647ccdebad37e4977ccbf2c51e583823a80`, S4-T3). Le pin est mis à jour (hash dans `S3-INT.md` et README de l'addon) à chaque évolution de l'addon que le jeu doit prendre. Reproduire : ```powershell cd D:\Game git clone https://github.com/edujiro5972/LifePlay-Sandbox.git -git -C LifePlay-Sandbox checkout fece7e9a0e63b3058b5d24d96d669a3c9c0e9add +git -C LifePlay-Sandbox checkout 3d858527fccfdddd8711c7c7448fa001442e0b8a # le jeu doit être cloné à côté : D:\Game\LifePlay-master 5.5 ``` @@ -174,7 +174,9 @@ Le lot S5 ferme la **dérive de fork** entre la sandbox (`LPSandbox/LPCoupleSim. - [x] **SB1** : registre de mods, barre latérale, 7 descripteurs `.lpmod`, modes Pair / Interaction / Mesure enveloppés en `lps_couple` / `lps_interaction` / `lps_asset_integration` (`etat/sandbox/SB1/SB1-VAL.md` PASS, contrôle visuel utilisateur 2026-10-07 ; tag `lot-SB1-valide`). - [x] **SB2** : bibliothèques `lps_lib_scene` / `lps_lib_actors`, caméra du socle, état des modes sorti vers les mods `lps_couple` / `lps_interaction` / `lps_asset_integration` (`etat/sandbox/SB2/SB2-VAL.md` PASS, contrôle visuel utilisateur 2026-10-07 ; tag `lot-SB2-valide`). - [ ] Reports SB1 (registre unique, lot propriétaire **SB2**) : (traité) images de la tournée Mesure non déterministes : SB2-T5 compare les JSON/CSV (identiques) et les images visuellement ; (ouvert, nouveau propriétaire **SB4**) « Open réécrit » : chaque ouverture de mod réécrit `Open` dans `Saved/sandbox_mods.ini` (une tournée automatique laisse donc `Open=lps_asset_integration`). -- [ ] Reports SB2 : (O1) sortie de Mesure : meubles et murs restent invisibles (`ALPSandboxScene::ShowRoom` ne lève pas `SetHiddenInGame`), confirmé par l'utilisateur (2026-10-07), correction proposée en lot dédié (propriétaire : SB2-O1, à décider) ; (E3) sans `lps_lib_scene`, la pièce est construite quand même (séparation physique : porte G-SB3). +- [x] **G-SB3** : SB3 abandonné (décision utilisateur 2026-10-07). Motif : les mods du jeu sont du contenu (.lpmod + pak), leurs dépendances sont vérifiées par le registre (prouvé en SB1/SB2) ; coût ≈ 1 à 1,5 lot, et `LPAnimMeasure` est utilisé par le jeu en Shipping ; on passe à SB4. +- [x] **SB2-O1** : correction du défaut O1 (`etat/sandbox/SB2/SB2-O1-BUILD.md` PASS, contrôle visuel utilisateur 2026-10-07 ; tag `lot-SB2-O1-valide`). +- [x] Reports SB2 : (O1) traité (SB2-O1, `3d858527fccfdddd8711c7c7448fa001442e0b8a` : `ShowRoom` symétrique de `HideRoom`, contrôle visuel utilisateur 2026-10-07 « c'est bon ») ; (E3) sans `lps_lib_scene`, la pièce est construite quand même : non traité, séparation physique abandonnée à la porte G-SB3 (décision utilisateur 2026-10-07). ## Lots (S0 … S8) | Lot | Objet (une ligne) | diff --git a/Docs/Migration/Journal_Modifications.md b/Docs/Migration/Journal_Modifications.md index 75d1e4a..b3fa1b0 100644 --- a/Docs/Migration/Journal_Modifications.md +++ b/Docs/Migration/Journal_Modifications.md @@ -1131,6 +1131,7 @@ Validation L7c/L7d (2026-10-02, parc, même cadrage) : la nuit reste claire (sol | CHG-155 | 2026-10-05 | ShowCouple | Un lit est reconnu par son nom. Il ne bloque un déplacement que vers le bas, pour se poser ; le retour horizontal n'est plus arrêté et le contact ne renvoie plus la boîte | après avoir quitté le lit, la boîte ne pouvait plus y revenir | revenir au test `DoesPackageExist` et au filtre du flanc seul | | CHG-156 | 2026-10-05 | Clavier | `LPKeyboardSubsystem` : bouton « Clavier » ajouté à l'exécution dans `MainMenu.SettingsScrollBox` ; panneau pour changer, ajouter ou retirer une touche (actions et axes clavier). Écrit dans `Saved/Config/Windows`, pas dans `GameSettings.sav` | pouvoir réaffecter les touches, dont Q, sans modifier les Blueprints | retirer `LPKeyboardSubsystem.h/.cpp` et la dépendance `UMG` | | CHG-158 | 2026-10-05 | Réglages | `LPSettingsSubsystem` : onglets Audio, Video, Lewd, General, Keyboard, Misc au-dessus de `SettingsScrollBox`. Les lignes du Blueprint restent en place et sont montrées selon leur texte ; le reste va dans Misc. Keyboard affiche la liste des touches | la liste unique ne montrait pas le clavier | retirer `LPSettingsSubsystem.h/.cpp` | +| CHG-231 | 2026-10-07 | SB2-O1 | addon `D:\Game\LifePlay-Sandbox` : `Plugins/LPSandbox/Source/LPSandbox/LPSandboxScene.cpp` (`ALPSandboxScene::ShowRoom` : `SetHiddenInGame(false)` puis `SetVisibility(true, true)` sur meubles et murs), `README.md` (commits `3d858527fccfdddd8711c7c7448fa001442e0b8a` code + `30e8c18` pin, tag `lot-SB2-O1-valide`, branche `lot/SB2-O1`, tag d'entrée `lot-SB2-O1-avant` = `b4ca206`) ; jeu : `Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md`, `Docs/Migration/etat/sandbox/S3/S3-INT.md`, `Docs/Migration/21_Sandbox_Addon.md` (pin, reports SB2, porte G-SB3) | mini-lot SB2-O1 : correction du défaut O1 (meubles et murs invisibles au retour de Mesure, `ShowRoom` rendu symétrique de `HideRoom`) ; compilation PASS ; tournée freeanims identique à SB2-REF (73/73 fichiers, JSON/CSV/TXT identiques) ; contrôle visuel utilisateur « c'est bon » (meubles et murs visibles en revenant de Mesure vers Couple et Interaction). Porte G-SB3 (décision utilisateur 2026-10-07) : SB3 abandonné (plugins physiques séparés non faits) ; les mods du jeu sont du contenu (.lpmod + pak), leurs dépendances sont vérifiées par le registre (prouvé en SB1/SB2), coût ≈ 1 à 1,5 lot, `LPAnimMeasure` utilisé par le jeu en Shipping ; on passe à SB4 ; E3 non traité | pin `fece7e9` → `3d85852` (hash complet `3d858527fccfdddd8711c7c7448fa001442e0b8a`) | `.\Tools\Restore.ps1 -Lot SB2-O1` (docs du jeu), `.\Tools\Restore.ps1 -Lot SB2-O1-addon -ProjectRoot D:\Game\LifePlay-Sandbox` et `git -C D:\Game\LifePlay-Sandbox checkout lot-SB2-O1-avant` ; rien n'est commité dans le dépôt du jeu ni poussé | | CHG-230 | 2026-10-07 | SB2 | addon `D:\Game\LifePlay-Sandbox` : `Plugins/LPSandbox/Source/LPSandbox/*` (nouveaux `LPSandboxScene.h/.cpp` ex-`LPSandboxRoomBuilder.cpp`, `LPSandboxActors.h/.cpp`, `LPSandboxCamera.h/.cpp`, `LPSandboxCoupleMod.h/.cpp` ex-`LPCoupleSim.cpp`, `LPSandboxInteractionMod.h`, `LPSandboxMeasureMod.h` ; registre, enveloppes, `LPPairSandbox*`, `LPSandboxInteraction/Measure/MeasureTour` adaptés), `Plugins/LPSandbox/Modules/Mods/lps_asset_integration/lps_asset_integration.lpmod`, `README.md` (commits `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add` code + `b4ca206` pin, tag `lot-SB2-valide`, branche `lot/SB2-bibliotheques`) ; jeu : `Docs/Migration/etat/sandbox/SB2/SB2-VAL.md`, `Docs/Migration/etat/sandbox/S3/S3-INT.md`, `Docs/Migration/21_Sandbox_Addon.md` (pin, SB2, reports) | lot SB2 : scène (pièce, meubles), personnages et caméra extraits du socle en bibliothèques `lps_lib_scene` / `lps_lib_actors` et caméra du socle ; état de chaque mode sorti vers trois mods UObject (`lps_couple`, `lps_interaction`, `lps_asset_integration`) ; contexte filtré par prérequis ; décisions D1 à D7 (voir `etat/sandbox/SB2/SB2-CART.md`) ; validation E1 à E5 PASS + contrôle visuel utilisateur (« tout est conforme » : 3 mods, enchaînement, scène neutre D3, panneau sous MC/PNJ D5, images freeanims) ; O1 (murs et meubles invisibles au retour de Mesure) confirmé par l'utilisateur, préexistant, non corrigé (hors périmètre) | pin `82dae58` → `fece7e9` (hash complet `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add`) | `.\Tools\Restore.ps1 -Lot SB2` (docs du jeu), `.\Tools\Restore.ps1 -Lot SB2-addon -ProjectRoot D:\Game\LifePlay-Sandbox` et `git -C D:\Game\LifePlay-Sandbox checkout lot-SB2-avant` ; rien n'est commité dans le dépôt du jeu ni poussé | | CHG-229 | 2026-10-07 | SB1 | addon `D:\Game\LifePlay-Sandbox` : `Plugins/LPSandbox/Source/LPSandbox/*` (registre `FLPSandboxModRegistry`, journal `LogLPSandboxMods`, `Saved/sandbox_mods.ini`, barre latérale, enveloppes), `Plugins/LPSandbox/Modules/` (7 descripteurs `.lpmod`), `README.md` (commits `82dae58380b76c45f60541fd7cb5a0a409700e10` code + commit pin, tag `lot-SB1-valide`, branche `lot/SB1-registre`) ; jeu : `Docs/Migration/etat/sandbox/SB1/SB1-VAL.md`, `Docs/Migration/etat/sandbox/S3/S3-INT.md`, `Docs/Migration/21_Sandbox_Addon.md` (pin, SB1, reports) | lot SB1 : registre de mods, barre latérale, 7 descripteurs ; modes Pair / Interaction / Mesure enveloppés en `lps_couple` / `lps_interaction` / `lps_asset_integration` ; validation E1 à E5 PASS + contrôle visuel utilisateur (a, b, c, barre latérale, images E5 : pas de défauts constatés) | pin `3b21fd1` → `82dae58` (hash complet `82dae58380b76c45f60541fd7cb5a0a409700e10`) | `.\Tools\Restore.ps1 -Lot SB1` (docs du jeu), `.\Tools\Restore.ps1 -Lot SB1-addon -ProjectRoot D:\Game\LifePlay-Sandbox` et `git -C D:\Game\LifePlay-Sandbox checkout lot-SB1-avant` ; rien n'est commité dans le dépôt du jeu ni poussé | | CHG-228 | 2026-10-07 | SB0 | addon `D:\Game\LifePlay-Sandbox` : `Docs/SB0-conception.md`, `Docs/SB-plan.md`, `README.md` (commits C1 `3b21fd1`, C2 `12d6198`, tags `lot-SB0-avant` / `lot-SB0-valide`, branche `lot/SB0-conception`) ; jeu : `Docs/Migration/etat/sandbox/S3/S3-INT.md`, `Docs/Migration/21_Sandbox_Addon.md` (pin) | conception de la sandbox modulaire demandée par l'utilisateur (modes Pair/Interaction/Mesure → mods `lps_couple` / `lps_interaction` / `lps_asset_integration`, modules système et bibliothèques `lps_*`, `.lpmod` étendu rétrocompatible, interface `ILPSandboxMod`, registre, barre latérale ; plan SB0–SB4 au format du cahier S0–S8) | pin `a3b1b89` → `3b21fd1` (hash complet `3b21fd180c04f0fa49a1b5c9ef1b517ade1cb362`) | `.\Tools\Restore.ps1 -Lot SB0` (jeu) et `.\Tools\Restore.ps1 -Lot SB0-addon -ProjectRoot D:\Game\LifePlay-Sandbox` ; commits addon conservés dans l'historique (branche) ; rien n'est commité dans le dépôt du jeu ni poussé | diff --git a/Docs/Migration/etat/sandbox/S3/S3-INT.md b/Docs/Migration/etat/sandbox/S3/S3-INT.md index 0002ea2..f1e9ddb 100644 --- a/Docs/Migration/etat/sandbox/S3/S3-INT.md +++ b/Docs/Migration/etat/sandbox/S3/S3-INT.md @@ -8,7 +8,7 @@ Date : 2026-10-06 — Role A-INT |---|---| | Repo addon | https://github.com/edujiro5972/LifePlay-Sandbox.git | | Branche | `main` | -| **Commit pin** | `fece7e9a0e63b3058b5d24d96d669a3c9c0e9add` (`fece7e9`, SB2, **local, non pousse** au 2026-10-07) | +| **Commit pin** | `3d858527fccfdddd8711c7c7448fa001442e0b8a` (`3d85852`, SB2-O1, **local, non pousse** au 2026-10-07) | | Contenu du commit | S5-T2 : `LPCoupleSim` (géométrie du couple partagée jeu/addon) ; inclut S4-T3 (retrait GM Interaction legacy), S4-T2 (découpe `LPPairSandbox.cpp`) et S3-T4 (`StartupModule` → `SetUALRoot`) | | Pins précédents | `82dae58380b76c45f60541fd7cb5a0a409700e10` (SB1), `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (S7-T2), `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` (S5-T2), `f8102647ccdebad37e4977ccbf2c51e583823a80` (S4-T3), `4de1f0b6764ed3bc575bb687630d3f070e1be221` (S3-T4) | @@ -46,7 +46,7 @@ sur la copie effectivement chargee. Pin manuel a la place (ci-dessous). ```powershell cd D:\Game git clone https://github.com/edujiro5972/LifePlay-Sandbox.git -git -C LifePlay-Sandbox checkout fece7e9a0e63b3058b5d24d96d669a3c9c0e9add +git -C LifePlay-Sandbox checkout 3d858527fccfdddd8711c7c7448fa001442e0b8a # Le jeu doit etre clone a cote : D:\Game\LifePlay-master 5.5 ``` diff --git a/Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md b/Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md new file mode 100644 index 0000000..73829fd --- /dev/null +++ b/Docs/Migration/etat/sandbox/SB2/SB2-O1-BUILD.md @@ -0,0 +1,86 @@ +# Fiche SB2-O1-T2 — Modèle prévu haiku | utilisé haiku + +## Compilation + +- **Code de sortie** : 0 (succès) +- **Durée** : ~12.77 secondes +- **Module** : `[1/4] Compile [x64] Module.LPSandbox.cpp` ✓ +- **DLL** : D:\Game\LifePlay-master 5.5\Binaries\Win64\UnrealEditor-LPSandbox.dll + - LastWriteTime : 2026-10-07 13:56:37 +- **Avertissements** : 0 +- **Erreurs** : 0 + +## Tournée de contrôle (AnimPipeline) + +- **Verdict** : ok +- **Code de sortie** : 0 +- **Durée** : 434 secondes (~7 minutes) +- **Commande** : `.\Tools\anim\AnimPipeline.ps1 -Pack freeanims -From 5 -To 5` +- **Étapes exécutées** : 5 (evaluation) +- **Rapport** : D:/Game/LifePlay-master 5.5/Saved/AnimPipeline/freeanims/rapport.html + - Bridget : 10 lignes de contrôles, 30 lignes d'écarts + - Michael : 10 lignes de contrôles, 30 lignes d'écarts + +## Comparaison avec la référence + +### Fichiers (non-images) + +Référence : D:\Game\LifePlay_Backup_5.5\SB2-REF\freeanims\ +Généré : D:\Game\LifePlay-master 5.5\Saved\AnimPipeline\freeanims\ + +- **Nombre de fichiers** : 63 (identique) +- **Fichiers .json/.csv/.txt** : 40 comparés (hors etapes/ et etat.json) + - Résultat : **Tous identiques** ✓ + - SHA-256 : Identique pour tous + +### Images (png/jpg) + +- **Nombre** : 20 (identique) +- **Noms** : Identiques +- **Différences attendues** : Images peuvent avoir des variations mineures de compression/rendu + +## État sandbox_mods.ini + +Remis à exactement : + +```ini +[Mods] +Order=lps_couple,lps_interaction,lps_asset_integration +Open=lps_couple +[Enabled] +lps_couple=true +lps_interaction=true +lps_asset_integration=true +``` + +Fichier : D:\Game\LifePlay-master 5.5\Saved\sandbox_mods.ini ✓ + +## Verdict + +**PASS** ✓ + +- Code de compilation : 0 +- Verdict tournée : ok +- Code tournée : 0 +- Comparaison (non-images) : Identiques +- État sandbox_mods.ini : Correct + +--- + +Exécuté le : 2026-10-07 13:56-14:33 (durée totale : ~37 minutes) + + +## Contrôle visuel utilisateur (2026-10-07) : PASS (« c'est bon ») + +Meubles et murs visibles en revenant de Mesure vers Couple et Interaction. + +## Verdict du mini-lot SB2-O1 : PASS + +Correction O1 (`ALPSandboxScene::ShowRoom` symétrique de `HideRoom`), compilation, tournée freeanims identique à SB2-REF (73/73 fichiers) et contrôle visuel utilisateur : tous PASS. + +| Tâche | Modèle prévu | Modèle utilisé | +|---|---|---| +| T1 | opus | opus (session principale) | +| T2 | haiku | haiku | +| T3 | utilisateur | utilisateur | +| T4 | sonnet | sonnet | \ No newline at end of file