Skip to content

refactor(loader): deduplicate negotiation types via generated bindings#208

Merged
Ralith merged 2 commits into
Ralith:masterfrom
MungbeanOuO:cleanup/loader
Jan 19, 2026
Merged

refactor(loader): deduplicate negotiation types via generated bindings#208
Ralith merged 2 commits into
Ralith:masterfrom
MungbeanOuO:cleanup/loader

Conversation

@MungbeanOuO

Copy link
Copy Markdown
Contributor

Fixes #191

(Note: The second issue mentioned in #191 regarding LoaderInterfaceStructs naming was previously resolved in #204. This PR addresses the remaining duplication issue.)

Changes

  • Deduplication: Removed all hardcoded negotiation structs and enums (e.g., XrNegotiateLoaderInfo, LoaderInterfaceStructureType) from the loader module.
  • Integration: Updated the module to rely entirely on openxr_sys generated types.
  • Metadata Restoration: Added manual impl blocks to the generated types to provide the necessary TYPE and VERSION constants (which are missing from the XML registry).

Breaking Change

This removes the manually defined types in openxr_sys::loader. Downstream users must migrate to the generated types in the crate root (e.g., XrNegotiateLoaderInfo -> NegotiateLoaderInfo).

@Ralith Ralith left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! It looks like this module no longer exports any top-level items -- should we make the module itself private now?

@MungbeanOuO

Copy link
Copy Markdown
Contributor Author

I agree. Since there are no exported types left in this module, hiding it from the public API surface seems appropriate. I'll make it private.

@Ralith Ralith merged commit bdb8003 into Ralith:master Jan 19, 2026
6 checks passed
@MungbeanOuO MungbeanOuO deleted the cleanup/loader branch January 20, 2026 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Two different types for ApiLayerCreateInfo in openxr-sys

2 participants