#usda 1.0
(
    customLayerData = {
        dictionary cameraSettings = {
            dictionary Front = {
                double3 position = (0, 0, 50000)
                double radius = 500
            }
            dictionary Perspective = {
                double3 position = (578.8124999999998, 578.8124999999999, 578.8125000000003)
                double3 target = (0, 0, 0)
            }
            dictionary Right = {
                double3 position = (-50000, 0, -1.1102230246251565e-11)
                double radius = 500
            }
            dictionary Top = {
                double3 position = (-4.329780281177466e-12, 50000, 1.1102230246251565e-11)
                double radius = 500
            }
            string boundCamera = "/OmniverseKit_Persp"
        }
        dictionary omni_layer = {
            dictionary muteness = {
            }
        }
        dictionary renderSettings = {
            float3 "rtx:raytracing:inscattering:singleScatteringAlbedo" = (0.9, 0.9, 0.9)
            float3 "rtx:raytracing:inscattering:transmittanceColor" = (0.5, 0.5, 0.5)
        }
    }
    defaultPrim = "Root"
    endTimeCode = 100
    metersPerUnit = 0.01
    startTimeCode = 0
    timeCodesPerSecond = 24
    upAxis = "Y"
)

def Xform "Root"
{
    def OmniGraph "ActionGraph"
    {
		token evaluator:type = "execution"
        token fabricCacheBacking = "Shared"
        int2 fileFormatVersion = (1, 3)
        token pipelineStage = "pipelineStageOnDemand"

        def OmniGraphNode "on_tick" (
            prepend apiSchemas = ["NodeGraphNodeAPI"]
        )
        {
            custom uint inputs:framePeriod = 0
            custom bool inputs:onlyPlayback = 1
            custom token node:type = "omni.graph.action.OnTick"
            custom int node:typeVersion = 1
            custom double outputs:absoluteSimTime = 0
            custom double outputs:deltaSeconds = 0
            custom double outputs:frame = 0
            custom bool outputs:isPlaying = 0
            custom uint outputs:tick = 0 (
                customData = {
                    bool isExecution = 1
                }
            )
            custom double outputs:time = 0
            custom double outputs:timeSinceStart = 0
            uniform token ui:nodegraph:node:expansionState = "open"
            uniform float2 ui:nodegraph:node:pos = (52.620888, 65.83809)
        }

        def OmniGraphNode "increment" (
            prepend apiSchemas = ["NodeGraphNodeAPI"]
        )
        {
            custom double inputs:increment = 1
            custom token inputs:value = ""
            prepend token inputs:value.connect = </Root/ActionGraph/read_prim_attribute.outputs:value>
            custom token node:type = "omni.graph.nodes.Increment"
            custom int node:typeVersion = 1
            custom token outputs:result
            uniform token ui:nodegraph:node:expansionState = "open"
            uniform float2 ui:nodegraph:node:pos = (330.42627, 304.84106)
        }

        def OmniGraphNode "graph_target" (
            prepend apiSchemas = ["NodeGraphNodeAPI"]
        )
        {
            custom token inputs:targetPath
            custom token node:type = "omni.graph.nodes.GraphTarget"
            custom int node:typeVersion = 1
            custom token outputs:primPath = ""
            uniform token ui:nodegraph:node:expansionState = "open"
            uniform float2 ui:nodegraph:node:pos = (-196.9863, 332.03223)
        }

        def OmniGraphNode "read_prim_attribute" (
            prepend apiSchemas = ["NodeGraphNodeAPI"]
        )
        {
            custom token inputs:name = "count"
            custom rel inputs:prim
            custom token inputs:primPath = ""
            prepend token inputs:primPath.connect = </Root/ActionGraph/graph_target.outputs:primPath>
            custom timecode inputs:usdTimecode = -1
            custom bool inputs:usePath = 1
            custom token node:type = "omni.graph.nodes.ReadPrimAttribute"
            custom int node:typeVersion = 1
            custom token outputs:value
            custom uint64 state:target = 0
            custom timecode state:usdTimecode = -1
            uniform token ui:nodegraph:node:expansionState = "open"
            uniform float2 ui:nodegraph:node:pos = (57.52121, 351.50977)
        }

        def OmniGraphNode "write_prim_attribute" (
            prepend apiSchemas = ["NodeGraphNodeAPI"]
        )
        {
            custom uint inputs:execIn = 0
            prepend uint inputs:execIn.connect = </Root/ActionGraph/on_tick.outputs:tick>
            custom token inputs:name = "count"
            custom rel inputs:prim
            custom token inputs:primPath = ""
            prepend token inputs:primPath.connect = </Root/ActionGraph/graph_target.outputs:primPath>
            custom bool inputs:usePath = 1
            custom token inputs:value = ""
            prepend token inputs:value.connect = </Root/ActionGraph/increment.outputs:result>
            custom token node:type = "omni.graph.nodes.WritePrimAttribute"
            custom int node:typeVersion = 1
            custom uint outputs:execOut = 0 (
                customData = {
                    bool isExecution = 1
                }
            )
            uniform token ui:nodegraph:node:expansionState = "open"
            uniform float2 ui:nodegraph:node:pos = (600.2972, 89.2115)
        }
    }

    def Xform "Instance" (
        prepend apiSchemas = ["OmniGraphAPI"]
    )
    {
        custom int count = 0
        rel omniGraphs = </Root/ActionGraph>
        double3 xformOp:rotateXYZ = (0, 0, 0)
        double3 xformOp:scale = (1, 1, 1)
        double3 xformOp:translate = (0, 0, 0)
        uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
    }
}

