Viewing is open to everyone. Downloading and starring need a GitHub sign-in.
Sign in with GitHub
CKey-Format-v0.12.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 locator format v0.12.0 (draft) |
| 2 | |
| 3 | Status: experimental reference format. Encoder output uses `format=12` (`0C`) |
| 4 | and `profile=1`. Formats 8 and 11 remain accepted by the reference decoder |
| 5 | for historical fixtures, but are not emitted. |
| 6 | |
| 7 | ## Canonical geometry |
| 8 | |
| 9 | The field is 29 by 29 units, origin upper-left, with centre `(14.5,14.5)`. |
| 10 | The outer structure is a rounded square from `(0.5,0.5)` to `(28.5,28.5)`, |
| 11 | radius 3.5, width 0.65. It is monochrome; colour is decorative only. |
| 12 | |
| 13 | Each finder is **one broad rounded-corner arc integrated with the structural |
| 14 | corner**, rather than multiple nested arcs or an inward-protruding leaf. In |
| 15 | local top-left coordinates the arc centre is `(3.20,3.20)`, its centreline |
| 16 | radius is `2.30`, and width is `0.80`, with round caps. Top-right, |
| 17 | bottom-right, and bottom-left are exact reflections and have continuous arcs. |
| 18 | The top-left arc is split at the 45-degree diagonal. Cap compensation produces |
| 19 | a `0.95`-unit clear visible gap. That gap is the finder orientation signature. |
| 20 | All four 6 by 6 corner envelopes are non-payload. |
| 21 | |
| 22 | The polar geometry is unchanged from v0.8.0: four rings at radii |
| 23 | `3.6 + .8r` with 72 five-degree slots, a separate dial band at radii 7.6--9.5, |
| 24 | and a logo-safe centre inside radius 3.3. The Grid Key is the 2 by 2 block at |
| 25 | rows 11--12/columns 2--3. The Ray Key is 12:00/full, 9:00/half, and 9:05/ |
| 26 | three-quarter. The Ring Key is dots at slots 18,19,21, an explicit empty slot |
| 27 | 20, then a connected round-capped four-slot arc at 22--25. Dot and arc width |
| 28 | are 0.30; the arc visible length equals four dot slots exactly. |
| 29 | |
| 30 | ## Frame, ECC, and placement |
| 31 | |
| 32 | The locator carries exactly 16 bytes. The systematic frame is |
| 33 | `C7 4B 0C 01 00 10`, payload, then CRC-32C of the first 22 bytes. It is |
| 34 | encoded as shortened systematic RS(77,26) over GF(256), primitive polynomial |
| 35 | `0x11D`, primitive element 2, roots `alpha^0...alpha^50`, high-degree first, |
| 36 | with 51 parity bytes. The algebraic bound is 25 unknown byte errors. |
| 37 | |
| 38 | The 616 bits are mapped MSB-first by the established alternating |
| 39 | Cartesian/polar placement: angularly interleaved Cartesian cells, all 69 data |
| 40 | dial rays, then round-robin inner ring sites. Structural border, finder |
| 41 | envelopes, Grid/Ray/Ring Keys, and the polar aperture are reserved. The reader |
| 42 | rectifies a supplied quadrilateral and uses permanent keys plus the rounded |
| 43 | finder signature as geometric evidence; it accepts payloads only after RS and |
| 44 | CRC validation. Finder shape is never a substitute for that mathematical |
| 45 | validation. |
| 46 | |
| 47 | The normative byte vector is [`locator-v12.json`](../tests/vectors/locator-v12.json). |