User Tools

Site Tools


01_user_documentation:06_graph:05_derivation:02_transaction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
01_user_documentation:06_graph:05_derivation:02_transaction [2025/05/28 13:55] sophiewachtel01_user_documentation:06_graph:05_derivation:02_transaction [2025/11/03 05:34] (current) gaetan
Line 4: Line 4:
 Not sure if this should be a section or a "feature" page. Not sure if this should be a section or a "feature" page.
  
-Transactions act as buffers for operations on the project graph. Each transaction maintains a set of **queues**, where each queue holds a list of modifications to be applied to the graph.+Transactions act as buffers for operations on the project graph. Each transaction maintains a set of **queues**, where each queue holds a list of modifications to be applied to the graph. When any **RGG method** is executed, GroIMP automatically creates a transaction if one does not already exist. All subsequent graph modifications during that operation are pushed into the current transaction's queues.
  
-When any **RGG method** is executed, GroIMP automatically creates a transaction if one does not already exist. All subsequent graph modifications during that operation are pushed into the current transaction's queues. +======  ======
- +
- +
-All transactions are **logged** in a transaction cache, which allows the following: +
- +
-  * **Undo** — You can traverse the log in reverse to undo previous operations by reversing the transactions. +
-  * **Redo** — Undone transactions can be reapplied, restoring the graph to its former state. +
- +
- +
-Once a new transaction is initiated (e.g. by): +
- +
-  * Running a new RGG function, +
-  * Modifying an object through the attribute editor, +
-  * Adding an object via the menu, +
- +
-the previous redo history is **discarded**. That means GroIMP does **not** support branching histories like version control systems. +
- +
-**Example of an unsupported sequence:** +
- +
-  - Undo → Apply new operation → Redo ❌ +
- +
-After a new operation is applied following an undo, the redo path is no longer available.  +
- +
-====== ======+
  
  
 {{namespace>:01_user_documentation:06_graph:05_derivation:02_transaction}} {{namespace>:01_user_documentation:06_graph:05_derivation:02_transaction}}
01_user_documentation/06_graph/05_derivation/02_transaction.1748433314.txt.gz · Last modified: 2025/05/28 13:55 by sophiewachtel