TLInstancePresence
Table of contents
Extends BaseRecord<'instance_presence', TLInstancePresenceID>.
Represents the presence state of a user in a collaborative tldraw session. This record tracks what another user is doing: their cursor position, selected shapes, current page, and other real-time activity indicators.
Instance presence records are used in multiplayer environments to show where other collaborators are working and what they're doing.
interface TLInstancePresence extends BaseRecord<
"instance_presence",
TLInstancePresenceID
> {}Example
const presence: TLInstancePresence = {
id: "instance_presence:user123",
typeName: "instance_presence",
userId: "user123",
userName: "Alice",
color: "#FF6B6B",
cursor: { x: 100, y: 150, type: "default", rotation: 0 },
currentPageId: "page:main",
selectedShapeIds: ["shape:rect1"],
};Properties
brush
brush: BoxModel | null;camera
camera: {
x: number;
y: number;
z: number;
} | null;chatMessage
chatMessage: string;color
color: string;currentPageId
currentPageId: TLPageId;cursor
cursor: {
rotation: number;
type: TLCursor["type"];
x: number;
y: number;
} | null;followingUserId
followingUserId: null | string;id
readonly
from BaseRecord
readonly id: Id;lastActivityTimestamp
lastActivityTimestamp: null | number;meta
meta: JsonObject;screenBounds
screenBounds: BoxModel | null;scribbles
scribbles: TLScribble[];selectedShapeIds
selectedShapeIds: TLShapeId[];typeName
readonly
from BaseRecord
readonly typeName: TypeName;userId
userId: string;userName
userName: string;Prev
TLInstancePageStateNext
TLLineShapePoint