{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "http://io.qt.QtBridge/export.metadata", "type": "object", "title": "The root schema", "description": "The root schema comprises the entire metadata document.", "default": {}, "required": [ "pluginInfo", "documentInfo", "artboards" ], "properties": { "pluginInfo": { "$id": "#pluginInfo", "type": "object", "title": "The pluginInfo schema", "description": "An explanation about the plugin and the host application used to generate the metadata.", "default": {}, "required": [ "applicationId", "applicationVersion", "extensionVersion", "metadataVersion" ], "properties": { "applicationId": { "$id": "#applicationId", "type": "string", "title": "The applicationId schema", "description": "Identifier to Identify the content creation tool. This enables CCT specialization", "default": "Generic" }, "applicationVersion": { "$id": "#applicationVersion", "type": "string", "title": "The applicationVersion schema", "description": "Version of the CCT application", }, "extensionVersion": { "$id": "#extensionVersion", "type": "string", "title": "The extensionVersion schema", "description": "Version of the Qt-Bridge plugin used to generate the metadata", }, "metadataVersion": { "$id": "#metadataVersion", "type": "string", "title": "The metadataVersion schema", "description": "Metadata version", "default": "latest" } }, "additionalProperties": true }, "documentInfo": { "$id": "#documentInfo", "type": "object", "title": "The documentInfo schema", "description": "CCT document information", "default": {}, "required": [ "name" ], "properties": { "name": { "$id": "#documentInfo/properties/name", "type": "string", "title": "The name schema", "description": "CCT document name", "default": "" } }, "additionalProperties": true }, "artboards": { "$id": "#artboards", "type": "array", "title": "The artboards schema", "description": "List of artboard instance. An artboard instance creates a QML component on Import", "default": [], "items": { "$id": "#layer", "type": "object", "title": "The items schema", "description": "Item defines a layer which translates to an QML object. The item metadata decides the type and other properties of the QML object", "default": {}, "required": [ "name", "x", "y", "width", "height", "layerIndex", "metadata" ], "children": { "$id": "#children", "type": "array", "title": "The children schema", "default": [], "items": { "$ref": "#layer" } }, "properties": { "name": { "$id": "#name", "type": "string", "title": "The name schema", "description": "The layer name. This is used for logging and identifying the layer while importing", "default": "" }, "x": { "$id": "#x", "type": "integer", "title": "The x schema", "description": "X co-oridnate", "default": 0 }, "y": { "$id": "#y", "type": "integer", "title": "The y schema", "description": "Y co-oridnate", "default": 0 }, "width": { "$id": "#width", "type": "integer", "title": "The width schema", "description": "Width of the item", "default": 0 }, "height": { "$id": "#height", "type": "integer", "title": "The height schema", "description": "Height of the item", "default": 0 }, "layerIndex": { "$id": "#layerIndex", "type": "integer", "title": "The layerIndex schema", "description": "Layer index relative to its sibilings. This decides the stacking order.", "default": 0 }, "metadata": { "$id": "#metadata", "type": "object", "title": "The metadata schema", "description": "An explanation about the purpose of this instance.", "default": {}, "required": [ "qmlId", "uuid", "exportType" ], "properties": { "qmlId": { "$id": "#qmlId", "type": "string", "title": "The qmlId schema", "description": "QML ID for the item", "default": "" }, "uuid": { "$id": "#uuid", "type": "string", "title": "The uuid schema", "description": "Unique layer identifier. This should be unique across document and should persist.", "default": "" }, "exportType": { "$id": "#exportType", "type": "enum": [ "component", "child", "skip", "merged"], "title": "The exportType schema", "description": "How the layer is exported" }, "qmlVisible": { "$id": "#qmlVisible", "type": "boolean", "title": "The qmlVisible schema", "description": "True, if QML items must be invisible", "default": false }, "opacity": { "$id": "#opacity", "type": "integer", "title": "The opacity schema", "description": "Opacity value of the item.", "default": 0 }, "assetData": { "$id": "#assetData", "type": "object", "title": "The assetData schema", "description": "Details about the associated layer asset. Any layer having this property shall create an QML Image item.", "default": {}, "required": [ "assetPath", "assetBounds" ], "properties": { "assetPath": { "$id": "#assetPath", "type": "string", "title": "The assetPath schema", "description": "Absolute or relative(to metadata file) path of the asset." }, "assetBounds": { "$id": "#assetBounds", "type": "object", "title": "The assetBounds schema", "description": "Position and size of the asset.", "default": {}, "required": [ "x", "y", "width", "height" ], "properties": { "x": { "$id": "#assetBounds_x", "type": "integer", "title": "The x schema", "description": "X co-oridnate", "default": 0 }, "y": { "$id": "#assetBounds_y", "type": "integer", "title": "The y schema", "description": "Y co-oridnate", "default": 0 }, "width": { "$id": "#assetBounds_width", "type": "integer", "title": "The width schema", "description": "Width of the item", "default": 0 }, "height": { "$id": "#assetBounds_height", "type": "integer", "title": "The height schema", "description": "Height of the item", "default": 0 } } } } }, "textDetails": { "$id": "#textDetails", "type": "object", "title": "The textDetails schema", "description": "An explanation about the purpose of this instance.", "required": [ "fontSize" ], "properties": { "fontFamily": { "$id": "#fontFamily", "type": "string", "title": "The fontFamily schema", "description": "An explanation about the purpose of this instance." }, "fontSize": { "$id": "#fontSize", "type": "number", "title": "The fontSize schema", "description": "An explanation about the purpose of this instance." }, "kerning": { "$id": "#kerning", "type": "number", "title": "The kerning schema", "description": "An explanation about the purpose of this instance." }, "textColor": { "$id": "#textColor", "type": "string", "title": "The textColor schema", "description": "An explanation about the purpose of this instance." }, "lineHeight": { "$id": "#lineHeight", "type": "null", "title": "The lineHeight schema", "description": "An explanation about the purpose of this instance." }, "horizontalAlignment": { "$id": "#horizontalAlignment", "type": "string", "title": "The horizontalAlignment schema", "description": "An explanation about the purpose of this instance." }, "verticalAlignment": { "$id": "#verticalAlignment", "type": "string", "title": "The verticalAlignment schema", "description": "An explanation about the purpose of this instance." }, "fontDisplayName": { "$id": "#fontDisplayName", "type": "string", "title": "The fontDisplayName schema", "description": "An explanation about the purpose of this instance." }, "contents": { "$id": "#contents", "type": "string", "title": "The contents schema", "description": "An explanation about the purpose of this instance." }, "multiline": { "$id": "#multiline", "type": "boolean", "title": "The multiline schema", "description": "An explanation about the purpose of this instance." } }, "additionalProperties": true } } } }, "additionalProperties": true } } } }