1. A method of supporting collaborative editing, including: at a first device of multiple collaborating devices, wherein the first device comprises one or more processors, memory, and a display, and the first device includes one or more user-interface devices for receiving editing inputs from a user of the first device: maintaining a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of the multiple collaborating devices, wherein the directed acyclic graph includes a plurality of nodes each representing a respective content object that is created or edited by one or more of the multiple collaborating devices, wherein at least a first node of the plurality of nodes represents a textual content object and at least a second node of the plurality of nodes represents a sketch content object, and wherein each node representing a corresponding sketch content object includes a respective command sequence used to create content of the corresponding sketch content object; during a respective synchronization period, receiving one or more editing inputs from one or more devices of the multiple collaborating devices; modifying the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph; determining whether the one or more editing inputs modifies an existing sketch content object represented in the directed acyclic graph; and in accordance with a determination that a first editing input of the one or more editing inputs modifies a first existing sketch content object represented by a first command sequence in a first respective node in the directed acyclic graph, updating the first command sequence in the first respective node by merging each individual drawing command included in the first editing input with the first command sequence to produce, in the first respective node, an updated first command sequence of two or more commands that represents the first existing sketch content object as modified by the first editing input.
1. A method of supporting collaborative editing, including: at a first device of multiple collaborating devices, wherein the first device comprises one or more processors, memory, and a display, and the first device includes one or more user-interface devices for receiving editing inputs from a user of the first device: maintaining a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of the multiple collaborating devices, wherein the directed acyclic graph includes a plurality of nodes each representing a respective content object that is created or edited by one or more of the multiple collaborating devices, wherein at least a first node of the plurality of nodes represents a textual content object and at least a second node of the plurality of nodes represents a sketch content object, and wherein each node representing a corresponding sketch content object includes a respective command sequence used to create content of the corresponding sketch content object; during a respective synchronization period, receiving one or more editing inputs from one or more devices of the multiple collaborating devices; modifying the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph; determining whether the one or more editing inputs modifies an existing sketch content object represented in the directed acyclic graph; and in accordance with a determination that a first editing input of the one or more editing inputs modifies a first existing sketch content object represented by a first command sequence in a first respective node in the directed acyclic graph, updating the first command sequence in the first respective node by merging each individual drawing command included in the first editing input with the first command sequence to produce, in the first respective node, an updated first command sequence of two or more commands that represents the first existing sketch content object as modified by the first editing input. 11. The method of claim 1 , wherein modifying the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph further comprises: detecting that the one or more editing inputs include a style input changing a style of a content object represented by a second respective node in the directed acyclic graph; and in response to the style input, changing a style attribute of the second respective node for the content object in the directed acyclic graph, wherein the style attribute includes a respective style and a respective timestamp associated with the style input.