{
  "title": "Leather hole spacing calculator",
  "human_url": "https://happytails.ai/en/calculators/leather-hole-spacing-calculator/",
  "agent_url": "https://happytails.ai/agents/en/calculators/leather-hole-spacing-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/calculators/leather-hole-spacing-calculator.md",
  "content": "Leather hole spacing calculator\nPlace stitch holes evenly along a measured open path or closed loop. Download the distance of every hole from the start.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Leather hole spacing calculator\nEnter the measured inputs and select their units.\nReview the calculated dimensions, counts and rounding.\nDownload the result and verify it against a sample before making the full project.\nUseful next steps\nOrigami paper size calculator\nQuilt binding calculator\nChoose the measured path\nEnter length along the actual path you will mark. For an open path, enter the unused margin before the first hole and after the last. A closed loop uses its full length and includes the final gap back to the first hole.\nChoose count or maximum spacing\nFor a 100 mm open path with 5 mm margins and a maximum spacing of 4 mm, there are 24 holes and 23 gaps of approximately 3.91304 mm. Count mode instead fixes the number of holes and calculates equal spacing.\nSave the calculation\nDownload a CSV of the results or instructions, a readable text report and a JSON report with values, formulas and assumptions. Calculations run locally on your device. Unit changes keep the numbers already entered, so check the selected units before using the result.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Origami paper size calculator",
      "url": "https://happytails.ai/en/calculators/origami-paper-size-calculator/"
    },
    {
      "name": "Quilt binding calculator",
      "url": "https://happytails.ai/en/calculators/quilt-binding-calculator/"
    }
  ],
  "tool": {
    "id": "leather-hole-spacing-calculator",
    "category": "calculators",
    "built": true,
    "requirements": "2–10,000 holes. Positions are along-path distances, not XY coordinates or a cutting template. Hole size, material strength and appropriate edge distance are not evaluated.",
    "implementation": {
      "fields": [
        {
          "key": "path",
          "label": "Path type",
          "value": "Open path",
          "type": "select",
          "values": [
            "Open path",
            "Closed loop"
          ]
        },
        {
          "key": "length",
          "label": "Measured path length",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "unit",
          "label": "Measurement and output unit",
          "value": "mm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ]
        },
        {
          "key": "startMargin",
          "label": "Margin before first hole",
          "value": 5,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "path": [
              "Open path"
            ]
          }
        },
        {
          "key": "endMargin",
          "label": "Margin after last hole",
          "value": 5,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "path": [
              "Open path"
            ]
          }
        },
        {
          "key": "mode",
          "label": "Calculate from",
          "value": "Maximum spacing",
          "type": "select",
          "values": [
            "Maximum spacing",
            "Hole count"
          ]
        },
        {
          "key": "maximumSpacing",
          "label": "Maximum permitted spacing",
          "value": 4,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Maximum spacing"
            ]
          }
        },
        {
          "key": "holes",
          "label": "Number of holes",
          "value": 24,
          "type": "number",
          "min": 2,
          "max": 10000,
          "step": 1,
          "showWhen": {
            "mode": [
              "Hole count"
            ]
          }
        }
      ],
      "input": false,
      "live": true,
      "presentation": "metrics",
      "note": "Space holes evenly along a measured path. Download every distance to mark from the path start. Closed loops include the wrap-around gap and no duplicate endpoint. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Leather hole spacing calculator\n\n- Human page: https://happytails.ai/en/calculators/leather-hole-spacing-calculator/\n- Markdown: https://happytails.ai/en/calculators/leather-hole-spacing-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/calculators/leather-hole-spacing-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `leather-hole-spacing-calculator` |\n| Category | calculators |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSpace holes evenly along a measured path. Download every distance to mark from the path start. Closed loops include the wrap-around gap and no duplicate endpoint. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `path` | Path type | select | \"Open path\" | Allowed: Open path, Closed loop |\n| `length` | Measured path length | number | 100 | min=0 max=1000000000 step=any |\n| `unit` | Measurement and output unit | select | \"mm\" | Allowed: mm, cm, m, in, ft, yd |\n| `startMargin` | Margin before first hole | number | 5 | min=0 max=1000000000 step=any |\n| `endMargin` | Margin after last hole | number | 5 | min=0 max=1000000000 step=any |\n| `mode` | Calculate from | select | \"Maximum spacing\" | Allowed: Maximum spacing, Hole count |\n| `maximumSpacing` | Maximum permitted spacing | number | 4 | min=0 max=1000000000 step=any |\n| `holes` | Number of holes | number | 24 | min=2 max=10000 step=1 |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\n2–10,000 holes. Positions are along-path distances, not XY coordinates or a cutting template. Hole size, material strength and appropriate edge distance are not evaluated.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"leather-hole-spacing-calculator\",\n  \"category\": \"calculators\",\n  \"built\": true,\n  \"requirements\": \"2–10,000 holes. Positions are along-path distances, not XY coordinates or a cutting template. Hole size, material strength and appropriate edge distance are not evaluated.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"path\",\n        \"label\": \"Path type\",\n        \"value\": \"Open path\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Open path\",\n          \"Closed loop\"\n        ]\n      },\n      {\n        \"key\": \"length\",\n        \"label\": \"Measured path length\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"unit\",\n        \"label\": \"Measurement and output unit\",\n        \"value\": \"mm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ]\n      },\n      {\n        \"key\": \"startMargin\",\n        \"label\": \"Margin before first hole\",\n        \"value\": 5,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"path\": [\n            \"Open path\"\n          ]\n        }\n      },\n      {\n        \"key\": \"endMargin\",\n        \"label\": \"Margin after last hole\",\n        \"value\": 5,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"path\": [\n            \"Open path\"\n          ]\n        }\n      },\n      {\n        \"key\": \"mode\",\n        \"label\": \"Calculate from\",\n        \"value\": \"Maximum spacing\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Maximum spacing\",\n          \"Hole count\"\n        ]\n      },\n      {\n        \"key\": \"maximumSpacing\",\n        \"label\": \"Maximum permitted spacing\",\n        \"value\": 4,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Maximum spacing\"\n          ]\n        }\n      },\n      {\n        \"key\": \"holes\",\n        \"label\": \"Number of holes\",\n        \"value\": 24,\n        \"type\": \"number\",\n        \"min\": 2,\n        \"max\": 10000,\n        \"step\": 1,\n        \"showWhen\": {\n          \"mode\": [\n            \"Hole count\"\n          ]\n        }\n      }\n    ],\n    \"input\": false,\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Space holes evenly along a measured path. Download every distance to mark from the path start. Closed loops include the wrap-around gap and no duplicate endpoint. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nPlace stitch holes evenly along a measured open path or closed loop. Download the distance of every hole from the start.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Leather hole spacing calculator\n\n1. Enter the measured inputs and select their units.\n2. Review the calculated dimensions, counts and rounding.\n3. Download the result and verify it against a sample before making the full project.\n\n## Useful next steps\n\n- [Origami paper size calculator](https://happytails.ai/en/calculators/origami-paper-size-calculator/) ([Markdown](https://happytails.ai/en/calculators/origami-paper-size-calculator.md))\n\n- [Quilt binding calculator](https://happytails.ai/en/calculators/quilt-binding-calculator/) ([Markdown](https://happytails.ai/en/calculators/quilt-binding-calculator.md))\n\n## Choose the measured path\n\nEnter length along the actual path you will mark. For an open path, enter the unused margin before the first hole and after the last. A closed loop uses its full length and includes the final gap back to the first hole.\n\n### Choose count or maximum spacing\n\nFor a 100 mm open path with 5 mm margins and a maximum spacing of 4 mm, there are 24 holes and 23 gaps of approximately 3.91304 mm. Count mode instead fixes the number of holes and calculates equal spacing.\n\n### Save the calculation\n\nDownload a CSV of the results or instructions, a readable text report and a JSON report with values, formulas and assumptions. Calculations run locally on your device. Unit changes keep the numbers already entered, so check the selected units before using the result.\n"
}