{
  "inventory_sha256": "2d33ce79d36f83981eacbc2c06fbeccffeda1348e98d5059518697a2befff216",
  "merged_dot_diagnostic": {
    "source": "63.jpg",
    "page": 46,
    "line": 5,
    "target_rune_offset": 95,
    "reference_rune_offset": 106,
    "target_rune_bbox": [
      1060,
      1426,
      1095,
      1540
    ],
    "reference_rune_bbox": [
      1538,
      1426,
      1573,
      1540
    ],
    "expected_fourth_dot_bbox": [
      1083,
      1478,
      1093,
      1488
    ],
    "slot_method": "Reflect the observed right-hand square through the shared vertical centerline of the upper and lower squares. This assumes the same diamond geometry as the observed four-dot marks.",
    "checks": [
      {
        "threshold": 80,
        "target_ink_pixels": 1638,
        "reference_ink_pixels": 1638,
        "binary_difference_pixels": 0,
        "expected_fourth_slot_ink_pixels": 29,
        "expected_fourth_slot_white_pixels": 71,
        "expected_fourth_slot_total_pixels": 100
      },
      {
        "threshold": 100,
        "target_ink_pixels": 1638,
        "reference_ink_pixels": 1638,
        "binary_difference_pixels": 0,
        "expected_fourth_slot_ink_pixels": 29,
        "expected_fourth_slot_white_pixels": 71,
        "expected_fourth_slot_total_pixels": 100
      },
      {
        "threshold": 120,
        "target_ink_pixels": 1638,
        "reference_ink_pixels": 1638,
        "binary_difference_pixels": 0,
        "expected_fourth_slot_ink_pixels": 29,
        "expected_fourth_slot_white_pixels": 71,
        "expected_fourth_slot_total_pixels": 100
      }
    ],
    "conclusion": "No added ink relative to the comparison A. The predicted fourth-square slot contains 71 white pixels out of 100 at each threshold; a full square at that location is absent.",
    "limit": "Rules out the simple expected-position merged-square explanation, not every hypothetical hidden or nonstandard drawing. Does not establish the three-dot mark's cipher role."
  },
  "gap_class_counts": {
    "single_dot": 332,
    "four_dot": 20,
    "split_three_plus_one": 1,
    "three_dot_inline": 1
  },
  "reset_reference": "Counter starts at zero for each sampled page solely to compare local index schedules. Reset before the rune at each gap. This is not evidence that real keys restart per page or at any punctuation.",
  "literal_master_periods_match_twenty_visible_four_dot_groups": true,
  "reset_scenarios": [
    {
      "name": "literal_four_dot_only",
      "added_resets": [],
      "total_resets": 20,
      "changed_counter_positions": 0,
      "changes": []
    },
    {
      "name": "also_reset_at_split_mark",
      "added_resets": [
        [
          11,
          250
        ]
      ],
      "total_resets": 21,
      "changed_counter_positions": 23,
      "changes": [
        {
          "page": 11,
          "first_changed_rune": 250,
          "last_changed_rune": 272,
          "changed_runes": 23,
          "counter_change_values": [
            -77
          ]
        }
      ]
    },
    {
      "name": "also_reset_at_inline_three_dot",
      "added_resets": [
        [
          46,
          96
        ]
      ],
      "total_resets": 21,
      "changed_counter_positions": 174,
      "changes": [
        {
          "page": 46,
          "first_changed_rune": 96,
          "last_changed_rune": 269,
          "changed_runes": 174,
          "counter_change_values": [
            -33
          ]
        }
      ]
    },
    {
      "name": "also_reset_at_both",
      "added_resets": [
        [
          11,
          250
        ],
        [
          46,
          96
        ]
      ],
      "total_resets": 22,
      "changed_counter_positions": 197,
      "changes": [
        {
          "page": 11,
          "first_changed_rune": 250,
          "last_changed_rune": 272,
          "changed_runes": 23,
          "counter_change_values": [
            -77
          ]
        },
        {
          "page": 46,
          "first_changed_rune": 96,
          "last_changed_rune": 269,
          "changed_runes": 174,
          "counter_change_values": [
            -33
          ]
        }
      ]
    }
  ],
  "no_cipher_search_or_plaintext_ranking": true
}
