1#usda 1.0
2(
3    "WARNING: THIS FILE IS GENERATED BY usdGenSchema.  DO NOT EDIT."
4)
5
6class "NodeGraphNodeAPI" (
7    doc = """
8    This api helps storing information about nodes in node graphs.
9    """
10)
11{
12    uniform color3f ui:nodegraph:node:displayColor (
13        doc = """
14        This hint defines what tint the node should have in the node graph.
15        """
16    )
17    uniform token ui:nodegraph:node:expansionState (
18        allowedTokens = ["open", "closed", "minimized"]
19        doc = """
20        The current expansionState of the node in the ui.
21        'open' = fully expanded
22        'closed' = fully collapsed
23        'minimized' = should take the least space possible
24        """
25    )
26    uniform asset ui:nodegraph:node:icon (
27        doc = """
28        This points to an image that should be displayed on the node.  It is
29        intended to be useful for summary visual classification of nodes, rather
30        than a thumbnail preview of the computed result of the node in some
31        computational system.
32        """
33    )
34    uniform float2 ui:nodegraph:node:pos (
35        doc = """
36        Declared relative position to the parent in a node graph.
37        X is the horizontal position.
38        Y is the vertical position. Higher numbers correspond to lower positions
39        (coordinates are Qt style, not cartesian).
40
41        These positions are not explicitly meant in pixel space, but rather
42        assume that the size of a node is approximately 1.0x1.0. Where size-x is
43        the node width and size-y height of the node. Depending on
44        graph UI implementation, the size of a node may vary in each direction.
45
46        Example: If a node's width is 300 and it is position is at 1000, we
47        store for x-position: 1000 * (1.0/300)
48        """
49    )
50    uniform float2 ui:nodegraph:node:size (
51        doc = """
52        Optional size hint for a node in a node graph.
53        X is the width.
54        Y is the height.
55
56        This value is optional, because node size is often determined
57        based on the number of in- and outputs of a node.
58        """
59    )
60    uniform int ui:nodegraph:node:stackingOrder (
61        doc = """
62        This optional value is a useful hint when an application cares about
63        the visibility of a node and whether each node overlaps another.
64
65        Nodes with lower stacking order values are meant to be drawn below
66        higher ones. Negative values are meant as background. Positive values
67        are meant as foreground.
68        Undefined values should be treated as 0.
69
70        There are no set limits in these values.
71        """
72    )
73}
74
75class "SceneGraphPrimAPI" (
76    doc = """
77    Utility schema for display properties of a prim
78    """
79)
80{
81    uniform token ui:displayGroup (
82        doc = """When publishing a nodegraph or a material, it can be useful to
83        provide an optional display group, for organizational purposes and
84        readability. This is because often the usd shading hierarchy is rather
85        flat while we want to display it in organized groups.
86        """
87    )
88    uniform token ui:displayName (
89        doc = """When publishing a nodegraph or a material, it can be useful to
90        provide an optional display name, for readability.
91        """
92    )
93}
94
95class Backdrop "Backdrop" (
96    doc = """Provides a 'group-box' for the purpose of node graph organization.
97
98    Unlike containers, backdrops do not store the Shader nodes inside of them.
99    Backdrops are an organizational tool that allows Shader nodes to be visually
100    grouped together in a node-graph UI, but there is no direct relationship
101    between a Shader node and a Backdrop.
102
103    The guideline for a node-graph UI is that a Shader node is considered part
104    of a Backdrop when the Backdrop is the smallest Backdrop a Shader node's
105    bounding-box fits inside.
106
107    Backdrop objects are contained inside a NodeGraph, similar to how Shader
108    objects are contained inside a NodeGraph.
109
110    Backdrops have no shading inputs or outputs that influence the rendered
111    results of a NodeGraph. Therefore they can be safely ignored during import.
112
113    Like Shaders and NodeGraphs, Backdrops subscribe to the NodeGraphNodeAPI to
114    specify position and size.
115    """
116)
117{
118    uniform token ui:description (
119        doc = """The text label that is displayed on the backdrop in the node
120        graph. This help-description explains what the nodes in a backdrop do.
121        """
122    )
123}
124
125