US 12,147,755 B2
Systems and methods for generating webpage data for rendering a design
Nicholas Anthony Barker, Christchurch (NZ); Camellia Wong, Sydney (AU); Benjamin James Morris, Sydney (AU); and David Nicholas Copley, Sydney (AU)
Assigned to Canva Pty Ltd, Surry Hills (AU)
Filed by Canva Pty Ltd, Surry Hills (AU)
Filed on Jun. 26, 2023, as Appl. No. 18/214,070.
Application 18/214,070 is a continuation of application No. 17/985,221, filed on Nov. 11, 2022, granted, now 11,734,496.
Claims priority of application No. 2021903677 (AU), filed on Nov. 16, 2021.
Prior Publication US 2023/0334226 A1, Oct. 19, 2023
Int. Cl. G06F 40/14 (2020.01); G06F 40/177 (2020.01)
CPC G06F 40/14 (2020.01) [G06F 40/177 (2020.01)] 21 Claims
OG exemplary drawing
 
1. A computer implemented method for determining an order of an input set of design elements, wherein the input set of design elements include elements of a first design and the method comprises:
(a) accessing, via a processing unit, a hierarchal set of nodes, wherein:
each node in the hierarchal set of nodes is associated with a node bounding box;
the hierarchal set of nodes includes one or more element-type nodes;
each element-type node corresponds to an element of the input set of design elements; and
the node bounding box of each element-type node is based on an element size and an element position of the element that the element-type node corresponds to;
(b) processing, via the processing unit, the hierarchical set of nodes and thereby generating a hierarchical set of panels, wherein:
the hierarchal set of panels includes one or more element-type panels;
each element-type panel corresponds to an element of the input set of design elements; and
generating the hierarchical set of panels, via the processing unit, includes performing, via the processing unit, one or more recursions of a panel generation process, comprising:
performing each of the one or more recursions of the panel generation process on a set of input nodes that includes one or more nodes from the hierarchical set of nodes;
performing each of the one or more recursions of the panel generation process with reference to an input dimension and identifying, based on the input dimension, a group of nodes for association with a panel to be generated by that recursion of the panel generation process;
alternating the input dimension between a first input dimension and a second input dimension over successive recursions of the panel generation process;
adding one or more new panels being added to the hierarchical set of panels for each of the one or more recursions of the panel generation process; and
(c) determining, via the processing unit, the order of the input set of design elements, wherein the order is a reading order that is usable to generate a new design based on the set of design elements, and wherein the order is determined by:
flattening the hierarchical set of panels to generate an ordered set of panels; and
determining the order of the input set of design elements based on positions of the element-type panels in the ordered set of panels.