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

Size
2.5 KB
Lines
47
Language
markdown
SHA-256
035e4a3e8162…
View on GitHub

Sign in with GitHub to download. Each download is recorded with your GitHub username.

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