Fork Parents are a feature that allows for greater control over the simulations you run on a Fork. This functionality facilitates repeated testing of specific (historical) scenarios on your forked networks.
Branch roots allow you to define any number of fixed points when forking networks so you can run simulations from that or any other Parent. If you don't have any branch root defined, the empty state for your Fork Parent is Latest Simulation.
To set a specific branch root, choose any of your previous Fork simulations in the Forks tab and mark it as a branch root. This way, you can use a specific simulation as a Fork Parent in your Fork simulations.
Latest Simulation uses the parent ID from the Fork i.e. the latest transaction that happened on that Fork. If you just created a Fork, the last transaction will be defined as the last transaction in the block you forked the network from.
You can also learn more about pending and historical blocks.
Marking a specific simulation on your Fork as a branch root adds it to the list of Fork Parents you can use going forward. You can remove it as a branch root at any time.
You can also name your Fork Parents for easier navigation:
Now, when you run a new Fork simulation, you'll see all of your Forks that you added as branch roots:
All of the Fork simulations executed with a Parent are clearly marked:
If you clear the branch root from a Fork, the Parent column will be properly updated:
You can mark a Fork as a branch root again after removing it:
The Parent column will again be properly updated:
You can also mark Forks as branch roots straight from the Transaction Overview tab: