52 lines
12 KiB
Markdown
52 lines
12 KiB
Markdown
# 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.
|