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

Size
2.4 KB
Lines
46
Language
markdown
SHA-256
46487aa8a1f0…
View on GitHub

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
3Status: 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
5symbols; decoders retain Format 0.10.0 readability. It is **not camera
6validated**.
7
8## Frame and correction
9
10Profile 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
12CRC-32C covers all preceding frame bytes. Data are divided into ten 223-byte
13blocks, each systematic RS(255,223) over GF(256), primitive polynomial `0x11D`,
14primitive element 2, roots `alpha^0...alpha^31`. Each block has 32 parity bytes
15and corrects up to 16 unknown byte errors. Output byte `10*i+b` is byte `i`
16from block `b`, distributing local loss across blocks.
17
18## Canonical finder geometry
19
20The field is 116 by 116 units. Its outer boundary is the continuous rounded
21square from `(2,2)` to `(114,114)`, radius 14, width 2.6. Each finder is one
22broad, round-capped arc inside that border. The top-left local finder is centred
23at `(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
25polar field. Reflection creates the other three corners; only top-left is split
26at its diagonal with a cap-compensated 3.8-unit visible gap. Finder reservations
27cover only their strokes plus guard band, never an arbitrary square outside a
28corner.
29
30## Capacity geometry
31
32The Cartesian matrix is 232 by 232 at 0.5-unit pitch, with 0.34-unit modules.
33The polar matrix has 24 rings, 288 slots per ring, radii `9.50 + 0.65*r`, and
34uniform dot radius 0.075. A run of two or more occupied slots is a connected,
35round-capped arc; its angular span is exactly its occupied slot count, so a
36four-slot arc equals four dots' slot span and stroke width.
37
38The ray matrix has 576 bearings beginning at radius 26.30. Aside from three
39reserved Ray Key bearings, every ray encodes three bits using four Gray-coded
40lengths (0.80, 1.65, 2.50, 3.35) and calibrated 0.16/0.28-unit weights. The
41Grid Key uses ordinary payload geometry to establish pitch and clear space;
42fixed-size or fixed-distance decoder ladders are non-conformant.
43
44The core validates Profile 3 codewords and renders its exact geometry, but the
45mobile/image decoder does not sample this profile. It must not be advertised as
46scannable until projective sampling and physical-capture testing pass.