{
  "spec_version": "0.3",
  "generator": "hexatess-code 0.4.3",
  "generated": "2026-09-06",
  "field": {
    "primitive_poly": "0x11D",
    "generator_alpha": 2
  },
  "canonical_serialization": "bits ordered by ring 0..rmax, cells in hex_ring(k) canonical order, packed MSB-first, right-padded with zeros to a byte boundary, lowercase hex",
  "encode_vectors": [
    {
      "name": "empty",
      "text": "",
      "ec_pct": 5,
      "compress_mode": "auto",
      "data_len": 0,
      "compressed": false,
      "rmax": 8,
      "mask": 1,
      "blocks": [
        [
          0,
          2
        ]
      ],
      "mode_hex": "4108080000847afe3f7e",
      "grid_sha256": "d3e507e858c543cb5d67bd5c34f1d10750ad62b2aa316b68948af4de62c2dd9b",
      "grid_hex": "81ffe00007fffffe0000000821010000108f5fc7efca52dc1f0f8380"
    },
    {
      "name": "one_byte",
      "text": "A",
      "ec_pct": 5,
      "compress_mode": "auto",
      "data_len": 1,
      "compressed": false,
      "rmax": 8,
      "mask": 3,
      "blocks": [
        [
          1,
          2
        ]
      ],
      "mode_hex": "4308080080f7ff13b068",
      "grid_sha256": "59c96fc273188c2f11f25a7d301652a124b0c4836b74d91fe41034a15a36fbbe",
      "grid_hex": "81ffe00007fffffe00000008610100101effe2760d0362a6de0f0780"
    },
    {
      "name": "hello",
      "text": "Hello, Hexatess!",
      "ec_pct": 30,
      "compress_mode": "auto",
      "data_len": 16,
      "compressed": false,
      "rmax": 11,
      "mask": 6,
      "blocks": [
        [
          16,
          5
        ]
      ],
      "mode_hex": "5e300808006c38751f50",
      "grid_sha256": "1cc362ca442e54f1a1c8dca99edf912c9f43a02f9b5691b3f884d5e4005e7232",
      "grid_hex": "81ffe00007fffffe0000000bc60101000d870ea3ea1fb900a4c7bf529da9826764de38dbc903591a4754ef87c1e0f83c1f08"
    },
    {
      "name": "utf8_slo",
      "text": "ŠČŽ življenje je kodiranje",
      "ec_pct": 30,
      "compress_mode": "auto",
      "data_len": 30,
      "compressed": false,
      "rmax": 13,
      "mask": 4,
      "blocks": [
        [
          30,
          9
        ]
      ],
      "mode_hex": "6c30080f0027f54f75b3",
      "grid_sha256": "a0a2cec9fb0714ce065d0d062d4d872012495586122320905fbc8fe6d20b8c1e",
      "grid_hex": "81ffe00007fffffe0000000d860101e004fea9eeb66c1135fad2e532ad1ae465975bd8086027ee5fda11a844a7d7fcd8886027f6a6622359259484059e0f07c3e0f87c1f00"
    },
    {
      "name": "utf8_emoji",
      "text": "bee 🐝 hive",
      "ec_pct": 50,
      "compress_mode": "auto",
      "data_len": 13,
      "compressed": false,
      "rmax": 10,
      "mask": 1,
      "blocks": [
        [
          13,
          7
        ]
      ],
      "mode_hex": "5150080680bc6d421804",
      "grid_sha256": "48186fc52fa8888e3ce3291c03807988cae8b93804d992f3169d75e0fd6bc9bc",
      "grid_hex": "81ffe00007fffffe0000000a2a0100d0178da84300861e7a11bb3ab9497699a883a5edbac79b5ad55ae0"
    },
    {
      "name": "mid",
      "text": "Hexatess Code v0.2 reference vector",
      "ec_pct": 55,
      "compress_mode": "auto",
      "data_len": 35,
      "compressed": false,
      "rmax": 14,
      "mask": 4,
      "blocks": [
        [
          35,
          20
        ]
      ],
      "mode_hex": "7458081180b6ad79d403",
      "grid_sha256": "d5c03963c882870c16f247f1af124b9a496465632501917a5622b59c1107b44e",
      "grid_hex": "81ffe00007fffffe0000000e8b01023016d5af3a807da9826764de38dbc92126b65a30ab6b6e8c1698f909e5e5167f58c9096586feb8384b7af334872d64e1244d2efc31bebb84852f06691fe3e0f8"
    },
    {
      "name": "digits",
      "text": "12345678901234567890123456789012345678901234567890123456789012345678901234567890",
      "ec_pct": 10,
      "compress_mode": "auto",
      "data_len": 21,
      "compressed": true,
      "rmax": 11,
      "mask": 2,
      "blocks": [
        [
          21,
          3
        ]
      ],
      "mode_hex": "5a10080ac04e476440a5",
      "grid_sha256": "1fc61e9c3cea18f951843d8f7919116cf0795858e2a92b9dd37c0446747afc6e",
      "grid_hex": "81ffe00007fffffe0000000b4201015809c8ec8814babe6f2ddc9052830b1dbc5450a124682b482456a89947ddf87c1f0f80"
    },
    {
      "name": "url",
      "text": "https://example.org/hexatess",
      "ec_pct": 25,
      "compress_mode": "auto",
      "data_len": 28,
      "compressed": false,
      "rmax": 12,
      "mask": 5,
      "blocks": [
        [
          28,
          7
        ]
      ],
      "mode_hex": "6528080e00fcb35f5902",
      "grid_sha256": "e688ed2038febc0c090a53fc8d828a22731bf1856ff6bca6ce469ef176a44cc2",
      "grid_hex": "81ffe00007fffffe0000000ca50101c01f966beb204654dc18bbca6caeb67998888366c6f75b5be9cca65679988b21c52420e8ca2cd6c7bb383e08"
    },
    {
      "name": "min_ec",
      "text": "compact",
      "ec_pct": 5,
      "compress_mode": "auto",
      "data_len": 7,
      "compressed": false,
      "rmax": 9,
      "mask": 7,
      "blocks": [
        [
          7,
          2
        ]
      ],
      "mode_hex": "4f08080380d5296d6439",
      "grid_sha256": "cac4c2f8da0281db95ce1587ec4d1b2326b0237c9ad92e7ba76a35cf975b104e",
      "grid_hex": "81ffe00007fffffe00000009e10100701aa52dac872527b778b88943eb36d83c1f06"
    },
    {
      "name": "max_ec",
      "text": "resilience",
      "ec_pct": 90,
      "compress_mode": "auto",
      "data_len": 10,
      "compressed": false,
      "rmax": 10,
      "mask": 6,
      "blocks": [
        [
          10,
          9
        ]
      ],
      "mode_hex": "5690080500ae4775c493",
      "grid_sha256": "3902a6ecb2e3f0d9da99a3a330ec3ad225ea5690587c9dee9ee46ee09b1007fe",
      "grid_hex": "81ffe00007fffffe0000000ad20100a015c8eeb89278f9034467d7fa396941de55016ba50c7ed90afc20"
    },
    {
      "name": "long_multiblock",
      "text": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "ec_pct": 30,
      "compress_mode": "auto",
      "data_len": 12,
      "compressed": true,
      "rmax": 10,
      "mask": 0,
      "blocks": [
        [
          12,
          4
        ]
      ],
      "mode_hex": "50300806401d4fe7c853",
      "grid_sha256": "c8427c785a0b7b0fe82c64cde695056991adfe7d614d56c4375c48915c63e584",
      "grid_hex": "81ffe00007fffffe0000000a060100c803a9fcf90a6ab63a3b51c395a52df8506ca3daab2660f87c1e00"
    },
    {
      "name": "max_capacity",
      "text": "\".9olTL<M:kp.`HKtfoWZ2;t'z\"*zV%PG+Ib9=q,:^6e4DFR[/;$bIP#9-%_Z5D?i1[je,dBJYPX\\kU[itg~ewd\"N2,>E1Hp>;JOp7Xf!3iTX0^[t/bIJKHQKL<i-0(UH(YS@7~4W=;P@M9;!#+>Q&]Q%%>B0,Adh~<^`!E6CZ6I+kb?0O\"Q>y${s$IY;3D3P+8>wNg{Hd&ga]}YPF7*_9C=07zRW*^wG/RD`)c4F%2+]UM<-755E\"XZ9b?,;LXXrmf?ZMal~9OMN\\=W=Q4[,HSTB4HE?c!<Dr*T0?M_cm9Q[(XN=*Y0idCAIQ7X=Pm6KPVZ1ag#E",
      "ec_pct": 5,
      "compress_mode": false,
      "data_len": 329,
      "compressed": false,
      "rmax": 31,
      "mask": 6,
      "blocks": [
        [
          47,
          3
        ],
        [
          47,
          3
        ],
        [
          47,
          3
        ],
        [
          47,
          3
        ],
        [
          47,
          3
        ],
        [
          47,
          3
        ],
        [
          47,
          3
        ]
      ],
      "mode_hex": "fe0838a4802e4907860c",
      "grid_sha256": "71e8e9afa66f020936ded735cd36accea661c22dff8381f8a3a8df24da8acbb8",
      "grid_hex": "81ffe00007fffffe0000001fc107149005c920f0c192f06a04a7d05f132c8a2624575abca447c7973c7fe36a05cebdd2f0ea638ff0de71cc812c6dfcb332eeef87fc5a1c6fe60ead365afc8f2d0c7f763f4eebc1cdbff09ec865ced65addfe876241dfbc1fc807e7b59e3a5929208c1f517c0300655d95fdfc432fa1561292c807e05c595ddb28c503739ffdaf0402dddfb313a823e25fddbecd2b848cd87112c72142fdf1f081c80c80765d1f818dec9294912d81e645955d79a101ed92b9d26c8804261530bc41634c95f61bdbc9e06175b0dc23436e3dd55a5c6186235652784902c4f1789c734862ad72b112a3c22110b7df7b45cca0125a91894be39ef4d3de0780eddf70720385cf0159d199eacccc335d9fabe0c78db9df1988a68c733f3d6e2ac1adf8f03ec0a041305ad22ca5cea636f13d2b6c21dcd57d0e4104ed78fdd1ae20acff99b2b881e12273fc924e2ec157f45ddfa7a20c76fa50cd9f8e0856f65d8162e45844e5794b30155d7af613194080"
    },
    {
      "name": "long_text_zlib",
      "text": "Hexatess Code je eksperimentalna dvodimenzionalna koda na sestkotni mrezi: sestkotni iskalnik, orientacijski obroc, spiralna serializacija in Reed-Solomon popravki napak. Ker so moduli sestkotniki, je gostota informacij visja kot pri kvadratnih mrezah, simbol pa je blizu izotropen. Hexatess Code je eksperimentalna dvodimenzionalna koda na sestkotni mrezi: sestkotni iskalnik, orientacijski obroc, spiralna serializacija in Reed-Solomon popravki napak. Ker so moduli sestkotniki, je gostota informacij visja kot pri kvadratnih mrezah, simbol pa je blizu izotropen. Hexatess Code je eksperimentalna dvodimenzionalna koda na sestkotni mrezi: sestkotni iskalnik, orientacijski obroc, spiralna serializacija in Reed-Solomon popravki napak. Ker so moduli sestkotniki, je gostota informacij visja kot pri kvadratnih mrezah, simbol pa je blizu izotropen. ",
      "ec_pct": 30,
      "compress_mode": "auto",
      "data_len": 203,
      "compressed": true,
      "rmax": 28,
      "mask": 5,
      "blocks": [
        [
          41,
          13
        ],
        [
          41,
          13
        ],
        [
          41,
          13
        ],
        [
          40,
          12
        ],
        [
          40,
          12
        ]
      ],
      "mode_hex": "e5302865c00685f55c72",
      "grid_sha256": "0200f75222bf55fec2d1ccf6f6894fc9df879360b869b9c4c8bbaedbf745acc0",
      "grid_hex": "81ffe00007fffffe0000001ca6050cb800d0beab8e44410f24b200f12d5b5e415b6ed353f2a1fb64135efd76b7038bdee9b3c239e5ae84fe576d9eeac9227b993a3a30a4ce2a497ab7314151f5221360578097961df66fdbdf14511dcd661ecc09e828c40f2a9b233c559232550a604f6dbf43f6bf09b3ce4049aa33f51c314ae8db743f36c62132b50ad0d766bc66c9e8de4103206267fc411d4aa7c418b2491f5f867fdd02c2adfd52004838c7bdf66da4d707ac9910a9b8493262c2732af30c5c169c9b0d80d186a39452ef4db44eccf1d9d43da5fa43b69a8692b2b8cad2e45efc2b03616d30e0928a2f6c72d9bb08ad107bdc5b65018f7734a57f77a1d5abb866d369a84cfb58465505738b497ef9eb90d51086c55fe9315905949aa5ef83e1f0783e0f07c1e0f87c1f0f83c1f078"
    }
  ],
  "decode_vectors": [
    {
      "name": "damaged_correctable",
      "source_case": "hello",
      "flipped_cells_spiral_index": [
        100,
        140,
        180
      ],
      "grid_hex": "81ffe00007fffffe0000000bc60101000d870ea3ea1fb901a4c7bf529da9826764df38dbc903591a4754ef87c1e0f83c1f08",
      "expected_text": "Hello, Hexatess!"
    },
    {
      "name": "damaged_heavy",
      "source_case": "mid",
      "flipped_cells_spiral_index": [
        50,
        80,
        110,
        140,
        170,
        200
      ],
      "grid_hex": "81ffe00007fffffe0000000e8b01023016d1af3a806da9826764de38dac92126b25a30ab6b6e8c1698f909e5e5167f58c9096586feb8384b7af334872d64e1244d2efc31bebb84852f06691fe3e0f8",
      "expected_text": "Hexatess Code v0.2 reference vector"
    },
    {
      "name": "damaged_uncorrectable",
      "source_case": "one_byte",
      "flipped_cells_spiral_index": [
        10,
        20,
        30,
        40,
        50,
        60,
        70,
        80
      ],
      "grid_hex": "81ffe00007fffffe00000008650000100efbe2764d0362a6de0f0780",
      "expected_failure": true
    },
    {
      "name": "plain_empty",
      "grid_hex": "81ffe00007fffffe0000000821010000108f5fc7efca52dc1f0f8380",
      "expected_text": ""
    },
    {
      "name": "plain_one_byte",
      "grid_hex": "81ffe00007fffffe00000008610100101effe2760d0362a6de0f0780",
      "expected_text": "A"
    },
    {
      "name": "plain_hello",
      "grid_hex": "81ffe00007fffffe0000000bc60101000d870ea3ea1fb900a4c7bf529da9826764de38dbc903591a4754ef87c1e0f83c1f08",
      "expected_text": "Hello, Hexatess!"
    }
  ]
}
