“Multiple Roots” simply means that you start from the first level and completely eliminate the “true” root. Thus,
Root1 (1, 4)
Node1 (2, 3)
Root2 (5, 12)
Node21 (6, 7)
Node22 (8, 11)
Node221 (9, 10)
Do NOT restart the sequence left / right; you will fall into a world of pain.
Regarding the filter question, it's just a presentation question. There are various ways to handle this; the one I used in the past was to show all the nodes in the path leading to a node that meets your filter criteria, but differentiates the “filtered” nodes and makes them inactive (for example, it may not be selected in the user interface, operations on them cannot be performed, etc.). Sort of:
Task 1 (In progress) [greyed out, inactive]
+ Task 2 (Active)
+ Task 3 (Active)
Another approach is to use grid / tree combo to display filter results, where the path to the node is shown flattened, but the nodes under the node (if any) are shown as a tree. Sort of:
Task1 -> Task 2 (Active)
+ Task 3 (Active)
Task1 -> Task 4 -> Task 6 (Active)
+ Task 7 (Active)
source share