- Reorder meta unlocks for better early-game pacing (visual panels first) - Portrait always visible, cosmetics shown only when panel unlocked - Auto-equip first cosmetic of each slot - Transform ChatPanel into event log with localized title - Compact UI feature announcements (Panel instead of FigletText) - FullLayout-only screen clearing, inline resource summary pre-unlock - Lore fragment named keys for inventory display - Interactive inventory with ↑↓ selection, detail panel, and Enter to act - Consumable items usable via UseItemAction pipeline - Lore fragments readable in dedicated display panel - Add InventoryRenderCapture test and document render capture workflow
4.7 KiB
Propositions d'améliorations du rendu
Analyse basée sur la capture de 2 playthroughs (seeds 42 et 777, 15 étapes chacun) et le rapport de pacing complet.
1. Le vide initial : 30 boîtes sans aucun panel visuel — DONE
Constat : Les 2 scénarios montrent "(no panels unlocked yet)" pour les 15 premières étapes (30 boîtes). Les premiers déverrouillages meta sont AutoSave et BoxAnimation — invisibles pour le joueur. Le premier panel visuel (ResourcePanel ou InventoryPanel) n'arrive qu'entre la boîte #32 et #36.
Résolu :
- 1B) Portrait visible par défaut : une boîte nue
+------+s'affiche dès le départ, les cosmétiques n'apparaissent qu'après le déverrouillage PortraitPanel. - 1C) Méta-déverrouillages réordonnés : TextColors/StatsPanel/InventoryPanel/ResourcePanel arrivent en premier (box_meta_basics), AutoSave/BoxAnimation repoussés en fin de progression (box_meta_mastery). Résultat : 1er panel visuel à la boîte #7-16 au lieu de #32-36.
2. Les noms de boîtes apparaissent comme IDs bruts — ALREADY FIXED
Constat : Déjà corrigé dans une session précédente. GetLocalizedName() fait le fallback vers registry.GetBox().
3. Cosmétiques reçus sans portrait pour les voir — DONE
Résolu :
- 3A) Portrait visible dès le départ (voir 1B). PortraitPanel arrive désormais à la boîte #32-36.
- 3C) Auto-équipement : MetaEngine équipe automatiquement le premier cosmétique de chaque slot vide lors de la réception. Le joueur voit immédiatement le changement sur le portrait.
4. Ressources reçues mais invisibles — DONE
Résolu : Quand le ResourcePanel n'est pas débloqué, un résumé inline des ressources visibles s'affiche après le loot : [Santé 10/100 | Or 5].
5. Le layout "Full" arrive trop tard — DONE
Résolu : FullLayout déplacé de box_meta_mastery vers box_meta_interface. Résultat : FullLayout à la boîte #41-53 au lieu de #199.
6. Le panneau Chat est toujours vide — DONE
Résolu : ChatPanel transformé en Journal d'événements. Affiche les N derniers événements (loot, déverrouillages, changements de ressources, aventures débloquées) au lieu de l'ancien dialogue vide.
7. Feedback d'événements trop éphémère — DONE
Résolu :
- 7A) Historique des événements dans le panel Log (remplace Chat).
- 7B) Pas de Clear() en mode pré-FullLayout : le texte défile comme un terminal classique.
8. L'annonce FigletText de déverrouillage UI prend trop de place — DONE
Résolu : FigletText remplacé par un Panel compact avec bordure double et étoiles : ★ Panneau d'inventaire ★. Prend 3 lignes au lieu de 12.
9. Progression des cosmétiques : équipement auto — DONE
Résolu : Voir 3C. Auto-équipement du premier cosmétique de chaque slot.
10. Lore fragments : noms trop longs — DONE
Résolu : Les fragments de lore ont maintenant des noms courts ("Fragment : Genèse", "Fragment : L'Ordre", etc.) au lieu de phrases complètes. Les textes longs restent dans les clés lore.fragment_N pour affichage détaillé.
11. Consommables non consommables — DONE
Résolu :
- 11A) Inventaire interactif : les objets sont sélectionnables avec ↑↓/PgUp/PgDn, la ligne sélectionnée est mise en surbrillance avec un indicateur ►.
- 11B) Panneau de détails : un cadre « Détails » s'affiche sous l'inventaire montrant le nom, la rareté, et les informations contextuelles de l'objet sélectionné (effet des consommables, texte de lore complet, slot cosmétique, type de matériau).
- Consommables : Appuyer sur Entrée utilise le consommable via
UseItemAction→ResourceEngine.ProcessConsumable(). L'item est consommé et la ressource mise à jour. - Fragments de lore : Appuyer sur Entrée affiche le texte complet dans un panneau dédié avec bordure double.
Résumé
| # | Proposition | Statut |
|---|---|---|
| 1B | Portrait visible par défaut | ✅ DONE |
| 1C | Réordonner les méta-déverrouillages | ✅ DONE |
| 2 | Noms de boîtes localisés dans le loot | ✅ ALREADY FIXED |
| 3C | Auto-équiper le 1er cosmétique | ✅ DONE |
| 4 | Résumé ressources inline | ✅ DONE |
| 5 | FullLayout plus tôt | ✅ DONE |
| 6A | Chat comme log d'événements | ✅ DONE |
| 7A | Historique événements dans panel Log | ✅ DONE |
| 7B | Pas de Clear avant FullLayout | ✅ DONE |
| 8 | Annonce compacte des déverrouillages | ✅ DONE |
| 9 | Auto-équipement cosmétiques | ✅ DONE |
| 10 | Noms courts pour lore fragments | ✅ DONE |
| 11A | Inventaire interactif avec sélection | ✅ DONE |
| 11B | Panneau de détails contextuel | ✅ DONE |