# MetaCrate MetaCrate is a test-driven, clean native Rust reimplementation of [LibreMetaverse](https://github.com/cinderblocks/libremetaverse). LibreMetaverse is a behavioral and API reference only: the finished project must not load, host, bind to, invoke, or ship the .NET implementation. The current stage is a compiling structural shell: crate boundaries mirror the .NET library projects, public C# type names have Rust declarations, every upstream NUnit case has a traceable placeholder, and every sample/tool project has a Rust binary target. Callable member signatures and semantic Rust test translations are the next two required gates; the current generated declarations are not yet the complete public API shim. The source snapshot, compatibility rules, dependency research, and ordered implementation plan are in [RUSTREWRITE.md](RUSTREWRITE.md). The authoritative compiled .NET surface is checked in as [`api/public-api.json`](api/public-api.json). Every type and member has a reviewed Rust destination in [`api/RUST-TYPES.tsv`](api/RUST-TYPES.tsv) and [`api/RUST-MAPPING.tsv`](api/RUST-MAPPING.tsv); [`api/README.md`](api/README.md) documents deterministic regeneration and validation. ```sh cargo build --workspace cargo test --workspace --no-run python3 tools/generate_rust_mapping.py --check ``` Running `cargo test --workspace` is intentionally red during the shim stage.