Viewing is open to everyone. Downloading and starring need a GitHub sign-in.
Sign in with GitHub
CKey-Format-v0.16.0.md
v0.1.0-build.85
Latest
Commit ede38f5
Sign in with GitHub to download. Each download is recorded with your GitHub username.
| 1 | # CKey Format v0.16.0 — Profile 3 Extended Capacity |
| 2 | |
| 3 | Status: experimental byte-codeword and renderer profile. This revision emits |
| 4 | `format=16` (`10`), `profile=3`. It supersedes Format 0.10.0 for new Profile 3 |
| 5 | symbols; decoders retain Format 0.10.0 readability. It is **not camera |
| 6 | validated**. |
| 7 | |
| 8 | ## Frame and correction |
| 9 | |
| 10 | Profile 3 carries 1–2,048 binary bytes. Its frame is |
| 11 | `C7 4B 10 03 LLhi LLlo payload CRC32C`, zero-padded to 2,230 data bytes. The |
| 12 | CRC-32C covers all preceding frame bytes. Data are divided into ten 223-byte |
| 13 | blocks, each systematic RS(255,223) over GF(256), primitive polynomial `0x11D`, |
| 14 | primitive element 2, roots `alpha^0...alpha^31`. Each block has 32 parity bytes |
| 15 | and corrects up to 16 unknown byte errors. Output byte `10*i+b` is byte `i` |
| 16 | from block `b`, distributing local loss across blocks. |
| 17 | |
| 18 | ## Canonical finder geometry |
| 19 | |
| 20 | The field is 116 by 116 units. Its outer boundary is the continuous rounded |
| 21 | square from `(2,2)` to `(114,114)`, radius 14, width 2.6. Each finder is one |
| 22 | broad, round-capped arc inside that border. The top-left local finder is centred |
| 23 | at `(16,16)`, radius `9.20`, width `3.20`, with its exterior-quadrant path from |
| 24 | `(6.80,16)` to `(16,6.80)`. The concave/open mouth faces down-right, toward the |
| 25 | polar field. Reflection creates the other three corners; only top-left is split |
| 26 | at its diagonal with a cap-compensated 3.8-unit visible gap. Finder reservations |
| 27 | cover only their strokes plus guard band, never an arbitrary square outside a |
| 28 | corner. |
| 29 | |
| 30 | ## Capacity geometry |
| 31 | |
| 32 | The Cartesian matrix is 232 by 232 at 0.5-unit pitch, with 0.34-unit modules. |
| 33 | The polar matrix has 24 rings, 288 slots per ring, radii `9.50 + 0.65*r`, and |
| 34 | uniform dot radius 0.075. A run of two or more occupied slots is a connected, |
| 35 | round-capped arc; its angular span is exactly its occupied slot count, so a |
| 36 | four-slot arc equals four dots' slot span and stroke width. |
| 37 | |
| 38 | The ray matrix has 576 bearings beginning at radius 26.30. Aside from three |
| 39 | reserved Ray Key bearings, every ray encodes three bits using four Gray-coded |
| 40 | lengths (0.80, 1.65, 2.50, 3.35) and calibrated 0.16/0.28-unit weights. The |
| 41 | Grid Key uses ordinary payload geometry to establish pitch and clear space; |
| 42 | fixed-size or fixed-distance decoder ladders are non-conformant. |
| 43 | |
| 44 | The core validates Profile 3 codewords and renders its exact geometry, but the |
| 45 | mobile/image decoder does not sample this profile. It must not be advertised as |
| 46 | scannable until projective sampling and physical-capture testing pass. |