Sashité for Developers
  1. Sashité for Developers
  2. Specifications
  3. HAND
  4. 1.0.0

Hold And Notation Designator (HAND) Specification


1. Status of this document

The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY are to be interpreted as normative requirements.

Capitalized terms (Board, Square, Hand, Location, Game Protocol, Rule System) are defined in the Glossary and are not redefined here.


2. Overview

Hold And Notation Designator (HAND) provides a standardized notation for off-board reserve Locations in board games. HAND represents the Hand Location component, enabling uniform representation of reserve areas across diverse game systems regardless of whether those reserves are ever used during play.

HAND complements Coordinate Encoding for Layered Locations (CELL) when both Board positions and reserve areas are needed, providing complete Location coverage for any board game system.


3. Dependencies

None. HAND is a foundational primitive with no dependencies on other Sashité specifications.


4. Scope

4.1 What HAND defines

HAND defines:

4.2 What HAND does not define

HAND is deliberately syntax-only. It does not define:

All semantic meaning belongs to Rule Systems, not to HAND.


5. Format specification

5.1 Structure

A HAND string consists of exactly one character:

*

5.2 Grammar (BNF)

<hand> ::= "*"

5.3 Regular expression

^\*$

Anchoring requirement (normative): Implementations MUST validate HAND notation using a full-string match (not a substring search). No leading or trailing characters (including whitespace) may be ignored or trimmed. Implementations MUST reject any input containing line breaks (\r or \n) and MUST NOT enable multiline anchoring modes that change the meaning of ^ and $.


6. Validation rules

A string is a valid HAND notation if and only if:

  1. Exact match — The string MUST be exactly the single character * (U+002A ASTERISK).
  2. No whitespace — The string MUST NOT contain any leading, trailing, or embedded whitespace.
  3. No additional characters — The string MUST NOT contain any characters other than the asterisk.

7. Design principles

7.1 Protocol-level reserve vs. Rule System reuse

At the protocol level, every Capture moves a Piece from a Board Square to a Player’s Hand (*). This is a protocol invariant: all captured Pieces go to the Hand of the capturing Player, regardless of Game context.

Whether those Pieces may subsequently be placed back onto the Board is an entirely separate question, determined by the Rule System — not by the protocol, and not by HAND. A Rule System may:

HAND makes no distinction between these cases. The * notation is valid in all of them.

7.2 Canonical representation

All reserve Locations share the same identifier (*) regardless of Game context. This design choice reflects that:

7.3 CELL complementarity

HAND and CELL together provide complete Location coverage:

Location type Notation Examples
Board Square CELL a1, e4, b2A
Off-board reserve HAND *

7.4 Character choice

The asterisk character (*) was chosen for:


8. Design properties

HAND is intended to be:


9. Usage within the Game Protocol

Within the Game Protocol:

Rule Systems define:


10. Usage examples

10.1 Movement patterns

* → e4    # Place Piece from reserve to Board (Hand → Board)
e4 → *    # Move Piece from Board to reserve (Board → Hand)
e2 → e4   # Standard Board-to-Board movement (CELL coordinates)

10.2 Game context examples

The following examples illustrate how HAND applies to different game systems. In all cases, the * notation is identical — only the Rule System’s reuse policy differs.

Shōgi: Captured Pieces go to the capturing Player’s Hand and MAY be dropped back onto the Board on a subsequent Turn.

Crazyhouse: Captured Pieces go to the capturing Player’s Hand and MAY be dropped back onto the Board on a subsequent Turn.

Western Chess: Captured Pieces go to the capturing Player’s Hand. The Rule System does not allow reuse — Hand Pieces play no further role in the Game.

Xiangqi: Captured Pieces go to the capturing Player’s Hand. The Rule System does not allow reuse — Hand Pieces play no further role in the Game.

Go: Stones are placed from the Player’s supply onto the Board. The supply is large enough not to be a practical constraint.


11. Examples

See HAND Examples for practical implementation guidance.


12. Reference implementations

The following reference libraries are maintained by Sashité and are intended to be idiomatic, fully tested, and spec-accurate implementations of HAND v1.0.0.

They generally provide:

If a library behavior appears to conflict with this document, this specification is normative. Please report issues (or propose clarifications) on the relevant repository.


13. License

This specification is made available under the terms of the Open Web Foundation Agreement 1.0 (OWFa 1.0).

The authoritative legal text is the OWF “Final Specification Agreement (OWFa 1.0)”.