LifePlay-Revival/Docs/Migration/etat/REL/KEY2/KEY2-SPEC-02.md
edujiro5972 56dfcfc3d2 LifePlay UE 5.8 : état de développement au 2026-10-20
Tickets : PUB-20261020-T1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:35:10 +02:00

8.2 KiB
Raw Blame History

KEY2-SPEC-02 : regroupement du menu Clavier par fonctionnalité (étude)

Fiche KEY2-SPEC-02 — Niveau N3 — Modèle prévu opus (Medium) | utilisé Opus 5.5 — Session « Medium · KEY2 » — Skills : sk-protocol, lp-doc. Date : 2026-10-20. Ordre de Big Boss local_104ff22d, après COMMUN-18.14 (PASS). Demande de l'utilisateur, citée : « 14 ok mais il faudrait regroupé les touche par fonctionalité ». Étude seule : aucun code, aucune copie UE. Fichier lu : Source/LifePlay/LPKeyboardSubsystem.cpp (MD5 9d450aaf) et Config/DefaultInput.ini.

0. Décision de l'utilisateur (2026-10-20, citée par Big Boss)

« regroupement des touches ok ». Big Boss l'applique avec les recommandations de cette fiche :

  1. les 9 sections du § 2, dans l'ordre et avec les noms proposés ;
  2. option (A) : les flèches à deux places, même liaison ;
  3. Pause dans Time, TestScenes dans System ;
  4. RotateCamera en Camera seulement, signalé dans le libellé d'ActionPanel.

Réalisé par KEY2-IMPL-02 (affichage seul, LPKeyboardSubsystem.cpp, instantané KEY2-IMPL3) : MD5 9d450aaf → 0eb6a592 ; +63 / −62 ; CRLF gardé (1491 / 1491). Rien n'est changé dans DefaultInput.ini, dans LPKeyboard.ini ni dans les noms internes ; aucune migration. Compilation en attente du jeton UE.

1. État actuel (établi)

GroupFor (LPKeyboardSubsystem.cpp:207-262) range chaque action ou axe dans une section (Order) et, pour la section Scene, dans un bloc (Sub). Le tri se fait par section, puis bloc, puis libellé (:489-505), et le dessin par titre de section, puis sous-titre de bloc (:508-535).

Ordre Section affichée Contenu
0 Movement MoveForward, MoveRight
2 Interaction Interact, SwapRoles
3 Menus MainMenu, CharacterMenu, Inventory, Journal, ContactsMenu, CityMenu, StatMenu, ModuleMenu, SearchBarToggle, Pause
4 Favorites Favorite0 à Favorite9
5 Time SpeedUp, SpeedDown
6 World NextBuilding, PreviousBuilding
7 Save QuickSave, Quickload
8 Scene › Camera ScrollDownUp, RotateCamera, SwitchCamera, CameraHeight
8 Scene › Characters option « Move couple with », ManualAnimating, l'axe de rotation, CoupleMoveY, LeftRight, DownUp
8 Scene › Actions ActionPanel
8 Scene › Other TestScenes, Recommended

Défauts pour le joueur :

  • les commandes générales de la caméra (SwitchCamera, RotateCamera, zoom) sont rangées sous « Scene », alors qu'elles servent partout ;
  • Pause est dans Menus et non dans Time ;
  • les flèches n'apparaissent que dans le bloc du couple, alors qu'elles déplacent aussi la vue de dessus hors scène ;
  • Interact (Interaction) est séparé d'ActionPanel (Scene › Actions).

Ne sont pas affichés, et ne le seront pas : ActionX / ActionY et CursorX / CursorY (axes de la souris, refusés par IsRemappable, :75-78).

