openthebox/bugs.md

120 lines
8.8 KiB
Markdown
Raw Normal View History

2026-03-11 18:33:10 +01:00
# Bug tracker
Les sujets dans FIXME doivent être corrigé, puis déplacé dans "DONE", puis commit de ce fichier avec le fix.
# FIXME
2026-03-11 22:19:25 +01:00
## direct number
2026-03-11 18:33:10 +01:00
2026-03-11 22:19:25 +01:00
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
2026-03-11 22:19:25 +01:00
## panneau d'inventaire impraticable
2026-03-11 18:33:10 +01:00
```
2026-03-11 22:19:25 +01:00
┌─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
2026-03-11 18:33:10 +01:00
```
2026-03-11 22:19:25 +01:00
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 <marquee> 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é.
2026-03-11 22:19:25 +01:00
## 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.SelectionPrompt`1.Spectre.Console.IListPromptStrategy<T>.Render(IAnsiConsole console, Boolean scrollable, Int32 cursorIndex, IEnumerable`1 items, Boolean skipUnselectableItems, String searchText) in /_/src/Spectre.Console/Prompts/SelectionPrompt.cs:line 167
at Spectre.Console.ListPrompt`1.BuildRenderable(ListPromptState`1 state) in /_/src/Spectre.Console/Prompts/List/ListPrompt.cs:line 89
at Spectre.Console.ListPromptRenderHook`1.Process(RenderOptions options, IEnumerable`1 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.ListPrompt`1.Show(ListPromptTree`1 tree, Func`2 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.SelectionPrompt`1.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