Systems and methods for processing designs
Described herein is a computer implemented method. The method includes accessing a first set of source objects that relate to a first page of a source design, wherein each source object is associated with a set of source object attributes that include a source identifier attribute that identifies source content of the source design; a type attribute that identifies a content type of the source content; and a reading order attribute that identifies a position of the source content in a reading order of the source design. The method further includes accessing a first set of destination objects that relate to a first page of a destination design and generating, based on the first set of source objects and the first set of destination objects, a first content map that maps each source object in the first set of source objects to a destination object in the first set of destination objects.
1 . A computer implemented method including:
accessing a first set of source objects that relate to a first page of a source design, wherein each source object is associated with a set of source object attributes that include:
a source identifier attribute that identifies source content of the source design;
a type attribute that identifies a content type of the source content; and
a reading order attribute that identifies a position of the source content in a reading order of the source design;
accessing a first set of destination objects that relate to a first page of a destination design, wherein the destination design is a deck-format design and each destination object is associated with a set of destination object attributes that includes:
a destination identifier attribute that identifies a destination element of the destination design;
a type attribute that identifies a content type of the destination element; and
a reading order attribute that identifies a position of the destination element in a reading order of the destination design;
generating, based on the first set of source objects and the first set of destination objects, a first content map that maps each source object in the first set of source objects to a destination object in the first set of destination objects; wherein
the first set of source objects includes one or more text-type source objects, wherein each text-type source object has a type attribute that identifies text type content, and wherein each text type source object includes a text hierarchy level attribute that identifies a text hierarchy level;
the first set of destination objects includes one or more text-type destination objects, wherein each text-type destination object has a type attribute that identifies text type content; and
wherein each text type destination object includes a text hierarchy level attribute that identifies a text hierarchy level; and
generating the first content map includes:
selecting a first source object from the first set of source objects, wherein the first source object is a text-type source object associated with a first text hierarchy level, and the first source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the first text hierarchy level and that has not been mapped to a destination object;
identifying a first destination object from the first set of destination objects, wherein the first destination object is a text-type destination object associated with the first text hierarchy level, and the first destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the first text hierarchy level and that has not been mapped to a source object; and
mapping the first source object to the first destination object.
2 . The computer implemented method of claim 1 , wherein generating the first content map includes:
selecting a second source object from the first set of source objects, wherein the second source object is a text-type source object associated with a second text hierarchy level, and the second source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the second text hierarchy level and that has not been mapped to a destination object;
identifying a second destination object from the first set of destination objects, wherein the second destination object is a text-type destination object associated with the second text hierarchy level, and the second destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the second text hierarchy level and that has not been mapped to a source object; and
mapping the second source object to the second destination object.
3 . The computer implemented method of claim 1 , wherein:
the first set of source objects includes one or more fill-type source objects, each fill-type source object having a type attribute that identifies fill type content;
the first set of destination objects includes one or more fill-type destination objects, each fill-type destination object having a type attribute that identifies fill type content; and
generating the first content map includes:
selecting a third source object from the first set of source objects, wherein the third source object is a fill-type source object, and the third source object is a first-in-reading-order fill-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a third destination object from the first set of destination objects, wherein the third destination object is a fill-type destination object, and the third destination object is a first-in-reading-order fill-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the third source object to the third destination object.
4 . The computer implemented method of claim 1 , wherein:
the first set of source objects includes one or more chart-type source objects, each chart-type source object having a type attribute that identifies chart type content;
the first set of destination objects includes one or more chart-type destination objects, each chart-type destination object having a type attribute that identifies chart type content; and
generating the first content map includes:
selecting a fourth source object from the first set of source objects, wherein the fourth source object is a chart-type source object, and the fourth source object is a first-in-reading-order chart-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a fourth destination object from the first set of destination objects, wherein the fourth destination object is a chart-type destination object, and the fourth destination object is a first-in-reading-order chart-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the fourth source object to the fourth destination object.
5 . The computer implemented method of claim 1 , wherein:
the first set of source objects includes one or more table-type source objects, each table-type source object having a type attribute that identifies table type content;
the first set of destination objects includes one or more table-type destination objects, each table-type destination object having a type attribute that identifies table type content; and
generating the first content map includes:
selecting a fifth source object from the first set of source objects, wherein the fifth source object is a table-type source object, and the fifth source object is a first-in-reading-order table-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a fifth destination object from the first set of destination objects, wherein the fifth destination object is a table-type destination object, and the fifth destination object is a first-in-reading-order table-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the fifth source object to the fifth destination object.
6 . The computer implemented method of claim 1 , wherein the first source object is a combined source object that is associated with a sixth source object and a seventh source object, and wherein mapping the first source object to the first destination object includes mapping the sixth source object to the first destination object and mapping the seventh source object to the first destination object.
7 . The computer implemented method of claim 1 , wherein:
the first set of source objects includes one or more source objects of a first content type, each source object of the first content type having a type attribute that identifies the first content type;
the first set of destination objects includes one or more destination objects of the first content type, each destination object of the first content type having a type attribute that identifies the first content type; and
generating the first content map includes:
selecting a ninth source object from the first set of source objects, wherein the ninth source object is of the first content type, and the ninth source object is a first-in-reading-order source object of the first content type in the first set of source objects that has not already been mapped to a destination object;
identifying a ninth destination object from the first set of destination objects, wherein the ninth destination object is a destination object of the first content type, and the ninth destination object is a first-in-reading-order destination object of the first content type in the first set of destination objects that has not already been mapped to a source object; and
mapping the ninth source object to the ninth destination object.
8 . The computer implemented method of claim 1 , further including generating a new design based on the content map.
9 . A computer processing system including:
one or more processing units; and
one or more non-transitory computer-readable storage media storing instructions, which when executed by the one or more processing units, cause the one or more processing units to perform a method including:
accessing a first set of source objects that relate to a first page of a source design, wherein each source object is associated with a set of source object attributes that include:
a source identifier attribute that identifies source content of the source design;
a type attribute that identifies a content type of the source content; and
a reading order attribute that identifies a position of the source content in a reading order of the source design;
accessing a first set of destination objects that relate to a first page of a destination design, wherein the destination design is a deck-format design and each destination object is associated with a set of destination object attributes that includes:
a destination identifier attribute that identifies a destination element of the destination design;
a type attribute that identifies a content type of the destination element; and
a reading order attribute that identifies a position of the destination element in a reading order of the destination design;
generating, based on the first set of source objects and the first set of destination objects, a first content map that maps each source object in the first set of source objects to a destination object in the first set of destination objects; wherein
the first set of source objects includes one or more text-type source objects, wherein each text-type source object has a type attribute that identifies text type content, and wherein each text type source object includes a text hierarchy level attribute that identifies a text hierarchy level;
the first set of destination objects includes one or more text-type destination objects, wherein each text-type destination object has a type attribute that identifies text type content; and wherein each text type destination object includes a text hierarchy level attribute that identifies a text hierarchy level; and
generating the first content map includes:
selecting a first source object from the first set of source objects, wherein the first source object is a text-type source object associated with a first text hierarchy level, and the first source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the first text hierarchy level and that has not been mapped to a destination object;
identifying a first destination object from the first set of destination objects, wherein the first destination object is a text-type destination object associated with the first text hierarchy level, and the first destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the first text hierarchy level and that has not been mapped to a source object; and
mapping the first source object to the first destination object.
10 . The computer processing system of claim 9 , wherein generating the first content map includes:
selecting a second source object from the first set of source objects, wherein the second source object is a text-type source object associated with a second text hierarchy level, and the second source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the second text hierarchy level and that has not been mapped to a destination object;
identifying a second destination object from the first set of destination objects, wherein the second destination object is a text-type destination object associated with the second text hierarchy level, and the second destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the second text hierarchy level and that has not been mapped to a source object; and
mapping the second source object to the second destination object.
11 . The computer processing system of claim 9 , wherein:
the first set of source objects includes one or more fill-type source objects, each fill-type source object having a type attribute that identifies fill type content;
the first set of destination objects includes one or more fill-type destination objects, each fill-type destination object having a type attribute that identifies fill type content; and
generating the first content map includes:
selecting a third source object from the first set of source objects, wherein the third source object is a fill-type source object, and the third source object is a first-in-reading-order fill-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a third destination object from the first set of destination objects, wherein the third destination object is a fill-type destination object, and the third destination object is a first-in-reading-order fill-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the third source object to the third destination object.
12 . The computer processing system of claim 9 , wherein:
the first set of source objects includes one or more chart-type source objects, each chart-type source object having a type attribute that identifies chart type content;
the first set of destination objects includes one or more chart-type destination objects, each chart-type destination object having a type attribute that identifies chart type content; and
generating the first content map includes:
selecting a fourth source object from the first set of source objects, wherein the fourth source object is a chart-type source object, and the fourth source object is a first-in-reading-order chart-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a fourth destination object from the first set of destination objects, wherein the fourth destination object is a chart-type destination object, and the fourth destination object is a first-in-reading-order chart-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the fourth source object to the fourth destination object.
13 . The computer processing system of claim 9 , wherein:
the first set of source objects includes one or more table-type source objects, each table-type source object having a type attribute that identifies table type content;
the first set of destination objects includes one or more table-type destination objects, each table-type destination object having a type attribute that identifies table type content; and
generating the first content map includes:
selecting a fifth source object from the first set of source objects, wherein the fifth source object is a table-type source object, and the fifth source object is a first-in-reading-order table-type source object in the first set of source objects that has not already been mapped to a destination object;
identifying a fifth destination object from the first set of destination objects, wherein the fifth destination object is a table-type destination object, and the fifth destination object is a first-in-reading-order table-type destination object in the first set of destination objects that has not already been mapped to a source object; and
mapping the fifth source object to the fifth destination object.
14 . The computer processing system of claim 9 , wherein the first source object is a combined source object that is associated with a sixth source object and a seventh source object, and wherein mapping the first source object to the first destination object includes mapping the sixth source object to the first destination object and mapping the seventh source object to the first destination object.
15 . The computer processing system of claim 9 , wherein:
the first set of source objects includes one or more source objects of a first content type, each source object of the first content type having a type attribute that identifies the first content type;
the first set of destination objects includes one or more destination objects of the first content type, each destination object of the first content type having a type attribute that identifies the first content type; and
generating the first content map includes:
selecting a ninth source object from the first set of source objects, wherein the ninth source object is of the first content type, and the ninth source object is a first-in-reading-order source object of the first content type in the first set of source objects that has not already been mapped to a destination object;
identifying a ninth destination object from the first set of destination objects, wherein the ninth destination object is a destination object of the first content type, and the ninth destination object is a first-in-reading-order destination object of the first content type in the first set of destination objects that has not already been mapped to a source object; and
mapping the ninth source object to the ninth destination object.
16 . The computer processing system of claim 9 , wherein the method further includes generating a new design based on the content map.
17 . One or more non-transitory storage media storing instructions executable by one or more processing units to cause the one or more processing units to perform a method including:
accessing a first set of source objects that relate to a first page of a source design, wherein each source object is associated with a set of source object attributes that include:
a source identifier attribute that identifies source content of the source design;
a type attribute that identifies a content type of the source content; and
a reading order attribute that identifies a position of the source content in a reading order of the source design;
accessing a first set of destination objects that relate to a first page of a destination design, wherein the destination design is a deck-format design and each destination object is associated with a set of destination object attributes that includes:
a destination identifier attribute that identifies a destination element of the destination design;
a type attribute that identifies a content type of the destination element; and
a reading order attribute that identifies a position of the destination element in a reading order of the destination design;
generating, based on the first set of source objects and the first set of destination objects, a first content map that maps each source object in the first set of source objects to a destination object in the first set of destination objects; wherein
the first set of source objects includes one or more text-type source objects, wherein each text-type source object has a type attribute that identifies text type content, and wherein each text type source object includes a text hierarchy level attribute that identifies a text hierarchy level;
the first set of destination objects includes one or more text-type destination objects, wherein each text-type destination object has a type attribute that identifies text type content; and
wherein each text type destination object includes a text hierarchy level attribute that identifies a text hierarchy level; and
generating the first content map includes:
selecting a first source object from the first set of source objects, wherein the first source object is a text-type source object associated with a first text hierarchy level, and the first source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the first text hierarchy level and that has not been mapped to a destination object;
identifying a first destination object from the first set of destination objects, wherein the first destination object is a text-type destination object associated with the first text hierarchy level, and the first destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the first text hierarchy level and that has not been mapped to a source object; and
mapping the first source object to the first destination object.
18 . The one or more non-transitory storage media of claim 17 , wherein generating the first content map includes:
selecting a second source object from the first set of source objects, wherein the second source object is a text-type source object associated with a second text hierarchy level, and the second source object is the first-in-reading-order text-type source object in the first set of source objects that is associated with the second text hierarchy level and that has not been mapped to a destination object;
identifying a second destination object from the first set of destination objects, wherein the second destination object is a text-type destination object associated with the second text hierarchy level, and the second destination object is the first-in-reading-order text-type destination object in the first set of destination objects that is associated with the second text hierarchy level and that has not been mapped to a source object; and
mapping the second source object to the second destination object.
19 . The one or more non-transitory storage media storing instructions of claim 17 , wherein the first source object is a combined source object that is associated with a sixth source object and a seventh source object, and wherein mapping the first source object to the first destination object includes mapping the sixth source object to the first destination object and mapping the seventh source object to the first destination object.
20 . The one or more non-transitory storage media of claim 17 , wherein:
the first set of source objects includes one or more source objects of a first content type, each source object of the first content type having a type attribute that identifies the first content type;
the first set of destination objects includes one or more destination objects of the first content type, each destination object of the first content type having a type attribute that identifies the first content type; and
generating the first content map includes:
selecting a ninth source object from the first set of source objects, wherein the ninth source object is of the first content type, and the ninth source object is a first-in-reading-order source object of the first content type in the first set of source objects that has not already been mapped to a destination object;
identifying a ninth destination object from the first set of destination objects, wherein the ninth destination object is a destination object of the first content type, and the ninth destination object is a first-in-reading-order destination object of the first content type in the first set of destination objects that has not already been mapped to a source object; and
mapping the ninth source object to the ninth destination object.