Branch

A Branch points a task at another one of your trees.

Sometimes a task belongs in two places at once: it has its home in one list, and its detail written down in a tree somewhere else. A branch is that pointer. The task keeps its place, and its row leads to the tree that holds the rest.

You make one from the Link control on the omnibutton — the same place an external Direct Link goes — by pasting the tree's address into the field. Jatabag tells the two kinds of link apart by looking at the address. If you would rather pick the tree by name, the tree button beside the field lists the trees you have recently opened.

Bring it in here, in the same place, does the reverse: it grafts the linked tree in as this task's own subtasks and deletes it. They arrive diffused, because the link was keeping that work out of this list and absorbing it should not tip a whole tree into it.

A branch remembers the tree, not its address, so it survives the tree being renamed. If you delete the tree it points at, the branch quietly removes itself.

Focus

A branch never holds a task back. It keeps its group, its place in it, and every other trait's say over where it lands: pointing a task at another tree says where something is written down, not that this task must wait. If a task really should wait on the work over there, that is what Blocked By is for.

Nor does it report on that tree. What is waiting in another tree is that tree's business, and reading into it to find out would be a second document's worth of work on every render of this one.

Visuals

A branch has no square of its own. The nine on the grid are for traits with something to report, and a branch reports nothing: it points, and what waits in the tree it names is that tree's business.

So it lives on the Link control at the omnibutton's left edge, which lights up for either kind of link, and names the tree rather than spelling out its address. When the task carries no external link, its text opens the branch too — in the same tab, that tree being somewhere in Jatabag rather than off it.

If what you wanted was a big task out of the way

Branching used to be how you did that: extract a task, and its subtasks moved into a tree of their own. It worked, but the boundary cost more than it bought — Blocked By could not cross it, no trait above the task could reach the work below it, and the two documents had to be kept in step.

Diffuse is that idea without the second tree. The subtasks stay exactly where they are and the tree view simply stops showing them until you ask. If you have branches from before, Bring it in here turns one into the other in a click.

Interactions

A branch never holds a task back on its own; Blocked By is how you say a task must wait for other work
A task can carry both, and they share one control; its text opens the direct link, and the branch is reached from the omnibutton
Diffuse is what a branch was for when the point was getting a big task out of the way, without the second tree
My trees