Commit graph

8 commits

Author SHA1 Message Date
7a854ccc15 Remove 6 unused resource types and add item utility snapshot test
Strip Health, Mana, Food, Stamina, Oxygen, Energy — only Gold and Blood
remain as they serve as adventure gates (Contemporary ≥30, DarkFantasy ≥20).
Remove 22 orphaned items, 5 recipes, and the AlchemyTable workstation.
Replace energy_cell in rocket_boots recipe with cosmic_shard.
Change box_endgame condition from AllResourcesVisible to BoxesOpenedAbove:500.

Add ItemUtilitySnapshot test that maps every item to its usage contexts
(loot sources, crafting, interactions, adventures) and generates a report.
DEBUG overwrites the snapshot; RELEASE asserts no changes.

Update specifications.md and CLAUDE.md to reflect resource cleanup.
Remove obsolete bugs.md and refactoring_plan.md.
2026-03-15 15:05:45 +01:00
83270ed4a0 Implement TODO.md: deterministic meta order, pity system, UX fixes
- Play time tracking: accumulate TotalPlayTime each game loop iteration
- Return to menu: split _running into _appRunning/_gameRunning so quit
  returns to main menu instead of exiting the app
- Deterministic meta unlock order: ArrowKeySelection first (accessibility),
  then TextColors, AutoSave, InventoryPanel, etc. (13-step sequence)
- Merge KeyboardShortcuts into ArrowKeySelection
- Meta box pity system: guarantee a meta box every 10 openings
- Inventory flickering: buffer-based rendering with ANSI cursor repositioning
- Non-readable symbols: use ASCII abbreviations instead of emoji in footer
- Resource/stats confusion: rename Resource Panel to Characteristics Panel
  in all user-facing text (EN/FR), update specs and descriptions
- Block consumable use before inventory panel unlock
- Remove obsolete proposal/suggestion files, clean up Spectre-only renderer
2026-03-14 20:21:18 +01:00
7b3a3d5a58 Implement proposals.md + proposals_2.md: adaptive UX, early-game feedback, TUI default
- Adaptive welcome message based on progression (50/200/500 boxes thresholds)
- Raw inventory display before InventoryPanel unlock (plain text list)
- Terminal.Gui as default mode (--classic flag for old sequential renderer)
- Early-game box counter before StatsPanel unlock
- Encouraging messages in empty ResourcePanel and locked panel placeholders
- Wider inventory name column (28 chars), cookie detail/consume, box teaser
- Richer StatsPanel with items discovered and play time
2026-03-14 09:33:47 +01:00
930128a766 Implement interactive inventory, event log, and UI improvements (proposals 1-11)
- 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
2026-03-13 23:30:04 +01:00
82aba2b3eb Fix layout, portrait cosmetics, add TUI renderer, snapshots, and playthrough analysis
- Fix compact tmux-like layout (120×30 ref) with side-by-side panels
- Fix cosmetic portrait: PlayerAppearance now mutable with ApplyCosmetic()
- Add per-style intrinsic colors for all cosmetic types on portrait
- Add compact inventory mode (6 rows) for layout views
- Add Terminal.Gui renderer (--tui flag)
- Add save snapshot generation and --snapshot N CLI loading
- Add PlaythroughCapture test for automated output analysis
- Add destiny adventure French translation (intro.fr.lor)
- Remove FontStyle enum (fonts are collectibles only)
- Add proposals.md with 11 rendering improvement suggestions
- Update bugs.md (3 FIXMEs resolved)
2026-03-13 21:37:09 +01:00
4703ff1e05 Document pacing test workflow in CLAUDE.md
Add instructions for running the pacing report test and interpreting
results after loot table changes. Also fix stale [if] syntax note.
2026-03-11 20:57:30 +01:00
aeae979d05 Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
  syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
  constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
  uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
c9f8a9566a Add adventure secret branches, Destiny finale, crafting system, and project docs
Integrate stats, resources, and cosmetics into adventures via conditional
branches gated by game state checks. Each of the 9 adventures now has a
secret branch that rewards exploration and encourages replay with subtle
hints on locked choices. The endgame box now triggers a Destiny adventure
that acknowledges all completed adventures and secret branches, with four
ending tiers culminating in an ultimate ending when all 9 secrets are found.

Also adds the crafting engine, CLAUDE.md and specifications.md for faster
onboarding.
2026-03-11 17:50:37 +01:00