openthebox/bugs.md

48 lines
3.1 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
# DONE
## Terminal size 120×30 — DONE
SpectreRenderer cap désormais `AnsiConsole.Profile.Width` à 120 colonnes (RefWidth). Le layout est conçu pour tenir dans 30 lignes. Les constantes `RefWidth=120` et `RefHeight=30` servent de référence.
## Layout compact tmux — DONE
RenderFullLayout utilise des `Table.NoBorder()` pour placer les panels côte à côte sans gaps. Row 1: Portrait(20) | Stats(30) | Resources(fill). Row 2: Inventory(60) | Crafting+Chat+Completion(fill). RenderSequentialPanels groupe aussi les panels top côte à côte quand plusieurs sont débloqués.
## Couleurs sur le portrait — DONE
Chaque type de cosmétique a maintenant sa propre couleur intrinsèque (yeux bleus=dodgerblue, cheveux feu=red, cyberpunk=aqua, etc.). Les tints explicites (HairTint/BodyTint) restent prioritaires. Les yeux, jambes et bras ont aussi leurs propres couleurs au lieu d'être tous blancs.
## panneau d'inventaire — DONE
Scroll interactif implémenté : ↑↓ ligne par ligne, PgUp/PgDn page par page, Esc/Q pour sortir. Panneau limité à 15 lignes avec indicateur de position (ex: 1-15/42). Noms traduits, catégories, raretés colorées, colonne Name fixée à 24 chars.
## Polices de caractère — supprimées
Impossible de changer la police du terminal programmatiquement. Les items font ont été supprimés du jeu (items.json, boxes.json, enum, code).
## Portrait représente une boîte — DONE
Le portrait ASCII art représente maintenant une boîte (+------+) avec des cosmétiques dessus : cheveux sur le dessus, yeux sur la face, corps comme décoration, jambes en dessous, bras sur les côtés.
## Police de caractère — DONE
Les fonts sont des collectibles purs (comptent pour la complétion). Le terminal gère sa propre police. Un message explicite est maintenant affiché au loot : « Police 'X' collectionnée ! (Collectible — la police de votre terminal reste inchangée) ».
## Double crochets aventures — DONE
Le préfixe [Terminée] utilisait [[...]] (échappement Spectre) mais ShowSelection échappe déjà les options. Corrigé en utilisant des crochets simples.
## Boîtes meta auto-upgrade — DONE
BoxEngine détecte automatiquement quand tous les items d'un tier meta sont obtenus et upgrade le box_meta vers le tier suivant : basics → interface → deep → resources → mastery. Revert de la fusion incorrecte.
## Double boîte d'aventure pirate (interactions) — DONE
Le prompt ChoiceRequiredEvent utilisait un texte anglais hardcodé comme clé de localisation → [MISSING:...]. Corrigé : utilise la clé "prompt.choose_interaction" et affiche les DescriptionKey des règles (traduits) au lieu des IDs bruts.
## Aventure destiny FR — DONE
Créé intro.fr.lor pour l'aventure destiny (68 tags traduits). Tests ajoutés (existence, parsing, couverture tags).
## Fin de partie après destiny — DONE
Après l'aventure destiny, un choix épilogue est proposé : continuer en jeu libre ou refermer la boîte (quitter). Le ton reste poétique et cohérent avec le récit.