TLInstancePresence
See source codeTable 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