@snap/camera-kit
Version:
Camera Kit Web
47 lines • 1.53 kB
TypeScript
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