Deck Lists and Metadata - Stored as a Matrix
Decks should be an organised matrix. You can have default sorts (cmc, type then cmc, name) but also a custom sort (how the matrix was last updated).
If you are viewing custom sort. A card being changed from column to column, and the deck being saved: this should result in the matrix being updated. So if Lotus Cobra is moved from column1 to column2*, then only display that when viewing custom.
When you open up the deck for subsequent times, show the last selected sort-by (a specific default sort or a custom sort).
The last part of this is allow deck tagging. I should be able to see tabs when viewing all decks. Maybe I have #landfall #brawl #counters #BBG and any other string I want to keep track of. The tags can be held within each matrix (each deck).
A deck can appear under the notTagged. Though if I’m choosing to use the organisation tools, I want to show #landfall or show #counters decks whilst hiding the rest. (The star system is an additive property as well).
(To be clear when I say tags, I’m talking about the similarity with Gmail, how you can tag emails with multiple tags whilst only searching for one “label:customString0”.)
(*counting from 0, not 1).