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

Coordinate Encoding for Layered Locations (CELL) Specification


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.


Terminology

For complete definitions of terms used in this document, see the Glossary.


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

Coordinate System 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


System Constraints

Character Encoding

CELL coordinates use ASCII characters (letters and digits), providing broad compatibility across systems.

Validation Rules

  1. Character validity: Each dimensional component must use only characters from its respective character set
  2. Cyclical consistency: Dimension type must match expected position in the three-character cycle
  3. Order preservation: Characters within each dimension must follow specified ordering
  4. Extension validity: Extended characters must follow systematic repetition patterns
  5. Numeric format: Numeric dimensions must represent positive integers only
  6. Sequential order: All coordinates must begin with dimension 1 and follow strict cyclical progression

Design Properties


Examples

See CELL Examples for practical implementation guidance.

Reference Implementations

Ruby