{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.stfform.at/stfexp.collider.sphere.schema.json",
	"title": "Sphere Collider",
	"description": "3d sphere collider component.",
	"stfImplementations": {
		"blender": {
			"representingType": "STF_Component on bpy.types.Object or bpy.types.Bone",
			"link": "https://codeberg.org/stf_format/stf_blender/src/branch/master/stfblender/stf_resources/stfexp/stfexp_collider_sphere.py"
		},
		"godot": {
			"representingType": "CollisionShape3D & SphereShape3D",
			"link": "https://codeberg.org/stf_format/stf_godot/src/branch/master/addons/stf_godot/resources/stfexp/STFEXP_Collider_Sphere.gd"
		},
		"unity": {
			"representingType": "SphereCollider or application specific components",
			"link": "https://codeberg.org/stf_format/stf_unity/src/branch/master/Runtime/Resources/Resources_STFEXP/STFEXP_Collider_Sphere.cs",
			"extra_links": {
				"Default Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/Runtime/Processors/Processors_STFEXP/STFEXP_Collider_Sphere_Processor.cs",
				"VRChat Physbone Collider Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_VRChat/Editor/Processors/VRC_STFEXP_Collider_Sphere_Processor.cs",
				"UNIVRM0 Springbone Collider Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_UNIVRM0/Editor/Processors/UNIVRM0_STFEXP_Collider_Sphere_Processor.cs",
				"VRM1 Springbone Collider Processor": "https://codeberg.org/stf_format/stf_unity/src/branch/master/AVA/AVA_VRM1/Editor/Processors/VRM1_STFEXP_Collider_Sphere_Processor.cs"
			}
		}
	},
	"allOf": [{ "$ref": "https://schema.stfform.at/stf.schema.json#/$defs/stf_component_resource" }],
	"properties": {
		"type": {
			"const": "stfexp.collider.sphere"
		},
		"radius": {
			"type": "number"
		},
		"offset_position": {
			"type": "array",
			"items": {
				"type": "number"
			},
			"minItems": 3,
			"maxItems": 3,
			"default": [0, 0, 0],
			"description": "The position (XYZ) offset relative to the node this component is placed on."
		}
	},
	"required": [
		"type",
		"radius"
	],
	"additionalProperties": false
}