{
    "nodes": {
        "omni.graph.test.Add2IntegerArrays": {
            "description": "Compute the array 'output' as the element-wise sums of the input arrays 'a' and 'b'.  If either of the input arrays have size 1 then that value will be added to every element  of the other to form the output.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.ComposeDouble3C": {
            "description": "Example node that takes in the components of three doubles and outputs a double3",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.ComputeErrorCpp": {
            "description": "Generates a customizable error during its compute(), for testing purposes. C++ version.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.ComputeErrorPy": {
            "description": "Generates a customizable error during its compute(), for testing purposes. Python version.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.DecomposeDouble3C": {
            "description": "Example node that takes in a double[3] and outputs scalars that are its components",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.ExecInputEnabledTest": {
            "description": "Tests exec input is enabled",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.Multiply2IntegerArrays": {
            "description": "Compute the array 'output' as the element-wise products of the input arrays 'a' and 'b'.  If either of the input arrays have size 1 then that value will be multipled to every element  of the other to form the output.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.PerturbBundlePoints": {
            "description": "Randomly modify positions on all points attributes within a bundle",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.PerturbPoints": {
            "description": "Randomly modify positions on a set of points",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.PerturbPointsGpu": {
            "description": "Randomly modify positions on a set of points. Same as OgnPerturbPoints.ogn, except written in CUDA.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.PerturbPointsPy": {
            "description": "Randomly modify positions on a set of points",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.RandomBundlePoints": {
            "description": "Generate a bundle of 'bundleSize' arrays of 'pointCount' points at random locations within the bounding cube delineated by the corner points 'minimum' and 'maximum'.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.RandomPoints": {
            "description": "Generate an array of the specified number of points at random locations within the bounding cube",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.RandomPointsGpu": {
            "description": "Generate an array of the specified number of points at random locations within the bounding cube. This is the same node as OgnRandomPoints.ogn, except the memory is stored on the GPU.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.RandomPointsPy": {
            "description": "Generate an array of the specified number of points at random locations within the bounding cube",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.SubtractDoubleC": {
            "description": "Example node that subtracts 2 doubles from each other",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestAllDataTypes": {
            "description": "This node is meant to exercise data access for all available data types, including all legal combinations of tuples, arrays, and bundle members. This node definition is a duplicate of OgnTestAllDataTypesPy.ogn, except the implementation language is C++.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestAllDataTypesCarb": {
            "description": "This node is meant to exercise the data access for all available data types used by the Carbonite type configuration file. It includes all other data types as well, as confirmation that non-overridden types retain their default types.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestAllDataTypesPod": {
            "description": "This node is meant to exercise the data access for all available data types used by the POD type configuration file. It includes all other data types as well, to confirm that non-overridden types retain their default types.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestAllDataTypesPy": {
            "description": "This node is meant to exercise data access for all available data types, including all legal combinations of tuples, arrays, and bundle members. The test section here is intentionally omitted so that the regression test script can programmatically generate tests for all known types, reducing the change of unintentional omissions. This node definition is a duplicate of OgnTestAllDataTypes.ogn, except the implementation language is Python.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestAllowedTokens": {
            "description": "Example node testing the allowedToken list on attributes",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestCategoryDefinitions": {
            "description": "Test node that tests custom category definitions",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestDataModel": {
            "description": "Helper node that allows to test that core features of datamodel are working as expected (CoW, DataStealing, ...)",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestDeformer": {
            "description": "Test deformer node that applies a sine wave to a mesh. Set up for Realm processing in the compute(), and  will not compute if connected to upstream node of same type with multiplier set to zero - for testing of  dynamic scheduling",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestDynamicAttributeMemory": {
            "description": "Test node that exercises various memory locations for dynamic attributes. Add a dynamic input attribute named 'array' with type 'int[]' and a dynamic output attribute named 'array' with type 'int[]' to exercise the node. The inputs array will be copied to the output array using the requested memory space.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestGather": {
            "description": "Test node to test out the effects of vectorization.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestGatherRandomRotations": {
            "description": "A sample node that gathers (vectorizes) a bunch of translations and rotations for OmniHydra.  It lays out the objects in a grid and assigns a random value for the rotation ",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestGracefulShutdown": {
            "description": "Test node that exercises the internal state in such a way that if the extension shuts down before the state can be released on the nodes it will produce an error. Test scripts can use this to verify that the extension does not shut down prematurely, giving its nodes a chance to release any resources they may have acquired for their internal state.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestOptionalExtendedAttribute": {
            "description": "Test node that exercises the optional flag on extended attributes",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestReadVariablePy": {
            "description": "Node that reads a value from a variable",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestScatter": {
            "description": "Test node to test out the effects of vectorization.  Scatters the results of gathered compute back to FC",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestSchedulingHintsList": {
            "description": "Test node for scheduling hints specified by a list. Note that the scheduling hints do not correspond to what the node actually does, they are just for testing.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TestSchedulingHintsString": {
            "description": "Test node for scheduling hints specified by a string. Note that the scheduling hints do not correspond to what the node actually does, they are just for testing.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestSubtract": {
            "description": "Example node subtracting a value from a vector, written in Python",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TupleArrays": {
            "description": "This is a test node that passes tuple array values through, multiplied by a constant",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        },
        "omni.graph.test.TypeResolution": {
            "description": "Test node, explicitly constructed to make the attribute type resolution mechanism testable. It has output attributes with union and any types whose type will be resolved at runtime when they are connected to inputs with a fixed type. The extra string output provides the resolution information to the test script for verification",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestUsdCasting": {
            "description": "This node is meant to exercise special bundle member casting used by USD types. It just copies members of the input bundle to the output bundle when any of the recognized USD casting types are found.",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "C++"
        },
        "omni.graph.test.TestWriteVariablePy": {
            "description": "Node that test writes a value to a variable in python",
            "version": 1,
            "extension": "omni.graph.test",
            "language": "Python"
        }
    }
}
