12 Commits
Author SHA1 Message Date
Aeth3randClaude Opus 5.5 90f846c70b Rewrite README with logo and screenshots
Add the logo and screenshots, restructure into features, installation,
usage, configuration and development, and bring everything up to date
(background mode, installers, menus, limitations). The project
description now covers Linux and Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:08 -04:00
Aeth3randClaude Opus 5.5 d9ef771db8 Name emblems and boons instead of showing "Card #N"
Command-zone objects such as boons have small grpIds that aren't cards.
Name them from the log's name id (e.g. "The Ring") or the card that
created them ("Swiftspear's Teachings (boon)"), and preview the source
card on hover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:08 -04:00
Aeth3randClaude Opus 5.5 f16a67e042 Add Linux and Windows installers
- install.sh: checks Python 3.12+, installs the app into its own
  environment, checks Qt's system libraries, installs icons and a
  --background .desktop launcher, offers start at login; --uninstall.
- install.bat / install_windows.ps1: checks Python (offering winget),
  builds with PyInstaller, installs to LOCALAPPDATA with Start Menu and
  Desktop shortcuts, offers start at login; -Uninstall.
- .gitattributes keeps .bat/.ps1 as CRLF and .sh as LF.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:08 -04:00
Aeth3randClaude Opus 5.5 fb6220155c Use the new app icon
The icon now comes from images/mtga-assistant-icon.png: make_icon.py
copies it into the package (window, taskbar and tray icon) and builds
the Windows .ico used for the .exe. The old generated SVG icon is gone.
The PyInstaller spec also keeps QtNetwork, needed for single-instance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:08 -04:00
Aeth3randClaude Opus 5.5 c4533d12c0 Run in the background and open when MTGA starts
- Closing the window hides it to the system tray; tracking and history
  recording continue. Quit from the tray, the menu or Ctrl+Q.
- Show the window when MTGA starts a new Player.log, detected with OS
  file notifications on the log folder (QFileSystemWatcher), not polling.
- Single instance over a local socket: launching again shows the
  running window (or stays hidden with --background).
- Menu options for background mode, show-on-launch and start at login
  (XDG autostart on Linux, HKCU Run key on Windows); --background flag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:08 -04:00
Aeth3randClaude Opus 5.5 5f3c7c13d0 Add section toggles, simplify Customize, scope header to Match
- Customize menu: a "Sections" group to show/hide each Match panel
  (You, Match, Opponent, Turn stats, My deck, Preview, Opponent's
  cards); rows collapse when all their panels are hidden. Player panel
  details follow, then Arrange. The submenus duplicating Arrange are gone.
- The top bar's match summary only shows on the Match tab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:10:35 -04:00
Aeth3randClaude Opus 5.5 e82f8d1858 Make the app cross-platform and add a Windows build
- paths: per-platform detection behind an injectable Env. Windows finds
  Player.log in the user profile and the install via Steam (registry),
  the standalone installer, Epic, or the uninstall registry. App dirs
  come from platformdirs (unchanged XDG locations on Linux).
- logtail: open Player.log only while reading, so Windows can still
  rotate it when MTGA restarts.
- carddb: on Windows read a private copy of the card database so MTGA's
  updater can replace the original.
- App icon (SVG source + generated ICO/PNG), Windows taskbar identity,
  and a Windows-safe timer glyph.
- PyInstaller spec, launcher and PowerShell build script producing a
  one-folder windowed build and zip.
- Tests for path detection, the log follower and the card-DB copy;
  README covers Windows usage, building and per-OS locations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:06:19 -04:00
Aeth3randClaude Opus 5.5 171fc64ca9 Split turn stats into mirrored per-player tables
Replace the "Selected turn" and "Whole game" tables (each with You,
Opponent and Total columns) with one table per player: yours on the
left (stat, turn, game) and the opponent's on the right, mirrored
(game, turn, stat), so whole-game numbers sit next to the turn picker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 12:40:00 -04:00
Aeth3randClaude Opus 5.5 b3325e8ecc Merge views into Match, expand history, and polish the UI
- Match page now holds players/match info, turn stats with a turn
  picker, and the deck lists (My deck · Preview · Opponent); the Deck
  and Turn tabs are gone. Section heights are draggable and remembered.
- History: sortable, resizable columns; deck and commander columns;
  right-click to show only or hide games with a value, with filter
  chips; stats tiles (win rate overall, last 10/100, last 7 days,
  play/draw, average length and turns) that follow the filters.
  Commanders are backfilled for games recorded before they were stored.
- Deck panel shows copies per zone against the deck total (e.g. 2/5).
- Preview can be cleared with ✕, a click on the image, or Esc.
- Customize menu stays open while toggling; Arrange covers deck
  sections and turn stats together.
- Fix squeezed nav buttons and the header pushing controls off-screen.
- Fix known opponent cards being double-counted when also revealed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 12:34:02 -04:00
Aeth3randClaude Opus 5.5 5b3c8c8e63 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>
2026-10-16 11:18:44 -04:00
Aeth3randClaude Opus 5.5 7dc2ce0da8 Add MTGA Assistant: native Linux deck and game tracker
PySide6 app that follows MTG Arena's Player.log under Steam/Proton and shows
my remaining library with draw odds, my zones, and everything revealed about
the opponent (board, graveyard, exile, known hand/library, seen this match).

- Auto-detects the Steam library, Proton prefix log and MTGA install
- Card names/costs/types from MTGA's local SQLite card database
- Tracks card identity across zone changes, shuffles and Bo3 games
- Scryfall card images with a lazy, size-capped LRU disk cache
- Live log following with restart detection, plus --replay mode
- Flags log gaps where MTGA omits oversized game-state messages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 09:56:12 -04:00
Aeth3r 734336168c Initial commit 2026-10-16 09:17:48 -04:00