[package]
edition = "2024"
rust-version = "1.96"
name = "openusd"
version = "0.7.0"
build = false
exclude = ["/fixtures"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust native USD library"
readme = "README.md"
keywords = [
"usd",
"usda",
"usdc",
"usdz",
"pxr",
]
categories = [
"graphics",
"rendering",
"rendering::data-formats",
]
license = "MIT"
repository = "https://github.com/mxpv/openusd"
[package.metadata.docs.rs]
all-features = true
[features]
serde = [
"dep:serde",
"half/serde",
]
[lib]
name = "openusd"
path = "src/lib.rs"
[[example]]
name = "author_variant_and_reference"
path = "examples/author_variant_and_reference.rs"
[[example]]
name = "dump_usdc"
path = "examples/dump_usdc.rs"
[[example]]
name = "usdtree"
path = "examples/usdtree.rs"
[[example]]
name = "write_usda"
path = "examples/write_usda.rs"
[[example]]
name = "write_usdc"
path = "examples/write_usdc.rs"
[[test]]
name = "archive_writer_roundtrip"
path = "tests/archive_writer_roundtrip.rs"
[[test]]
name = "asset_resolution"
path = "tests/asset_resolution.rs"
[[test]]
name = "binary_format"
path = "tests/binary_format.rs"
[[test]]
name = "binary_writer_roundtrip"
path = "tests/binary_writer_roundtrip.rs"
required-features = ["serde"]
[[test]]
name = "changes"
path = "tests/changes.rs"
[[test]]
name = "collections"
path = "tests/collections.rs"
[[test]]
name = "combine_chain"
path = "tests/combine_chain.rs"
[[test]]
name = "composition"
path = "tests/composition.rs"
[[test]]
name = "cross_format_roundtrip"
path = "tests/cross_format_roundtrip.rs"
required-features = ["serde"]
[[test]]
name = "interp"
path = "tests/interp.rs"
[[test]]
name = "schema_registry"
path = "tests/schema_registry.rs"
[[test]]
name = "stage"
path = "tests/stage.rs"
[[test]]
name = "text_format"
path = "tests/text_format.rs"
required-features = ["serde"]
[[test]]
name = "text_writer_roundtrip"
path = "tests/text_writer_roundtrip.rs"
required-features = ["serde"]
[[test]]
name = "value_invalidation"
path = "tests/value_invalidation.rs"
[[test]]
name = "value_resolution"
path = "tests/value_resolution.rs"
[dependencies.bitflags]
version = "2.11.1"
[dependencies.bytemuck]
version = "1.14.0"
features = ["derive"]
[dependencies.derive_more]
version = "2.1.1"
features = [
"deref",
"deref_mut",
"add",
"add_assign",
"mul",
"mul_assign",
"not",
"sum",
"from",
]
[dependencies.half]
version = "2.3.1"
features = [
"bytemuck",
"num-traits",
]
[dependencies.logos]
version = "0.16.0"
[dependencies.lz4_flex]
version = "0.14.0"
[dependencies.num-traits]
version = "0.2.17"
[dependencies.regex-lite]
version = "0.1.9"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.strum]
version = "0.28.0"
features = ["derive"]
[dependencies.thiserror]
version = "2"
[dependencies.zip]
version = "8.2.0"
features = ["deflate"]
default-features = false
[dev-dependencies.diff_json]
version = "0.1"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
await_holding_lock = "deny"
char_lit_as_u8 = "deny"
checked_conversions = "deny"
dbg_macro = "deny"
debug_assert_with_mut_call = "deny"
disallowed_script_idents = "deny"
doc_markdown = "deny"
empty_enums = "deny"
enum_glob_use = "deny"
equatable_if_let = "deny"
exit = "deny"
expl_impl_clone_on_copy = "deny"
explicit_deref_methods = "deny"
explicit_into_iter_loop = "deny"
fallible_impl_from = "deny"
filter_map_next = "deny"
flat_map_option = "deny"
float_cmp_const = "deny"
fn_params_excessive_bools = "deny"
fn_to_numeric_cast_any = "deny"
from_iter_instead_of_collect = "deny"
if_let_mutex = "deny"
implicit_clone = "deny"
imprecise_flops = "deny"
index_refutable_slice = "deny"
inefficient_to_string = "deny"
invalid_upcast_comparisons = "deny"
iter_not_returning_iterator = "deny"
large_digit_groups = "deny"
large_stack_arrays = "deny"
large_types_passed_by_value = "deny"
let_unit_value = "deny"
linkedlist = "deny"
lossy_float_literal = "deny"
macro_use_imports = "deny"
manual_ok_or = "deny"
map_flatten = "deny"
map_unwrap_or = "deny"
match_same_arms = "deny"
match_wild_err_arm = "deny"
match_wildcard_for_single_variants = "deny"
mem_forget = "deny"
missing_enforced_import_renames = "deny"
mut_mut = "deny"
mutex_integer = "deny"
needless_borrow = "deny"
needless_continue = "deny"
needless_for_each = "deny"
negative_feature_names = "deny"
nonstandard_macro_braces = "deny"
option_option = "deny"
path_buf_push_overwrite = "deny"
ptr_as_ptr = "deny"
rc_mutex = "deny"
ref_option_ref = "deny"
rest_pat_in_fully_bound_structs = "deny"
same_functions_in_if_condition = "deny"
semicolon_if_nothing_returned = "deny"
single_match_else = "deny"
string_add = "deny"
string_add_assign = "deny"
string_lit_as_bytes = "deny"
trailing_empty_array = "deny"
trait_duplication_in_bounds = "deny"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
unnested_or_patterns = "deny"
unused_self = "deny"
useless_transmute = "deny"
verbose_file_reads = "deny"
zero_sized_map_values = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
trivial_numeric_casts = "deny"
unsafe_code = "deny"
[lints.rust.future_incompatible]
level = "deny"
priority = -1
[lints.rust.nonstandard_style]
level = "deny"
priority = -1
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rustdoc]
missing_crate_level_docs = "deny"