Sashité for Developers
  1. Sashité for Developers
  2. Specifications
  3. PCN
  4. 1.0.0
  5. Examples
  6. 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:


See Also