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
wgputarget adapter helpers for external frame producers. - A small input converter that maps XR pointer/ray hit state to
ailloli_ui_core::event::Eventwithout 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_targetis the legacy/generic desktop adapter path.openxrenables the reusable OpenXR/Vulkan host path.smoke_uiadds 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
wgpuRenderTarget adapters for external frame producers.