{
    "Abi" : {
        "$comment": [
            "Any key of a key/value pair that starts with a dollar sign, will be ignored by the parser.",
            "Its values can be anything; a number, string, list, or object. Since JSON does not have a",
            "mechanism for adding comments you can use this method instead."
        ],
        "version": 1,
        "categories": ["tutorials", { "tutorial:abi": "Tutorial nodes that override the ABI functions" }],
        "exclude": ["python"],
        "description": ["This tutorial node shows how to override ABI methods on your node."],
        "metadata": {
            "$comment": "Metadata is key/value pairs associated with the node type.",
            "$specialNames": "Kit may recognize specific keys. 'uiName' is a human readable version of the node name",
            "uiName": "Tutorial Node: ABI Overrides"
        },
        "inputs": {
            "$comment": "Namespaces inside inputs or outputs are possible, similar to USD namespacing",
            "namespace:a_bool": {
                "type": "bool",
                "description": ["The input is any boolean value"],
                "default": true
            }
        },
        "outputs": {
            "namespace:a_bool": {
                "type": "bool",
                "description": ["The output is computed as the negation of the input"],
                "default": true
            }
        },
        "tests": [ {"inputs:namespace:a_bool": true, "outputs:namespace:a_bool": false} ]
    }
}
