{
    "type": "dict",
    "collapsable": true,
    "key": "publish",
    "label": "Publish plugins",
    "children": [
        {
            "type": "label",
            "label": "Collectors"
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "CollectMayaRender",
            "label": "Collect Render Layers",
            "children": [
                {
                    "type": "boolean",
                    "key": "sync_workfile_version",
                    "label": "Sync render version with workfile"
                }
            ]
        },
        {
            "type": "splitter"
        },
        {
            "type": "label",
            "label": "Collectors"
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateCameraAttributes",
            "label": "Validate Camera Attributes",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "boolean",
                    "key": "optional",
                    "label": "Optional"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateModelName",
            "label": "Validate Model Name",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "label",
                    "label": "Path to material file defining list of material names to check. This is material name per line simple text file.<br/>It will be checked against named group <b>shader</b> in your <em>Validation regex</em>.<p>For example: <br/> <code>^.*(?P=&lt;shader&gt;.+)_GEO</code></p>"
                },
                {
                    "type": "path-widget",
                    "key": "material_file",
                    "label": "Material File",
                    "multiplatform": true,
                    "multipath": false
                },
                {
                    "type": "text",
                    "key": "regex",
                    "label": "Validation regex"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateAssemblyName",
            "label": "Validate Assembly Name",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateShaderName",
            "label": "ValidateShaderName",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "label",
                    "label": "Shader name regex can use named capture group <b>asset</b> to validate against current asset name.<p><b>Example:</b><br/><code>^.*(?P=&lt;asset&gt;.+)_SHD</code></p>"
                },
                {
                    "type": "text",
                    "key": "regex",
                    "label": "Validation regex"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateMeshHasOverlappingUVs",
            "label": "ValidateMeshHasOverlappingUVs",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ValidateAttributes",
            "label": "ValidateAttributes",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "raw-json",
                    "key": "attributes",
                    "label": "Attributes"
                }
            ]
        },
        {
            "type": "splitter"
        },
        {
            "type": "label",
            "label": "Extractors"
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "ExtractCameraAlembic",
            "label": "Extract camera to Alembic",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "label",
                    "label": "List of attributes that will be added to the baked alembic camera. Needs to be written in python list syntax.<p>For example: <br/> <code>[\"attributeName\", \"anotherAttribute\"]</code></p>"
                },
                {
                    "type": "boolean",
                    "key": "optional",
                    "label": "Optional"
                },
                {
                    "type": "raw-json",
                    "key": "bake_attributes",
                    "label": "Bake Attributes"
                }
            ]
        },
        {
            "type": "dict",
            "collapsable": true,
            "key": "MayaSubmitDeadline",
            "label": "Submit maya job to deadline",
            "checkbox_key": "enabled",
            "children": [
                {
                    "type": "boolean",
                    "key": "enabled",
                    "label": "Enabled"
                },
                {
                    "type": "enum",
                    "key": "tile_assembler_plugin",
                    "label": "Tile Assembler Plugin",
                    "multiselection": false,
                    "enum_items": [
                        {
                            "DraftTileAssembler": "Draft Tile Assembler"
                        },
                        {
                            "oiio": "Open Image IO"
                        }
                    ]
                }
            ]
        }
    ]
}
