Simplifying and reusing visual programming graphs
First Claim
1. A computing system for executing at least part of a visual programming graph comprising:
- one or more processors; and
one or more memories having stored therein instructions that, upon execution by the one or more processors, cause the computing system perform operations comprising;
determining that a first node in the visual programming graph is associated with one or more data provider nodes, wherein the first node is connected, in the visual programming graph, to at least one of the one or more data provider nodes by connecting a data input slot of the first node to a data output slot of the at least one of the one or more data provider nodes;
generating, prior to execution of the visual programming graph, an execution sequence for activating and processing the first node and the one or more data provider nodes, the execution sequence comprising activating and processing one or more nodes that are not dependent on another node and subsequently activating and processing one or more nodes that are dependent on one or more activated and processed nodes until the one or more data provider nodes and the first node are activated and processed;
receiving, during the execution of the visual programming graph, a trigger to execute the first node, wherein the first node is connected, in the visual programming graph, to a second node of the one or more data provider nodes by connecting a signal input slot of the first node to a signal output slot of the second node, and wherein the trigger to execute the first node is a signal received at the signal input slot of the first node from the signal output slot of the second node; and
executing, based on receiving the trigger to execute the first node, the execution sequence to activate and process the one or more data provider nodes and the first node.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for simplifying and reusing visual programming graphs are described herein. In some examples, visual programming graphs may be simplified by decoupling execution signals from data resolution. Execution of a particular node may be triggered through a representation of a signal sent from a signal output slot of another node to a signal input slot on the node being triggered. Additionally, evaluation of data values may be represented by a connection between a data output slot on the node providing the data value to a data input slot on the node receiving the data value. Another technique for simplifying visual programming graphs may include combining and/or collapsing of multiple selected visual programming nodes into a single reusable visual programming node. In some examples, reusable combined visual programming nodes may be exposed using unlocked versions and/or locked versions.
21 Citations
18 Claims
-
1. A computing system for executing at least part of a visual programming graph comprising:
-
one or more processors; and one or more memories having stored therein instructions that, upon execution by the one or more processors, cause the computing system perform operations comprising; determining that a first node in the visual programming graph is associated with one or more data provider nodes, wherein the first node is connected, in the visual programming graph, to at least one of the one or more data provider nodes by connecting a data input slot of the first node to a data output slot of the at least one of the one or more data provider nodes; generating, prior to execution of the visual programming graph, an execution sequence for activating and processing the first node and the one or more data provider nodes, the execution sequence comprising activating and processing one or more nodes that are not dependent on another node and subsequently activating and processing one or more nodes that are dependent on one or more activated and processed nodes until the one or more data provider nodes and the first node are activated and processed; receiving, during the execution of the visual programming graph, a trigger to execute the first node, wherein the first node is connected, in the visual programming graph, to a second node of the one or more data provider nodes by connecting a signal input slot of the first node to a signal output slot of the second node, and wherein the trigger to execute the first node is a signal received at the signal input slot of the first node from the signal output slot of the second node; and executing, based on receiving the trigger to execute the first node, the execution sequence to activate and process the one or more data provider nodes and the first node. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for executing at least part of a visual programming graph comprising:
-
determining that a first node in the visual programming graph is associated with one or more data provider nodes; generating, prior to execution of the visual programming graph, an execution sequence for activating and processing the first node and the one or more data provider nodes, the execution sequence comprising activating and processing one or more nodes that are not dependent on another node and subsequently activating and processing one or more nodes that are dependent on one or more activated and processed nodes until the one or more data provider nodes and the first node are activated and processed; receiving, during the execution of the visual programming graph, a trigger to execute the first node, wherein the first node is connected, in the visual programming graph, to a second node by connecting a signal input slot of the first node to a signal output slot of the second node, and wherein the trigger to execute the first node is a signal received at the signal input slot of the first node from the signal output slot of the second node; and executing, based on receiving the trigger to execute the first node, the execution sequence to activate and process the one or more data provider nodes and the first node. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. One or more non-transitory computer-readable storage media having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices to perform operations comprising:
-
determining that a first node in a visual programming graph is associated with one or more data provider nodes; generating, prior to execution of the visual programming graph, an execution sequence for activating and processing the first node and the one or more data provider nodes, the execution sequence comprising activating and processing one or more nodes that are not dependent on another node and subsequently activating and processing one or more nodes that are dependent on one or more activated and processed nodes until the one or more data provider nodes and the first node are activated and processed; receiving, during the execution of the visual programming graph, a trigger to execute the first node, wherein the first node is connected, in the visual programming graph, to a second node by connecting a signal input slot of the first node to a signal output slot of the second node, and wherein the trigger to execute the first node is a signal received at the signal input slot of the first node from the signal output slot of the second node; and executing, based on receiving the trigger to execute the first node, the execution sequence to activate and process the one or more data provider nodes and the first node. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification