Skip to content

Improved UI flow for Commander deck creation#10517

Open
MostCromulent wants to merge 2 commits intoCard-Forge:masterfrom
MostCromulent:commander-deck-creation-ux
Open

Improved UI flow for Commander deck creation#10517
MostCromulent wants to merge 2 commits intoCard-Forge:masterfrom
MostCromulent:commander-deck-creation-ux

Conversation

@MostCromulent
Copy link
Copy Markdown
Contributor

@MostCromulent MostCromulent commented Apr 25, 2026

Summary

Follows discussion on #10476

UI flow improvements for Commander deck creation on desktop:

  • New Format dropdown in the deck panel that switches the active editor and carries the in-progress deck across formats.
  • Right-click "Set card as commander" entry on the Card Catalog, Main, and Sideboard panes when the active format has a Commander section, with Partner-aware replacement.
  • Deck importer routes the import to the editor matching the selected legality format, and auto-detects an explicit Commander section header in pasted lists.

Background

Currently the only way to create a Commander deck on desktop is to first open the Commander deck list tab in the Deck Editor before creating or importing the deck.

This UI is non-intuitive: when a user opens the deck editor it immediately shows the card catalog window and a new deck to start building. The dependency between tabs and deck format is not obvious or advertised. Users start making a deck on the default window only to discover it doesn't support Commander format, with no clear reason why or how to change it.

What this PR adds

1. Format dropdown in deck panel header

Screenshot 2026-04-25 105308

A new Format: dropdown sits underneath the title row, listing Constructed / Commander / Oathbreaker / Brawl / Tiny Leaders — the five desktop editor GameTypes.

Changing the dropdown swaps the active editor and carries the in-progress deck across. Switching from a commander format to Constructed moves the Commander section into Main so the legendary isn't lost. Selecting the format that's already active is a no-op.

The dropdown also stays in sync with editor changes driven from the deck-list tab row — opening a commander deck from VCommanderDecks updates the dropdown automatically.

2. "Set card as commander" right-click context entry

When the active format has a Commander section, right-clicking an eligible card in the Card Catalog, Main pane, or Sideboard pane exposes a "Set card as commander" entry (or "as oathbreaker" / "as signature spell" for Oathbreaker) similar to existing 'Add card to sideboard' context entry. Behaviour:

  • Reuses the existing eligibility logic in DeckFormat.isLegalCommander(rules) — no new validators.
  • Partner-aware: if a partner-eligible commander is already set and the new card pairs with it, both are kept; otherwise the existing commander is moved into Main and the new card replaces it.
  • After promotion, the deck pane switches to the Commander section so the result is immediately visible.

3. Deck importer automatically routes to the correct editor

The deck importer now respects the user's legality-format choice when loading. If Commander / Brawl / Oathbreaker is selected, the import lands in the corresponding editor. Other legality formats (Standard, Modern, Pioneer, Pauper, Legacy, Vintage, etc.) route to the Constructed editor.

Additionally, an explicit Commander (or CM:) section header in the pasted list now auto-ticks the format checkbox and selects Commander in the legality dropdown so the user can confirm or override before completing the import. This helps ensure Commander imports are routed to the Commander editor rather than Constructed.


🤖 Generated with Claude Code

Adds a Format dropdown to the deck panel header (Constructed /
Commander / Oathbreaker / Brawl / Tiny Leaders). Selecting a format
swaps the active editor and carries the in-progress deck across.
Switching from a commander format to Constructed moves the Commander
section into Main so cards aren't lost.

Adds a "Set card as commander" right-click entry on the Card Catalog,
Main, and Sideboard panes when the active format has a Commander
section. Partner-aware: when a partner-eligible commander is already
set, both are kept; otherwise the existing commander moves to Main
and the new card replaces it. The deck pane switches to the Commander
section after promotion so the result is visible.

Routes deck imports through the editor implied by the importer's
legality format choice — Commander / Brawl / Oathbreaker land in
those editors, anything else (Standard, Modern, Pioneer, etc.) goes
to Constructed. Explicit "Commander" or "CM:" section headers in the
pasted list auto-tick the format checkbox so the user can confirm
or override before accepting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MostCromulent MostCromulent added Desktop Deck Importer QOL Quality of Life Deck Editor Anything related to the mobile or desktop deck editors labels Apr 25, 2026
@tool4ever tool4ever requested a review from tehdiplomat April 28, 2026 21:30
# Conflicts:
#	forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Deck Editor Anything related to the mobile or desktop deck editors Deck Importer Desktop QOL Quality of Life

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant