rust-usd 0.0.4

Rust bindings to OpenUSD (pxr C++): stage open, prim/mesh attrs, variants, sublayer authoring, UsdShade read+write, ArResolver hook.
#usda 1.0
(
    defaultPrim = "Cube"
)

def Mesh "Cube" (
    variants = {
        string color = "red"
    }
    add variantSets = "color"
)
{
    uniform token subdivisionScheme = "none"
    int[] faceVertexCounts = [4]
    int[] faceVertexIndices = [0, 1, 2, 3]
    point3f[] points = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0)]

    variantSet "color" = {
        "blue" {
            color3f[] primvars:displayColor = [(0, 0, 1)]
        }
        "green" {
            color3f[] primvars:displayColor = [(0, 1, 0)]
        }
        "red" {
            color3f[] primvars:displayColor = [(1, 0, 0)]
        }
    }
}