{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.3/commands/original.make.schema.json",
  "$comment": "Written by hand from Part V and the member names of the reference vocabulary; tools/generate-schemas.mjs does not make it yet (schemas/commands/README.md).",
  "title": "original.make",
  "description": "Makes elements an original (a group placed many times): they and what is hosted on them name it in `original`. origin, left out, is the lower left corner of the profile points of the elements that have no host. A member the kind does not define is refused, not dropped (Part V, 1.4).",
  "type": "object",
  "properties": {
    "kind": {
      "const": "original.make"
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 12,
      "pattern": "^[^/\\s]+$"
    },
    "name": {
      "type": "string",
      "maxLength": 80
    },
    "elementIds": {
      "type": "array",
      "minItems": 1,
      "maxItems": 5000,
      "items": {
        "type": "string",
        "minLength": 1,
        "x-eik-ref": "element"
      }
    },
    "origin": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ]
    }
  },
  "required": [
    "kind",
    "id",
    "elementIds"
  ],
  "additionalProperties": false
}
