* Enable collaborative syncing for elements * Don't fall back to local storage if using a room, as that is confusing * Use remote socket server * Send updates to new users when they join * ~ * add mouse tracking * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * Add Live button and app state to support tracking collaborator counts * Enable collaborative syncing for elements * add mouse tracking * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * fix syncing bugs and add a button to start syncing mid session * Add Live button and app state to support tracking collaborator counts * prettier * Fix bug with remote pointers not changing on scroll * Enable collaborative syncing for elements * add mouse tracking * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * Add Live button and app state to support tracking collaborator counts * enable collaboration, rooms, and mouse tracking * fix syncing bugs and add a button to start syncing mid session * fix syncing bugs and add a button to start syncing mid session * Fix bug with remote pointers not changing on scroll * remove UI for collaboration * remove link * clean up lingering unused UI * set random IV passed per encrypted message, reduce room id length, refactored socket broadcasting API, rename room_id to room, removed throttling of pointer movement * fix package.json conflict
38 lines
786 B
TypeScript
38 lines
786 B
TypeScript
import { ExcalidrawTextElement } from "../element/types";
|
|
import { FlooredNumber } from "../types";
|
|
|
|
export type SceneState = {
|
|
scrollX: FlooredNumber;
|
|
scrollY: FlooredNumber;
|
|
// null indicates transparent bg
|
|
viewBackgroundColor: string | null;
|
|
zoom: number;
|
|
remotePointerViewportCoords: { [id: string]: { x: number; y: number } };
|
|
};
|
|
|
|
export type SceneScroll = {
|
|
scrollX: FlooredNumber;
|
|
scrollY: FlooredNumber;
|
|
};
|
|
|
|
export interface Scene {
|
|
elements: ExcalidrawTextElement[];
|
|
}
|
|
|
|
export type ExportType = "png" | "clipboard" | "backend" | "svg";
|
|
|
|
export type ScrollBars = {
|
|
horizontal: {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
} | null;
|
|
vertical: {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
} | null;
|
|
};
|