openthebox/bugs.md
2026-03-11 22:19:25 +01:00

8.8 KiB

Bug tracker

Les sujets dans FIXME doivent être corrigé, puis déplacé dans "DONE", puis commit de ce fichier avec le fix.

FIXME

direct number

La fonctionnalité "navigation avec les flèche" devrait laisser la possibilité de continuer d'utiliser les numéros du claviers (pavé alpha ou alphanumérique) pour sélectionner les choix correspondant avec un seul bouton

panneau d'inventaire impraticable

┌─Resources─────────────────┐
│ No resources visible yet. │
└───────────────────────────┘
┌─Inventory───────────────────────────────────────────────┐
│                        Inventory                        │
│ ┌───────────────────────────┬──────────┬────────┬─────┐ │
│ │ Name                      │ Category │ Rarity │ Qty │ │
│ ├───────────────────────────┼──────────┼────────┼─────┤ │
│ │ blood_vial                │    -     │   -    │   1 │ │
│ │ box_epic                  │    -     │   -    │   1 │ │
│ │ box_music                 │    -     │   -    │   2 │ │
│ │ box_not_great             │    -     │   -    │   1 │ │
│ │ box_ok_tier               │    -     │   -    │   3 │ │
│ │ contemporary_phone        │    -     │   -    │   1 │ │
│ │ contemporary_usb          │    -     │   -    │   1 │ │
│ │ cosmetic_arms_regular     │    -     │   -    │   1 │ │
│ │ cosmetic_body_robotic     │    -     │   -    │   1 │ │
│ │ cosmetic_eyes_blue        │    -     │   -    │   1 │ │
│ │ cosmetic_eyes_brown       │    -     │   -    │   1 │ │
│ │ cosmetic_hair_cyberpunk   │    -     │   -    │   1 │ │
│ │ cosmetic_hair_short       │    -     │   -    │   1 │ │
│ │ cosmetic_legs_rocketboots │    -     │   -    │   1 │ │
│ │ food_ration               │    -     │   -    │   2 │ │
│ │ gold_pouch                │    -     │   -    │   1 │ │
│ │ health_potion_medium      │    -     │   -    │   1 │ │
│ │ health_potion_small       │    -     │   -    │   4 │ │
│ │ lore_10                   │    -     │   -    │   1 │ │
│ │ lore_2                    │    -     │   -    │   2 │ │
│ │ lore_3                    │    -     │   -    │   1 │ │
│ │ lore_5                    │    -     │   -    │   2 │ │
│ │ lore_6                    │    -     │   -    │   1 │ │
│ │ lore_9                    │    -     │   -    │   1 │ │
│ │ mana_crystal_small        │    -     │   -    │   3 │ │
│ │ material_bronze_ingot     │    -     │   -    │   1 │ │
│ │ material_bronze_raw       │    -     │   -    │   2 │ │
│ │ material_carbonfiber_raw  │    -     │   -    │   1 │ │
│ │ material_iron_raw         │    -     │   -    │   3 │ │
│ │ medieval_scroll           │    -     │   -    │   1 │ │
│ │ meta_animation            │    -     │   -    │   1 │ │
│ │ meta_arrows               │    -     │   -    │   1 │ │
│ │ meta_autosave             │    -     │   -    │   1 │ │
│ │ meta_colors               │    -     │   -    │   1 │ │
│ │ meta_inventory            │    -     │   -    │   1 │ │
│ │ meta_resources            │    -     │   -    │   1 │ │
│ │ music_melody              │    -     │   -    │   1 │ │
│ │ resource_max_food         │    -     │   -    │   1 │ │
│ │ resource_max_health       │    -     │   -    │   1 │ │
│ │ stamina_drink             │    -     │   -    │   1 │ │
│ │ tint_cyan                 │    -     │   -    │   4 │ │
│ │ tint_orange               │    -     │   -    │   3 │ │
│ └───────────────────────────┴──────────┴────────┴─────┘ │
└─────────────────────────────────────────────────────────┘
Que veux-tu faire ?

> Ouvrir une boîte (7)
  Voir l'inventaire
  Partir à l'aventure
  Changer d'apparence
  Retourner au menu

