Complete Rust API and migration documentation (#102)
Some checks failed
Native code generation / deterministic (push) Failing after 2m5s
Concurrency and resource soak audit / soak (push) Failing after 6m22s
Documentation / documentation (push) Failing after 1m25s
Imaging and meshing gate / native (push) Failing after 2m47s
JPEG 2000 feature / linux (push) Successful in 3m54s
Release platform and feature matrix / audit (push) Successful in 37s
Native Rust workspace compile / compile (push) Failing after 1m14s
Skia feature / linux (push) Successful in 30m46s
Dependency and supply-chain audit / audit (push) Failing after 8m56s
Release platform and feature matrix / matrix (false, linux-stable-minimal, x86_64-unknown-linux-gnu, stable) (push) Failing after 9m16s
Release platform and feature matrix / matrix (false, macos-stable-portable, x86_64-apple-darwin, stable) (push) Failing after 1m20s
Release platform and feature matrix / matrix (false, windows-stable-portable, x86_64-pc-windows-gnu, stable) (push) Failing after 1m18s
Release platform and feature matrix / matrix (true, linux-stable-default, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-features, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-release-surface, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-msrv-portable, x86_64-unknown-linux-gnu, 1.96.0) (push) Has been cancelled
Some checks failed
Native code generation / deterministic (push) Failing after 2m5s
Concurrency and resource soak audit / soak (push) Failing after 6m22s
Documentation / documentation (push) Failing after 1m25s
Imaging and meshing gate / native (push) Failing after 2m47s
JPEG 2000 feature / linux (push) Successful in 3m54s
Release platform and feature matrix / audit (push) Successful in 37s
Native Rust workspace compile / compile (push) Failing after 1m14s
Skia feature / linux (push) Successful in 30m46s
Dependency and supply-chain audit / audit (push) Failing after 8m56s
Release platform and feature matrix / matrix (false, linux-stable-minimal, x86_64-unknown-linux-gnu, stable) (push) Failing after 9m16s
Release platform and feature matrix / matrix (false, macos-stable-portable, x86_64-apple-darwin, stable) (push) Failing after 1m20s
Release platform and feature matrix / matrix (false, windows-stable-portable, x86_64-pc-windows-gnu, stable) (push) Failing after 1m18s
Release platform and feature matrix / matrix (true, linux-stable-default, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-features, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-release-surface, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-msrv-portable, x86_64-unknown-linux-gnu, 1.96.0) (push) Has been cancelled
This commit is contained in:
33
README.md
33
README.md
@@ -1,20 +1,23 @@
|
||||
# MetaCrate
|
||||
|
||||
The [Rust API and C# migration guide](docs/rust-api-guide.md) explains crate
|
||||
selection, ownership, async cancellation, errors, events, native prerequisites,
|
||||
and credential-safe OpenSim operation. The generated
|
||||
[documentation coverage report](api/DOCUMENTATION-COVERAGE.md) ties the public
|
||||
Rust surface back to the pinned C# type and member mappings.
|
||||
|
||||
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
|
||||
invocation has a traceable catalog entry, and every sample/tool project has a
|
||||
Rust binary target. Types, StructuredData, Imaging, PrimMesher, the MeshFoundry rendering adapter, and
|
||||
the main assembly's packet/message/asset/primitive wire-data, core
|
||||
runtime/networking, avatar-facing manager, world/social/service manager, RLV,
|
||||
LSL tools, Utilities, Vivox, and WebRTC slices now have complete callable,
|
||||
failure-only signatures. The independent downstream fixture compiles every
|
||||
cataloged type and member with zero exclusions, and all 1,289 NUnit invocations
|
||||
now have reviewed Rust parity cases. Production behavior implementation is the
|
||||
next stage.
|
||||
host, bind to, invoke, or ship the .NET implementation. The project is in
|
||||
release hardening: crate boundaries mirror the .NET libraries, every mapped
|
||||
public type and member has a documented native Rust destination, and every
|
||||
sample/tool project has a tested Rust binary target. Types, structured data,
|
||||
imaging, meshing/rendering, packet and message codecs, client/network runtime,
|
||||
avatar/world/social/service managers, RLV, LSL tools, utilities, Vivox, and
|
||||
WebRTC are implemented without a CLR bridge. The independent downstream
|
||||
fixture compiles every cataloged type and member with zero exclusions, and all
|
||||
1,289 upstream NUnit invocations have reviewed Rust parity cases.
|
||||
|
||||
A case counts as translated only when an explicit Rust test body calls the
|
||||
mapped API and retains the upstream identity and body hash. The parity ledger
|
||||
@@ -28,9 +31,9 @@ The authoritative compiled .NET surface is checked in as
|
||||
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.
|
||||
All API crates expose the same typed `Error` for fallible unimplemented members;
|
||||
infallible shims use `libremetaverse_types::unimplemented_api!` so placeholders
|
||||
cannot look like successful behavior.
|
||||
API mappings record ownership, async, error, overload, and native implementation
|
||||
decisions, and the generated rustdoc keeps those contracts attached to their
|
||||
exact C# documentation IDs.
|
||||
|
||||
Building MetaCrate requires Rust 1.96 or newer.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user