- Sashité for Developers
- Specifications
- PCN
- 1.0.0
- Examples
- Special Moves
Special Moves (PCN v1.0.0)
This page shows PAN operators used for non-standard actions.
Each move is recorded as a tuple ["<PAN>", <seconds: float ≥ 0.0>].
~— special path (e.g., castling, en passant in chess)+— capture (movement capture liked1+f3, or static capture+e5)*— drop from reserve (e.g., shōgi)=— promotion / transform (move with promotione7-e8=Q, in-place transforme4=+P)...— pass move
Legality is style-dependent. PCN is rule-agnostic; engines/viewers validate PAN against the acting side’s SNN style.
1) Castling (~) — Chess
Kingside castling with time tuples; no time control shown (free play).
{
"sides": {
"first": { "style": "CHESS" },
"second": { "style": "chess" }
},
"setup": "+r2q+kbn+r/+p+p+p+p1+p+p+p/2n5/1Bb1p3/4P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K2+R / C/c",
"moves": [
["e1~g1", 2.4]
]
}
Note: ~ encodes the special castling path (king + rook motion handled by the engine).
2) En Passant (~) — Chess
En passant is encoded with the special path operator.
{
"setup": "+rnbq+kbn+r/+p+p+p1+p1+p+p/8/3pP-p2/8/8/+P+P+P+P1+P+P+P/+RNBQ+KBN+R / C/c",
"moves": [
["e5~f6", 3.1]
]
}
Note: The ~ indicates the special capture path required for en passant.
3) Movement Capture (+) — Chess
Movement from origin to target with capture.
{
"setup": "rnbqkb1r/pppp1ppp/5n2/4p3/2B1P3/5N2/PPPP1PPP/RNBQK2R 2P/p C/c",
"moves": [
["c4+f7", 4.0], // bishop from c4 captures on f7
["e8+f7", 5.5] // king recaptures
]
}
4) Static Capture (+e5) — Chess
A static capture is written with target only.
{
"setup": "8/8/8/4p3/8/8/8/8 / C/c",
"moves": [
["+e5", 1.0]
]
}
When to use: some tools prefer static capture when the origin is uniquely determined or unneeded for the record.
5) Promotion (=) — Chess
5.1 Move with Promotion
{
"setup": "4k3/P7/4K3/8/8/8/8/8 / C/c",
"moves": [
["a7-a8=R", 2.2]
]
}
5.2 Underpromotion
{
"setup": "4k3/P7/4K3/8/8/8/8/8 / C/c",
"moves": [
["a7-a8=N", 4.8]
]
}
6) In-Place Transform (=) — General
An in-place piece transform (no displacement). Useful in variants that toggle states or piece types.
{
"setup": "8/8/8/8/4P3/8/8/8 / C/c",
"moves": [
["e4=+P", 0.7]
]
}
Note: The target piece code depends on the style’s piece set (e.g., +P for promoted pawn in shōgi-like systems).
7) Drops (*) — Shōgi
A drop from reserve to the board.
{
"sides": {
"first": { "style": "SHOGI" },
"second": { "style": "shogi" }
},
"setup": "lnsgkg1nl/1r5s1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/7R1/LNSGKGSNL B/b S/s",
"moves": [
["B*f5", 2.0] // drop a bishop at f5
]
}
8) Mixed Special Sequence — Chess
A short line mixing special operators: castling, capture, promotion.
{
"setup": "+r2q+kbn+r/+p+p+p+p1+p+p+p/2n5/1Bb1p3/4P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K2+R / C/c",
"moves": [
["e1~g1", 1.9], // castling
["c4+f7", 3.2], // capture
["f7-f8=Q", 6.0] // promotion on move
]
}
9) Pass (...) — General
A pass move; legality depends on the style/policy.
{
"setup": "8/8/8/8/8/8/8/8 / U/u",
"moves": [
["...", 0.0]
]
}
10) Enforcing Per-Move Cap (Byōyomi) in Special Moves
Special moves respect the same per-move cap if moves = 1.
{
"sides": {
"first": { "style": "CHESS", "periods": [ { "time": 5, "moves": 1 } ] },
"second": { "style": "chess", "periods": [ { "time": 5, "moves": 1 } ] }
},
"setup": "+r2q+kbn+r/+p+p+p+p1+p+p+p/2n5/1Bb1p3/4P3/5N2/+P+P+P+P1+P+P+P/+RNBQ+K2+R / C/c",
"moves": [
["e1~g1", 3.0], // ok (≤ 5.0)
["e7-e8=Q", 6.1] // violates per-move cap → status should be "time_limit" if enforced
],
"status": "time_limit"
}
Tips & Reminders
-
Operators:
~castling and en passant (special paths).+captures: movement capturefrom+toor static capture+to.*drops from reserve.=promotions and in-place transforms....pass move.
- Timing: second element of each tuple is raw thinking time (float ≥ 0.0).
Increments (
inc) are applied after the move according to the period active at move start. - Validation: PAN legality is checked against the acting side’s SNN style.
FEEN + parity of
moves.lengthyields the side to move.
For complete matches, see Complete Game Records. For timing semantics and transitions, visit Time Control Systems. For cross-variant scenarios, check Cross-Style Games.
