- Sashité for Developers
- Specifications
- PCN
- 1.0.0
- Examples
- Variations
Variations (PCN v1.0.0)
This page demonstrates variations — alternative move sequences that branch from the main line for analysis, study, or annotation purposes.
All examples are shown in both TOML and JSON formats.
Quick Reference
Variation Structure
Each ply can have a variations property containing alternative continuations:
ply
├── pmn (main line move)
├── comment
└── variations[] (alternative lines)
├── [0] (first alternative)
│ └── plies[]
└── [1] (second alternative)
└── plies[]
Use Cases
| Use Case | Description |
|---|---|
| Opening analysis | Compare different opening responses |
| Critical moments | Show what-if scenarios at key positions |
| Annotated games | Explain alternative possibilities |
| Training | Present puzzles with multiple solutions |
1. Simple Variation — One Alternative
A single alternative line at move 2.
TOML
[meta]
name = "Italian vs Two Knights"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "e7-e5"
[[plies]]
pmn = "g1-f3"
[[plies]]
pmn = "b8-c6"
[[plies]]
pmn = "f1-c4"
comment = "Italian Game"
[[plies.variations]]
name = "Two Knights Defense"
[[plies.variations.plies]]
pmn = "g8-f6"
comment = "The Two Knights alternative"
[[plies.variations.plies]]
pmn = "d2-d3"
[[plies]]
pmn = "f8-c5"
comment = "Giuoco Piano"
JSON
{
"meta": {
"name": "Italian vs Two Knights"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4" },
{ "pmn": "e7-e5" },
{ "pmn": "g1-f3" },
{ "pmn": "b8-c6" },
{
"pmn": "f1-c4",
"comment": "Italian Game",
"variations": [
{
"name": "Two Knights Defense",
"plies": [
{ "pmn": "g8-f6", "comment": "The Two Knights alternative" },
{ "pmn": "d2-d3" }
]
}
]
},
{ "pmn": "f8-c5", "comment": "Giuoco Piano" }
]
}
2. Multiple Variations — Several Alternatives
Multiple alternative lines from the same position.
TOML
[meta]
name = "Sicilian Defense Choices"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "c7-c5"
comment = "Sicilian Defense - multiple White responses"
[[plies.variations]]
name = "Closed Sicilian"
[[plies.variations.plies]]
pmn = "b1-c3"
[[plies.variations.plies]]
pmn = "b8-c6"
[[plies.variations]]
name = "Alapin Variation"
[[plies.variations.plies]]
pmn = "c2-c3"
[[plies.variations.plies]]
pmn = "d7-d5"
[[plies.variations]]
name = "Smith-Morra Gambit"
[[plies.variations.plies]]
pmn = "d2-d4"
[[plies.variations.plies]]
pmn = "c5+d4"
[[plies.variations.plies]]
pmn = "c2-c3"
[[plies]]
pmn = "g1-f3"
comment = "Main line: Open Sicilian"
JSON
{
"meta": {
"name": "Sicilian Defense Choices"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4" },
{
"pmn": "c7-c5",
"comment": "Sicilian Defense - multiple White responses",
"variations": [
{
"name": "Closed Sicilian",
"plies": [
{ "pmn": "b1-c3" },
{ "pmn": "b8-c6" }
]
},
{
"name": "Alapin Variation",
"plies": [
{ "pmn": "c2-c3" },
{ "pmn": "d7-d5" }
]
},
{
"name": "Smith-Morra Gambit",
"plies": [
{ "pmn": "d2-d4" },
{ "pmn": "c5+d4" },
{ "pmn": "c2-c3" }
]
}
]
},
{ "pmn": "g1-f3", "comment": "Main line: Open Sicilian" }
]
}
3. Nested Variations — Variations Within Variations
Deeply nested alternative lines.
TOML
[meta]
name = "Deep Analysis"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "e7-e5"
[[plies]]
pmn = "g1-f3"
[[plies]]
pmn = "b8-c6"
[[plies]]
pmn = "f1-b5"
comment = "Ruy Lopez"
[[plies.variations]]
name = "Italian Game"
[[plies.variations.plies]]
pmn = "f1-c4"
[[plies.variations.plies]]
pmn = "f8-c5"
comment = "Giuoco Piano"
[[plies.variations.plies.variations]]
name = "Two Knights"
[[plies.variations.plies.variations.plies]]
pmn = "g8-f6"
[[plies.variations.plies.variations.plies]]
pmn = "g1-f3"
[[plies]]
pmn = "a7-a6"
comment = "Morphy Defense"
JSON
{
"meta": {
"name": "Deep Analysis"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4" },
{ "pmn": "e7-e5" },
{ "pmn": "g1-f3" },
{ "pmn": "b8-c6" },
{
"pmn": "f1-b5",
"comment": "Ruy Lopez",
"variations": [
{
"name": "Italian Game",
"plies": [
{ "pmn": "f1-c4" },
{
"pmn": "f8-c5",
"comment": "Giuoco Piano",
"variations": [
{
"name": "Two Knights",
"plies": [
{ "pmn": "g8-f6" },
{ "pmn": "g1-f3" }
]
}
]
}
]
}
]
},
{ "pmn": "a7-a6", "comment": "Morphy Defense" }
]
}
4. Annotated Variation — With Assessments
Variations with move quality annotations.
TOML
[meta]
name = "Critical Position Analysis"
[setup]
feen = "+r1bq+k^b1+r/+p+p+p+p1+p+p+p/2n2n2/4p3/2B1P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K^2+R / C/c"
[[plies]]
pmn = "b8-c6"
[[plies]]
pmn = "d2-d3"
comment = "Solid continuation"
[[plies.variations]]
name = "Aggressive alternative"
[[plies.variations.plies]]
pmn = "g1-f3"
assessment = "good"
comment = "Developing with tempo"
[[plies.variations.plies]]
pmn = "g8-f6"
[[plies.variations.plies]]
pmn = "f3-g5"
assessment = "interesting"
comment = "The Fried Liver Attack!"
[[plies.variations.plies.variations]]
name = "Declining"
[[plies.variations.plies.variations.plies]]
pmn = "d7-d5"
assessment = "good"
[[plies.variations.plies.variations]]
name = "Accepting (risky)"
[[plies.variations.plies.variations.plies]]
pmn = "f6+e4"
assessment = "dubious"
JSON
{
"meta": {
"name": "Critical Position Analysis"
},
"setup": {
"feen": "+r1bq+k^b1+r/+p+p+p+p1+p+p+p/2n2n2/4p3/2B1P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K^2+R / C/c"
},
"plies": [
{ "pmn": "b8-c6" },
{
"pmn": "d2-d3",
"comment": "Solid continuation",
"variations": [
{
"name": "Aggressive alternative",
"plies": [
{
"pmn": "g1-f3",
"assessment": "good",
"comment": "Developing with tempo"
},
{ "pmn": "g8-f6" },
{
"pmn": "f3-g5",
"assessment": "interesting",
"comment": "The Fried Liver Attack!",
"variations": [
{
"name": "Declining",
"plies": [
{ "pmn": "d7-d5", "assessment": "good" }
]
},
{
"name": "Accepting (risky)",
"plies": [
{ "pmn": "f6+e4", "assessment": "dubious" }
]
}
]
}
]
}
]
}
]
}
5. Puzzle with Solution Variations
A tactical puzzle showing correct and incorrect tries.
TOML
[meta]
name = "Mate in 2"
comment = "White to play and mate"
[setup]
feen = "2r3k^1/5+p+p+p/8/8/8/5Q2/5+P+P+P/6+K^1 / C/c"
[[plies]]
pmn = "f3-f8"
check = true
comment = "Correct! Back rank threat"
[[plies.variations]]
name = "Wrong try"
[[plies.variations.plies]]
pmn = "f3-a8"
check = true
assessment = "mistake"
comment = "This allows escape"
[[plies.variations.plies]]
pmn = "c8-c1"
check = true
comment = "Black counterattacks"
[[plies]]
pmn = "c8+f8"
comment = "Forced"
[[plies]]
pmn = "..."
comment = "White mates with any move (placeholder)"
JSON
{
"meta": {
"name": "Mate in 2",
"comment": "White to play and mate"
},
"setup": {
"feen": "2r3k^1/5+p+p+p/8/8/8/5Q2/5+P+P+P/6+K^1 / C/c"
},
"plies": [
{
"pmn": "f3-f8",
"check": true,
"comment": "Correct! Back rank threat",
"variations": [
{
"name": "Wrong try",
"plies": [
{
"pmn": "f3-a8",
"check": true,
"assessment": "mistake",
"comment": "This allows escape"
},
{
"pmn": "c8-c1",
"check": true,
"comment": "Black counterattacks"
}
]
}
]
},
{ "pmn": "c8+f8", "comment": "Forced" },
{ "pmn": "...", "comment": "White mates with any move (placeholder)" }
]
}
6. Opening Repertoire — Multiple First Moves
Comparing different opening choices.
TOML
[meta]
name = "Opening Repertoire for White"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
comment = "Main choice: King's Pawn"
[[plies.variations]]
name = "Queen's Pawn"
[[plies.variations.plies]]
pmn = "d2-d4"
[[plies.variations.plies]]
pmn = "d7-d5"
[[plies.variations.plies]]
pmn = "c2-c4"
comment = "Queen's Gambit"
[[plies.variations]]
name = "English Opening"
[[plies.variations.plies]]
pmn = "c2-c4"
[[plies.variations.plies]]
pmn = "e7-e5"
[[plies.variations]]
name = "Réti Opening"
[[plies.variations.plies]]
pmn = "g1-f3"
[[plies.variations.plies]]
pmn = "d7-d5"
[[plies.variations.plies]]
pmn = "c2-c4"
[[plies]]
pmn = "e7-e5"
JSON
{
"meta": {
"name": "Opening Repertoire for White"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{
"pmn": "e2-e4",
"comment": "Main choice: King's Pawn",
"variations": [
{
"name": "Queen's Pawn",
"plies": [
{ "pmn": "d2-d4" },
{ "pmn": "d7-d5" },
{ "pmn": "c2-c4", "comment": "Queen's Gambit" }
]
},
{
"name": "English Opening",
"plies": [
{ "pmn": "c2-c4" },
{ "pmn": "e7-e5" }
]
},
{
"name": "Réti Opening",
"plies": [
{ "pmn": "g1-f3" },
{ "pmn": "d7-d5" },
{ "pmn": "c2-c4" }
]
}
]
},
{ "pmn": "e7-e5" }
]
}
7. Shōgi Variations — With Drops
Variations in a shōgi game showing different drop strategies.
TOML
[meta]
name = "Shōgi Drop Analysis"
[sides.first]
variant = "Shogi"
[sides.second]
variant = "Shogi"
[setup]
feen = "lnsgk^gsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGK^GSNL P/ S/s"
[[plies]]
pmn = "7g-7f"
[[plies]]
pmn = "8c-8d"
[[plies]]
pmn = "P*8e"
comment = "Aggressive pawn drop"
[[plies.variations]]
name = "Positional approach"
[[plies.variations.plies]]
pmn = "2g-2f"
comment = "Develops without using the pawn in hand"
[[plies.variations.plies]]
pmn = "3c-3d"
[[plies.variations.plies]]
pmn = "P*5e"
comment = "Central drop later"
JSON
{
"meta": {
"name": "Shōgi Drop Analysis"
},
"sides": {
"first": { "variant": "Shogi" },
"second": { "variant": "Shogi" }
},
"setup": {
"feen": "lnsgk^gsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGK^GSNL P/ S/s"
},
"plies": [
{ "pmn": "7g-7f" },
{ "pmn": "8c-8d" },
{
"pmn": "P*8e",
"comment": "Aggressive pawn drop",
"variations": [
{
"name": "Positional approach",
"plies": [
{ "pmn": "2g-2f", "comment": "Develops without using the pawn in hand" },
{ "pmn": "3c-3d" },
{ "pmn": "P*5e", "comment": "Central drop later" }
]
}
]
}
]
}
Variation Structure
Variation Object Properties
| Property | Type | Required | Description |
|---|---|---|---|
name |
string | No | Label for the variation |
plies |
array | Yes | Sequence of plies in this variation |
Ply Properties in Variations
Plies within variations support all standard ply properties:
pmn— The movefeen— Resulting positionelapsed_ms— Thinking timeassessment— Move qualitycheck,mate— Status flagscomment— Annotationvariations— Nested variations (recursive)
See Also
- Complete Game Records — Full games with variations
- Traditional Games — Opening examples
- Special Moves — PMN operators
