Add match, turn and history views with a dark theme

- Top bar switching between Deck, Match, Turn and History views
- Match view: life, player counters, commanders, emblems, zone counts,
  turn timer and timeouts, land drops used/allowed, play/draw and Bo3
  draw counts, with the deck view below
- Turn view: per-player and total stats per turn with history, plus
  whole-game totals and land drops
- History: every finished game (colours, winner, who was on the play);
  click to reopen it in the other views; imports Player-prev.log
- Customize menu to show/hide items and an Arrange dialog to reorder
  deck sections and turn stats, remembered across sessions
- Static dark theme with mint accent, rounded corners, larger text
- Commanders tracked separately from emblems, with location and tax
- Quieter, non-sticky warning for cards lost to MTGA log gaps
- Correct Scryfall images for tokens

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aeth3randClaude Opus 5.5 committed 2026-10-16 11:18:44 -04:00
1 parent 7dc2ce0da8
commit 5b3c8c8e63
22 files changed
+2599 -193

No files matched your search

+28 -5
View File
@@ -3,11 +3,31 @@
A native Linux deck and game tracker for **Magic: The Gathering Arena** running under Steam/Proton.
It follows MTGA's `Player.log`, much like Untapped.gg and other trackers do, and shows:
- **My deck**: remaining library with draw odds, hand, battlefield, graveyard, exile, sideboard.
Between matches, it shows the last deck you submitted.
- **Opponent**: battlefield, stack, graveyard, exile, cards *known* to be in their hand or library
(cards you saw that went back into a hidden zone, or were revealed), and every card seen this match.
- **Card preview**: hover a card to see its image from [Scryfall](https://scryfall.com).
Switch views with the buttons in the top bar (or Ctrl+1/2/3):
- **Deck**
- *My deck*: remaining library with draw odds, hand, battlefield, graveyard, exile, sideboard.
Between matches, it shows the last deck you submitted.
- *Opponent*: battlefield, stack, graveyard, exile, cards *known* to be in their hand or library
(cards you saw that went back into a hidden zone, or were revealed), and every card seen this match.
- *Card preview*: hover a card to see its image from [Scryfall](https://scryfall.com).
- **Match**: life totals, poison/energy and other player counters, emblems, hand/library/graveyard
counts, turn timer and timeouts used, turn/phase, Bo3 score and game time. The deck view fills
the bottom half.
- **Turn**: what happened this turn, for you, your opponent and in total: cards drawn, spells cast,
lands played, creatures died, life gained/lost, damage, discards, mills, exiles, counters and
tokens, plus land drops used/allowed. Use ◀ ▶ to browse earlier turns; the "Whole game" table
shows game totals.
- **History**: every finished game with date, event, opponent, both decks' colours, who was on
the play, the result, turns and length. Click a game to open it in the Deck/Match/Turn views
("Back to live" returns). Games from the previous MTGA session (`Player-prev.log`) are imported
on startup.
The Match view also shows who was on the play and, in best-of-three, who has been on the draw more.
*⚙ Customize* shows or hides the items in the current view. *Customize → Arrange…* lets you
reorder (drag, or ↑/↓) and show/hide the sections of the My deck and Opponent panels, or the
rows of the turn view. Your choices are remembered.
Card names, mana costs and types come from MTGA's own local card database, so they work offline.
@@ -45,8 +65,11 @@ Optional: `~/.config/mtga-assistant/config.toml`
log_path = "/path/to/Player.log" # override auto-detection
mtga_dir = "/path/to/steamapps/common/MTGA"
cache_max_mb = 500 # image cache cap
history_max_mb = 300 # cap for stored game details (summaries are always kept)
```
Game history lives in `~/.local/share/mtga-assistant/history.db` (roughly 20–100 KB per game).
## Image cache
Images are downloaded only for cards that actually appear, at Scryfall's `normal` size (about