Hiyve Components - v1.0.0
    Preparing search index...

    Interface WhiteboardAuditEntry

    Persisted audit-log entry for a single observed change to the whiteboard. Captured at sender-side ts so the timeline is monotone across peers (modulo clock drift). Light by design — the UI cross-references objectId against the live canvas when the user wants details.

    Not to be confused with the WhiteboardEvent union from constants.ts which is the list of message-event NAMES (e.g. 'object-added'). This is the persisted audit-trail entry.

    interface WhiteboardAuditEntry {
        kind: "add" | "modify" | "remove" | "clear" | "background";
        objectId?: string;
        summary?: {
            fillColor?: string;
            strokeColor?: string;
            text?: string;
            type?: string;
        };
        ts: number;
        userId: string;
    }
    Index

    Properties

    kind: "add" | "modify" | "remove" | "clear" | "background"

    What happened.

    objectId?: string

    Affected object's stable id (when applicable — clear/background omit).

    summary?: {
        fillColor?: string;
        strokeColor?: string;
        text?: string;
        type?: string;
    }

    Compact human-facing hint of what changed. Optional; the panel falls back to kind when omitted. Keep it small — this is shipped over the wire on every snapshot and saved to disk on every autosave.

    • type — human-readable object kind (e.g. "Pencil", "Circle")
    • text — free-form description (e.g. "thick line, resized")
    • fillColor / strokeColor — CSS colour strings rendered as visual swatches in the panel; lets the teacher see the exact shade without us having to name it
    ts: number

    Sender-side ms timestamp when the event was produced.

    userId: string

    Cleaned userId of the actor (matches cleanUserId(meta.senderId)).