UNPKG

@snap/camera-kit

Version:
47 lines 1.53 kB
import type { XrCapabilities } from "../lens-core-module/generated-types"; /** @internal */ export type SupportedCapability<T> = T & { supported: true; }; /** @internal */ export type UnsupportedCapability = { supported: false; error: Error; }; /** @internal */ export type Capability<T = void> = SupportedCapability<T> | UnsupportedCapability; type WebGlCapability = Capability<{ maxTextureSize: number; }>; export interface WasmFeatures { simd: boolean; relaxedSimd: boolean; } type WasmCapability = Capability<{ wasmFeatures: WasmFeatures; }>; type WebXrCapability = Capability<XrCapabilities>; /** * @returns A Promise containing an object with fields describing the support of various WebXR features. This object's * type is defined by LensCore, as they consume these capabilities and adjust behavior accordingly. * * @internal */ export declare function getWebXrCapabilities(): Promise<WebXrCapability>; /** @internal */ export interface PlatformCapabilities { webgl: WebGlCapability; wasm: WasmCapability; webxr: WebXrCapability; } /** * Get information about the current platform capabilities, including: * - WebGL support and various WebGL parameters. * - WASM support and support for various WASM features. * - WebXR support and support for various WebXR features. * * @internal */ export declare const getPlatformCapabilities: import("../common/memoize").Memoized<() => Promise<PlatformCapabilities>>; export {}; //# sourceMappingURL=platformCapabilities.d.ts.map