import type { Vector3 } from '@holoscript/core'; /** * VRLocomotion — Teleport, snap-turn, smooth locomotion, boundary fade * * @version 1.0.0 */ export type LocomotionMode = 'teleport' | 'smooth' | 'snap-turn'; export interface TeleportTarget { x: number; y: number; z: number; valid: boolean; normal: Vector3; } export interface LocomotionConfig { mode: LocomotionMode; moveSpeed: number; snapAngle: number; teleportRange: number; boundaryFadeDistance: number; comfortVignette: boolean; } export type LocomotionPosition = [number, number, number] & { x: number; y: number; z: number; }; export declare class VRLocomotion { private config; private position; private rotation; private teleportHistory; private boundaryDistance; constructor(config?: Partial); /** * Teleport to a target position */ teleport(target: TeleportTarget): boolean; /** * Smooth move */ move(dx: number, dz: number, deltaTime: number): void; /** * Snap turn */ snapTurn(direction: 'left' | 'right'): void; /** * Update boundary distance */ updateBoundary(distance: number): void; /** * Get boundary fade factor (0 = fully faded, 1 = clear) */ getBoundaryFade(): number; /** * Should show comfort vignette */ shouldShowVignette(): boolean; getPosition(): LocomotionPosition; getRotation(): number; getConfig(): LocomotionConfig; setMode(mode: LocomotionMode): void; getTeleportHistory(): TeleportTarget[]; } //# sourceMappingURL=VRLocomotion.d.ts.map