Path: blob/master/core/extension/gdextension_interface.schema.json
20987 views
{1"$schema": "https://json-schema.org/draft/2020-12/schema",2"$id": "https://godotengine.org/gdextension_interface.schema.json",3"title": "GDExtension Interface",4"type": "object",5"properties": {6"_copyright": {7"type": "array",8"items": {9"type": "string"10}11},12"format_version": {13"type": "number",14"const": 115},16"$schema": {17"type": "string",18"const": "./gdextension_interface.schema.json"19},20"types": {21"type": "array",22"items": {23"type": "object",24"properties": {25"name": {26"type": "string"27},28"kind": {29"type": "string",30"enum": ["enum", "handle", "alias", "struct", "function"]31},32"description": {33"type": "array",34"items": {35"type": "string"36}37},38"deprecated": {39"type": "object",40"properties": {41"since": {42"type": "string",43"pattern": "4\\.[0-9]+"44},45"message": {46"type": "string",47"pattern": "\\.$"48},49"replace_with": {50"type": "string"51}52},53"required": ["since"],54"additionalProperties": false55}56},57"required": [58"name",59"kind"60],61"unevaluatedProperties": false,62"allOf": [63{64"if": {65"properties": {66"kind": { "const": "enum" }67}68},69"then": {70"properties": {71"is_bitfield": {72"type": "boolean"73},74"values": {75"type": "array",76"items": {77"type": "object",78"properties": {79"name": {80"type": "string"81},82"value": {83"type": "number"84},85"description": {86"type": "array",87"items": {88"type": "string"89}90}91},92"required": [ "name", "value" ],93"additionalProperties": false94}95}96},97"required": ["name", "kind", "values"]98}99},100{101"if": {102"properties": {103"kind": { "const": "handle" }104}105},106"then": {107"properties": {108"parent": {109"type": "string"110},111"is_const": {112"type": "boolean"113},114"is_uninitialized": {115"type": "boolean"116}117}118}119},120{121"if": {122"properties": {123"kind": { "const": "alias" }124}125},126"then": {127"properties": {128"type": {129"type": "string"130}131},132"required": ["name", "kind", "type"]133}134},135{136"if": {137"properties": {138"kind": { "const": "struct" }139}140},141"then": {142"properties": {143"members": {144"type": "array",145"items": {146"type": "object",147"properties": {148"name": {149"type": "string"150},151"type": {152"type": "string"153},154"description": {155"type": "array",156"items": {157"type": "string"158}159}160},161"required": ["name", "type"],162"additionalProperties": false163}164}165},166"required": ["name", "kind", "members"]167}168},169{170"if": {171"properties": {172"kind": { "const": "function" }173}174},175"then": {176"properties": {177"return_value": {178"type": "object",179"properties": {180"type": {181"type": "string"182},183"description": {184"type": "array",185"items": {186"type": "string"187}188}189},190"required": ["type"],191"additionalProperties": false192},193"arguments": {194"type": "array",195"items": {196"type": "object",197"properties": {198"type": {199"type": "string"200},201"name": {202"type": "string"203},204"description": {205"type": "array",206"items": {207"type": "string"208}209}210},211"required": ["type"],212"additionalProperties": false213}214}215},216"required": ["name", "kind", "arguments"]217}218}219]220}221},222"interface": {223"type": "array",224"items": {225"type": "object",226"properties": {227"name": {228"type": "string"229},230"return_value": {231"type": "object",232"properties": {233"type": {234"type": "string"235},236"description": {237"type": "array",238"items": {239"type": "string"240}241}242},243"required": ["type"],244"additionalProperties": false245},246"arguments": {247"type": "array",248"items": {249"type": "object",250"properties": {251"type": {252"type": "string"253},254"name": {255"type": "string"256},257"description": {258"type": "array",259"items": {260"type": "string"261}262}263},264"required": ["type"],265"additionalProperties": false266}267},268"description": {269"type": "array",270"items": {271"type": "string"272}273},274"since": {275"type": "string",276"pattern": "4\\.[0-9]+"277},278"deprecated": {279"type": "object",280"properties": {281"since": {282"type": "string",283"pattern": "4\\.[0-9]+"284},285"message": {286"type": "string",287"pattern": "\\.$"288},289"replace_with": {290"type": "string"291}292},293"required": ["since"],294"additionalProperties": false295},296"see": {297"type": "array",298"items": {299"type": "string"300}301},302"legacy_type_name": {303"type": "string"304}305},306"required": [307"name",308"arguments",309"description",310"since"311],312"additionalProperties": false313}314}315},316"required": [317"_copyright",318"$schema",319"format_version",320"types",321"interface"322],323"additionalProperties": false324}325326327