2. Regroupement proposé (ordre d'affichage)

Libellés en anglais, comme le reste du menu ; la traduction est donnée entre parenthèses.

Ordre Section (libellé) Actions et axes Remarque
1 Movement (Déplacement) MoveForward, MoveRight inchangé
2 Camera (Caméra) SwitchCamera, RotateCamera, ScrollDownUp (zoom), CameraHeight sort de Scene ; CameraHeight n'agit qu'en scène : libellé « Camera Height Up / Down (scene) »
3 Map & World (Carte et monde) LeftRight, DownUp (vue de dessus), NextBuilding, PreviousBuilding les flèches y sont libellées « Map Right / Left / Forward / Back »
4 Couple (scene) (Couple en scène) option « Move couple with », CoupleMoveY (Up / Down), DownUp, LeftRight (couple), ManualAnimating, l'axe de rotation existant les flèches y sont libellées « Couple Forward / Back / Right / Left »
5 Actions & Interaction (Actions et interaction) Interact, ActionPanel, SwapRoles, Recommended regroupe Interact et ActionPanel
6 Menus MainMenu, CharacterMenu, Inventory, Journal, ContactsMenu, CityMenu, StatMenu, ModuleMenu, SearchBarToggle Pause en sort
7 Time (Temps) Pause, SpeedUp, SpeedDown Pause y entre
8 Favorites (Favoris) Favorite0 à Favorite9 inchangé
9 System (Système) QuickSave, Quickload, TestScenes Save devient System ; TestScenes y entre (zone de commande interne, KEY1-CART-01 § 12.3)

Plus de sous-titres de bloc : chaque section est courte (2 à 10 entrées).

3. Actions qui appartiennent à deux groupes

Action ou axe Groupes Raison
LeftRight, DownUp (flèches) Map & World, Couple (scene) vue de dessus hors scène, couple en scène (CAM2-SPEC-02 § 7)
ScrollDownUp (molette) Camera, Couple (scene) ? zoom hors scène ; en scène, rôle à confirmer (KEY2-DIAG-02 § 3.4, et point b de la relecture CAM2-IMPL-03) : à classer en Camera seulement tant que ce n'est pas établi
RotateCamera (Alt, clic du milieu) Camera ; Actions (en scène) un appui bref en scène bascule aussi le panneau d'action (LPCameraModeSubsystem.cpp, TickPanelClick). Proposé : Camera seulement, avec la mention dans le libellé d'ActionPanel (« Action Panel (also Alt / middle click) »)
ManualAnimating (Ctrl, clic droit) Couple (scene) Ctrl sert aussi de modificateur aux menus (Ctrl+C, Ctrl+E…) : rien à dupliquer, c'est la touche seule

Affichage d'une action à deux groupes, à choisir par l'utilisateur :

  • (A) Deux places, recommandé. La même liaison apparaît dans les deux sections, avec le libellé de la section (« Map … » / « Couple … »). Changer la touche dans l'une la change dans l'autre, car c'est la même liaison : le menu se redessine depuis les réglages (Rebuild, RefreshMenu). Le joueur trouve la touche là où il la cherche.
  • (B) Une seule place. Section principale Couple (scene), avec un libellé à double sens comme aujourd'hui (« Forward (map view / couple) »). C'est plus court, mais on ne la trouve pas dans Map & World.

4. Changements dans LPKeyboardSubsystem.cpp (prévision, aucun autre fichier)

  1. GroupFor (:208-262) : nouvelle table de 9 sections, conforme au § 2. Les constantes KbSceneOrder et KbCharactersSub (:48-49) deviennent KbCoupleOrder ; les sous-titres de bloc (Sub, SubTitle) sont retirés.
  2. Option (A) seulement :
    • GroupFor rend une liste de sections (TArray<FBindGroup>, deux entrées pour LeftRight et DownUp) ;
    • la construction de Binds (:453-488) ajoute une ligne par section ;
    • FBindRow reçoit l'ordre de section pour le tri et le dessin (:489-535) ;
    • AxisLabel (:163-196) prend la section pour choisir « Map … » ou « Couple … ».
  3. L'option « Move couple with » s'accroche au début de la section Couple (scene), au lieu du bloc Characters (:533-535).
  4. Libellés : « Camera Height Up / Down (scene) » ; « Action Panel (also Alt / middle click) » ; flèches selon (A) ou (B).
  5. Aucun changement de DefaultInput.ini, de LPKeyboard.ini, de nom interne ni de migration : le regroupement ne touche que l'affichage.
  6. Contenu adulte (doc 27) : aucun libellé nouveau. L'axe de rotation garde « Rotation + / − ».

5. Coût estimé

Étape Option (B) Option (A)
IMPL (lp-impl ou la session, hors copie UE, sous instantané) environ 40 lignes changées, 1 fichier environ 90 lignes changées, 1 fichier
Build (jeton UE) et VAL statique 1 build éditeur + Development, environ 5 min idem
Essai en jeu une capture du menu Clavier : ordre des 9 sections ; Change sur une flèche idem, plus : changer une flèche dans Map & World la change dans Couple (scene)
Risque faible (affichage seul) faible à moyen (tri et dessin avec lignes doublées ; Remove d'une ligne doublée retire la liaison des deux sections, ce qui est voulu)

6. Questions pour l'utilisateur (par Big Boss)

  1. L'ordre et les noms des 9 sections du § 2 conviennent-ils ?
  2. Une action à deux groupes (flèches) : (A) deux places, recommandé, ou (B) une seule place ?
  3. Pause dans Time, et TestScenes dans System : d'accord ?
  4. RotateCamera (Alt, clic du milieu) : en Camera seulement, avec la mention dans le libellé d'ActionPanel ?

Fichiers écrits : ce livrable. À commiter : A Docs/Migration/etat/REL/KEY2/KEY2-SPEC-02.md. Aucun git qui écrit.