- Sashité for Developers
- Specifications
- PCN
- 1.0.0
- Examples
- Positions Only
Positions Only (PCN v1.0.0)
This page collects setup-only documents — positions without plies — for puzzles, endgame studies, opening snapshots, teaching positions, or cross-variant setups.
All examples are shown in both TOML and JSON formats.
Minimum valid PCN requires only
setupwith afeenproperty.
1. Empty Board
The absolute minimum PCN document.
TOML
[setup]
feen = "8/8/8/8/8/8/8/8 / C/c"
JSON
{
"setup": {
"feen": "8/8/8/8/8/8/8/8 / C/c"
}
}
Use case: Neutral canvas for editors, coordinate testing, or CELL integration checks.
2. Chess Puzzle — Mate in One
A tactical puzzle position.
TOML
[meta]
name = "Mate in One"
comment = "White to play and mate"
[setup]
feen = "+r1bq+k^b1+r/+p+p+p+p1+p+p+p/2n2n2/4p2Q/2B1P3/8/+P+P+P+P1+P+P+P/+RNB1+K^1N+R / C/c"
JSON
{
"meta": {
"name": "Mate in One",
"comment": "White to play and mate"
},
"setup": {
"feen": "+r1bq+k^b1+r/+p+p+p+p1+p+p+p/2n2n2/4p2Q/2B1P3/8/+P+P+P+P1+P+P+P/+RNB1+K^1N+R / C/c"
}
}
3. Endgame Study — King and Pawn
A classic endgame study position.
TOML
[meta]
name = "King and Pawn Study"
comment = "Can White promote the pawn?"
[setup]
feen = "8/8/8/8/4k^3/8/4P3/4K^3 / C/c"
JSON
{
"meta": {
"name": "King and Pawn Study",
"comment": "Can White promote the pawn?"
},
"setup": {
"feen": "8/8/8/8/4k^3/8/4P3/4K^3 / C/c"
}
}
4. Opening Snapshot — Italian Game
Save a named opening position without committing to a line.
TOML
[meta]
name = "Italian Game"
comment = "After 1.e4 e5 2.Nf3 Nc6 3.Bc4"
[setup]
feen = "+r1bq+k^bn+r/+p+p+p+p1+p+p+p/2n5/4p3/2B1P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K^2+R / C/c"
JSON
{
"meta": {
"name": "Italian Game",
"comment": "After 1.e4 e5 2.Nf3 Nc6 3.Bc4"
},
"setup": {
"feen": "+r1bq+k^bn+r/+p+p+p+p1+p+p+p/2n5/4p3/2B1P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K^2+R / C/c"
}
}
5. Shōgi Position — Midgame Diagram
A shōgi training position.
TOML
[meta]
name = "Shōgi Midgame"
event = "Training Diagram"
[sides.first]
variant = "Shogi"
[sides.second]
variant = "Shogi"
[setup]
feen = "lnsgk^gsnl/1r5b1/pppp1pppp/5p3/9/2P6/PP1PPPPPP/1B5R1/LNSGK^GSNL / S/s"
JSON
{
"meta": {
"name": "Shōgi Midgame",
"event": "Training Diagram"
},
"sides": {
"first": { "variant": "Shogi" },
"second": { "variant": "Shogi" }
},
"setup": {
"feen": "lnsgk^gsnl/1r5b1/pppp1pppp/5p3/9/2P6/PP1PPPPPP/1B5R1/LNSGK^GSNL / S/s"
}
}
6. Shōgi — Drop Puzzle
A shōgi position with pieces in hand for drop puzzles.
TOML
[meta]
name = "Drop Puzzle"
comment = "Find the winning drop"
[sides.first]
variant = "Shogi"
[sides.second]
variant = "Shogi"
[setup]
feen = "lnsgk^g1nl/1r5s1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/7R1/LNSGK^GSNL B/b S/s"
JSON
{
"meta": {
"name": "Drop Puzzle",
"comment": "Find the winning drop"
},
"sides": {
"first": { "variant": "Shogi" },
"second": { "variant": "Shogi" }
},
"setup": {
"feen": "lnsgk^g1nl/1r5s1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/7R1/LNSGK^GSNL B/b S/s"
}
}
Note: The FEEN hand notation (B/b) encodes pieces available for drops.
7. Xiangqi Position — Cannon Checkmate
A xiangqi tactical position.
TOML
[meta]
name = "Cannon Checkmate"
comment = "Red to play and win"
[sides.first]
variant = "Xiangqi"
[sides.second]
variant = "Xiangqi"
[setup]
feen = "3ak4/4a4/9/9/9/9/9/4C4/4A4/3AK4 / X/x"
JSON
{
"meta": {
"name": "Cannon Checkmate",
"comment": "Red to play and win"
},
"sides": {
"first": { "variant": "Xiangqi" },
"second": { "variant": "Xiangqi" }
},
"setup": {
"feen": "3ak4/4a4/9/9/9/9/9/4C4/4A4/3AK4 / X/x"
}
}
8. En Passant Theme
A position demonstrating the en passant opportunity.
TOML
[meta]
name = "En Passant Theme"
comment = "White can capture en passant"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p1+p1+p+p/8/3pPp2/8/8/+P+P+P+P1+P+P+P/+RNBQ+K^BN+R / C/c"
JSON
{
"meta": {
"name": "En Passant Theme",
"comment": "White can capture en passant"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p1+p1+p+p/8/3pPp2/8/8/+P+P+P+P1+P+P+P/+RNBQ+K^BN+R / C/c"
}
}
9. Cross-Variant Setup — Chess vs Makruk
A frozen snapshot for cross-variant comparison.
TOML
[meta]
name = "Chess vs Makruk"
comment = "Cross-variant exhibition setup"
[sides.first]
name = "Western"
variant = "Chess"
[sides.second]
name = "Thai"
variant = "Makruk"
[setup]
feen = "rnsmk^snr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/m"
JSON
{
"meta": {
"name": "Chess vs Makruk",
"comment": "Cross-variant exhibition setup"
},
"sides": {
"first": { "name": "Western", "variant": "Chess" },
"second": { "name": "Thai", "variant": "Makruk" }
},
"setup": {
"feen": "rnsmk^snr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/m"
}
}
10. Stalemate Position
A position for stalemate detection.
TOML
[meta]
name = "Stalemate"
comment = "Black to move - is it stalemate?"
[setup]
feen = "7k^/5Q2/6K^1/8/8/8/8/8 / c/C"
JSON
{
"meta": {
"name": "Stalemate",
"comment": "Black to move - is it stalemate?"
},
"setup": {
"feen": "7k^/5Q2/6K^1/8/8/8/8/8 / c/C"
}
}
11. Position with Player Context
A position with full player information for analysis.
TOML
[meta]
name = "Tournament Position Analysis"
event = "World Championship"
round = "5"
[sides.first]
name = "Grandmaster A"
variant = "Chess"
elo = 2750
[sides.second]
name = "Grandmaster B"
variant = "Chess"
elo = 2720
[setup]
feen = "+r1bq1rk^1/+p+p+p2+p+p+p/2n2n2/3p4/2PP4/2N2N2/+P+P3+P+P+P/+R1BQ+K^B1+R / C/c"
JSON
{
"meta": {
"name": "Tournament Position Analysis",
"event": "World Championship",
"round": "5"
},
"sides": {
"first": {
"name": "Grandmaster A",
"variant": "Chess",
"elo": 2750
},
"second": {
"name": "Grandmaster B",
"variant": "Chess",
"elo": 2720
}
},
"setup": {
"feen": "+r1bq1rk^1/+p+p+p2+p+p+p/2n2n2/3p4/2PP4/2N2N2/+P+P3+P+P+P/+R1BQ+K^B1+R / C/c"
}
}
12. Puzzle with External Link
A puzzle linking to an external source.
TOML
[meta]
name = "Daily Puzzle #1234"
comment = "White to play and win"
[[links]]
rel = "canonical"
href = "https://chess.example.com/puzzle/1234"
[setup]
feen = "+r2q1rk^1/+p+p2+p+p+p+p/2n1+pn2/2b5/2BP4/2N2N2/+P+P+P2+P+P+P/+R1BQ1+RK^1 / C/c"
JSON
{
"meta": {
"name": "Daily Puzzle #1234",
"comment": "White to play and win"
},
"links": [
{
"rel": "canonical",
"href": "https://chess.example.com/puzzle/1234"
}
],
"setup": {
"feen": "+r2q1rk^1/+p+p2+p+p+p+p/2n1+pn2/2b5/2BP4/2N2N2/+P+P+P2+P+P+P/+R1BQ1+RK^1 / C/c"
}
}
Tips for Position-Only Documents
| Include | When |
|---|---|
setup.feen |
Always (required) |
meta.name |
To identify the position |
meta.comment |
To describe the puzzle or study goal |
sides |
When variant or player context matters |
links |
To reference external sources |
From Position to Game
You can later add plies to continue from the same position:
# Start with just the position
[setup]
feen = "..."
# Later, add moves
[[plies]]
pmn = "..."
See Also
- Minimal Documents — Simplest valid PCN
- Complete Game Records — Full-featured examples
- Special Moves — PMN operators
