Skip to content

Better game log UI: inline card images, improved verbosity presets#9889

Merged
tool4ever merged 9 commits intoCard-Forge:masterfrom
MostCromulent:betterlog
Feb 23, 2026
Merged

Better game log UI: inline card images, improved verbosity presets#9889
tool4ever merged 9 commits intoCard-Forge:masterfrom
MostCromulent:betterlog

Conversation

@MostCromulent
Copy link
Contributor

Screenshot 2026-02-23 182606 Screenshot 2026-02-23 182420

Screenshot 2026-02-23 190417

This PR makes four changes to improve the in-match log panel, particularly on desktop.

  1. Inline Card Images — Log entries that reference a card now show a miniature card image (50x70px) on the left, modelled on the existing stack panel's StackInstanceTextArea pattern. Uses CachedCardImage for async loading. Togglable via Layout > View > Log Detail Level > Show Card Images.

  2. Card Hover — Hovering over a card-linked log entry updates the card detail panel and card view panel, same as hovering over stack items. Face-down cards are guarded (no detail shown).

  3. Clearer log verbosity settings — Currently the log verbosity setting exposes all 18 internal GameLogEntryType values in a flat list. Most players don't know what "STACK_ADD" or "ZONE_CHANGE" means, and the ordinal cutoff filter means you can't include damage without also including everything above it.

PR replaces the 18-item list with three intuitive presets:

Preset Includes
Low Turns, damage, mulligans, outcomes
Medium Low + spells, combat, lands, zone changes
High Everything including phases and mana abilities

Old preference values are migrated automatically.
The verbosity setting only affects the in-game UI log panel, not text game log output.

  1. Zone change logging — Creatures dying (Battlefield → Graveyard) and being exiled (Battlefield → Exile) are now logged as ZONE_CHANGE entries, visible at Medium and above.

Desktop gets all features 1 - 4, as 1 and 2 are based on existing stack/card view functionality.
Mobile gets features 3 and 4 only.


🤖 Generated with Claude Code

MostCromulent and others added 2 commits February 23, 2026 18:53
- Replace 18 GameLogEntryType values with 3 intuitive presets (Low/Medium/High)
  via new GameLogVerbosity enum with tooltips explaining each level
- Show miniature card images (50x70px) inline in log entries that reference
  a card, togglable via "Show Card Images" preference in Layout > View menu
- Hovering over a card-linked log entry updates the card detail panel
- Log zone changes for Battlefield->Graveyard/Exile (creature death, exile)
- Add Prompt Options and Log Detail Level submenus to Layout > View menu
- Add stay-open checkbox/radio button helpers to MenuUtil

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Settings combobox saves via toString() ("Medium") but LayoutMenu
compared with name() ("MEDIUM"). Use fromString() + enum identity
instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tool4ever tool4ever added the QOL Quality of Life label Feb 23, 2026
MostCromulent and others added 2 commits February 23, 2026 20:03
Adds a CUSTOM option to GameLogVerbosity that reveals a submenu of
individual checkboxes for each GameLogEntryType, giving power users
fine-grained control while keeping preset simplicity for beginners.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reduces boilerplate for this simple immutable data carrier.
Updates 9 field-access sites to use record accessor methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
MostCromulent and others added 5 commits February 23, 2026 22:30
Use Title Case consistently for all display captions: Game Outcome,
Match Result, Player Control, Resolve Stack, Add To Stack.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the in-game custom categories dropdown submenu with a dialog
popup. Add a "Custom Game Log Settings..." button to the Preferences
Advanced section, enabled only when Custom verbosity is selected.
Also make Preferences note labels support text wrapping.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When CUSTOM log verbosity is selected, a new settings item opens a
scrollable checkbox dialog to configure which GameLogEntryType categories
are included. The item greys out when a non-CUSTOM verbosity is active.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@tool4ever tool4ever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another nice one :)

@tool4ever tool4ever merged commit 989ce88 into Card-Forge:master Feb 23, 2026
2 checks passed
@MostCromulent MostCromulent deleted the betterlog branch February 23, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

QOL Quality of Life

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants