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.
Design Philosophy
CELL utilizes a cyclical three-character-set system to create coordinate encodings that are functional and universally accessible. This approach provides a unified framework that scales from simple 1D coordinates to unlimited multi-dimensional spatial relationships.
Core Properties:
- Unlimited dimensional coordinate encoding
- Unambiguous coordinate identification
- Universal accessibility through pure ASCII
- Consistent ordering within character sets
- Systematic extension through repetition patterns
Character System
CELL employs a three-character-set cycle that repeats indefinitely based on dimensional position:
Cycle Pattern
Dimension (n % 3 = 1): Latin Lowercase Letters
a
,b
,c
,d
,e
,f
,g
,h
,i
,j
,k
,l
,m
,n
,o
,p
,q
,r
,s
,t
,u
,v
,w
,x
,y
,z
- Extension:
aa
,ab
,ac
, …,az
,ba
,bb
, …,zz
,aaa
,aab
, …
Dimension (n % 3 = 2): Arabic Numerals
1
,2
,3
,4
,5
,6
,7
,8
,9
,10
,11
,12
,13
,14
,15
,16
,17
,18
,19
,20
,21
,22
,23
,24
,25
, …- Extension: Continues infinitely with standard decimal notation
Dimension (n % 3 = 0): Latin Uppercase Letters
A
,B
,C
,D
,E
,F
,G
,H
,I
,J
,K
,L
,M
,N
,O
,P
,Q
,R
,S
,T
,U
,V
,W
,X
,Y
,Z
- Extension:
AA
,AB
,AC
, …,AZ
,BA
,BB
, …,ZZ
,AAA
,AAB
, …
Dimensional Mapping
Dimension | Character Set | Examples |
---|---|---|
1, 4, 7, 10… | Latin lowercase | a , b , c … |
2, 5, 8, 11… | Arabic numerals | 1 , 2 , 3 … |
3, 6, 9, 12… | Latin uppercase | A , B , C … |
Format Specification
A CELL coordinate is encoded as a concatenated string of characters from each dimension in sequential order, without separators or delimiters.
Backus-Naur Form (BNF)
<cell> ::= <dimension>+
<dimension> ::= <latin-lower> | <arabic-numeral> | <latin-upper>
<latin-lower> ::= <latin-lower-char>+
<arabic-numeral> ::= <positive-integer>
<latin-upper> ::= <latin-upper-char>+
<latin-lower-char> ::= "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" |
"n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
<latin-upper-char> ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" |
"N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
<positive-integer> ::= <non-zero-digit> <digit>* | <non-zero-digit>
<non-zero-digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Coordinate Formation Examples
1D: a, b, c, d, e, f, g, h...
2D: a1, b2, c3, d4, e5, f6, g7, h8...
3D: a1A, b2B, c3C, d4D, e5E, f6F, g7G, h8H...
4D: a1Aa, b2Bb, c3Cc, d4Dd, e5Ee, f6Ff, g7Gg, h8Hh...
5D: a1Aa1, b2Bb2, c3Cc3, d4Dd4, e5Ee5, f6Ff6, g7Gg7, h8Hh8...
Regular Expression
The following regular expression validates a CELL coordinate:
\A(?:[a-z]+|[1-9]\d*|[A-Z]+)+\z
Technical Specification
Character Encoding
All CELL coordinates use pure ASCII characters (codes 48-57, 65-90, 97-122), ensuring universal compatibility.
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
Dimensional Type Determination
Character set for dimension n is determined by: n % 3
- Result 1: Latin lowercase letters
- Result 2: Arabic numerals
- Result 0: Latin uppercase letters
Examples
Practical demonstrations of CELL coordinate systems across different dimensionalities are available in dedicated example pages:
- 1D Chess Board - Size 8 - Linear coordinate system demonstration
- 2D Shōgi Board - Size 9x9 - Traditional two-dimensional gameplay
- 3D Tic-Tac-Toe - Size 3x3x3 - Multi-dimensional spatial relationships
Relationship to Other Notations
Notation | Purpose | Relationship to CELL |
---|---|---|
DROP | Reserve location format | Complements CELL by providing "*" notation for off-board locations |
MIN | Concise move identification | Uses CELL coordinates for source and destination positions |
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 |
Reference Implementations
This section lists available libraries and tools that implement the CELL specification.
Ruby
- Cell.rb - Reference implementation