Implement the main crate public signatures for wire/data models without implementing codecs or network behavior.
Deliverables
Cover packet/message types, bit packing, permissions, primitives, texture/media/particle records, materials, assets, GLTF DTOs, archives, and import/export models.
Preserve exact public numeric widths, constants, enum values, flag bits, nested types, and event payload layouts.
Map generated packet APIs from the authoritative catalog.
Use standardized failing bodies for all operations.
Validation
All owned catalog records are mapped and callable.
Compile downstream construction and method-call fixtures for each domain.
No dynamic argument bags, erased values, or undocumented overload loss.
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 the main crate public signatures for wire/data models without implementing codecs or network behavior.
## Deliverables
- Cover packet/message types, bit packing, permissions, primitives, texture/media/particle records, materials, assets, GLTF DTOs, archives, and import/export models.
- Preserve exact public numeric widths, constants, enum values, flag bits, nested types, and event payload layouts.
- Map generated packet APIs from the authoritative catalog.
- Use standardized failing bodies for all operations.
## Validation
- All owned catalog records are mapped and callable.
- Compile downstream construction and method-call fixtures for each domain.
- No dynamic argument bags, erased values, or undocumented overload loss.
## 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:53 +00:00
Implemented and pushed in commit 7086af9. Generated the complete catalog-driven, failure-only Rust surface for issue #7's main-assembly wire/data subset: 2,209 types and 22,805 members covering packets, Linden messages, assets, GLTF DTOs, archives/import-export (including Collada), materials, rendering DTOs, bit packing, permissions, primitives, and texture/media/particle records. The generator now supports a partial main-assembly slice with module-accurate paths while retaining issues #8-#10 types as pending shells. It preserves real fields, numeric widths, discriminants, flag bits, constants, generics, collection elements, and overload identities; standardized failures are emitted for every operation. Added project-owned cross-platform boundaries for the cataloged MessagePack, XML, collection, cancellation, and System.Numerics signature types without copying external member APIs. Fixed Rust string constants to &'static str and centrally disambiguated C# methods that collide with generated property setters. Coverage/docs/handover are updated. Review verified exact selected type/member-ID equality, no missing/duplicate destinations, no plausible fallback bodies, and no platform-specific mapping. Gates passed: mapping/shim determinism, cargo fmt, git diff --check, workspace cargo check, workspace test compile (--no-run), workspace clippy -D warnings, workspace docs, issue fixture (2 passed), and all prior focused shim regressions (5 passed).
Implemented and pushed in commit 7086af9. Generated the complete catalog-driven, failure-only Rust surface for issue #7's main-assembly wire/data subset: 2,209 types and 22,805 members covering packets, Linden messages, assets, GLTF DTOs, archives/import-export (including Collada), materials, rendering DTOs, bit packing, permissions, primitives, and texture/media/particle records. The generator now supports a partial main-assembly slice with module-accurate paths while retaining issues #8-#10 types as pending shells. It preserves real fields, numeric widths, discriminants, flag bits, constants, generics, collection elements, and overload identities; standardized failures are emitted for every operation. Added project-owned cross-platform boundaries for the cataloged MessagePack, XML, collection, cancellation, and System.Numerics signature types without copying external member APIs. Fixed Rust string constants to &'static str and centrally disambiguated C# methods that collide with generated property setters. Coverage/docs/handover are updated. Review verified exact selected type/member-ID equality, no missing/duplicate destinations, no plausible fallback bodies, and no platform-specific mapping. Gates passed: mapping/shim determinism, cargo fmt, git diff --check, workspace cargo check, workspace test compile (--no-run), workspace clippy -D warnings, workspace docs, issue fixture (2 passed), and all prior focused shim regressions (5 passed).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement the main crate public signatures for wire/data models without implementing codecs or network behavior.
Deliverables
Validation
Prerequisite
Stage 0 project setup is complete. Do not implement production behavior in this milestone.
Project constraints
Implemented and pushed in commit
7086af9. Generated the complete catalog-driven, failure-only Rust surface for issue #7's main-assembly wire/data subset: 2,209 types and 22,805 members covering packets, Linden messages, assets, GLTF DTOs, archives/import-export (including Collada), materials, rendering DTOs, bit packing, permissions, primitives, and texture/media/particle records. The generator now supports a partial main-assembly slice with module-accurate paths while retaining issues #8-#10 types as pending shells. It preserves real fields, numeric widths, discriminants, flag bits, constants, generics, collection elements, and overload identities; standardized failures are emitted for every operation. Added project-owned cross-platform boundaries for the cataloged MessagePack, XML, collection, cancellation, and System.Numerics signature types without copying external member APIs. Fixed Rust string constants to &'static str and centrally disambiguated C# methods that collide with generated property setters. Coverage/docs/handover are updated. Review verified exact selected type/member-ID equality, no missing/duplicate destinations, no plausible fallback bodies, and no platform-specific mapping. Gates passed: mapping/shim determinism, cargo fmt, git diff --check, workspace cargo check, workspace test compile (--no-run), workspace clippy -D warnings, workspace docs, issue fixture (2 passed), and all prior focused shim regressions (5 passed).