{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.1/proposed/drawings/index.json",
  "$comment": "Proposed for OpenEik 0.2: Part XIV, drawings. Written by hand from the outline of Part XIV, not generated: tools/generate-schemas.mjs keeps this folder and lists none of it in index.json. No file of OpenEik 0.1 is held to it; a validator applies it only when asked for the proposal (@openeik/tools: proposals [\"drawings\"]).",
  "title": "Drawings, proposed for 0.2",
  "description": "The index of the proposal drawings (Part XIV, proposed for 0.2). It is a schema that asserts nothing: its member x-eik-proposal maps each kind of file of the proposal to its schema, as the schemas' index.json does for OpenEik 0.1, the drawing files by their format, and lists the references the proposal adds. Schema paths are relative to https://openeik.org/schemas/0.1/. The issued drawing's SVG is held to the allowlist svg-profile.json, OpenEik drawing SVG 0.1, which the validator and any host's parser share.",
  "x-eik-proposal": {
    "name": "drawings",
    "part": "XIV",
    "status": "proposed for 0.2",
    "files": [
      {
        "pattern": "drawings/sheets/<id>.json",
        "list": "sheets",
        "schema": "proposed/drawings/sheet.schema.json"
      },
      {
        "pattern": "project/people/<id>.json",
        "list": "people",
        "schema": "proposed/drawings/person.schema.json"
      },
      {
        "pattern": "drawings/views/<kind>/<id>/details/<index>.json",
        "list": "views",
        "schema": "proposed/drawings/view-details.schema.json"
      },
      {
        "pattern": "drawings/profile.json",
        "format": "openeik-drawing-profile/0.1",
        "schema": "proposed/drawings/profile.schema.json"
      },
      {
        "pattern": "drawings/issued/<drawing>/drawing.svg",
        "profile": "OpenEik drawing SVG 0.1",
        "schema": "proposed/drawings/svg-profile.json"
      },
      {
        "pattern": "drawings/issued/<drawing>/revision.json",
        "format": "openeik-drawing-revision/0.1",
        "schema": "proposed/drawings/revision.schema.json"
      },
      {
        "pattern": "drawings/issued/<drawing>/read-set.json",
        "format": "openeik-drawing-read-set/0.1",
        "schema": "proposed/drawings/read-set.schema.json"
      },
      {
        "pattern": "drawings/issued/<drawing>/signoffs/<n>.json",
        "format": "openeik-drawing-signoff/0.1",
        "schema": "proposed/drawings/signoff.schema.json"
      },
      {
        "pattern": "drawings/register/<drawing>.json",
        "format": "openeik-drawing-register/0.1",
        "schema": "proposed/drawings/register.schema.json"
      },
      {
        "pattern": "drawings/issues/<issue>.json",
        "format": "openeik-drawing-issue/0.1",
        "schema": "proposed/drawings/issue.schema.json"
      },
      {
        "pattern": "drawings/reviews/<review>.json",
        "format": "openeik-drawing-review/0.1",
        "schema": "proposed/drawings/review.schema.json"
      },
      {
        "pattern": "assets/<sha256>.<ext>",
        "schema": null,
        "note": "A binary by the SHA-256 of its bytes: a PDF rendition or an outside drawing (pdf), a font (ttf, otf), a legal-tier container (asice)."
      }
    ],
    "derivation": {
      "format": "openeik-drawing-derivation/0.1",
      "schema": "proposed/drawings/derivation.schema.json"
    },
    "statement": {
      "payloadType": "application/vnd.in-toto+json",
      "type": "https://in-toto.io/Statement/v1",
      "schema": "proposed/drawings/statement.schema.json",
      "predicateType": "https://openeik.org/attestation/drawing-signoff/v0.1",
      "predicate": "proposed/drawings/signoff-predicate.schema.json"
    },
    "references": {
      "sheet": [
        {
          "path": [
            "viewports",
            "*",
            "viewId"
          ],
          "to": "view"
        },
        {
          "path": [
            "titleBlockId"
          ],
          "to": "titleBlock"
        }
      ],
      "detail": [
        {
          "path": [
            "host",
            "elementId"
          ],
          "to": "element"
        },
        {
          "path": [
            "hatchHost",
            "elementId"
          ],
          "to": "element"
        },
        {
          "path": [
            "hatchHost",
            "layerId"
          ],
          "to": "layer"
        },
        {
          "path": [
            "tag",
            "elementId"
          ],
          "to": "element"
        },
        {
          "path": [
            "floorList",
            "slabId"
          ],
          "to": "element"
        },
        {
          "path": [
            "floorList",
            "levelId"
          ],
          "to": "level"
        },
        {
          "path": [
            "dimensionReferences",
            "*",
            "reference",
            "elementId"
          ],
          "to": "element"
        },
        {
          "path": [
            "dimensionReferences",
            "*",
            "reference",
            "gridId"
          ],
          "to": "grid"
        },
        {
          "path": [
            "dimensionReferences",
            "*",
            "reference",
            "levelId"
          ],
          "to": "level"
        },
        {
          "path": [
            "dimensionReferences",
            "*",
            "reference",
            "detailId"
          ],
          "to": "detail"
        },
        {
          "path": [
            "viewReference",
            "viewId"
          ],
          "to": "view"
        },
        {
          "path": [
            "partsList",
            "pieceId"
          ],
          "to": "piece"
        },
        {
          "path": [
            "anchors",
            "*",
            "element"
          ],
          "to": "element"
        }
      ]
    }
  }
}
