Dependencies: When and Where?
With a growing number of Dependency types available in the application, and with plenty of functionality overlap between them, it can be difficult to determine which Dependency works best for a certain task.
To start with, think about the type of interaction you are expecting and turn it into a sentence. If your sentence includes the word "time" or "per", for example "only one excavator per strip" or "any time I am blasting", what you need is a constraint. See: Constraints
Process Order
When to use: When you want a dependency between Tasks in a single Leaf. For example "Blast waits on Drill".
When NOT to use: When the dependency is between Tasks in different Leaves.
Sequence
When to use: The enforcement of purely vertical rules. Dig Top Down, Dump Bottom Up. Can also be used for purely horizontal rules such as Dig/Dump Direction enforcement.
When NOT to use: Staggers (there's normally an easier way), small specific dependencies or any other dependency based on centroid/solid properties.
Offset
When to use: Staggers in an environment that has roughly regular solid sizes.
When NOT to use: Staggers in an environment with varying sized solids.
Cone
When to use: Angle of repose/highwall angle enforcement.
When NOT to use: When enforcement is unnecessary and just a precaution, can have a performance effect in larger models.
Range
When to use: When you have a specific pattern of dependencies that can't be addressed in or a small section that waits on another small section
When NOT to use: When any other Dependency makes more sense. A common beginners mistake is using Wildcard (*) characters.