Here's a rough idea of what I'd like to see feature-wise. Note that I tried to put everything into iterations. We shouldn't expect to play MtG in 1.0
Iteration 1
Purpose: Simulate a standard deck of cards. Have the basic abilities to shuffle and look at the cards one by one.
Cards
Standard cards with rank and suit stored in attribute table.
Each has an associated image file.
Each card is stored separately on the drive in the MapTool token format.
Deck
A standard deck of cards (includes jokers).
Deck consists of two card lists: the deck and the discard pile.
The back of the cards is associated to an image file on the Deck-level.
GUI
A simple graphical representation of the Deck and Discard Pile.
Shuffle Button: append Discard Pile list to Deck list and randomize.
Double click flips the top card of the deck.
Click and drag top card of the deck to the discard pile moves the card from the deck list to the discard pile list.
Iteration 2
Purpose: Integration with MapTool.
A third card list is added to the Deck: in play.
Click and drag cards from DeckTool directly to MapTool.
DeckTool associates the card to the "in play" area.
Maptool is passed the path to the card token and a unique id.
Maptool loads the token, adds it to the map and associates the unique id to it.
Click and drag cards from MapTool directly to DeckTool.
Maptool removes the token from the map.
Maptool passes the unique id back to DeckTool.
DeckTool matches the unique id to the card and moves it back to the "discard" area.
Sweep Button: Signals MapTool to delete all card tokens and moves "in play" cards to "discard" area.
Iteration 3
Purpose: Integration with InitTool. Savage Worlds initiative is handled via a deck of cards.
Iteration 4
Purpose: Deck and card customization.
Cards
Can customize cards via an editable attribute table, just like editing tokens in MapTool.
The back of the cards can be associated to an image file on the Card-level, but defaults to the Deck settings.
Decks
Can create decks of any size that can contain any Cards, including duplicates.
Persisted
Ability to save and load cards and decks.
Card explorer window.
Displays the saved Card/Deck files on your drive.
Can click and drag to the Deck explorer window to add them to the Deck.
Deck explorer window.
Displays a sorted list of all cards in the current deck.
Can Add/Remove cards.
MapTool
Cards without an image file display attributes on top of a generic card background.