Documentation

Collaboration — shared project editing

Collaboration lets several participants open the same project: you can see who is present, their cursors on the floor plan, diagram and panel, and comments pinned to a point or element. Edits are synchronised over WebSocket and a CRDT engine, and geometry conflicts are resolved automatically.

Participant roles

Access is granted with one of three roles. The role is set when a link is created or an invitation is sent by email, and it can be revoked by the owner.

Role What the participant can do
viewer View the project without editing
checker View and comment (review)
co-editor Collaborative editing

How to use: step by step

  1. Open the project and create a sharing link: choose the role (viewer / checker / co-editor) and, if needed, an expiry in hours. A link cannot be created without an open project.
  2. Invite participants — send the link or an email invitation for the required role.
  3. The participant opens the link and confirms the connection in the consent dialog (once per tab). The dialog is shown only for verified addresses (see “Link security”).
  4. Work together: colleagues' cursors are visible on the canvas, comments are discussed right on the plan, and a co-editor's changes are applied to your model automatically.
  5. End access — revoke the participant's access or disable the link once the review is done. The participant list is visible to the project owner.

Cursors and presence

Comments

How synchronisation and conflicts work

Every edit is performed as a command and converted into CRDT operations (LWW registers, OR-sets, vector clocks with Lamport timestamps). The client applies the operation locally and broadcasts it as a delta message; on connect it requests what is missing (sync_request → sync_response), and the full state can arrive as a snapshot. Remote operations are applied to local storage automatically.

Link security

Common errors

Limitations

See also

Frequently asked questions

How do the viewer, checker and co-editor roles differ?

Viewer only views the project, checker views and leaves comments, co-editor edits the model together with the team.

A colleague opened the link but I cannot see them. What should I do?

Check that they confirmed the consent dialog, that the link has not expired, and that the connection is established (on a drop the client reconnects by itself within a few seconds).

What happens if the same object is edited at the same time?

A CRDT rule applies: the newer operation wins by timestamp, wall and route geometry is additionally handled by a resolver, and data is never silently lost.

Is it safe to open a link from an email?

The client connects only to gorkycad.pro (wss) or to localhost (ws, development). A link to a foreign server is rejected before the dialog is shown, and a foreign host is never substituted into the interface.

Try in the editor