{
    "omni.tutorials.TupleData" : {
        "version": 1,
        "categories": "tutorials",
        "scheduling": ["threadsafe"],
        "description": [
            "This is a tutorial node. It creates both an input and output attribute of some of the supported ",
            "tuple types. The values are modified in a simple way so that the compute can be tested."
        ],
        "metadata":
        {
           "uiName": "Tutorial Node: Tuple Attributes"
        },
        "tags": ["tuple", "tutorial", "internal"],
        "inputs": {
            "a_double2": {
                "type": "double[2]",
                "description": "This is an attribute with two double values",
                "default": [1.1, 2.2]
            },
            "a_float2": {
                "type": "float[2]",
                "description": "This is an attribute with two float values",
                "default": [4.4, 5.5]
            },
            "a_half2": {
                "type": "half[2]",
                "description": "This is an attribute with two 16-bit float values",
                "default": [7.0, 8.0]
            },
            "a_int2": {
                "type": "int[2]",
                "description": "This is an attribute with two 32-bit integer values",
                "default": [10, 11]
            },
            "a_float3": {
                "type": "float[3]",
                "description": "This is an attribute with three float values",
                "default": [6.6, 7.7, 8.8]
            },
            "a_double3": {
                "type": "double[3]",
                "description": "This is an attribute with three double values",
                "default": [1.1, 2.2, 3.3]
            }
        },
        "outputs": {
            "a_double2": {
                "type": "double[2]",
                "description": "This is a computed attribute with two double values"
            },
            "a_float2": {
                "type": "float[2]",
                "description": "This is a computed attribute with two float values"
            },
            "a_half2": {
                "type": "half[2]",
                "description": "This is a computed attribute with two 16-bit float values"
            },
            "a_int2": {
                "type": "int[2]",
                "description": "This is a computed attribute with two 32-bit integer values"
            },
            "a_float3": {
                "type": "float[3]",
                "description": "This is a computed attribute with three float values"
            },
            "a_double3": {
                "type": "double[3]",
                "description": "This is a computed attribute with three double values"
            }
        },
        "tests": [
            {
                "description": "Verification that proper outputs are computed when inputs are all defaults.",
                "outputs:a_double2": [2.1, 3.2],
                "outputs:a_float2": [5.4, 6.5],
                "outputs:a_half2": [8.0, 9.0],
                "outputs:a_int2": [11, 12],
                "outputs:a_float3": [7.6, 8.7, 9.8],
                "outputs:a_double3": [2.1, 3.2, 4.3]
            },
            {
                "description": "Check computation of all outputs using non-default input values",
                "inputs:a_double2": [2.1, 3.2],
                "outputs:a_double2": [3.1, 4.2],
                "inputs:a_float2": [5.1, 6.2],
                "outputs:a_float2": [6.1, 7.2],
                "inputs:a_half2": [8.0, 9.0],
                "outputs:a_half2": [9.0, 10.0],
                "inputs:a_int2": [11, 12],
                "outputs:a_int2": [12, 13],
                "inputs:a_float3": [7.1, 8.2, 9.3],
                "outputs:a_float3": [8.1, 9.2, 10.3],
                "inputs:a_double3": [10.1, 11.2, 12.3],
                "outputs:a_double3": [11.1, 12.2, 13.3]
            }
        ]
    }
}
