Generate avatar-facing API shims

This commit is contained in:
2026-08-08 12:39:29 +02:00
parent a007313785
commit 376e63ac6d
7 changed files with 12787 additions and 285 deletions

View File

@@ -52,22 +52,28 @@ The current workspace is a structural baseline, not a working client:
matching independent ECMA-335 counts, with all 142 external signature types
resolved to cross-platform Rust or project-owned boundary types;
- the completed Types, StructuredData, Imaging, PrimMesher, rendering, main
wire/data, and core runtime/networking slices expose 2,404 final Rust-facing
types and all 25,257 callable members with real fields/constants/enum values
and standardized failing bodies;
wire/data, core runtime/networking, and avatar-facing manager slices expose
2,597 final Rust-facing types and all 27,191 callable members with real
fields/constants/enum values and standardized failing bodies;
- all 1,295 NUnit `[Test]`/`[TestCase]` invocations have compiling Rust test
entries that intentionally panic with their source identity and body hash;
- all nine sample/tool projects have compiling Rust binary targets;
- the 128 TestClient command source files are retained as a command inventory.
The remaining 662 generated type shims preserve names and module placement, but
do not yet expose their 5,532 callable members. `api/SURFACE.tsv` is an inventory aid,
The remaining 469 generated type shims preserve names and module placement, but
do not yet expose their 3,598 callable members. `api/SURFACE.tsv` is an inventory aid,
not proof of API coverage: it records declaration lines but does not fully parse
multiline signatures. Likewise, a generated `pending` test is a parity
placeholder, not a semantic translation. **This repository is therefore at
Stage 0 and does not yet satisfy either the full API-shim gate or the full
test-suite gate.**
The avatar-facing slice preserves the C# agent, movement/camera, appearance and
outfit-policy, inventory/AIS/store, asset/cache, avatar, and animesh concepts.
Long-running mapped calls retain an explicit cross-platform cancellation token
and return the shared `NotImplemented { csharp_member }` error; events return a
typed subscription guard so callback lifetime is visible to Rust callers.
No functional porting starts until both missing gates are complete across the
entire workspace, rather than one crate at a time: