API shims: world, social, estate, and marketplace managers #10

Closed
opened 2026-08-08 08:11:54 +00:00 by hugo · 1 comment
Owner

Objective

Implement complete public signatures for world-state and social/service managers.

Deliverables

  • Cover objects, parcels, terrain, grid, environment, estate, experiences, directory, friends, groups, sound, interest list, marketplace, and user-report surfaces.
  • Map event payloads, request/reply types, flags, nested records, and async operations.
  • Preserve server-extensible values without losing unknown cases.
  • Use standardized failing bodies and real constants only.

Validation

  • Every owned catalog member has a reviewed mapping.
  • Compile representative search, group, friend, parcel, object, estate, terrain, and marketplace workflows.
  • Coverage report contains no unresolved core manager entries.

Prerequisite

Stage 0 project setup is complete. Do not implement production behavior in this milestone.

Project constraints

  • Implement the public surface in native Rust only; no CLR hosting, FFI bridge, subprocess, RPC, or C# fallback.
  • Preserve recognizable API concepts while applying the documented Rust mapping rules.
  • Do not weaken parity requirements or add functional behavior outside this issue.
  • Update the API mapping, coverage report, public docs, and relevant handover status in the same change.
## Objective Implement complete public signatures for world-state and social/service managers. ## Deliverables - Cover objects, parcels, terrain, grid, environment, estate, experiences, directory, friends, groups, sound, interest list, marketplace, and user-report surfaces. - Map event payloads, request/reply types, flags, nested records, and async operations. - Preserve server-extensible values without losing unknown cases. - Use standardized failing bodies and real constants only. ## Validation - Every owned catalog member has a reviewed mapping. - Compile representative search, group, friend, parcel, object, estate, terrain, and marketplace workflows. - Coverage report contains no unresolved core manager entries. ## Prerequisite Stage 0 project setup is complete. Do not implement production behavior in this milestone. ## Project constraints - Implement the public surface in native Rust only; no CLR hosting, FFI bridge, subprocess, RPC, or C# fallback. - Preserve recognizable API concepts while applying the documented Rust mapping rules. - Do not weaken parity requirements or add functional behavior outside this issue. - Update the API mapping, coverage report, public docs, and relevant handover status in the same change.
hugo added this to the 02 - Full public API signature shim milestone 2026-08-08 08:11:54 +00:00
hugo added the enhancement label 2026-08-08 08:11:54 +00:00
Author
Owner

Implemented and verified in commit 1291234. Added complete callable failure-only Rust shims for all 198 remaining main-assembly types and 1,577 members across object, parcel, terrain, grid, environment, estate, experiences, directory, friends, groups, sound, interest-list, marketplace, and reporting surfaces. The LibreMetaverse assembly is now complete at 2,711 types / 27,281 members with zero pending shells. Events use typed payloads and subscription guards, async operations retain cancellation and Result failures, all 17 world flag types preserve unknown raw bits, real constants keep their cataloged numeric type, and IAsyncEnumerable is a cataloged project-owned cross-platform boundary type only. Verification passed: mapping and shim regeneration checks, cargo fmt, git diff check, cargo check --workspace --all-targets, cargo test --workspace --no-run, cargo clippy with -D warnings, cargo doc --workspace --no-deps, exact catalog/generated ID and zero-pending audit, and 13 focused shim regression tests including representative search, group, friend, parcel, object, estate, terrain, and marketplace call sites.

Implemented and verified in commit 1291234. Added complete callable failure-only Rust shims for all 198 remaining main-assembly types and 1,577 members across object, parcel, terrain, grid, environment, estate, experiences, directory, friends, groups, sound, interest-list, marketplace, and reporting surfaces. The LibreMetaverse assembly is now complete at 2,711 types / 27,281 members with zero pending shells. Events use typed payloads and subscription guards, async operations retain cancellation and Result failures, all 17 world flag types preserve unknown raw bits, real constants keep their cataloged numeric type, and IAsyncEnumerable is a cataloged project-owned cross-platform boundary type only. Verification passed: mapping and shim regeneration checks, cargo fmt, git diff check, cargo check --workspace --all-targets, cargo test --workspace --no-run, cargo clippy with -D warnings, cargo doc --workspace --no-deps, exact catalog/generated ID and zero-pending audit, and 13 focused shim regression tests including representative search, group, friend, parcel, object, estate, terrain, and marketplace call sites.
hugo closed this issue 2026-08-08 10:45:08 +00:00
Sign in to join this conversation.