LifePlay-Revival/Docs/Migration/etat/ST/STC/STC-T5-IMPL-BP.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

4.3 KiB

Fiche STC-T5 — Niveau N3 — Modèle prévu orchestrateur (Opus 5.5) | utilisé claude-opus-5-5 — Agent orchestrateur — Skills lp-mcp, lp-lot

STC-T5 : Blueprints MainMenu et GI par MCP (2026-10-10)

Copie D:\Game\LifePlay-master 5.8, éditeur 5.8.3 rouvert après STC-T4 (build code 0), outils Epic (UMGToolSet, BlueprintTools, ObjectTools, AssetTools) ; lecture et contrôle par HyperAIStudio (hyper_diagnose). Instantané : D:\Game\LifePlay_Backup_5.5\STC\manifest.csv (MainMenu 8F3730CD…, GI 0D1F8EDB…, pris avant toute écriture).

1. MainMenu (/Game/UI/MainMenu) — SPEC § 3

Étape Action Preuve
Nœuds retirés ComponentBoundEvent_207 (OnValueChanged SpinBoxCameraSpeed) + MacroInstance_0 (IsValid), VariableGet_59 (GI), VariableSet_126 (CameraSpeed) ; ComponentBoundEvent_61 (OnValueChanged SpinBoxSexDurationMultiplier) + MacroInstance_36, VariableGet_424, VariableSet_5 get_connected_subgraph : deux îlots fermés de 4 nœuds ; find_nodes sur les 10 graphes : aucune autre référence ; après suppression : 0
Widgets retirés RemoveWidget SpinBoxCameraSpeed, SpinBoxSexDurationMultiplier (pas ReplaceWidgetWithTemplate, qui conserve les liaisons) true / true
Widgets ajoutés HorizontalBox_4 : [TextBlock_11, SizeBoxCameraSpeed (WidthOverride 260) > SliderCameraSpeed, TextCameraSpeedValue] ; HorizontalBox_0 : [Text, SpinBoxSexDuration] relecture : slider Min 1, Max 7, StepSize 1, MouseUsesStep, Value 3 ; SpinBox Min 0.2, Max 10, glisser 0.2-10, Value 2, style / police / couleur recopiés de SpinBoxSceneFrequency ; texte : police de TextBlock_11, « 3 »
Gestionnaire caméra OnValueChanged(SliderCameraSpeed) (ComponentBoundEvent_30) → SetCameraSpeed(GetGameInstance, Value) (CallFunction_66, _67) → TextCameraSpeedValue.SetText(ToText(Round(Value))) (_70, _68, _69, VariableGet_45) get_node_infos : toutes broches reliées comme prévu
Gestionnaire durée OnValueCommitted(SpinBoxSexDuration) (ComponentBoundEvent_31) → Branche(IsValid(GI)) (IfThenElse_8, CallFunction_71, VariableGet_46) → GI.SexDurationMult = InValue (VariableSet_27) ; aucun gestionnaire sur OnValueChanged idem
Construct Set GI (VariableSet_2904) → SliderCameraSpeed.SetValue(GetCameraSpeed()) (_72, _77) → TextCameraSpeedValue.SetText(ToText(Round(GetCameraSpeed()))) (_74, _75, _76) → SpinBoxSexDuration.SetValue(GI.SexDurationMult) (_73, VariableGet_53, _50) → UpdateDonors (_1278, inchangé ensuite) relecture de la chaîne
Écart à la SPEC § 3.3 le slider lit l'ini (GetCameraSpeed) et non GI.CameraSpeed : LoadSettings (et donc ApplyCameraSpeedAtStartup) ne s'exécute qu'au lancement d'une partie (DelayedStart, appelé seulement par 4 boutons de MainMenu) ; à l'écran titre GI garde ses défauts CDO. L'ini fait foi (D4) : affichage juste à l'écran titre comme en partie. find_nodes « DelayedStart » ; remontée LoadSettings ← BeginPlay ← BeginPlay ← DelayedStart
Compilation compile_blueprint (warnings_as_errors) puis hyper_diagnose : up_to_date, 0 avertissement au journal ; save_assets needs_attention 0, dirty 0
Liaisons recherche binaire dans le .uasset enregistré : SpinBoxCameraSpeed 0, SpinBoxSexDurationMultiplier 0 occurrence ; SliderCameraSpeed 7, SpinBoxSexDuration 7, LPUserSettingsLibrary 2 MD5 après la 1re sauvegarde FFD62DC9… (2 172 009 o)

2. GI (/Game/BPs/GI) — SPEC § 4

find_nodes « LoadSettings » sur les 377 graphes : 2 nœuds (définition CustomEvent_3270, seul appel CallFunction_1007). Lien 1007.then → CallFunction_186 rompu ; inséré ApplyCameraSpeedAtStartup (CallFunction_448, GameInstance ← Self_0) : CallFunction_80 → 1007 (LoadSettings) → 448 → 186. 186.execute n'avait pas d'autre entrée. Compilation up_to_date, 0 ligne d'avertissement GI au journal ; enregistré.

3. Constat hors périmètre (estimé, à confirmer)

LoadSettings ne s'exécute qu'au lancement d'une partie : un réglage changé à l'écran titre (hors caméra, désormais dans l'ini) est écrasé par GameSettings.sav au lancement suivant, sauf si une sauvegarde l'y a écrit. Comportement d'origine ; à signaler au lot STF (12 SpinBox) et à l'utilisateur.