facett-model3d/Cargo.toml
[package]
name = "facett-model3d"
description = "facett — a reusable 3D-model viewer Facet: load an embedded glTF mesh, slowly spin it (injected-clock deterministic), CPU-light it, and tint a named sub-mesh (e.g. \"eyes\") green→yellow→red by a status scalar"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
".nornir/",
]
[features]
# L4: functional-status emitter passthrough (see facett-core). No-op in release.
testmatrix = ["facett-core/testmatrix"]
[dependencies]
facett-core = { path = "../facett-core", version = "0.3.0" }
egui = { workspace = true }
serde = { version = "1", features = ["derive"] }
serde_json = { workspace = true }
# Pure-Rust glTF/.glb reader (cached as 1.4.1). Wasm-OK; matches facett's
# CPU-first, headless-testable design — no GPU render pass required.
gltf = { version = "1", default-features = false, features = ["import", "utils", "names"] }
[dev-dependencies]
# `wgpu_no_default_features`, NOT `wgpu` (LAW 4 / GFX_V2 Decision 0). eframe's plain
# `wgpu` feature expands to `egui-wgpu/default` -> `wgpu/default` -> `wgpu-hal/default`
# -> **glow**, the GL backend this constellation dropped. Cargo features are additive
# and unify across the whole graph, so one DEV dependency spelling it this way turns the
# GL backend on for every crate here, normal edges included. Backends come from the
# workspace `wgpu` entry.
eframe = { version = "0.36", default-features = false, features = ["default_fonts", "wgpu_no_default_features", "wayland", "x11"] }
egui_kittest = { version = "0.36", features = ["snapshot"] }
epaint = "0.36"
[[example]]
name = "skull_demo"
path = "examples/skull_demo.rs"
# Open any glTF/.glb: `cargo run -p facett-model3d --example view_glb -- model.glb`
[[example]]
name = "view_glb"
path = "examples/view_glb.rs"
# One-off asset generator: builds assets/skull.glb from the procedural skull mesh.
# Run with `cargo run -p facett-model3d --bin gen_skull` (the committed asset is the
# output; re-run only to regenerate). Kept out of the default build via required-features.
[[bin]]
name = "gen_skull"
path = "src/bin/gen_skull.rs"