Search

US-12626048-B2 - Systems and methods for processing designs

US12626048B2US 12626048 B2US12626048 B2US 12626048B2US-12626048-B2

Abstract

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.

Inventors

  • Joel Nothman

Assignees

  • CANVA PTY LTD

Dates

Publication Date
20260512
Application Date
20250216
Priority Date
20230731

Claims (20)

  1. 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. 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. 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. 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. 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. 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. 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. 8 . The computer implemented method of claim 1 , further including generating a new design based on the content map.
  9. 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. 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. 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. 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. 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. 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. 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. 16 . The computer processing system of claim 9 , wherein the method further includes generating a new design based on the content map.
  17. 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. 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. 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. 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.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application is a Continuation Application of U.S. Non-Provisional application Ser. No. 18/786,527, filed on Jul. 28, 2024, that claims priority to Australian Patent Application No. 2023210538, filed on Jul. 31, 2023, which are each hereby incorporated by reference in their entirety. TECHNICAL FIELD The present disclosure is directed to various systems and methods for processing designs. BACKGROUND Computer applications for creating and working with designs exist. Some such applications may provide users with the ability to create designs in different formats. As one example, an application may provide functionality for a user to create what will be referred to as document-format designs—e.g. designs that store content and associated metadata in a word-processing document type format. As another example, an application may provide functionality for a user to create what will be referred to as deck-format designs—e.g. designs that store content and associated metadata in a slide deck type format. In some situations, a user may wish to use a design they have created as the basis for generating another design. For example, a user may wish to use content prepared in an original document-format design as the basis for a deck-format design. Background information described in this specification is background information known to the inventors. Reference to this information as background information is not an acknowledgment or suggestion that this background information is prior art or is common general knowledge to a person of ordinary skill in the art. BRIEF DESCRIPTION OF THE DRAWINGS In the Drawings: FIG. 1 depicts two example designs: a document-format design and a deck-format design. FIG. 2 is a block diagram of a networked environment in which embodiments of the present disclosure may be performed. FIG. 3 is a block diagram of a computer processing system. FIG. 4 depicts example graphical user interfaces. FIG. 5 is a flowchart depicting operations performed to generate analysis data corresponding to a deck-format design. FIG. 6 is a flowchart depicting operations performed to generate a new deck-format design based on document-format source design. FIG. 7 depicts an example graphical user interface. FIG. 8 is a flowchart depicting operations performed to generate source analysis data corresponding to a document-format design. FIG. 9 is a flowchart depicting operations performed to determine pagination candidates for content of a document-format design. FIG. 10 is a flowchart depicting operations performed to calculate a page fit score for a candidate page of a pagination candidate. FIG. 11 is a flowchart depicting operations performed to split a selected candidate page into multiple candidate pages. FIGS. 12 and 13 are illustrations to assist in understanding the method for determining pagination candidates described in FIG. 9. FIG. 14 is a flowchart depicting operations performed to generate deck-format design generation data. FIG. 15 is a flowchart depicting operations performed to generate a new deck descriptor for a (pagination candidate, template) pair. FIG. 16 is a flowchart depicting operations performed to generate a new deck-format design. FIG. 17 is a flowchart depicting operations performed to detect and resolve undesirable element collisions. FIG. 18 depicts various element layout examples to illustrate element overlaps and collisions. FIG. 19 is a flowchart depicting operations performed identify undesirable collisions. FIG. 20 is a flowchart depicting operations performed to resolve undesirable collisions. FIG. 21 is a flowchart depicting operations performed to map a set of source content segments to a set of destination elements. FIG. 22 is a flowchart depicting alternative operations performed to map a set of source content segments to a set of destination elements. FIG. 23 is a flowchart depicting operations performed to generate a set of design elements based on a set of source fills and a single destination element. FIG. 24 depicts example grid arrangements. FIG. 25 is a flowchart depicting operations performed to generate a new table based on a source table and a destination table. FIG. 26 is a flowchart depicting operations performed to generate a table style list. FIG. 27 depicts two example tables. FIG. 28 is a flowchart depicting operations performed to generate a new deck-format design based on a deck-format source design. FIG. 29 is a flowchart depicting operations performed to transfer a set of fills. FIG. 30 is a flowchart depicting operations performed to transfer a table. FIG. 31 is a flowchart depicting operations performed to transfer a chart. FIG. 32 is a flowchart depicting operations performed to determine a whether a destination fill can be replaced by a partial or complete type source. FIG. 33 is a flowchart depicting operations performed to process a set of input paragraphs to determine a set of text hierarchy levels defined