Crate ailloli_ui_openxr

Source
Expand description

Host-side helpers to run the Ailloli UI render/runtime core in XR-like targets.

The crate intentionally keeps the widget/layout runtime untouched. It provides:

  • Legacy/generic wgpu target adapter helpers for external frame producers.
  • A small input converter that maps XR pointer/ray hit state to ailloli_ui_core::event::Event without introducing desktop-only assumptions.
  • Clipboard fallback providers for headless/XR hosts.

The production VR rendering path is intentionally separate from desktop wgpu: ailloli_ui_openxr owns OpenXR host concerns, while ailloli_ui_render_vulkan owns Vulkan/SPIR-V drawing for Scene/DrawCmd.

Feature boundaries:

  • wgpu_target is the legacy/generic desktop adapter path.
  • openxr enables the reusable OpenXR/Vulkan host path.
  • smoke_ui adds the built-in smoke scene used by example APKs.

This crate is optional and additive. If you need to keep desktop behavior untouched, continue to use ailloli_ui_winit; this crate is for non-desktop hosts (OpenXR, custom runtimes, overlays).

Re-exports§

pub use error::OpenXrHostError;
pub use error::OpenXrHostResult;
pub use input::map_ray_to_openxr_input_events;
pub use input::map_samples_to_openxr_input_events;
pub use input::OpenXrInputMapper;
pub use input::OpenXrPointerFrame;
pub use input::OpenXrPointerHit;
pub use input::OpenXrPointerSample;
pub use input::OpenXrPointerSource;
pub use input::PointHit;
pub use target::build_callback_source;
pub use target::CallbackImageSource;
pub use target::OpenXrImageFrame;
pub use target::OpenXrImageSource;
pub use target::OpenXrRenderTarget;
pub use openxr_runtime::run_openxr_smoke;
pub use openxr_runtime::OpenXrSmokeExitReason;
pub use openxr_runtime::OpenXrSmokeOptions;
pub use openxr_runtime::OpenXrSmokeResult;
pub use openxr_runtime::OpenXrAcquiredImage;
pub use openxr_runtime::OpenXrActionInput;
pub use openxr_runtime::OpenXrActionInputFrame;
pub use openxr_runtime::OpenXrCurvedLayerBackend;
pub use openxr_runtime::OpenXrCurvedScreenOptions;
pub use openxr_runtime::OpenXrExternalHostFrame;
pub use openxr_runtime::OpenXrExternalUiHost;
pub use openxr_runtime::OpenXrExternalUiHostFrame;
pub use openxr_runtime::OpenXrExternalUiHostFrameParts;
pub use openxr_runtime::OpenXrExternalUiHostFrameResult;
pub use openxr_runtime::OpenXrExternalUiHostOptions;
pub use openxr_runtime::OpenXrExternalUiHostRayOptions;
pub use openxr_runtime::OpenXrExternalVulkanContext;
pub use openxr_runtime::OpenXrInputCapabilities;
pub use openxr_runtime::OpenXrInputHand;
pub use openxr_runtime::OpenXrInputSourceInfo;
pub use openxr_runtime::OpenXrInputSourceKind;
pub use openxr_runtime::OpenXrInstance;
pub use openxr_runtime::OpenXrPanelFacingMode;
pub use openxr_runtime::OpenXrPanelFacingOptions;
pub use openxr_runtime::OpenXrPointerSelectionPolicy;
pub use openxr_runtime::OpenXrQuadComposer;
pub use openxr_runtime::OpenXrQuadFrameLoopOptions;
pub use openxr_runtime::OpenXrQuadLayerOptions;
pub use openxr_runtime::OpenXrQuadPointerMapper;
pub use openxr_runtime::OpenXrQuadSwapchain;
pub use openxr_runtime::OpenXrRayHitKind;
pub use openxr_runtime::OpenXrRayOverlay;
pub use openxr_runtime::OpenXrRayOverlayOptions;
pub use openxr_runtime::OpenXrRaySample;
pub use openxr_runtime::OpenXrRenderVulkanFrameLoopOptions;
pub use openxr_runtime::OpenXrResolvedScreenBackend;
pub use openxr_runtime::OpenXrRuntime;
pub use openxr_runtime::OpenXrRuntimeError;
pub use openxr_runtime::OpenXrRuntimeOptions;
pub use openxr_runtime::OpenXrScreenComposer;
pub use openxr_runtime::OpenXrScreenLayer;
pub use openxr_runtime::OpenXrScreenLayerOptions;
pub use openxr_runtime::OpenXrScreenSurfaceMode;
pub use openxr_runtime::OpenXrSwapchainFormat;
pub use openxr_runtime::OpenXrUiFrameLoopOptions;
pub use openxr_runtime::OpenXrUiInputOptions;
pub use openxr_runtime::OpenXrUiLayer;
pub use openxr_runtime::OpenXrUiLayerOptions;
pub use openxr_runtime::OpenXrVulkanContext;
pub use openxr_runtime::ReferenceSpacePreference;
pub use openxr_runtime::VrApp;
pub use openxr_runtime::DEFAULT_PANEL_PITCH_MAX_RAD;
pub use openxr_runtime::DEFAULT_PANEL_PITCH_MIN_RAD;
pub use openxr_runtime::OPENXR_RAY_MAX_LENGTH_METERS;
pub use openxr_runtime::OPENXR_RAY_MIN_LENGTH_METERS;
pub use openxr_runtime::OPENXR_RAY_TEXTURE_HEIGHT;
pub use openxr_runtime::OPENXR_RAY_TEXTURE_WIDTH;
pub use openxr_runtime::OPENXR_RAY_WIDTH_METERS;
pub use clipboard::VrClipboard;

Modules§

clipboard
Clipboard adapter used by XR/runtime integrations.
error
Host-adapter errors shared by generic frame and input bridges.
input
XR input adapter layer: map device/pose abstractions to ailloli_ui_core::Event.
math
Small math helpers used by XR input mapping.
openxr_runtime
OpenXR runtime scaffolding for Ailloli UI.
target
Legacy/generic wgpu RenderTarget adapters for external frame producers.