IFClite TypeScript API
    Preparing search index...

    Interface MountPresenceInViewerOptions

    interface MountPresenceInViewerOptions {
        container: HTMLElement;
        raycastToWorld?: (screenX: number, screenY: number) => Vec3 | null;
        session: CollabSession;
        trackLocalCursor?: boolean;
        viewport: string;
    }
    Index
    container: HTMLElement
    raycastToWorld?: (screenX: number, screenY: number) => Vec3 | null

    Host-supplied screen→world raycast. When provided, every mousemove is converted to a 3D world-space point via this callback and broadcast as cursor3d. Each peer then reprojects it through THEIR camera, so cursors stay anchored to the same point in the model regardless of camera perspective.

    When omitted, the bridge falls back to publishing cursor2d only (the legacy fixed-projection behaviour — accurate only when every peer shares the same view, e.g. orthographic plan layouts).

    Return null on a ray miss; the bridge will keep the previously published cursor rather than spamming clears.

    session: CollabSession
    trackLocalCursor?: boolean

    Opt out of forwarding mousemove → setCursor* (default: forward).

    viewport: string