{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.stfform.at/ava.avatar.schema.json",
	"title": "VR & V-Tubing Avatar Definition",
	"description": "Represents a VR & V-tubing avatar model.",
	"stfImplementations": {
		"blender": {
			"representingType": "STF_Component on bpy.types.Collection",
			"link": "https://codeberg.org/stf_format/stf_blender/src/branch/master/stfblender/stf_resources/ava/ava_avatar.py"
		},
		"unity": {
			"representingType": "Application specific representations",
			"link": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/Runtime/Resources/AVA_Avatar.cs",
			"extra_links": {
				"VRChat Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_VRChat/Editor/Processors/VRC_AVA_Avatar_Processor.cs",
				"UNIVRM0 Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_UNIVRM0/Editor/Processors/UNIVRM0_AVA_Avatar_Processor.cs",
				"VRM1 Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_VRM1/Editor/Processors/VRM1_AVA_Avatar_Processor.cs",
				"BasisVR Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_BASISVR/Editor/Processors/BASIS_AVA_Avatar_Processor.cs",
				"Resonite Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_Resonite/Editor/Processors/Resonite_AVA_Avatar_Processor.cs"
			}
		}
	},
	"allOf": [{ "$ref": "https://schema.stfform.at/stf.schema.json#/$defs/stf_component_resource" }],
	"properties": {
		"type": {
			"const": "ava.avatar"
		},
		"viewport": {
			"$ref": "https://schema.stfform.at/stf.schema.json#resource_ref",
			"description": "Reference to a node resource that represents the viewport position."
		},
		"primary_armature_instance": {
			"$ref": "https://schema.stfform.at/stf.schema.json#resource_ref",
			"description": "Reference to a node resource that has the primary armature instance."
		},
		"primary_mesh_instance": {
			"$ref": "https://schema.stfform.at/stf.schema.json#resource_ref",
			"description": "Reference to a node resource that has the primary mesh instance."
		}
	},
	"required": [
		"type"
	],
	"additionalProperties": false
}