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.


Dependencies

None. CELL is a foundational primitive with no dependencies.


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 (no zero)
  6. Sequential order: All coordinates must begin with dimension 1 and follow strict cyclical progression
  7. Partial completion allowed: Coordinates may end after any complete dimensional component

Valid Coordinate Examples

Basic Examples

Extended Alphabet Examples

Game-Specific Examples


Invalid Coordinate Examples

The following are NOT valid CELL coordinates:


Design Properties


Implementation Notes

Regular Expression Explanation

The regex breaks down as follows:

\A                                   # Start of string
[a-z]+                               # One or more lowercase letters (dimension 1)
(?:                                  # Non-capturing group for complete cycles
  [1-9]\d*[A-Z]+[a-z]+               #   Numeric + Uppercase + Lowercase (dims 2,3,1)
)*                                   # Zero or more complete cycles
(?:                                  # Non-capturing group for partial cycle
  [1-9]\d*                           #   Numeric component (dimension 2)
  [A-Z]*                             #   Zero or more uppercase letters (dimension 3)
)?                                   # Partial cycle is optional
\z                                   # End of string

Examples

See CELL Examples for practical implementation guidance.


Reference Implementations

Ruby