[package]
edition = "2021"
name = "draco-io"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust IO helpers for Draco geometry compression formats"
readme = "README.md"
keywords = [
"draco",
"gltf",
"obj",
"ply",
"fbx",
]
categories = [
"compression",
"encoding",
"graphics",
"parser-implementations",
]
license = "Apache-2.0"
repository = "https://github.com/Filyus/draco-rust"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all-readers = [
"fbx-reader",
"gltf-reader",
"obj-reader",
"ply-reader",
]
all-writers = [
"fbx-writer",
"gltf-writer",
"obj-writer",
"ply-writer",
]
compression = ["miniz_oxide"]
default = [
"all-writers",
"all-readers",
"compression",
"point_cloud_decode",
]
fbx-reader = ["scene"]
fbx-writer = []
gltf-reader = [
"draco-core/decoder",
"scene",
"dep:serde",
"dep:serde_json",
]
gltf-writer = [
"draco-core/encoder",
"scene",
"dep:serde",
"dep:serde_json",
]
legacy-bitstream-decode = ["draco-core/legacy_bitstream_decode"]
obj-reader = []
obj-writer = []
ply-reader = ["dep:byteorder"]
ply-writer = []
point_cloud_decode = ["draco-core/point_cloud_decode"]
scene = []
[lib]
name = "draco_io"
path = "src/lib.rs"
[[example]]
name = "check_dedup"
path = "examples/check_dedup.rs"
required-features = ["all-readers"]
[[example]]
name = "decode_drc"
path = "examples/decode_drc.rs"
required-features = ["all-readers"]
[[example]]
name = "decode_rust_lamp"
path = "examples/decode_rust_lamp.rs"
required-features = ["all-readers"]
[[example]]
name = "encode_lamp"
path = "examples/encode_lamp.rs"
required-features = [
"all-writers",
"all-readers",
]
[[example]]
name = "fbx_demo"
path = "examples/fbx_demo.rs"
required-features = [
"all-writers",
"all-readers",
]
[[example]]
name = "fbx_inspect"
path = "examples/fbx_inspect.rs"
required-features = ["fbx-reader"]
[[example]]
name = "gltf_demo"
path = "examples/gltf_demo.rs"
required-features = [
"gltf-writer",
"gltf-reader",
]
[[example]]
name = "polymorphic"
path = "examples/polymorphic.rs"
required-features = ["all-writers"]
[[example]]
name = "unified_api"
path = "examples/unified_api.rs"
required-features = ["all-writers"]
[[example]]
name = "unified_readers"
path = "examples/unified_readers.rs"
required-features = [
"all-writers",
"all-readers",
]
[[test]]
name = "api_alignment"
path = "tests/api_alignment.rs"
required-features = [
"all-writers",
"all-readers",
]
[[test]]
name = "cpp_decode_test"
path = "tests/cpp_decode_test.rs"
required-features = ["all-readers"]
[[test]]
name = "encoding_speed_test"
path = "tests/encoding_speed_test.rs"
required-features = [
"all-writers",
"all-readers",
]
[[test]]
name = "geometry_contract"
path = "tests/geometry_contract.rs"
required-features = [
"all-writers",
"all-readers",
]
[[test]]
name = "glb_roundtrip_test"
path = "tests/glb_roundtrip_test.rs"
required-features = [
"gltf-writer",
"gltf-reader",
]
[[test]]
name = "gltf_compress_assets_test"
path = "tests/gltf_compress_assets_test.rs"
[[test]]
name = "gltf_compress_fuzz_test"
path = "tests/gltf_compress_fuzz_test.rs"
[[test]]
name = "gltf_compress_test"
path = "tests/gltf_compress_test.rs"
[[test]]
name = "ply_bunny_test"
path = "tests/ply_bunny_test.rs"
required-features = [
"ply-writer",
"ply-reader",
]
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
required-features = [
"all-writers",
"all-readers",
]
[dependencies.byteorder]
version = "1.5.0"
optional = true
[dependencies.draco-core]
version = "1.0.0"
default-features = false
[dependencies.miniz_oxide]
version = "0.6"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.148"
optional = true
[dependencies.thiserror]
version = "2.0.17"
[dev-dependencies.tempfile]
version = "3.24.0"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(docsrs)"]