{
  "schemaVersion": 1,
  "revision": "2026-09-09",
  "scope": "Software reference cases, not physical measurements, instrument calibration or wheel safety approval.",
  "length": {
    "unit": "mm",
    "absoluteToleranceMm": 0.00005,
    "sourceUrl": "https://www.sheldonbrown.com/spoke-length.html#what",
    "baseInput": {
      "rim": { "erd": 600, "offsetSpokeBed": 0 },
      "hub": {
        "spokeHoleDiameter": 2.6,
        "left": { "flangeDiameter": 58, "centerToFlange": 35 },
        "right": { "flangeDiameter": 58, "centerToFlange": 35 }
      },
      "spokeCount": 32,
      "tensionAllowance": 0
    },
    "cases": [
      { "crossLeft": 3, "crossRight": 3, "leftRawMm": 290.9453, "rightRawMm": 290.9453 },
      { "crossLeft": 0, "crossRight": 0, "leftRawMm": 271.9508, "rightRawMm": 271.9508 }
    ]
  },
  "tension": {
    "deviceId": "park-tm1",
    "profileId": "steel-round-2.0",
    "unit": "kgf",
    "source": "parktool.com TM-1 conversion table PDF",
    "sourceVersion": "2024",
    "sourceUrl": "https://www.parktool.com/assets/doc/product/TM-1_conv-table.pdf",
    "readingBounds": { "min": 17, "max": 28, "inclusive": true },
    "cases": [
      { "reading": 22, "kgf": 86 },
      { "reading": 23, "kgf": 96 },
      { "reading": 22.5, "kgf": 91 },
      { "reading": 0, "kgf": null },
      { "reading": 99, "kgf": null }
    ]
  }
}
