#usda 1.0
(
    """
    This museum case tests instancing functionality when instanced
    prims contain variants.
    """
)

def "InstancedModel" (
    instanceable = True
    references = @./ref.usda@</Model>
    add variantSets = ["x"]
    variants = {
        string x = "a"
        string y = "a"
    }
)
{
    variantSet "x" = {
        "a" {
            double x = 1.0

            over "geom"
            {
                double x = 1.0
            }

            def "from_a_variant"
            {
            }
        }
        "b" {
            double x = 2.0

            over "geom"
            {
                double x = 2.0
            }

            def "from_b_variant"
            {
            }
        }
    }
}

def "UninstancedModel" (
    instanceable = False
    references = @./ref.usda@</Model>
    add variantSets = ["x"]
    variants = {
        string x = "b"
        string y = "b"
    }
)
{
    variantSet "x" = {
        "a" {
            double x = 3.0

            over "geom"
            {
                double x = 3.0
            }

            def "from_a_variant"
            {
            }
        }
        "b" {
            double x = 4.0

            over "geom"
            {
                double x = 4.0
            }

            def "from_b_variant"
            {
            }
        }
    }
}
