GenerativeComponents Help

Rebuilding and Splitting Transactions

The Transactions dialog right-click menu for selected transactions provides options to split or rebuild transaction(s).

Transactions form a modifiable, malleable design history of the parametric model. While it is a narrative of its construction it can also serve as a map to the parametric model which can me optimized. There are two ways to record transactions; automatically recording every change versus manually recording changes (see Transactions dialog options Auto record a new transaction whenever the model changes and Record recent model changes as a new transaction).

The benefit of auto recording transactions is that it provides for a high granularity in the transactions and through that granularity, a high level of edit-ability. Early in the design, in very experimental situations, this is helpful: it prevents you from forgetting to save transactions and thus potentially losing important steps in the creation of the parametric model while enabling easy future experimentation with variations by selectively suppressing or deleting transactions (i.e. changes to the model). It also reduces the amount of time you access the Transactions dialog.

By definition, the auto recording of transactions, however, is very verbose. For instance, adding a Line.ByPoints adds at least three transactions:

  1. placing the Line node in the Graph
  2. connecting a Point node to the StartPoint input property of the Line node
  3. connecting another Point node to the EndPoint input property of the Line node

Renaming the Line node and perhaps adjusting the location of the node in the Graph adds two more transactions. Adding properties like Color and LineWeight adds even more.

The option to record transactions manually allows you to group related changes to the model into one transaction. For instance, using the previous example, renaming a node or changing color and line weight can be included with the line node as one transaction. This however, can be disruptive to the design flow as you need to access the Transactions dialog and click Record recent model changes as a new transaction. Also, while in the flow of constructing a model, it is possible to forget to record transactions. You end up with only few transactions containing many changes to the model, with interactions through the Transactions dialog very limited and transactions difficult to sort through in the GCScript Editor and editing very error prone.

Selecting Rebuild Transaction and Split Transaction replaces the selected transaction(s) with alternative transaction(s) that achieves the same result. The resulting transaction(s) use the existing transactions and internal logic to develop the alternative transaction(s).

Note: Both operations can not be undone.