{
  "date": "2026-10-14",
  "provenance": "Engineering-generated using generate.py; not Inkscape-exported or native-command-tested.",
  "inkscape": {
    "available": false,
    "version": null
  },
  "runtime": {
    "python": "3.12.14",
    "reportlab": "4.4.9"
  },
  "font": {
    "name": "DejaVu Sans",
    "source": "https://dejavu-fonts.github.io/",
    "sha256": "7da195a74c55bef988d0d48f9508bd5d849425c1770dba5d7bfc6ce9ed848954",
    "license": "https://dejavu-fonts.github.io/License.html",
    "redistributed_binary": false
  },
  "text": {
    "value": "B8O",
    "font_size_mm": 20,
    "kerning": false,
    "page_mm": [
      80,
      50
    ],
    "glyphs": [
      {
        "character": "B",
        "closed_contours": 3
      },
      {
        "character": "8",
        "closed_contours": 3
      },
      {
        "character": "O",
        "closed_contours": 2
      }
    ],
    "path_elements": 3,
    "closed_contours": 8,
    "holes": 5,
    "geometry_bounds_mm": [
      11.962890625,
      15.15625,
      51.064453125,
      30.283203125
    ],
    "quadratic_flattening_steps": 16,
    "max_chord_deviation_bound_mm": 0.002342090929077685,
    "note": "16 equal parameter segments per quadratic; text-before rendering depends on installed font. Text-after contains only M/L/Z paths with evenodd holes."
  },
  "stroke": {
    "page_mm": [
      80,
      50
    ],
    "before_path_elements": 4,
    "after_path_elements": 4,
    "after_closed_contours": 5,
    "cases": [
      {
        "id": "butt-2",
        "outline_bounds_mm": [
          10,
          9,
          35,
          11
        ]
      },
      {
        "id": "square-6",
        "outline_bounds_mm": [
          7,
          19,
          38,
          25
        ]
      },
      {
        "id": "miter-4",
        "outline_bounds_mm": [
          48,
          8,
          65,
          22
        ]
      },
      {
        "id": "closed-4",
        "outline_bounds_mm": [
          46,
          30,
          65,
          44
        ]
      }
    ],
    "note": "Analytic axis-aligned offset outlines. Butt cap 25\u00d72 mm; square cap 31\u00d76 mm; right-angle miter 17\u00d714 mm; closed rectangle 19\u00d714 mm outer and 11\u00d76 mm hole."
  },
  "limits": [
    "No native Inkscape reproduction",
    "No CAD/machine compatibility test",
    "No physical cut or engraving",
    "Font contours are polygon approximations, not original quadratic paths"
  ],
  "sha256": {
    "stroke-after.svg": "435e37c866f4c553788791b872977fcef0d2dfa937fe9a7fa9b02b2579b83a13",
    "text-after.svg": "c1399f68ef7df2299603c1c15fa9bcefb94ce35aac1056117bedfd556d75b0da",
    "text-before.svg": "a5aad8657eed3913cc49eb2b1054c23326b786e419b0a27a51543298292b070f",
    "stroke-before.svg": "17943c76fb9e7cbab8a15d921af04e3bea71faf766c13857775e368912d153eb"
  }
}
