LifePlay-Revival/Docs/Migration/etat/REL/KEY2/KEY2-TACHES.md
2026-10-21 09:36:04 +02:00

52 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# KEY2-TACHES : panneau de touches K2 à K6 (alpha 2026.10.2.2a, build 1)
Ouvert le 2026-10-20 par Big Boss `local_104ff22d`. Feuille de route : `Docs\37_Feuille_De_Route_Alpha2.md` § 1.1 (K2-K6), § 3 (l. 170). Session : Medium · KEY2 (opus medium). Sources : `etat\REL\KEY1\KEY1-CART-01.md`, `etat\CAM\CAM3\CAM3-RECH-01.md` § 5.
Aucune écriture git. Contenu adulte : règle du doc 27 (`Docs\27_Plan_Migration_UE58.md:70`).
| Fiche | Objet | Agent (modèle) | Copie UE | Statut | Livrable |
|---|---|---|---|---|---|
| KEY2-SPEC-01 | SPEC de K2 à K6, décommission du pavé, Equals et Hyphen, Tilde, double déclenchement de C et E | la session (opus) | non | **révision 5, finale pour la build 1** (Q1 à Q7 et Q9 tranchées ; Q8, Q10, Q11, Q12 sans réponse, appliquées par défaut) | `KEY2-SPEC-01.md` |
| KEY2-CART-02 | lecture MCP : panneau d'action, panneau d'Alt / clic du milieu, clic gauche de `PC` en scène, flèches et molette en scène | lp-mcp (sonnet) | lecture (jeton, BUILD-GO 09:25) | **rendue** : 4 questions répondues, MD5 des 5 assets inchangés ; relecture de l'orchestratrice (§ 10) ; SPEC en révision 6 (§ 8c) | `KEY2-CART-02.md` (fiche `KEY2-CART-02-FICHE.md`) |
| KEY2-IMPL-01 | C++ et config : K2 (préréglages, Apply, Layout), migration Version=2, K5 (souris, molette, modificateur seul), K6 (section Scene neutre), ActionPanel, CameraHeight, CoupleMoveY, option CoupleDrag ; `DefaultInput.ini` | lp-impl | non (écrit sans compilation) | **rendue, non compilée** : 5 fichiers, instantané `KEY2-IMPL` ; `LPCameraModeSubsystem.cpp` +105 / −0 et `.h` +8 / −0 contre 406fbf1d (recompté par l'orchestratrice) ; 12 écarts et 23 points à vérifier (livrable § 2 et § 5) | `KEY2-IMPL-01.md` |
| KEY2-BUILD-01 | compilation LifePlayEditor puis LifePlay Development (code KEY2 + CAM2 non commité) | lp-builder (haiku) | oui (BUILD-GO) | **rendue** : 2 builds à code 0 (88 s, 83 s), 0 erreur, 1 C4701 `Aim` connu (présent à HEAD), 20 lignes UBT HyperAIStudio connues ; les deux fichiers KEY2 compilés et liés | `KEY2-BUILD-01.md` |
| KEY2-VAL-01 | VAL statique : recompte -FromLog, 0 erreur, 0 avertissement nouveau, MD5 et fins de ligne | lp-validator | non (lecture) | **PASS-STATIC** | `KEY2-VAL-01.md` |
| KEY2-VAL-02 | essais en jeu (SPEC § 10, IMPL § 5 V1 à V23) sur la build Development | utilisateur, puis lp-validator | oui (jeu) | **KO à COMMUN-15** : marche coupée après l'onglet Clavier, indicateur de caméra absent, migration non jouée ; Apply AZERTY et + / − corrects | journaux `etat\BOSS\COMMUN-15\` |
| KEY2-DIAG-01 | causes du KO COMMUN-15, prouvées par le code ; correctif de `LPKeyboardSubsystem.cpp` (IsMenuOpen, lecture des clés `+`) sous instantané `KEY2-FIX1` | la session (opus) | non (écrit, non compilé) | **acceptée** (révision 2 : relevage du joueur dans la rue, chemins de fermeture, `CancelWait` à la fermeture des réglages dans `LPSettingsSubsystem.cpp`) ; les deux défauts existaient déjà à HEAD | `KEY2-DIAG-01.md` |
| KEY2-BUILD-02 | recompilation après DIAG-01 (LifePlayEditor, LifePlay Development) | lp-builder | oui (BUILD-GO) | **rendue** : 2 builds à code 0 (49 s, 60 s), 0 erreur, 0 avertissement du compilateur, 20 lignes UBT connues ; `LPKeyboardSubsystem.cpp` et `LPSettingsSubsystem.cpp` compilés | `KEY2-BUILD-02.md` |
| KEY2-DIAG-02 | COMMUN-16 : V / X et flèches haut / bas sans effet en scène | la session (opus) | non (lecture) | rendue : V / X, cause établie (garde « pièce cachée » reprise de `PC`, alors que la pièce de l'essai est visible, J l. 10478) ; haut / bas, comportement d'origine de `PC` (Birdview dans une pièce visible), pas une régression ; correctif proposé, option (a) ou (b) à trancher par l'utilisateur | `KEY2-DIAG-02.md` |
| KEY2-SUITE-ST | COMMUN-16 : clic gauche seul refusé, **PASS** ; défaut mineur : la ligne d'état est coupée à droite. Proposé : `.AutoWrapText(true)` sur `StatusBlock` (`LPKeyboardSubsystem.cpp:403`, comme le texte d'en-tête du panneau), et un message plus court (`:1150`) : « Left click needs Shift, Ctrl, Alt or Cmd. Escape cancels. » | KEY2 (`LPKeyboardSubsystem.cpp`, sous instantané) | au dégel ; compilé avec le passage de CAM2 | **écrite** le 2026-10-20 (instantané KEY2-SUITE ; LPKeyboardSubsystem.cpp 7960e871 → 9d450aaf) ; compilation par CAM2 | — |
| KEY2-DIAG-03 | COMMUN-20 : 51 puis 50 actions dans le fichier de touches. Cause : en .3, une flèche changée vers une touche prise (pavé 7, estimé) ; `CommitKey` retire cette touche de Favorite7, puis la flèche est remise sur Left, mais rien ne rend pavé 7. Règle de conflit voulue, sans retour arrière ; ce n'est pas la double place des flèches. Correctif proposé : confirmation par un second appui (option 1) | la session (opus) | non (lecture) | **acceptée** : décision de l'utilisateur « 1 » (confirmation) | `KEY2-DIAG-03.md` |
| KEY2-IMPL-03 / BUILD-04 | confirmation au second appui avant de prendre une touche déjà liée ; Échap annule ; répétition ignorée | la session (opus) | oui (GO de jeton) | **rendue** : instantané `KEY2-IMPL4`, `LPKeyboardSubsystem.cpp` 0eb6a592 → 611c2148, +47 / −1, CRLF ; 2 builds à code 0 (30 s, 49 s), 0 avertissement ; UeState 0 | `KEY2-BUILD-04.md` |
| KEY2-SPEC-02 | Regroupement du menu Clavier par fonctionnalité (demande de l'utilisateur après COMMUN-18.14 : « 14 ok mais il faudrait regroupé les touche par fonctionalité ») : 9 sections, actions à deux groupes, options (A) deux places / (B) une seule, coût | la session (opus) | non (étude) | **acceptée** : « regroupement des touches ok » ; recommandations appliquées (9 sections, option A, Pause dans Time, TestScenes dans System, RotateCamera en Camera) | `KEY2-SPEC-02.md` |
| KEY2-IMPL-02 | regroupement, affichage seul : `GroupFor` en 9 sections, flèches à deux places (« Map … » et « Couple … »), « Move couple with » en tête de Couple (scene), libellés « Camera Height … (scene) » et « Action Panel (also Alt / middle click) » | la session (opus) | non pour l'écriture | **écrite, non compilée** : instantané `KEY2-IMPL3` ; `LPKeyboardSubsystem.cpp` 9d450aaf → 0eb6a592, +63 / −62, CRLF gardé ; compilée par KEY2-BUILD-03 | — |
| KEY2-BUILD-03 | compilation de KEY2-IMPL-02 (LifePlayEditor, LifePlay Development -NoUBA) | la session | oui (GO de jeton) | **rendue** : 2 builds à code 0 (41 s, 80 s), 0 erreur, seul le C4701 `Aim` connu ; `LPKeyboardSubsystem.cpp` compilé et lié ; UeState 0 ; VAL statique par Big Boss | `KEY2-BUILD-03.md` |
| KEY2-SUITE-LB | Libellés du menu Clavier après la décision CAM2-SPEC-02 § 7 (V / X = Z, flèches haut / bas = Y, gauche / droite = X, plus de rotation au clavier ; option N1 : nom interne `CoupleMoveY` gardé, aucune migration). Demandé : `KbCoupleMoveY` (`LPKeyboardSubsystem.cpp:190-192`) → « Couple Up » / « Couple Down ». Proposé en plus : `LeftRight` et `DownUp` (`:166-173`) passent du bloc caméra au bloc couple de la section Scene (`GroupFor` `:218-219`, `:246`), avec un libellé à double sens (vue de dessus hors scène, couple en scène) | KEY2 (`LPKeyboardSubsystem.cpp`, sous instantané) | après COMMUN-17, avec KEY2-SUITE-ST | **acceptée en entier et écrite** (même instantané et même MD5 que SUITE-ST) ; compilation par CAM2 | — |
| KEY2-SUITE-FL | Décision de l'utilisateur sur KEY2-DIAG-02, citée : « Option (b) : en scène, les flèches haut / bas déplacent le couple sur X aussi quand la pièce est visible, avec la même borne de pièce. » CoupleMoveY partout avec borne ; DownUp en C++ ; texte d'aide `BuildControlsHelp` fourni par KEY2 à CAM2 (message à Big Boss du 2026-10-20) | **CAM2** écrit (IMPL rév. 3) ; KEY2 relit le bloc à la VAL | après le dégel | à faire par CAM2 | `KEY2-DIAG-02.md` § 4 |
| KEY2-SUITE-CH | CameraHeight, essai COMMUN-16 : « G monte jusqu'au plafond mais B ne va pas jusqu'au sol ». La borne actuelle est relative (−40 / +150 cm depuis le recadrage). Proposition KEY2 acceptée par Big Boss : borne **absolue** [FloorTop + 30 cm, Ceiling − 20 cm] par `ComputeRoomInterior`, 100 cm/s gardés, remise à zéro au recadrage | **CAM2** écrit (IMPL rév. 3, seul écrivain de `LPCameraModeSubsystem.cpp`) ; KEY2 relit le diff de ce bloc à la VAL | après le dégel | à faire par CAM2 | — |
| KEY2-VAL-03 | VAL statique de BUILD-02 | lp-validator | non (lecture) | **PASS** (6 critères ; objets STM1 `LPCityWaterSubsystem` à jour dans les deux cibles) | `KEY2-VAL-03.md` |
Complément de l'IMPL (2026-10-20, arbitrages de Big Boss) : migration étendue à G / B, V / X et ActionPanel sur les touches libres ; texte d'aide `BuildControlsHelp` ; instantané `KEY2-IMPL2` ; détail dans `KEY2-IMPL-01.md` § 7.
## Essais en jeu déjà rapportés
- 2026-10-20, essai COMMUN-14.17 (build Development commune), résultat cité par Big Boss : « control C affiche le menu changement de ville et ne touche pas à la caméra ». Cela confirme en jeu la SPEC § 3 pour C / Ctrl+C : le moteur garde l'accord le plus précis (`PlayerInput.cpp:1048-1060`). **Établi pour C.**
- 2026-10-20, COMMUN-14.17 (suite), résultat cité par Big Boss : « Ctrl + E affiche le menu du changement de personnage », sans interaction signalée. Cela confirme la SPEC § 3 pour E / Ctrl+E (modificateurs exacts, `LPDirectControlSubsystem.cpp:159-166`). **Ctrl+C et Ctrl+E : PASS, pas de double déclenchement.** Le volet C / E du point 4 de la SPEC § 10 est acquis ; restent Add / Subtract et le pavé 4 / 6, après l'IMPL.
- 2026-10-20, COMMUN-14.16, cité par Big Boss : « ² affiche la console du moteur ». Sur AZERTY, la touche de Tilde ouvre la console du moteur et non la zone de scène ; COMMUN-14.13 : Insert ouvre bien la zone de scène (PASS). Intégré à la SPEC (§ 5b, question Q8 : retirer la liaison Tilde de `TestScenes`, `DefaultInput.ini:121`, et garder Insert).
- 2026-10-20, COMMUN-14.15, cité par Big Boss : « F12 minimise le jeu » ; « page down aucune action visible ». Ce sont les deux touches lues en dur dans `PC` (KEY1-CART-01 § 12.2, `K2Node_InputKey_2` et `_5`, chacune vers un `ForEachLoop` non lu), donc hors du menu et hors remappage :
- **F12** : la fenêtre du jeu se réduit (observé) ;
- **PageDown** : aucun effet visible dans cet essai. PageDown est aussi lié par mappage à `NextBuilding` (`DefaultInput.ini:119`) et à l'axe de rotation de scène (`:164`) ; l'effet dépend donc sans doute du mode de jeu (estimé, non lu).
Ces deux touches entrent dans la liste des touches réservées de la SPEC § 7.5 (avertissement à la capture).
- Questions de la SPEC : voir l'état ci-dessous.
## Décisions de l'utilisateur
- 2026-10-20, sur Q1 et Q3, citée par Big Boss : « on libère les touche W et A, si le clavier est configurer proprement en AZERT ou en QWERTY elle n'ont plus a être affecté. on peut le récupérer pour la touche action comme dans la plupart des jeux A = action et E interaction (en AZERTY) ». Q1 : préréglages exclusifs ; Q3 : ActionPanel sur A en AZERTY, E reste Interact. SPEC passée en **révision 2** (§ 1, décision 5 ; § 4 ; § 6 ; § 9 à § 11).
- 2026-10-20, Q2, citée par Big Boss : « Q2 une seul touche » : K4 = une seule touche Interact (E). SPEC en révision 3.
- 2026-10-20, Q4, citée par Big Boss : « Q4 oui » : la capture refuse le clic gauche seul (accepté avec un modificateur). SPEC en révision 3.
- 2026-10-20, Q5, citée par Big Boss (texte complet dans la SPEC § 1, décision 8) :
- le joueur peut choisir de déplacer les personnages aux flèches, ce qui libère le clic gauche ;
- nouvelles actions `CameraHeight` (hauteur de la vue) et `CoupleMoveY` (couple sur l'axe Y) ;
- la touche d'action garde l'ouverture du panneau.
SPEC en **révision 4** : § 8b, touches proposées G / B et V / X, trois lectures MCP ajoutées à KEY2-CART-02.
- 2026-10-20, Q9, Q6 et Q7, citées par Big Boss : « 1 oui Q6 neutre pour le moment. » (action en QWERTY = Q ; libellé neutre seul) ; « Q7 pour la prochaine build » (Y et N en dur en build 1, remappage en build 2). SPEC en **révision 5**.
- Sans réponse de l'utilisateur, appliquées par défaut (recommandations de la SPEC § 11) : Q8 oui (Tilde retiré de TestScenes) ; Q10 texte d'origine (Reset rend `DefaultInput.ini`, `ActionPanel` posé par les préréglages seulement) ; Q11 clic droit gardé ; Q12 repère du couple, G / B et V / X. L'utilisateur peut encore les changer avant l'IMPL.