{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.geometry.solid.agent.input.json",
  "title": "Solid geometry — agent input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "maxLength": 80,
      "description": "Default sphere. Canonical20 modes or documented legacy aliases."
    },
    "r": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "radius": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "h": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "height": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "R": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "major": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "major_r": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "major_radius": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "minor": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "R_bottom": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "r1": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "R1": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "base": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "R_top": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "r2": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "R2": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "top": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "a": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "length": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "l": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "b": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "width": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "w": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "depth": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "s": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "side": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "edge": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "n": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 3,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "sides": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 3,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "s1": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "s_bottom": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "bottom": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "t": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "s2": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "s_top": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "rx": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "a_axis": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "semi_a": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "ry": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "b_axis": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "semi_b": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "c": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "rz": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "c_axis": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "semi_c": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ]
    },
    "theta": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308,
          "maximum": 360
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "angle": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308,
          "maximum": 360
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "deg": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308,
          "maximum": 360
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "theta_deg": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 2.2250738585072014e-308,
          "maximum": 360
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^[\\s]*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?[\\s]*$"
        }
      ],
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    }
  },
  "description": "Raw finite decimal numbers or strings. Active fields and matching aliases required; conflicts AMBIGUOUS_INPUT. Positive normal dimensions; safe integer n≥3; theta≤360; cap/sector h≤2r; torus R>r; ellipsoid axis ratio≥1e-100. Secondary range validation returns NUMERIC_RANGE. Inactive known fields are type-checked and omitted from normalized model. (calculation_version 1.19.0)",
  "allOf": [
    {
      "if": {
        "anyOf": [
          {
            "not": {
              "required": [
                "mode"
              ]
            }
          },
          {
            "properties": {
              "mode": {
                "const": "sphere"
              }
            },
            "required": [
              "mode"
            ]
          }
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "cylinder"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "cone"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "torus"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "R"
                ]
              },
              {
                "required": [
                  "major"
                ]
              },
              {
                "required": [
                  "major_r"
                ]
              },
              {
                "required": [
                  "major_radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              },
              {
                "required": [
                  "minor"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "frustum"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "R"
                ]
              },
              {
                "required": [
                  "R_bottom"
                ]
              },
              {
                "required": [
                  "r1"
                ]
              },
              {
                "required": [
                  "R1"
                ]
              },
              {
                "required": [
                  "base"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "R_top"
                ]
              },
              {
                "required": [
                  "r2"
                ]
              },
              {
                "required": [
                  "R2"
                ]
              },
              {
                "required": [
                  "top"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "prism"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "length"
                ]
              },
              {
                "required": [
                  "l"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "b"
                ]
              },
              {
                "required": [
                  "width"
                ]
              },
              {
                "required": [
                  "w"
                ]
              },
              {
                "required": [
                  "depth"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "pyramid"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "length"
                ]
              },
              {
                "required": [
                  "l"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "b"
                ]
              },
              {
                "required": [
                  "width"
                ]
              },
              {
                "required": [
                  "w"
                ]
              },
              {
                "required": [
                  "depth"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "tetrahedron"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "octahedron"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "icosahedron"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "dodecahedron"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "regular_prism"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "n"
                ]
              },
              {
                "required": [
                  "sides"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "regular_pyramid"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "n"
                ]
              },
              {
                "required": [
                  "sides"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "regular_frustum"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "n"
                ]
              },
              {
                "required": [
                  "sides"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "s"
                ]
              },
              {
                "required": [
                  "s1"
                ]
              },
              {
                "required": [
                  "s_bottom"
                ]
              },
              {
                "required": [
                  "bottom"
                ]
              },
              {
                "required": [
                  "side"
                ]
              },
              {
                "required": [
                  "edge"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "t"
                ]
              },
              {
                "required": [
                  "s2"
                ]
              },
              {
                "required": [
                  "s_top"
                ]
              },
              {
                "required": [
                  "top"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "ellipsoid"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "rx"
                ]
              },
              {
                "required": [
                  "a_axis"
                ]
              },
              {
                "required": [
                  "semi_a"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "b"
                ]
              },
              {
                "required": [
                  "ry"
                ]
              },
              {
                "required": [
                  "b_axis"
                ]
              },
              {
                "required": [
                  "semi_b"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "c"
                ]
              },
              {
                "required": [
                  "rz"
                ]
              },
              {
                "required": [
                  "c_axis"
                ]
              },
              {
                "required": [
                  "semi_c"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "spherical_cap"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "spherical_zone"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "a"
                ]
              },
              {
                "required": [
                  "r1"
                ]
              },
              {
                "required": [
                  "R1"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "b"
                ]
              },
              {
                "required": [
                  "r2"
                ]
              },
              {
                "required": [
                  "R2"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "spherical_wedge"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "theta"
                ]
              },
              {
                "required": [
                  "angle"
                ]
              },
              {
                "required": [
                  "deg"
                ]
              },
              {
                "required": [
                  "theta_deg"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "spherical_lune"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "theta"
                ]
              },
              {
                "required": [
                  "angle"
                ]
              },
              {
                "required": [
                  "deg"
                ]
              },
              {
                "required": [
                  "theta_deg"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "const": "spherical_sector"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "r"
                ]
              },
              {
                "required": [
                  "radius"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "h"
                ]
              },
              {
                "required": [
                  "height"
                ]
              }
            ]
          }
        ]
      }
    }
  ],
  "x-unit-contract": {
    "protocol": "calculatorx-field-unit-contract-v1",
    "capability_id": "math.geometry.solid",
    "registry_version": "0.3.0-preview.3",
    "declaration_scope": "Field/branch declarations only; inactive fields are not asserted to exist. No conversion-engine migration or new numerical certification.",
    "path_format": "Paths relative to inputs or result_detail.value; dot separates properties, * denotes array items, $ denotes a scalar result.",
    "inputs": {
      "theta": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "theta_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "angle": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "outputs": {
      "theta": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "theta_rad": {
        "unit": "rad",
        "reference": {
          "unit_id": "cx:rad",
          "revision": "1.0.0",
          "content_digest": "842467a958d28ac79bf34e796043449f6af24819d77b2b67f540dbabdecc8e3e",
          "dependency_digest": "9c07023393c6212aab52719f503df1bdc9456559b5c4719ff1fec47d0623e0ad",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "quantity_policy": {
      "physical_unit_id": null,
      "input_policy": "Abstract consistent coordinate/length units; no physical unit is selected by this calculator.",
      "derived_policy": "Lengths inherit the input length unit U; areas U^2; volumes U^3. No implicit conversion or fixed metre binding.",
      "coefficient_policy": "Normalized implicit line/equation coefficients have equation-scale conventions, not universal physical unit IDs."
    }
  }
}