la liste d'action se retrouve collée tout en bas, on ne voit plus les stats qui dépassent en haut, les objets dans le tableau ne sont pas traduits, n'ont pas de catégorie, ni de rareté. Dans "voir l'inventaire" ça fonctionne mais le tableau est trop grand, la casse "name" est gigantesque car certains noms sont trop longs et on perds l'association avec la rareté.

Attendu: homogénéiser les rendus Attendu: la colonne name a une taille raisonnable, les noms trops longs défilent (comme des en allez-retours) si pas trop complexe Attendu: la hauteur est limitée et les flèches Pg up et Pg down permettent de scroll. Un indicateur indique que ces touches sont dispos. Attendu: le panneau inventaire est positionné à côté des stats (pour éviter de le cacher) en + d'être limité en hauteur Attendu: le rendu complet à tout moment doit passer dans 50 lignes de hauteur.

raccourcis claviers

j'ai débloqué la meta interface raccourcis clavier mais ça ne change rien… Par ailleurs les raccourcis claviers (direct numbers évoqués plus haut) devraient être de base pour des raisons d'accessibilité.

meta - interface

les meta interface sont toujours obtenues dans des meta - les bases. Ce sera mieux de ne plus looter de meta base mais directement des meta interface. idem base => interface => personnalisation. Donner directement la bonne boite.

bug cosmétique

erreur survenue lorsque j'ai essayé d'ouvrir l'interface "change d'apparence" après avoir débloqué une box cosmétique

[2026-03-11 22:14:10] InvalidOperationException: Could not find color or style 'Cheveux'. at Spectre.Console.StyleParser.Parse(String text) in //src/Spectre.Console/StyleParser.cs:line 10 at Spectre.Console.MarkupParser.Parse(String text, Style style) in //src/Spectre.Console/Internal/Text/Markup/MarkupParser.cs:line 29 at Spectre.Console.SelectionPrompt1.Spectre.Console.IListPromptStrategy<T>.Render(IAnsiConsole console, Boolean scrollable, Int32 cursorIndex, IEnumerable1 items, Boolean skipUnselectableItems, String searchText) in //src/Spectre.Console/Prompts/SelectionPrompt.cs:line 167 at Spectre.Console.ListPrompt1.BuildRenderable(ListPromptState1 state) in //src/Spectre.Console/Prompts/List/ListPrompt.cs:line 89 at Spectre.Console.ListPromptRenderHook1.Process(RenderOptions options, IEnumerable1 renderables)+MoveNext() at Spectre.Console.AnsiBuilder.Build(IAnsiConsole console, IRenderable renderable) in //src/Spectre.Console/Internal/Backends/Ansi/AnsiBuilder.cs:line 17 at Spectre.Console.AnsiConsoleBackend.Write(IRenderable renderable) in //src/Spectre.Console/Internal/Backends/Ansi/AnsiConsoleBackend.cs:line 30 at Spectre.Console.CursorExtensions.Hide(IAnsiConsoleCursor cursor) in /_/src/Spectre.Console/Extensions/CursorExtensions.cs:line 33 at Spectre.Console.ListPrompt1.Show(ListPromptTree1 tree, Func2 converter, SelectionMode selectionMode, Boolean skipUnselectableItems, Boolean searchEnabled, Int32 requestedPageSize, Boolean wrapAround, CancellationToken cancellationToken) in /_/src/Spectre.Console/Prompts/List/ListPrompt.cs:line 55 at Spectre.Console.SelectionPrompt1.ShowAsync(IAnsiConsole console, CancellationToken cancellationToken) at OpenTheBox.Rendering.SpectreRenderer.ShowSelection(String prompt, List`1 options) in D:\projets\openthebox\src\OpenTheBox\Rendering\SpectreRenderer.cs:line 123 at OpenTheBox.Program.ChangeAppearance() in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 590 at OpenTheBox.Program.ExecuteAction(String action) in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 327 at OpenTheBox.Program.GameLoop() in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 287 at OpenTheBox.Program.NewGame() in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 193 at OpenTheBox.Program.MainMenuLoop() in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 142 at OpenTheBox.Program.Main(String[] args) in D:\projets\openthebox\src\OpenTheBox\Program.cs:line 40

=> Ajouter un test après le correctif pour attraper les cas similaires.

DONE