Changelog
0.3.0 (draft)
First version of the specification. It starts at 0.3.0 because the prototype recorder, written before the spec, already tagged its files [Mtgr "0.2.0"]. Those files are not valid .mtgr files; one is kept in examples/prototype/.
Compared with the prototype's output:
- Tag section follows PGN: required tags
Mtgr,Event,Site,Date,Round,Player1,Player2,Result,Format,Match,Game,Perspective, then other tags in ASCII order. There is no match header; every game carries its own tags (decision 0012). Localis replaced byPerspective.Playersis replaced byPlayer1andPlayer2.WinnerandScoreare replaced by a PGNResultper game.Startedis replaced byDate,UTCDate, andUTCTime. MTGO-specific tags use theMTGO_prefix.- The up-front
Cards:table is replaced bynewlines where each object is first seen. Hidden cards have IDs and are named later withidentify(decisions 0001, 0016). - Card names are Oracle names; printings and source IDs are optional fields (decision 0002).
- Abilities have IDs, a kind, and their rules text (decision 0003).
- Free-English events are replaced by a fixed statement grammar with causes (
by #N,by cost:#N,by rule:...), choices, and costs (decisions 0004, 0005, 0016). - The full mana trail is recorded (decision 0006).
- Priority, passes, and stack snapshots are recorded (decision 0007).
- Keyframes at the start of the pregame and of every turn (decision 0008).
- Clocks, per-game decklists, annotations (PGN comments and NAGs), variations, and extensions are defined (decisions 0009 to 0011, 0014).
- One canonical format (decision 0013) and fixed lexical rules: UTF-8 NFC, LF line endings (decision 0015).
- Permanents can enter
tapped; replacement-effect choices and payments come before the event they change;fizzlecan name what made its targets illegal; choices made by someone other than the controller end withby "Player"(decision 0017). - Opening hand actions (Leyline of the Void, Gemstone Caverns, Chancellor of the Annex, Serum Powder) are defined; an event changed by a replacement effect adds
replacement #Nafter its cause (decision 0018). - Corrections from a rules review: a countered object can be anywhere on the stack; the hidden-object rule applies only to hands;
new ... in librarycan give a position; recordings can start late; citations fixed (decision 0019). - New rule causes for stack removal and turn-based actions; player-level choices,
look, and prevented damage (decision 0020). - Tokens and moved permanents can enter
tappedandattacking(decision 0021). facefor split cards, Adventures, modal double-faced cards, and transforming cards;transform(decision 0022).become-copyand copies of abilities (decision 0023).- Links between objects end when either changes zone (decision 0024).
- Special actions: companion, suspend, plot (decision 0025).
- Lasting effects, goad, day and night, and emblems, all shown in keyframes (decision 0026).
- Power and toughness are recorded:
pton creatures entering, aptline for every change, and in keyframes (decision 0027). - Optional
Player1ArchetypeandPlayer2Archetypetags name the archetype of each player's deck (decision 0028). - Revealing a companion is a pregame
reveal; companions areoutside "sideboard"and listed in keyframes with acompanionflag (decision 0029). - Delayed triggered abilities created by an action, such as revealing Chancellor of the Annex or Devourer of Destiny from an opening hand, are recorded as effects (decision 0030).
- Effects that change the mana cost of a spell or ability, such as Thalia, Guardian of Thraben and Trinisphere, are recorded with
cost OLD -> NEWlines (decision 0031). - Corrections from a second rules review:
adventure PLAYER;costlines come before mana abilities; every result of damage takes the damage's cause; reflexive triggers have no effect line; CR 603.7g cited for delayed triggers from actions; more situations listed as not yet covered (decision 0032). choose symbolrecords how hybrid and Phyrexian mana symbols will be paid;costvalues no longer contain them (decision 0033).- Delve, convoke, and improvise payments are lines caused
by cost:ID; cards delved stay linked to the permanent (decision 0034). fusedcasts both halves of a split card with fuse (decision 0035).- Casting without paying the mana cost is the alternative cost
"without paying its mana cost"; a card cast while another spell or ability resolves (cascade, suspend) names it as thecastline's cause; cards put on the bottom in a random order have no known position (decision 0036). - Validation is defined: numbered checks, the replay state, each line's effect, and how keyframes and stack snapshots are compared;
faceon permanents names only a non-front face;countersandgoadedhave a fixed order (decision 0037). - A cost paid more than once (replicate, multikicker) is one
choose costline per payment; a copy of a spell has the original's choices;targetlines straight after a copy'snewline replace its copied targets (decision 0038). - Conformance fixtures: valid files covering syntax edge cases, and invalid files that each break one rule.