General Notes
- When building your workflow, make sure you put more space between units than what seems necessary at first. It is almost always the case that you will have to revisit sections and add systems later.
- If you know that you will need a variable in more than one place, it is advisable to create a variable for it
- If the variable is only used within one workflow, use workflow variables (not project variables)
- Use Workflow variables to cover large distances between units, to avoid unnecessary cable overlapping.
- If you find yourself duplicating a system for multiple parts of your project, encapsulate its functionality in a WorkflowUnit.
- When designing a WorkflowUnit it is important that you expose both in and out trigger, since workflow units will only pass variables to the 'sub-workflow' on a trigger tick.
- When you are done with your main workflow, expose the trigger In. trigger out, and any variables that you deem necessary. (see published ins and outs) - This will allow someone else to reuse your workflow.
- Provide necessary information about published input ports via an annotation → see published inputs
Main Bus Design
It is best practice to layer indistinct systems Vertically, conversely, if two systems are distict from one another they are layered horizontally
In more detail:
Indistinct -> Y
distinct -> X
branch -> Z (this is normally done using a workflow unit)