# openusd [![Crates.io Version](https://img.shields.io/crates/v/openusd)](https://crates.io/crates/openusd) [![docs.rs](https://img.shields.io/docsrs/openusd)](https://docs.rs/crate/openusd/latest) [![CI](https://github.com/mxpv/openusd/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/mxpv/openusd/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/mxpv/openusd/graph/badge.svg?token=LAPV2T3AI8)](https://codecov.io/gh/mxpv/openusd) [USD](https://openusd.org/release/index.html) is an open-source framework developed by `Pixar` for the efficient interchange of 3D computer graphics data across different software applications. This project aims to implement [OpenUSD](https://github.com/PixarAnimationStudios/OpenUSD) library in plain Rust (with no native C++ dependencies). ## Documentation The following list of docs was used during crate development: - [User documentation](https://openusd.org/release/index.html) - [Book of USD](https://remedy-entertainment.github.io/USDBook/) - [API Documentation](https://openusd.org/release/api/index.html) - [USD Cookbook](https://github.com/ColinKennedy/USD-Cookbook) ## Supported features The USD library is a fairly large project to replicate. For the most up-to-date information on what features are currently supported by the crate, follow issue https://github.com/mxpv/openusd/issues/1 in our repository. ## Getting started To begin, simply clone the repository including its submodules. Make sure you have `Rust` already installed on your system. ```bash # Clone the project git clone --recurse-submodules https://github.com/mxpv/openusd.git cd openusd # Use cargo to build, test, lint, etc. cargo build cargo clippy ``` ## Minimum supported Rust version (MSRV) The project typically targets the latest stable Rust version. Please refer to [rust-toolchain.toml](./rust-toolchain.toml) for exact version currently used by our CIs.