Patent attributes
A user computing device may receive a command from a user to modify an object of a canvas. The canvas state may be shared between multiple users as part of a collaborative editing session. The received command may be accepted and the user computing device may perform a first operation on the object of the canvas according to the command, such as modifying a mutable attribute. The computing device may perform one or more steps to generate a patch. The computing device may be configured to receive a remote patch and process the remote patch in a manner where some operations of the remote patch are discarded and other operations of the remote patch are applied. A hybrid logical clock may be utilized to coordinate the application of remote patches.