39 lines
5.5 KiB
Markdown
39 lines
5.5 KiB
Markdown
|
|
# REF-OPERATIONNEL : comment faire (builds, outils, commandes, copie UE, MCP)
|
||
|
|
|
||
|
|
Statut : **projet** (non adopté ; l'utilisateur décide). Produit par REF1-SPEC-01, 2026-10-15. Source : `etat\REF\REF1\REF1-CART-0{1,2,3}.csv` (98 règles OPE extraites ; 193 « en vigueur » sur 253 lignes au total). Une règle par ligne ; la colonne ids renvoie aux CSV. Skill « — » = règle orpheline (aucun skill ne la porte).
|
||
|
|
|
||
|
|
| Règle (reformulée) | Source (doc §) | Skill | ids |
|
||
|
|
|---|---|---|---|
|
||
|
|
| Moteur, projet et dossiers de sortie viennent d'un seul point, `Tools\Engine.ps1` (surcharge `LP_ENGINE_ROOT`) | 08 §1 ; 27 §U2 ; 28 §6 | lp-env | C1-035, C3-016 |
|
||
|
|
| MSVC épinglé par `CompilerVersion` : 5.5 sur 14.38 (VS 2022), 5.8 sur 14.50.35717 (VS 2026) | 27 §U0 | lp-env, ue-cpp-build | C3-014 |
|
||
|
|
| Compiler par `Tools\Build.ps1`, recompter avec `-FromLog` ; critère 0 erreur, 0 nouvel avertissement ; porte G-U3 = LPTestStringCompat 3120/0/60 | 03 §3.2 ; 27 §U3 | lp-build, lp-validate | C1-011, C3-017 |
|
||
|
|
| Fermer l'éditeur avant de compiler (Live Coding), une seule compilation à la fois, DLL de l'addon pas plus anciennes que celles du jeu | 08 §3 ; 24 §Pièges | lp-build | C1-041, C2-089 |
|
||
|
|
| Si UBA échoue (C1001/C2206) : recompiler sans UBA (`BuildDebug.ps1 -NoUBA`) | 27 §U6 ; 29 | lp-build | C3-018, C2-061 |
|
||
|
|
| Sans l'addon, UBT réutilise un `Makefile.bin` obsolète : le déplacer (jamais le supprimer) avant de recompiler avec l'addon | 09 §2 ; 18 §1 | lp-build | C1-052, C2-035 |
|
||
|
|
| Argument PowerShell avec virgule ou point après `=` : le mettre entre guillemets ; `-createreleaseversion` via `cmd /c` ou `.cmd` | 09 ; 16 §5 | sk-windows-shell | C1-051, C2-027 |
|
||
|
|
| Commandlet : `UnrealEditor-Cmd -run=… -unattended -nopause` ou `Tools\RunCommandlet.ps1` (journal archivé) ; éditeur fermé si elle écrit | 08 §5 | lp-commandlets | C1-043 |
|
||
|
|
| Les 16 commandlets de correction `LPFix*` sont retirés depuis U2 (tag U2-avant) | 08 §5.2 | lp-commandlets | C1-044 |
|
||
|
|
| Correctif de rebranchement : `-DryRun` (compte attendu), valeurs avant/après, diff indépendant, rien sauvegardé si écart | 05 §3 ; 08 §6.2 | lp-commandlets | C1-024, C1-046 |
|
||
|
|
| Forme d'un correctif : préférer un sous-système C++ (aucun asset touché, retour arrière = retirer deux fichiers) | 08 §6.1 | lp-ue-compat | C1-045 |
|
||
|
|
| Montée de moteur : mesurer les appels Blueprint dont la signature change sans erreur de compilation | 01 §6 ; 07 §4 | lp-ue-compat | C1-003, C1-033 |
|
||
|
|
| Mesurer uniquement sur build empaquetée Development (jamais `-game`), normaliser, recouper tout écart | 02 §6 ; 03 §2 ; 27 | lp-perf | C1-005, C1-009, C3-013 |
|
||
|
|
| CSV Profiler : jamais `-csvCaptureFrames` ; démarrer par `-ExecCmds=csvprofile …` | 09 §4 ; 18 §3 | lp-perf | C1-054, C2-038 |
|
||
|
|
| Build de plongée par `Tools\BuildDebug.ps1`, jamais `-nodebuginfo` ; PDB archivés avec `BUILD-ID.txt` | 18 §2 ; 21 ; 27 §U8 | lp-perf, lp-build | C2-036, C2-062, C3-024 |
|
||
|
|
| A/B : `Tools\LogStats.ps1 -Compare` sur parcours identique (S2 : nouvelle partie + Continuer) | 03 §3.5 ; 29 | lp-perf, lp-validate | C1-014, C3-032 |
|
||
|
|
| Un test de packaging couvre tous les chemins de lecture de fichiers (nouvelle partie, mods, sauvegarde, images externes), pas seulement Continuer | 10 §4 ; 27 | lp-validate | C1-066 |
|
||
|
|
| Tout changement sous instantané : `Tools\Snapshot.ps1 -Lot` puis `Restore.ps1` ; déplacer, jamais supprimer | 03 §5 ; 09 §6 ; 24 | sk-change-safety, lp-lot | C1-016, C1-055, C2-082 |
|
||
|
|
| `Intermediate`, `Binaries`, `Saved\Cooked`… régénérables ; `.claude\`, `.mcp.json`, `SaveGames`, `Saved\Logs\portage`, `D:\DDC` à conserver | 02 §8 ; 10 §1 | lp-paths | C1-006, C1-059 |
|
||
|
|
| Jamais versionnés : `Content\Heavy`, `.mcp.json`, `.claude\`, plugin MCP, `Saved\Logs\portage` | 08 §2 | lp-paths, lp-repo | C1-038 |
|
||
|
|
| MCP : `unreal-mcp` d'Epic modifie, HyperAIStudio lit ; lecture par `find_nodes`, `get_connected_subgraph`, `get_node_infos` | 29 §MCP 1-2 | lp-mcp | C3-036 |
|
||
|
|
| Écriture Blueprint par MCP : instantané d'abord, puis create/connect/break, relecture, compile, save ; copie 5.8 seule | 29 §MCP 3, 8-9 | lp-mcp | C3-037, C3-039 |
|
||
|
|
| La PIE pilotée par MCP ne prouve rien sur l'interface : la preuve reste build empaquetée + LogStats | 29 §MCP 5, 10 | lp-mcp | C3-038 |
|
||
|
|
| Accessed None : grouper par (Blueprint, nœud), chercher pourquoi la référence est vide ; garde `IsValid` seulement si « vide » est normal, noté au CHG | 29 §Méthode | lp-mcp | C3-033 |
|
||
|
|
| Preuve d'usage d'un plugin/module : « aucune référence » n'est pas un verdict ; confirmer par désactivation, build, parcours | 30 §Méthode | — | C3-046 |
|
||
|
|
| Outil de preuve par famille de défaut (Debugger, Insights, memreport, minidump+PDB, Gauntlet…) | 29 §Méthode | lp-perf (partiel) | C3-035 |
|
||
|
|
| Contre-vérifier chaque BUILD-FIN (`Tools\UeState.ps1`, `FileCheck.ps1`, `git status`) ; processus Unreal étranger = arrêt | 32 §15.2 | lp-lot | C3-049 |
|
||
|
|
| Indicateurs d'une période : `python -I -X utf8 Tools\Indicateurs.py --debut --fin` ; l'outil fait foi | 35 §6 | — | C3-074 |
|
||
|
|
| Scripts de coiffure : `HairPipeline.ps1 -Step Inspect` puis `Apply` ; toujours un `-DryRun` avant une commandlet d'écriture | 13 §3, §7 | — | C2-002, C2-010 |
|
||
|
|
| Pièges de lancement sandbox : lanceurs jamais derrière un tuyau, `-FullStdOutLogOutput` ; une recuisson `RetargetPack.py` défait `LPAnimTwist` | 24 §Pièges | — | C2-091 |
|
||
|
|
|
||
|
|
À écarter de ce référentiel (périmé, voir REF1-HOMOGENEITE) : tableau des 24 commandlets (03/05/07), McpAutomationBridge port 3000 (08 §7), commande de build UE_5.5 (24).
|