LifePlay-Revival/Docs/Migration/etat/OPT/OPT0/OPT0-A2-INV.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

9.2 KiB

OPT0-A2-INV : inventaire Blueprint par MCP de la copie 5.8 (LIVRABLE PARTIEL)

Fiche OPT0-A2 — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 — Agent lp-mcp — Skills : sk-protocol, lp-mcp, sk-change-safety Date du relevé : 2026-10-15. Lecture seule : aucun appel d'écriture MCP, aucune PIE, aucun asset sauvegardé. Résultat : arrêté au budget de méthode (voir § 7). Sans verdict : la grille de décision est la fiche A3.

1. Périmètre

  • Copie : D:\Game\LifePlay-master 5.8 (LifePlay.uproject), /Game seulement, éditeur headless déjà lancé par l'orchestratrice (port 8000).
  • Blueprints énumérés : 110 (comptage manuel de la liste renvoyée par find_assets, estimé ; la sortie n'a pas été enregistrée en fichier). Répartition lue dans les chemins : /Game/BPs 36, /Game/UI 62, /Game/Heavy/New4/Notifies 3, /Game/FreeAnimationsPack/Demo/Characters/Mannequins 7 (2 ABP_, 3 CR_, 2 ABP_..._PostProcess) — répartition estimée, non recomptée par script.
  • Filtre de classe : /Script/Engine.Blueprint ; la liste inclut donc des sous-classes (widgets sous /Game/UI, ABP_*, CR_*). Classe exacte de chaque asset : non relevée.
  • Blueprints dont les graphes ont été lus : 3 sur 110 (CameraShake : graphes listés ; Person : graphes listés et un graphe parcouru ; voir § 5).

2. Appels MCP exacts (18 appels, tous en lecture)

# Outil (toolset) Paramètres Résultat
1 list_toolsets — liste reçue (état prouvé)
2 AssetTools.find_assets {} erreur de schéma (paramètres requis), schéma lu
3 AssetTools.find_assets {folder_path:"/Game", name:"", asset_type:{refPath:"/Script/Engine.Blueprint"}, recursive:true} 110 chemins
4 BlueprintTools.find_nodes {} erreur de schéma, schéma lu (graph, title, node_class, entry_points_only)
5 BlueprintTools.get_graphs {} Unknown tool get_graphs
6 BlueprintTools.get_graph {blueprint:CameraShake, graph_name:""} Cannot find graph in Blueprint
7 BlueprintTools.get_graph {blueprint:CameraShake, graph_name:"EventGraph"} refPath du graphe seul
8 ObjectTools.get_properties {object,...} erreur de schéma (instance, properties)
9 ObjectTools.get_properties {instance:CameraShake, properties:[UbergraphPages,FunctionGraphs,MacroGraphs]} erreur : propriétés non lisibles (résolu sur le CDO)
10 BlueprintTools.list_graphs {} erreur de schéma (blueprint)
11 BlueprintTools.list_graphs {blueprint:CameraShake} 1 graphe : EventGraph
12 BlueprintTools.find_nodes {graph:CameraShake:EventGraph, title:""} [] (0 nœud)
13 describe_toolset HyperAIStudio.HyperAIStudioBatchQueryToolset (petit, pour chercher une lecture en lot) un seul outil hyper_batch_query (contexte, scène, recherche projet, index) ; non utilisable pour les nœuds de graphe
14 BlueprintTools.list_graphs {blueprint:/Game/BPs/Person.Person} 130 graphes (relevé : liste de 130 refPath, UserConstructionScript + fonctions + EventGraph)
15 BlueprintTools.find_nodes {graph:Person:EventGraph, title:"Tick"} 9 refPath dont K2Node_Event_0
16 BlueprintTools.get_node_infos {nodes:[Person:EventGraph.K2Node_Event_0]} type_id Ajouterunévénement|ÉvénementTick, broche then reliée à K2Node_CallFunction_807
17 BlueprintTools.get_connected_subgraph {} erreur de schéma (node)
18 BlueprintTools.get_connected_subgraph {node:Person:EventGraph.K2Node_Event_0} 211 924 caractères, enregistré (voir ci-dessous)

Nombre de graphes de Person : 130 (appel 14, comptage manuel de la liste, estimé).

Sortie de l'appel 18 : copiée dans D:\Game\LifePlay-master 5.8\Saved\OPT0-A2\Person_EventGraph_Tick_subgraph.json ; résumée par D:\Game\LifePlay-master 5.8\Saved\OPT0-A2\resume_subgraph.py (python -I resume_subgraph.py Person_EventGraph_Tick_subgraph.json). Sortie du script, collée :

type racine: list
nombre de noeuds: 180
graphes touches:
  180 /Game/BPs/Person.Person:EventGraph
type_id correspondant aux motifs:
  2 Acteur|Tick|SetActorTickEnabled
  1 Ajouterun?v?nement|?v?nementTick
types distincts: 62

(Les ? sont l'encodage console de la sortie du script, non du fichier.) Les motifs cherchés par le script : Delay, Retard, GetAllActorsOfClass, TousLesActeurs, LPStringCompat, LPMeshCompat, LPNavigationHelpers, Tick ; seuls les deux types Tick ci-dessus sont apparus.

3. Nœuds dépréciés

Non mesuré. Aucun nœud n'a été classé comme déprécié : l'API lue (find_nodes, get_node_infos) renvoie le type_id localisé, sans indicateur « obsolète » vu dans les sorties obtenues. Compilation : sans objet : pas de compilation en lecture seule.

4. Appelants U9 (LPStringCompat, LPMeshCompat, LPNavigationHelpers)

Correctif Blueprint Graphe Nombre de nœuds
LPStringCompat non mesuré — —
LPMeshCompat non mesuré — —
LPNavigationHelpers non mesuré — —

Comparaison à OBA-T5-EVAL (56 / 6) : impossible. Les 56 et 6 ne sont ni confirmés ni infirmés. Seule observation : dans le sous-graphe connecté au tick de Person (180 nœuds, § 2 appel 18), aucun type ne contient ces trois noms.

5. Event Tick par classe

Blueprint Graphe Nœud Preuve
/Game/BPs/Person EventGraph K2Node_Event_0 (type ÉvénementTick, broche DeltaSeconds) appels 15 et 16
  • Total établi : 1 Blueprint avec Event Tick, sur 3 lus (CameraShake : EventGraph vide, 0 nœud, appel 12 ; Person).
  • Les 107 autres Blueprints n'ont pas été lus (§ 7). Le total sur 110 est inconnu.

6. Delay et Get All Actors Of Class atteints depuis un tick

Blueprint Nœud Atteint depuis un tick
/Game/BPs/Person (EventGraph, sous-graphe du tick, 180 nœuds) aucun nœud Delay ni Get All Actors Of Class dans ce sous-graphe sans objet : 0 nœud

Limite connue : get_connected_subgraph suit les broches du seul graphe. L'appel à une fonction (K2Node_CallFunction_807 et suivants) n'est pas suivi dans le graphe de cette fonction. La conclusion « atteint depuis un tick » n'est donc pas établie pour les 130 graphes de Person, ni pour les autres Blueprints. Le relevé des nœuds Delay / Get All Actors Of Class sur les autres Blueprints n'a pas été fait.

7. Écarts avec la fiche et arrêt

  • Arrêt au budget de méthode, pas au budget de tours : la fiche demande get_graph puis find_nodes « par Blueprint ». Mesure : Person seul a 130 graphes ; 110 Blueprints donnent plusieurs centaines de graphes, donc plusieurs centaines d'appels find_nodes (un par graphe, un seul appel à la fois, un appel par tour) pour chaque motif. Cela ne tient pas dans le budget de 30 tours. ProgrammaticToolset (lot d'appels) est interdit à ce rôle. Décision laissée à l'orchestratrice (variante de la fiche : script Python d'éditeur lp-commandlets, ou lot d'appels autorisé, ou périmètre réduit à une liste de Blueprints).
  • find_nodes exige un graph et un title ; il ne renvoie que des refPath, un get_node_infos est nécessaire pour classer chaque nœud (type localisé en français : Ajouterunévénement|ÉvénementTick). Les titres sont donc à chercher en français (Retard pour Delay, probable ; non testé).
  • get_graph ne renvoie que le refPath du graphe (pas de nœuds). list_graphs {blueprint} donne la liste des graphes : outil à utiliser pour la suite.
  • describe_toolset : 1 appel sur un petit jeu d'outils (HyperAIStudioBatchQueryToolset), pas de description complète de BlueprintTools ; le nom list_graphs a été trouvé par essai de schéma.
  • hyper_blueprint_debug_inspect et read_graph_dsl : non essayés.
  • La liste de 110 Blueprints n'est pas enregistrée en fichier (sortie courte) : à relancer (appel 3) pour la recopier.
  • Nombres de § 1 et § 2 marqués « estimé » : comptés à la main, à recompter par script.

État de reprise : Établi — l'énumération (appel 3), list_graphs par Blueprint, find_nodes {graph, title}, get_node_infos, get_connected_subgraph {node} fonctionnent en lecture. Reste — tout le § 3 à 6 sur 107 Blueprints. Prochaine commande — list_graphs puis find_nodes (titre Tick, Retard, Delay, Get All Actors Of Class, fonctions des trois bibliothèques) sur les Blueprints retenus par l'orchestratrice.

8. Journal de l'éditeur, UeState, git

  • Éditeur : non fermé par cet agent (l'orchestratrice le ferme, puis BUILD-FIN). Journal : D:\Game\LifePlay-master 5.8\Saved\OPT0-A2\OPT0-A2.log, non lu.
  • Tools\UeState.ps1 après arrêt : non relevé (éditeur encore ouvert).
  • git status --short -- Content : non relevé par cet agent.

9. Fin

Aucun verdict. Fichiers écrits : D:\Game\LifePlay-master 5.8\Saved\OPT0-A2\resume_subgraph.py, D:\Game\LifePlay-master 5.8\Saved\OPT0-A2\Person_EventGraph_Tick_subgraph.json (copie de la sortie MCP), ce livrable. PubCheck : non lancé (agent sans exécution de ce script prévu).

Fin : [OPT0-A2→BOSS] OPT0-A2 FIN-FICHE (partiel) D:\Game\LifePlay-master 5.8\Docs\Migration\etat\OPT\OPT0\OPT0-A2-INV.md