material.json
Copy Json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"texture_map": {
"type": "object",
"properties": {
"image_path": {
"type": "string",
"default": ""
},
"tile_mode": {
"enum": ["normal", "auto_size", "mirror_x", "mirror_y", "mirror_xy"]
},
"rotation_angle": {
"type": "number"
},
"layout_angle": {
"type": "number"
},
"dpi": {
"type": "integer",
"minimum": 0
},
"dpi_h": {
"type": "integer",
"minimum": 0
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0
},
"y": {
"type": "number",
"minimum": 0
},
"width": {
"type": "number",
"minimum": 0
},
"height": {
"type": "number",
"minimum": 0
}
},
"required": ["x", "y", "width", "height"]
},
"mip_map": {
"type": "boolean"
},
"flip_x": {
"type": "boolean"
},
"flip_y": {
"type": "boolean"
}
},
"required": ["image_path"]
},
"diffuse": {
"type": "object",
"properties": {
"texture_map": {
"$ref": "#/definitions/texture_map"
},
"color": {
"$ref": "../../v1.0/color/color.json"
},
"blend_mode": {
"enum": ["overlay", "multiply", "recolor"]
}
},
"required": ["texture_map"]
},
"specular": {
"type": "object",
"properties": {
"texture_map": {
"$ref": "#/definitions/texture_map"
},
"color": {
"$ref": "../../v1.0/color/color.json"
},
"spread": {
"type": "number"
},
"inherit": {
"enum": ["independent", "diffuse"]
}
},
"required": ["spread", "color"]
},
"normal": {
"type": "object",
"properties": {
"texture_map": {
"$ref": "#/definitions/texture_map"
},
"depth": {
"type": "number"
},
"inherit": {
"enum": ["independent", "diffuse", "specular"]
}
},
"required": ["depth"]
},
"channel": {
"type": "object",
"properties": {
"diffuse": {
"$ref": "#/definitions/diffuse"
},
"specular": {
"$ref": "#/definitions/specular"
},
"normal": {
"$ref": "#/definitions/normal"
}
},
"required": ["diffuse"]
},
"vect3d": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
},
"required": ["x", "y", "z"]
},
"side": {
"type": "object",
"properties": {
"diffuse": {
"$ref": "#/definitions/diffuse"
},
"specular": {
"$ref": "#/definitions/specular"
},
"normal": {
"$ref": "#/definitions/normal"
},
"transparency": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"common_material": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"metadata": {
"type": "object"
},
"user_information": {
"type": "string"
},
"front": {
"$ref": "#/definitions/side"
},
"back": {
"$ref": "#/definitions/side"
}
},
"required": ["name", "type", "front"]
},
"marker": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"pos": {
"$ref": "#/definitions/vect3d"
}
},
"required": ["pos", "name"]
},
"edge": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"markers": {
"type": "array",
"items": {
"$ref": "#/definitions/marker"
},
"minimum": 2
}
},
"required": ["name"]
}
},
"oneOf": [{
"type": "object",
"allOf": [{
"type": "object",
"properties": {
"type": {
"enum": ["fabric"]
},
"physics": {
"$ref": "../../v1.0/material/physics.json"
}
}
}, {
"$ref": "#/definitions/common_material"
}]
},
{
"type": "object",
"allOf": [{
"type": "object",
"properties": {
"type": {
"enum": ["seam", "trim_edge"]
},
"blend_mode": {
"enum": ["overlay", "multiply", "normal"]
},
"thickness": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"finish_effect": {
"enum": ["none", "flat", "rounded", "double_rounded"]
},
"hide_background": {
"type": "boolean"
}
}
}, {
"$ref": "#/definitions/common_material"
}]
},
{
"type": "object",
"allOf": [{
"type": "object",
"properties": {
"type": {
"enum": ["artwork"]
},
"blend_mode": {
"enum": ["overlay", "multiply", "normal"]
},
"print_execution": {
"type": "string"
},
"hide_background": {
"type": "boolean"
},
"physics": {
"$ref": "../../v1.0/material/physics.json"
}
}
}, {
"$ref": "#/definitions/common_material"
}]
},
{
"type": "object",
"allOf": [{
"type": "object",
"properties": {
"type": {
"enum": ["trim"]
},
"blend_mode": {
"enum": ["overlay", "multiply", "normal"]
},
"hide_background": {
"type": "boolean"
},
"physics": {
"$ref": "../../v1.0/material/physics.json"
}
}
}, {
"$ref": "#/definitions/common_material"
}]
},
{
"allOf": [{
"type": "object",
"properties": {
"type": {
"enum": ["trim3d"]
},
"channels": {
"type": "array",
"items": {
"channel": {
"$ref": "#/definitions/channel"
}
}
},
"path": {
"type": "string"
},
"mass": {
"type": "number",
"minimum": 0
},
"up_axis": {
"type": "integer"
},
"front_axis": {
"type": "integer"
},
"vertical": {
"type": "integer",
"minimum": 1,
"maximum": 6
},
"facing": {
"enum": [0, 90, 180, 270]
},
"mirror": {
"type": "boolean"
},
"scale": {
"$ref": "#/definitions/vect3d"
},
"markers": {
"type": "array",
"items": {
"$ref": "#/definitions/marker"
}
},
"edges": {
"type": "array",
"items": {
"$ref": "#/definitions/edge"
}
},
"transparency": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": ["type", "path"]
}, {
"$ref": "#/definitions/common_material"
}]
}
]
}