IFClite TypeScript API
    Preparing search index...

    Interface PresenceState

    interface PresenceState {
        activeSection?: { plane: Vec4 };
        activeView?: string;
        camera?: CameraState;
        cursor2d?: { pos: Vec2; viewport: string };
        cursor3d?: Vec3;
        isolated?: string[];
        lastUpdate: number;
        modelId?: string;
        role?: string;
        selection: string[];
        status: "offline" | "active" | "idle";
        tool?: string;
        user: UserIdentity;
    }
    Index
    activeSection?: { plane: Vec4 }
    activeView?: string
    camera?: CameraState
    cursor2d?: { pos: Vec2; viewport: string }
    cursor3d?: Vec3
    isolated?: string[]
    lastUpdate: number

    Wall-clock ms; used by stale-presence eviction.

    modelId?: string

    Optional model the cursor is currently in (for federated sessions).

    role?: string

    Broadcast access role ('viewer' | 'commenter' | 'editor' | 'admin'), so peers can show each other's role in the presence roster. Advisory only — the authoritative role is the server-verified token.

    selection: string[]
    status: "offline" | "active" | "idle"
    tool?: string