import { Mesh } from 'three'; import type { PerspectiveCamera, Texture } from 'three'; import type { StereoMode } from '@vizor-vr/shared'; import type { IProjection } from './projection.js'; export interface CinemaConfig { screenWidth: number; screenHeight: number; screenDistance: number; screenOffsetY: number; } /** * Cinema projection: flat video screen inside a panoramic room. * * Composes two geometries: * - Inverted sphere for the room environment (equirectangular) * - Flat plane for the video screen positioned at configurable distance/size */ export declare class CinemaProjection implements IProjection { private meshes; private roomMesh; private config; constructor(config?: Partial); createMeshes(videoTexture: Texture, stereoMode: StereoMode): Mesh[]; /** Set the room equirectangular texture */ setRoomTexture(texture: Texture): void; configureCamera(camera: PerspectiveCamera): void; update(_camera: PerspectiveCamera, _time: number): void; dispose(): void; private remapUVsHorizontal; private remapUVsVertical; } //# sourceMappingURL=cinema-projection.d.ts.map