{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.2/adopted/detail-family-insertion.schema.json",
  "$comment": "OpenEik 0.2: folded by tools/fold-schemas.mjs from the proposal adopted, which 0.2 makes a rule (decision D5). Written by hand from the text, not generated.",
  "title": "A detail family's insertion point",
  "description": "The point of a detail family that a placed copy hangs on, in the family's own x and y, each a number or bound to its parameters as a sketch's points are (Part II, 14.5. Absent, a single item hangs on the family's origin, and a repeated copy on the middle of its box.",
  "type": "array",
  "minItems": 2,
  "maxItems": 2,
  "prefixItems": [
    {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "object",
          "properties": {
            "parameter": {
              "type": "string",
              "minLength": 1
            },
            "factor": {
              "type": "number",
              "default": 1
            },
            "offset": {
              "type": "number",
              "default": 0
            }
          },
          "required": [
            "parameter"
          ],
          "x-eik-closed": true
        },
        {
          "type": "object",
          "properties": {
            "terms": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "parameter": {
                    "type": "string",
                    "minLength": 1
                  },
                  "factor": {
                    "type": "number",
                    "default": 1
                  }
                },
                "required": [
                  "parameter"
                ],
                "x-eik-closed": true
              },
              "minItems": 1,
              "maxItems": 6
            },
            "offset": {
              "type": "number",
              "default": 0
            }
          },
          "required": [
            "terms"
          ],
          "x-eik-closed": true
        }
      ]
    },
    {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "object",
          "properties": {
            "parameter": {
              "type": "string",
              "minLength": 1
            },
            "factor": {
              "type": "number",
              "default": 1
            },
            "offset": {
              "type": "number",
              "default": 0
            }
          },
          "required": [
            "parameter"
          ],
          "x-eik-closed": true
        },
        {
          "type": "object",
          "properties": {
            "terms": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "parameter": {
                    "type": "string",
                    "minLength": 1
                  },
                  "factor": {
                    "type": "number",
                    "default": 1
                  }
                },
                "required": [
                  "parameter"
                ],
                "x-eik-closed": true
              },
              "minItems": 1,
              "maxItems": 6
            },
            "offset": {
              "type": "number",
              "default": 0
            }
          },
          "required": [
            "terms"
          ],
          "x-eik-closed": true
        }
      ]
    }
  ]
}
