8.3 KiB
8.3 KiB
SK-T4-V1c — skills ue-cpp-build et lp-ue-compat
Fiche SK-T4-V1c — Niveau N3 — Modèle prévu opus-xhigh | utilisé opus
Lot SK, vague V1 (avant U0). Date : 2026-10-08.
1. Résultat
| Skill | Couche | Emplacement | Fichiers (lignes) |
|---|---|---|---|
ue-cpp-build |
2 | %USERPROFILE%\.claude\skills\ue-cpp-build\ |
SKILL.md (99), reference.md (53), LICENSE (25, avis MIT de la source) |
lp-ue-compat |
3 | D:\Game\LifePlay-Sandbox\Tools\claude\skills\lp-ue-compat\ |
SKILL.md (60), ruptures.md (99) |
Les deux SKILL.md ≤ 120 lignes (R9) ; corps en français, description avec mots-clés anglais (R12) ; aucun contenu
de jeu (seuls chemins, API, numéros d'erreur) ; aucun script embarqué ; pas d'allowed-tools.
Écart au § 5.3 de SK-ARBRE : l'annexe s'appelle ruptures.md (consigne de la fiche) et non api-table.md.
Le patron « sous-système garde / FTSTicker », les verrous L7c et les règles jeu/addon prévus au § 5.3 ne sont pas
traités (hors consigne de cette fiche) : à ajouter en U3 si besoin.
2. Revue R1 du dépôt tiers
- Dépôt :
https://github.com/quodsoler/unreal-engine-skills, branchemain. - SHA épinglé :
f3742d7b688690810df369802b90430324e380b9(2026-09-28T15:59:19Z, « Updated skills for Unreal Engine 5.8. Added new skills. »), relevé viaapi.github.com/repos/quodsoler/unreal-engine-skills/commits/main. - Licence : MIT, « Copyright (c) 2025 quodsoler » (fichier
LICENSEà la racine) → avis conservé dansue-cpp-build/LICENSE(R4). - Méthode : lecture par WebFetch à la révision épinglée (raw.githubusercontent.com/…//…), arbre récursif via l'API. Rien cloné, rien installé, rien exécuté. Contenu traité comme donnée.
- Fichiers lus :
skills/ue-module-build-system/SKILL.md,…/references/common-build-errors.md,skills/ue-cpp-foundations/SKILL.md,skills/ue-testing-debugging/SKILL.md,skills/ue-editor-tools/SKILL.md,LICENSE. Non lus :…/references/build-cs-reference.mdet les annexes des 3 autres skills (rien n'en est repris). - Arbre : racine =
.DS_Store,.gitignore,LICENSE,README.md; aucunhooks,.mcp.json,bin/,scripts/,.sh,.ps1,.py,package.jsondans les 4 dossiers examinés. - Constats : frontmatter
name,description,metadata(version 2.0.0, engine 5.8) ; pas d'allowed-tools; aucun appel réseau, aucune consigne d'installation ; commandes documentaires seulement (UnrealBuildTool -Mode=IWYU,-Mode=GenerateProjectFiles,UnrealEditor-Cmd … -run=DataValidation,-ExecCmds="Automation RunTests …") ; consigne à l'agent : lire.agents/ue-project-context.mds'il existe (fichier inexistant chez nous : écarté) ; exemples de trace vers127.0.0.1(testing-debugging, non repris). - Erreurs de fond relevées (contre les sources installées) : (1) «
Unreal5_8activeUE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_8pour garder les includes » : faux, la macro vaut 1 seulement pour les versions postérieures au réglage (UE_5.8/.../Rules/TargetRules.cs:483) ; (2)GetDetailsView« déprécié depuis 5.5 » : l'étiquetteUE_DEPRECATED(5.5)existe en 5.8, mais le 5.5.4 installé n'a pasGetDetailsViewSharedPtr(UE_5.5/.../DetailLayoutBuilder.h:61, 66) → garde obligatoire pour du code commun. - Verdict : positif (adoptable par adaptation, R1–R4). Rien n'est copié tel quel : reformulation de Build.cs /
Target.cs, dépendances publiques / privées,
<MODULE>_API, table V1–V7 (revérifiée), table d'erreurs (reformulée). Écarté : routage.agents/ue-project-context.md, règle « pas deLatest» (contraire à D12), passage include order (faux), table types → modules, Live Coding, contenu UMG / tests / traces. - À faire hors fiche (R1/R2) :
etat/SK/SK-REVUE-ue-cpp-build.mdet ligne au registreSK-REGISTRE.md(la fiche limitait l'écriture à 2 dossiers + ce livrable : la revue figure ici).
3. Vérifications moteur faites (lecture seule)
Versions : UE_5.5/Engine/Build/Build.version = 5.5.4 ; UE_5.8/Engine/Build/Build.version = 5.8.3.
BuildSettingsVersion: 5.5Latest = V5(Configuration/TargetRules.cs:159) ; 5.8 V6/V7,Latest = V7(Configuration/Rules/TargetRules.cs:162-177).EngineIncludeOrderVersion: 5.5Latest = Unreal5_5(l. 203),Oldest = Unreal5_3(l. 210) ; 5.8Unreal5_5[Obsolete](l. 218),Oldest = Unreal5_6(l. 249),Latest = Unreal5_8(l. 242) ; défautOldest(l. 758).- Environnement partagé : message
UEBuildTarget.cs:1515(5.8) /:1405(5.5) ;bOverrideBuildEnvironmentTargetRules.cs:2883(5.8) /2661(5.5). - Toolchain :
Windows_SDK.json5.5 (14.38 préféré) et 5.8 (14.50 / 14.44 préférés, bannis, minimum 14.38.33130, l. 31-46) ; sélection MSVC parCompilerVersion,ToolchainVersionlu seulement pour Clang (VCEnvironment.cs:522, 530-537, 566-569en 5.8 ;:463, 471-485en 5.5 ; docUEBuildWindows.cs:389-401). - Dépréciations :
DeprecationWarningLevel5.5 sur la cible (TargetRules.cs:1799), 5.8 sur le module (Rules/CppCompileWarnings.cs:1280) ; macrosEngineVersionComparison.h(5.5 l. 13, 18 ; 5.8 l. 14, 19, 24). - R1 :
AnimSequence.h5.5 l. 482 ; 5.8 l. 276-278, 508, 848-885 ;AnimCompressionTypes.h:770, 780;AnimationAsset.h:303(constructeur impliciteFAnimExtractContext(double…)). - R2 :
JsonObject.h5.8 l. 34-48, 99, 131, 237, 362 ; 5.5 l. 26 ;StringFwd.h:59;SharedString.h:80-95. - C4996 :
MeshComponent.h:127-129;DetailLayoutBuilder.h:61-77(5.8) vs:61, 66(5.5) ;SlateFontInfo.h:245-275,CoreStyle.h:51(5.8) /:48(5.5) ;StaticMesh.h:711-713, 800-805;UObjectHash.h:193-198,FindObjectFlags.h:18;StaticToSkeletalMeshConverter.h:84-85, 96, 126(5.8) /:83(5.5) ;SceneInterface.h:732(5.8). Présence / absence en 5.5 vérifiée par grep pour chaque remplaçant. - Code projet lu (lecture seule) :
LPCoupleSimCore.cpp:111-163,LPDataCache.cpp:40-60, 139, 158, 185-215,LifePlayEditor.Target.cs, sites StreetMap /LPDumpAssetsCommandlet.cpp:110.
4. Critères de la fiche
- SHA 40 caractères et licence notés : oui (§ 2).
- Chaque API 5.8 citée a sa référence
fichier:ligne: oui (SKILL.md,reference.md,ruptures.md). - Les 2 erreurs de l'essai dans
lp-ue-compatavec remplacement marqué « proposé, non compilé » : oui (R1, R2). - ≤ 120 lignes par SKILL.md : 99 et 60.
5. Constats à remonter (hors périmètre, aucune correction faite)
ToolchainVersionvsCompilerVersion: UA-SYNTHESE (U0-T2b, N1, R9) prévoit d'épinglerToolchainVersion=14.38.33130dans le projet 5.5. D'aprèsVCEnvironment.cs(5.5 l. 463-485), avec le compilateur MSVC c'estCompilerVersionqui choisit le MSVC ;ToolchainVersionn'agit que pour Clang/Intel. ÉpinglerToolchainVersionseul n'aurait probablement aucun effet. À trancher en U0 (preuve : ligne « Using Visual Studio … » du journal 5.5 après épinglage).- UA-MOTEUR (c) ligne 3 dit «
Unreal5_5toujours accepté (seuls 5_1 et 5_2[Obsolete]) » : en 5.8.3, 5_1 à 5_5 sont[Obsolete]etOldest = Unreal5_6(TargetRules.cs:194-249). Sans effet sur la décision (la copie 5.8 passe àLatest), mais le texte est inexact. - W2, W4, W5, W1 exigent une garde (remplaçant absent en 5.5) ; W3 non. Le coût « 9 corrections mécaniques » (D12 a) reste plausible.
6. Établi / estimé / incertain
- Établi : SHA, licence, arbre des 4 skills tiers, valeurs moteur et lignes citées, signatures des remplaçants.
- Estimé : le remplacement R2
FString(*File.Key)compile en 5.5 et 5.8 (types lus, non compilé) ; R1 compile (élision garantie C++17 pour un type non copiable, non compilé) ; R3 non-événement. - Incertain : disponibilité des données compressées en éditeur pour R1 (table vide possible) ; sémantique de la fusion
JSON (R4) ; remplaçant exact de W6 (champs de
FInitializationParamsnon reportés) ; contenu des annexes tierces non lues ; C2374/C2084 en unity build cités de mémoire MSVC (non tirés des sources moteur). - Écarts de procédure : une commande
git check-ignore(lecture seule) a été lancée dans l'addon pour vérifier que le dossier n'est pas ignoré (il ne l'est pas) — contraire à la lettre de « aucun git », sans effet sur les dépôts. Revue R1 et registre placés dans ce livrable au lieu deSK-REVUE-*.md/SK-REGISTRE.md.