LifePlay-Revival/Docs/Migration/etat/sandbox/S7/S7-IMPL-L.md

32 lines
2.7 KiB
Markdown
Raw Normal View History

# S7-T2 - Implementation : plugin `LPSandbox` hors Shipping
- **Fiche :** S7-T2 | **Role :** IMPL-L | **Date :** 2026-10-06
- **Contrat :** `S7-SPEC.md` §C5
- **Commit addon :** `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (`main`, local, non pousse) : `S7-T2: uplugin SupportedTargetPlatforms Win64, LPSandbox module deny Shipping`
## Choix
| Option proposee | Decision | Motif |
|---|---|---|
| `TargetAllowList: ["Editor"]` | **Rejetee** | Le sandbox tourne en `-game` (cible Game Development / DebugGame via `UnrealEditor.exe -game`) : trop strict. |
| `TargetAllowList: ["Editor", "Game"]` (module) | Rejetee | Equivalent a exclure Server / Client / Program ; ne sort pas Shipping (Shipping est une **configuration**, pas un type de cible). |
| `TargetAllowList: ["Editor", "Program"]` | Rejetee | Exclut la cible Game Development, qui monte `LPSandbox` (preuve S7-VAL §3). |
| **`TargetConfigurationDenyList: ["Shipping"]` sur le module `LPSandbox`** | **Retenue** | Supportee par UE 5.5 (`ModuleDescriptor.cpp:220`, `ModuleDescriptor.cs:327`). Exclut `LPSandbox` du Shipping seulement. |
| Meme deny-list sur `LPAnimMeasure` | **Rejetee** | `LifePlay.Build.cs` depend de `LPAnimMeasure` (`LPDirectControlSubsystem`, `LPShowCoupleSubsystem` -> `LPCoupleSim`) : un Shipping du jeu casserait. |
| `Optional: true` sur le plugin dans `LifePlay.uproject` | **Retenue (limitee)** | Evite l'erreur « plugin introuvable » au chargement de l'editeur si l'addon voisin n'est pas clone. Ne remplace pas le build : `LifePlay.Build.cs` exige `LPAnimMeasure` (voir Limites). |
## Modifications
1. `D:\Game\LifePlay-Sandbox\Plugins\LPSandbox\LPSandbox.uplugin`
- `"SupportedTargetPlatforms": ["Win64"]` ;
- module `LPSandbox` : `"TargetConfigurationDenyList": ["Shipping"]` ;
- `Description` : precise que `LPSandbox` n'est pas compile en Shipping et que `LPAnimMeasure` l'est toujours.
2. `D:\Game\LifePlay-master 5.5\LifePlay.uproject` : plugin `LPSandbox` -> `"Enabled": true, "Optional": true`.
## Limites
- **Pas de jeu empaquete avec sandbox.** En Shipping, le GameMode `LPPairSandboxGameMode` n'existe pas ; les `.bat` `Tools/debug/*_sandbox.bat` ne s'appliquent qu'a Development / DebugGame.
- **`Optional` ne dispense pas du clone sibling pour compiler.** Sans `../LifePlay-Sandbox/Plugins`, `LifePlay.Build.cs` ne trouve pas `LPAnimMeasure` : le build du jeu echoue. `Optional` ne couvre que le chargement du projet sans module a compiler.
- **Commit addon non pousse** et pin (`S3-INT.md`) mis a jour vers `f09c42e` : un `git push` de l'addon est necessaire avant de partager le jeu.
- Aucun changement de code C++ ; `LPAnimMeasure.Build.cs` / `LPSandbox.Build.cs` inchanges.