{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.1/proposed/adopted/type-layer-drawing.schema.json",
  "$comment": "Proposed for OpenEik 0.2: Part II, 14.2, rule 1 (open questions, 115). Generated by tools/generate-schemas.mjs from the reference implementation at de6f0d04, as the schemas of 0.1 are, and not written by hand. In 0.1 it is a member the type schema does not know, kept; a validator holds it to this schema only when asked for the proposal (@openeik/tools: proposals [\"adopted\"]).",
  "title": "A layer drawn with a detail family",
  "description": "How a layer's cut is drawn in a drawing of its type's build-up (Part II, 14.2, proposed for 0.2): copies of the detail family familyId, of its type typeId, repeated along the layer in place of its material's pattern, spacing mm apart centre to centre (side by side where absent), the first offset mm from the layer's start, turned by rotation degrees, and across the layer on its middle or against its inside or outside face (align). Without familyId the layer draws nothing of its own.",
  "type": "object",
  "properties": {
    "familyId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "x-eik-ref": "detailFamily"
    },
    "typeId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "spacing": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000
    },
    "offset": {
      "type": "number",
      "minimum": -10000,
      "maximum": 10000
    },
    "rotation": {
      "type": "number",
      "minimum": -360,
      "maximum": 360
    },
    "align": {
      "type": "string",
      "enum": [
        "centre",
        "inside",
        "outside"
      ]
    }
  },
  "x-eik-closed": true
}
