309 lines
7.6 KiB
YAML
309 lines
7.6 KiB
YAML
$schema: "http://json-schema.org/draft-07/schema#"
|
|
$id: "res://addons/yaml/schema/godot_yaml.schema.yaml"
|
|
title: "Godot YAML schema definitions"
|
|
|
|
definitions:
|
|
variantTypes:
|
|
description: "Godot Variant types"
|
|
enum:
|
|
- "bool"
|
|
- "float"
|
|
- "int"
|
|
- "null"
|
|
- "AABB"
|
|
- "Array"
|
|
- "Basis"
|
|
- "Callable"
|
|
- "Color"
|
|
- "Dictionary"
|
|
- "NodePath"
|
|
- "Object"
|
|
- "PackedByteArray"
|
|
- "PackedColorArray"
|
|
- "PackedFloat32Array"
|
|
- "PackedFloat64Array"
|
|
- "PackedInt32Array"
|
|
- "PackedInt64Array"
|
|
- "PackedStringArray"
|
|
- "PackedVector2Array"
|
|
- "PackedVector3Array"
|
|
- "Plane"
|
|
- "Projection"
|
|
- "Quaternion"
|
|
- "Rect2"
|
|
- "Rect2i"
|
|
- "RID"
|
|
- "String"
|
|
- "StringName"
|
|
- "Transform2D"
|
|
- "Transform3D"
|
|
- "Variant"
|
|
- "Vector2"
|
|
- "Vector2i"
|
|
- "Vector3"
|
|
- "Vector3i"
|
|
- "Vector4"
|
|
- "Vector4i"
|
|
AABB:
|
|
x-yaml-tag: AABB
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
position: { $ref: "#/definitions/Vector3" }
|
|
size: { $ref: "#/definitions/Vector3" }
|
|
required: [position, size]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector3" }
|
|
minItems: 2
|
|
maxItems: 2
|
|
Basis:
|
|
x-yaml-tag: Basis
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { $ref: "#/definitions/Vector3" }
|
|
y: { $ref: "#/definitions/Vector3" }
|
|
z: { $ref: "#/definitions/Vector3" }
|
|
required: [x, y, z]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector3" }
|
|
minItems: 3
|
|
maxItems: 3
|
|
Color:
|
|
x-yaml-tag: Color
|
|
oneOf:
|
|
- type: string
|
|
- type: object
|
|
properties:
|
|
r: { type: number }
|
|
g: { type: number }
|
|
b: { type: number }
|
|
a: { type: number }
|
|
required: [r, g, b]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: number }
|
|
minItems: 3
|
|
maxItems: 4
|
|
NodePath:
|
|
x-yaml-tag: NodePath
|
|
type: string
|
|
PackedByteArray:
|
|
x-yaml-tag: PackedByteArray
|
|
type: string
|
|
contentEncoding: base64
|
|
PackedColorArray:
|
|
x-yaml-tag: PackedColorArray
|
|
type: array
|
|
items: { $ref: "#/definitions/Color" }
|
|
PackedFloat32Array:
|
|
x-yaml-tag: PackedFloat32Array
|
|
type: array
|
|
items: { type: number }
|
|
PackedFloat64Array:
|
|
x-yaml-tag: PackedFloat64Array
|
|
type: array
|
|
items: { type: number }
|
|
PackedInt32Array:
|
|
x-yaml-tag: PackedInt32Array
|
|
type: array
|
|
items:
|
|
type: integer
|
|
minimum: -2147483648
|
|
maximum: 2147483647
|
|
PackedInt64Array:
|
|
x-yaml-tag: PackedInt64Array
|
|
type: array
|
|
items: { type: integer }
|
|
PackedStringArray:
|
|
x-yaml-tag: PackedStringArray
|
|
type: array
|
|
items: { type: string }
|
|
Plane:
|
|
x-yaml-tag: Plane
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
normal: { $ref: "#/definitions/Vector3" }
|
|
d: { type: number }
|
|
required: [normal, d]
|
|
additionalProperties: false
|
|
- type: array
|
|
items:
|
|
- { $ref: "#/definitions/Vector3" }
|
|
- { type: number }
|
|
additionalItems: false
|
|
Projection:
|
|
x-yaml-tag: Projection
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { $ref: "#/definitions/Vector4" }
|
|
y: { $ref: "#/definitions/Vector4" }
|
|
z: { $ref: "#/definitions/Vector4" }
|
|
w: { $ref: "#/definitions/Vector4" }
|
|
required: [x, y, z, w]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector4" }
|
|
minItems: 4
|
|
maxItems: 4
|
|
Quaternion:
|
|
x-yaml-tag: Quaternion
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: number }
|
|
y: { type: number }
|
|
z: { type: number }
|
|
w: { type: number }
|
|
required: [x, y, z, w]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: number }
|
|
minItems: 4
|
|
maxItems: 4
|
|
Rect2:
|
|
x-yaml-tag: Rect2
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
position: { $ref: "#/definitions/Vector2" }
|
|
size: { $ref: "#/definitions/Vector2" }
|
|
required: [position, size]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector2" }
|
|
minItems: 2
|
|
maxItems: 2
|
|
Rect2i:
|
|
x-yaml-tag: Rect2i
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
position: { $ref: "#/definitions/Vector2i" }
|
|
size: { $ref: "#/definitions/Vector2i" }
|
|
required: [position, size]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector2i" }
|
|
minItems: 2
|
|
maxItems: 2
|
|
StringName:
|
|
x-yaml-tag: StringName
|
|
type: string
|
|
Transform2D:
|
|
x-yaml-tag: Transform2D
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { $ref: "#/definitions/Vector2" }
|
|
y: { $ref: "#/definitions/Vector2" }
|
|
origin: { $ref: "#/definitions/Vector2" }
|
|
required: [x, y, origin]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { $ref: "#/definitions/Vector2" }
|
|
minItems: 2
|
|
maxItems: 2
|
|
Transform3D:
|
|
x-yaml-tag: Transform3D
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
basis: { $ref: "#/definitions/Basis" }
|
|
origin: { $ref: "#/definitions/Vector3" }
|
|
required: [basis, origin]
|
|
additionalProperties: false
|
|
- type: array
|
|
items:
|
|
- { $ref: "#/definitions/Basis" }
|
|
- { $ref: "#/definitions/Vector3" }
|
|
additionalItems: false
|
|
Vector2:
|
|
x-yaml-tag: Vector2
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: number }
|
|
y: { type: number }
|
|
required: [x, y]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: number }
|
|
minItems: 2
|
|
maxItems: 2
|
|
Vector2i:
|
|
x-yaml-tag: Vector2i
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: integer }
|
|
y: { type: integer }
|
|
required: [x, y]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: integer }
|
|
minItems: 2
|
|
maxItems: 2
|
|
Vector3:
|
|
x-yaml-tag: Vector3
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: number }
|
|
y: { type: number }
|
|
z: { type: number }
|
|
required: [x, y, z]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: number }
|
|
minItems: 3
|
|
maxItems: 3
|
|
Vector3i:
|
|
x-yaml-tag: Vector3i
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: integer }
|
|
y: { type: integer }
|
|
z: { type: integer }
|
|
required: [x, y, z]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: integer }
|
|
minItems: 3
|
|
maxItems: 3
|
|
Vector4:
|
|
x-yaml-tag: Vector4
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: number }
|
|
y: { type: number }
|
|
z: { type: number }
|
|
w: { type: number }
|
|
required: [x, y, z, w]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: number }
|
|
minItems: 4
|
|
maxItems: 4
|
|
Vector4i:
|
|
x-yaml-tag: Vector4i
|
|
oneOf:
|
|
- type: object
|
|
properties:
|
|
x: { type: integer }
|
|
y: { type: integer }
|
|
z: { type: integer }
|
|
w: { type: integer }
|
|
required: [x, y, z, w]
|
|
additionalProperties: false
|
|
- type: array
|
|
items: { type: integer }
|
|
minItems: 4
|
|
maxItems: 4
|