Coordinate Encoding for Layered Locations (CELL) Specification
- Version: 1.0.0
- Author: Sashité
- Published: June 17, 2025
- License: MIT License
Overview
Coordinate Encoding for Layered Locations (CELL) defines a standardized format for representing coordinates on multi-dimensional game boards using a cyclical ASCII character system. CELL supports unlimited dimensional coordinate systems through the systematic repetition of three distinct character sets.
Game Protocol Foundation
The fundamental game concepts used in this document are interpreted as described in the Game Protocol.
Format Specification
Structure
<dimension-1>[<dimension-2>[<dimension-3>[...]]]
Grammar (BNF)
<cell> ::= <latin-lower> <tail₁>
<tail₁> ::= ε ; End after 1D
| <arabic-numeral> <tail₂>
<tail₂> ::= ε ; End after 2D
| <latin-upper> <tail₃>
<tail₃> ::= ε ; End after 3D
| <latin-lower> <tail₁> ; Resume new cycle
<latin-lower> ::= <latin-lower-char>+
<arabic-numeral> ::= <positive-integer>
<latin-upper> ::= <latin-upper-char>+
<latin-lower-char> ::= "a" | "b" | "c" | ... | "z"
<latin-upper-char> ::= "A" | "B" | "C" | ... | "Z"
<positive-integer> ::= <non-zero-digit> <digit>*
<non-zero-digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Regular Expression
\A[a-z]+(?:[1-9]\d*[A-Z]+[a-z]+)*(?:[1-9]\d*(?:[A-Z]+)?)?\z
Protocol Mapping
CELL encodes multi-dimensional coordinates using a cyclical three-character-set system:
Dimension Type | Character Set | Examples |
---|---|---|
n % 3 = 1 | Latin lowercase letters | a , b , c , aa , ab |
n % 3 = 2 | Arabic numerals | 1 , 2 , 3 , 10 , 11 |
n % 3 = 0 | Latin uppercase letters | A , B , C , AA , AB |
Dimensional Mapping
- 1D:
a
,b
,c
… - 2D:
a1
,b2
,c3
… - 3D:
a1A
,b2B
,c3C
… - 4D:
a1Aa
,b2Bb
,c3Cc
… - 5D:
a1Aa1
,b2Bb2
,c3Cc3
…
System Constraints
Character Encoding
CELL coordinates use ASCII characters (letters and digits), providing broad compatibility across systems.
Validation Rules
- Character validity: Each dimensional component must use only characters from its respective character set
- Cyclical consistency: Dimension type must match expected position in the three-character cycle
- Order preservation: Characters within each dimension must follow specified ordering
- Extension validity: Extended characters must follow systematic repetition patterns
- Numeric format: Numeric dimensions must represent positive integers only
- Sequential order: All coordinates must begin with dimension 1 and follow strict cyclical progression
Design Properties
- Multi-dimensional support: Coordinate systems of any dimensionality
- Unique identification: Each coordinate identifies a specific location
- ASCII compatibility: Standard character encoding for broad system support
- Predictable ordering: Systematic character set rotation
- Extensible pattern: Logical expansion through repetition
Implementation
Ruby Reference
- Cell.rb – Reference implementation with full cyclical system support and multi-dimensional validation.
Practical Examples
Comprehensive implementation examples across 1D, 2D, and 3D coordinate systems are available in the CELL Examples Documentation.
Relationship to Other Notations
Notation | Purpose | Relationship to CELL |
---|---|---|
HAND | Reserve location format | Complements CELL by providing "*" notation for off-board locations |
PMN | Mechanical move decomposition | Uses CELL coordinates for board positions in action sequences |
GGN | Movement possibility rules | Uses CELL coordinates for board positions in movement constraints |