LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-WALKA-IMPL.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

14 KiB

Fiche STG-WALKA — Niveau N3 — Modèle prévu (agent lp-mcp-bp) | utilisé claude-opus-5-5 — Agent lp-mcp-bp — Skills lp-mcp, sk-protocol, sk-change-safety, lp-lot

STG-WALKA-IMPL : copie des clips de marche B et M hors de /Game/Quaternius (2026-10-13)

Verdict : FAIT, avec un écart de constat (§ 2 E1 : les copies sont ignorées par git, le contrôle git status de la fiche ne peut pas les montrer). UE-GO de Big Boss accordé à STG pour cette fiche (2026-10-13, cité par l'orchestrateur). Copie D:\Game\LifePlay-master 5.8, branche ue5.8, HEAD 0745917, moteur D:/Game/Launcher/Engine/UE_5.8.

1. Fichiers modifiés

Créés par AssetTools.duplicate puis AssetTools.save_assets (rien d'autre n'a été sauvegardé) :

Fichier (hors git, voir § 2 E1) Taille MD5 (2026-10-13 21:53) Paquet inscrit Squelette relu
Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset 523 075 o c10fb66e4216f3e6302ee27d211c1a1d /Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop /Game/Heavy/Daz/Bridget/bridget_gp_Skeleton.bridget_gp_Skeleton
Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset 517 535 o d41db867eaf26d26847734172e5d5f98 /Game/Heavy/Daz/Michael/Anim/M_Walk_Loop /Game/Heavy/Daz/Michael/michael_Skeleton.michael_Skeleton

Relectures dans l'éditeur (ObjectTools.get_properties, propriétés Skeleton, SequenceLength, NumberOfSampledKeys, NumberOfSampledFrames), sorties brutes :

copie B    : {"Skeleton":{"refPath":"/Game/Heavy/Daz/Bridget/bridget_gp_Skeleton.bridget_gp_Skeleton"},"SequenceLength":1.3333333730697632,"NumberOfSampledKeys":41,"NumberOfSampledFrames":40}
original B : {"Skeleton":{"refPath":"/Game/Heavy/Daz/Bridget/bridget_gp_Skeleton.bridget_gp_Skeleton"},"SequenceLength":1.3333333730697632,"NumberOfSampledKeys":41,"NumberOfSampledFrames":40}
copie M    : {"Skeleton":{"refPath":"/Game/Heavy/Daz/Michael/michael_Skeleton.michael_Skeleton"},"SequenceLength":1.3333333730697632,"NumberOfSampledKeys":41,"NumberOfSampledFrames":40}
original M : {"Skeleton":{"refPath":"/Game/Heavy/Daz/Michael/michael_Skeleton.michael_Skeleton"},"SequenceLength":1.3333333730697632,"NumberOfSampledKeys":41,"NumberOfSampledFrames":40}

get_asset_class : "AnimSequence" pour les deux copies. Durée (1,333 s) et images (40, 41 clés) égales à l'original.

Nom de paquet dans le fichier (commande grep -a -o -E "/Game/[A-Za-z0-9_/]+" <fichier> | sort | uniq -c, strings absent de Git Bash) :

-- Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset
      2 /Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop
      2 /Game/Heavy/Daz/Bridget/bridget_gp
      2 /Game/Heavy/Daz/Bridget/bridget_gp_Skeleton
      2 /Game/Quaternius/UAL
-- Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset
      2 /Game/Heavy/Daz/Michael/Anim/M_Walk_Loop
      2 /Game/Heavy/Daz/Michael/michael
      2 /Game/Heavy/Daz/Michael/michael_Skeleton
      2 /Game/Quaternius/UAL
-- Content/Quaternius/UAL/B_Walk_Loop.uasset   (original, pour comparaison)
      3 /Game/Heavy/Daz/Bridget/bridget_gp
      2 /Game/Heavy/Daz/Bridget/bridget_gp_Skeleton
      2 /Game/Quaternius/UAL
      2 /Game/Quaternius/UAL/B_Walk_Loop

Aucun nom d'asset /Game/Quaternius/UAL/<…> dans les copies ; la chaîne de dossier /Game/Quaternius/UAL y reste (§ 5 V3).

MD5 de départ et de fin (md5sum, départ 2026-10-13 vers 21:43, fin 21:53) :

Fichier Départ Fin Égal
Content/Quaternius/UAL/B_Walk_Loop.uasset (523 104 o) 901078e78e9b69cd71bf04fa4e475a8c 901078e78e9b69cd71bf04fa4e475a8c oui
Content/Quaternius/UAL/M_Walk_Loop.uasset (513 220 o) 9b121640fa24f382d007a8c79b064a0b 9b121640fa24f382d007a8c79b064a0b oui
Content/BPs/Room.uasset 0c8eb59f55cb02ad2c4fa1413840b84b 0c8eb59f55cb02ad2c4fa1413840b84b oui
Content/BPs/GI.uasset e64b5b37c9ef0db7735de0d6e3bd7c1c e64b5b37c9ef0db7735de0d6e3bd7c1c oui
Content/BPs/Person.uasset 8668a47c627f7a5254910cf0ac33b12a 8668a47c627f7a5254910cf0ac33b12a oui

Les départs sont égaux à ceux que donne l'orchestrateur (Room 0C8EB59F…, GI E64B5B37…, Person 8668A47C…, B 901078E7…, M 9B121640…). is_dirty des originaux après duplication : false et false.

2. Écarts à la SPEC

  • E1 (constat, pas d'action) : fiche § 4f « git status --short Content : seuls les deux nouveaux fichiers en plus ». Les copies n'apparaissent pas : Content/Heavy/* est ignoré par git. Sortie brute :
    $ git status --short Content
     M Content/BPs/GI.uasset
     M Content/BPs/Person.uasset
     M Content/BPs/Room.uasset
    $ git check-ignore -v Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset
    .gitignore:17:Content/Heavy/*	Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset
    .gitignore:17:Content/Heavy/*	Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset
    
    git ls-files Content/Heavy et git ls-files Content/Quaternius : sortie vide (aucun fichier suivi). L'état git de Content est donc identique au départ (3 M, ceux d'autres lots). Les copies n'ont que l'instantané comme filet et ne voyagent pas par git (décision à prendre : § 5 V4).
  • E2 (incident d'outil) : Wait-HyperAIStudioMCP.ps1 -Port 8000 -UrlPath /mcp -TimeoutSeconds 540 lancé depuis Git Bash rend exit 1 : MSYS a converti /mcp en C:/Program Files/Git/mcp. Statut écrit par le script (.hyperai/runtime/hyperai-status.json) : "state": "Timeout", "endpoint": "http://127.0.0.1:8000C:/Program Files/Git/mcp", Invalid URI: Invalid port specified. L'éditeur était prêt (journal l. 1886-1900 : Tool search enabled: registered 3 meta-tools) ; list_toolsets direct a répondu. Aucun effet sur les assets.
  • E3 : fermeture par Stop-Process -Id 21340 (méthode de lp-mcp § 2 : aucun outil MCP ne ferme l'éditeur), après save_assets et is_dirty des deux copies à false. Code rendu par la tâche de fond du lancement : editor exit=127.
  • Lectures en plus de la fiche, sans écriture : get_asset_tags et get_properties des originaux (comparaison), is_dirty.
  • Aucun autre écart : outil de duplication trouvé (AssetTools.duplicate), destinations absentes avant (exists = false deux fois), un appel MCP à la fois, aucun Blueprint, Source/, Config/, build, commandlet ni jeu ; pas de move.

3. Instantané

Pris par l'orchestrateur, vérifié avant toute écriture : D:\Game\LifePlay_Backup_5.5\STG-WALKA\manifest.csv (179 o) :

"Rel","Existed","Size","MD5","Date"
"Content\Heavy\Daz\Bridget\Anim","False","0","","2026-10-13T21:41:53"
"Content\Heavy\Daz\Michael\Anim","False","0","","2026-10-13T21:41:53"

Retour arrière proposé, non lancé (éditeur fermé) : .\Tools\Snapshot.ps1 -Lot STG-WALKA-retour -Path Content\Heavy\Daz\Bridget\Anim, Content\Heavy\Daz\Michael\Anim, puis .\Tools\Restore.ps1 -Lot STG-WALKA -WhatIf, puis .\Tools\Restore.ps1 -Lot STG-WALKA (les deux dossiers Existed=False sont retirés, pas supprimés). Les originaux, Room, GI et Person n'ont pas changé : rien à restaurer pour eux.

4. Ce qui n'a pas été fait

  • Aucune preuve en jeu ni de présence dans le paquet cuit : contrôlée au BUILD de COMMUN-4 (STG-COMMUN4-BUILD.md, fiche § 9).
  • Pas de get_dependencies sur les copies (l'éditeur est fermé) : la nature de la chaîne /Game/Quaternius/UAL restante n'est pas mesurée (§ 5 V3).
  • Rien commité (gardien) ; les .uasset ne sont pas commitables en l'état (§ 2 E1).

5. Points à confirmer en VAL

  • V1 : md5sum des deux copies = c10fb66e4216f3e6302ee27d211c1a1d (B, 523 075 o) et d41db867eaf26d26847734172e5d5f98 (M, 517 535 o).
  • V2 : originaux, Room, GI, Person aux MD5 du § 1 (égaux au départ).
  • V3 : la chaîne /Game/Quaternius/UAL (dossier seul, 2 fois par copie, aussi présente dans l'original) n'entraîne pas /Game/Quaternius dans la cuisson : estimé = chemin de dossier des données d'import Interchange (InterchangeAssetImportData_0, journal l. 2266 et 2270), pas une dépendance de paquet ; à trancher au BUILD de COMMUN-4 (clips présents, aucun paquet Quaternius cuit) ou par get_dependencies à la prochaine ouverture de l'éditeur.
  • V4 : Content/Heavy/* ignoré (.gitignore:17) : décider (orchestrateur, utilisateur) si les deux copies doivent être suivies par git (exception au .gitignore, ticket au gardien) ou rester hors git comme le reste de Content/Heavy.
  • V5 : écart de taille M (517 535 o) vs original (513 220 o) : estimé = vignette rendue à la sauvegarde de M et pas de B (journal l. 2300 Generating thumbnails for [0] asset(s) pour B ; l. 2309-2310 [1] asset(s) et Rendered thumbnail pour M). Sans effet attendu sur le jeu.
  • V6 : Saved\Autosaves : aucun nouveau .uasset (7 fichiers, mêmes dates qu'au départ) ; seul Saved\Autosaves\PackageRestoreData.json (94 o) a une nouvelle date (21:52).

6. Fichiers à commiter

Dépôt du jeu (D:\Game\LifePlay-master 5.8, branche ue5.8) :

  • A Docs/Migration/etat/ST/STG/STG-WALKA-IMPL.md

Non commitables en l'état (ignorés, .gitignore:17, § 5 V4) : Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset, Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset. Écrits par les outils hors périmètre git utile (pour mémoire) : Saved/Logs/LifePlay.log, Saved/Logs/portage/STG-WALKA_editeur_2026-10-13.log (copie d'archive), Saved/Autosaves/PackageRestoreData.json, Saved/SourceControl/UncontrolledChangelists.json (journal l. 2315), Intermediate/CachedAssetRegistry/*, .hyperai/runtime/hyperai-status.json (script d'attente).

Tours : 37 / 50

Constats

Appels dans l'ordre (un à la fois ; heures du journal en UTC, local = UTC + 2)

# Appel Arguments Retour
1 list_toolsets — 70 toolsets environ, dont editor_toolset.toolsets.asset.AssetTools
2 describe_toolset editor_toolset.toolsets.asset.AssetTools outils dont duplicate {path, new_path}, exists, load_asset, save_assets, is_dirty, get_asset_tags, get_asset_class
3 AssetTools.exists /Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop false
4 AssetTools.exists /Game/Heavy/Daz/Michael/Anim/M_Walk_Loop false
5 AssetTools.get_asset_tags /Game/Quaternius/UAL/B_Walk_Loop Skeleton …bridget_gp_Skeleton…, SequenceLength 1.333333, Number of Frames 40, Number of Keys 41
6 AssetTools.get_asset_tags /Game/Quaternius/UAL/M_Walk_Loop Skeleton …michael_Skeleton…, SequenceLength 1.333333, Number of Frames 40, Number of Keys 41
7 AssetTools.duplicate /Game/Quaternius/UAL/B_Walk_Loop → /Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop true (19.52.08)
8 AssetTools.duplicate /Game/Quaternius/UAL/M_Walk_Loop → /Game/Heavy/Daz/Michael/Anim/M_Walk_Loop true (19.52.11)
— contrôle disque (Bash) dossiers Anim absents (copies en mémoire seulement), originaux aux MD5 de départ
9 AssetTools.load_asset copie B /Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop.B_Walk_Loop
10 AssetTools.get_asset_class copie B AnimSequence
11 ObjectTools.get_properties {object, property_names} erreur de schéma : input param "instance" is required (paramètres attendus instance, properties)
12 ObjectTools.get_properties copie B voir § 1
13 AssetTools.load_asset copie M /Game/Heavy/Daz/Michael/Anim/M_Walk_Loop.M_Walk_Loop
14 AssetTools.get_asset_class copie M AnimSequence
15 ObjectTools.get_properties copie M voir § 1
16 ObjectTools.get_properties original B voir § 1
17 ObjectTools.get_properties original M voir § 1
18 AssetTools.is_dirty original B false
19 AssetTools.is_dirty original M false
20 AssetTools.is_dirty copie B true
21 AssetTools.save_assets ["/Game/Heavy/Daz/Bridget/Anim/B_Walk_Loop", "/Game/Heavy/Daz/Michael/Anim/M_Walk_Loop"] true (19.52.55-56)
22 AssetTools.is_dirty copie M (après sauvegarde) false

Journal de l'éditeur

Trace : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STG-WALKA_editeur_2026-10-13.log (copie de Saved\Logs\LifePlay.log, 2 342 lignes, MD5 1d9216697cfe39acbf40b4fd1bc354f9) — Fiche STG-WALKA — 2026-10-13 21:53 Commande : D:/Game/Launcher/Engine/UE_5.8/Engine/Binaries/Win64/UnrealEditor.exe "D:/Game/LifePlay-master 5.8/LifePlay.uproject" -RenderOffScreen -unattended -nosplash -NoSound -ModelContextProtocolStartServer -ModelContextProtocolPort=8000 (PID 21340, 21:42:31) Environnement: copie 5.8, branche ue5.8, HEAD 0745917, moteur UE 5.8 ; seul processus UE (UeState 0 avant) Attendu : démarrage sans demande de recompilation ; duplication et sauvegarde des deux copies seules Obtenu : aucune ligne recompile|rebuild|out of date|modules are missing|could not be compiled|Fatal hormis LogNavigationDataBuild ... RebuildAll (l. 2049-2050, navmesh) ; sauvegardes l. 2298-2314 (deux paquets seulement) ; LogContentValidation sur 2 ressources (l. 2329-2330) Lecture : 2 avertissements LogAnimationCompression: Warning: EnsureDependenciesAreLoaded: [ConditionalPostLoad Dependency] …:InterchangeAssetImportData_0 à la duplication (l. 2266, 2270) ; erreurs LogModelContextProtocol: Error: Unknown session id … / Call to unknown method "server/discover" à 19.51.50-51 (reconnexion du client, avant le premier appel de la fiche) ; journal coupé sans lignes d'arrêt (fermeture par Stop-Process)

État de fin

$ pwsh -NoProfile -File Tools/UeState.ps1
processus=0 editeur=0 compilation=0 shaders=0 jeu=0

Décision de Big Boss sur E1 (2026-10-13) et copie de sécurité

  • Pas d'exception au .gitignore. Content/Heavy/* et /Content/Quaternius/ sont exclus de git par politique (assets lourds et tiers) ; les deux copies suivent cette règle, comme leurs originaux. L'utilisateur peut revenir sur ce choix.
  • Un dépôt cloné ne contiendra pas ces clips, comme le reste de Content/Heavy. Sans eux, la marche du jeu reste sans animation, avec une seule ligne « Marche : clip … introuvable » par clip (WalkClip, STG-WALK-IMPL.md).
  • Filet :
    • instantané D:\Game\LifePlay_Backup_5.5\STG-WALKA : les deux dossiers cibles, Existed=False au départ ;
    • copie de sécurité D:\Game\LifePlay_Backup_5.5\STG-WALKA-copies (Snapshot.ps1, 2026-10-13) : B_Walk_Loop.uasset C10FB66E4216F3E6302EE27D211C1A1D et M_Walk_Loop.uasset D41DB867EAF26D26847734172E5D5F98.