Nodes/ComfyUI-DAELab-Custom-Nodes-Library/Boolean List Hierarchy Get
ComfyUI Node

Boolean List Hierarchy Get

Reuse a branch without dragging a wire

By TeutonicMepheles·Created 2 months ago·Updated 2 days ago· 0
Boolean List Hierarchy Get
    • Boolean 1
    • Boolean 2
    • Boolean 3
    • Boolean 4
    • Boolean 5
    • Boolean 6
    • Boolean 7
    • Boolean 8
    • Boolean 9
    • Boolean 10
    • Boolean 11
    • Boolean 12
    • Boolean 13
    • Boolean 14
    • Boolean 15
    • Boolean 16
    • Boolean 17
    • Boolean 18
    • Boolean 19
    • Boolean 20
    • Boolean 21
    • Boolean 22
    • Boolean 23
    • Boolean 24
    • Boolean 25
    • Boolean 26
    • Boolean 27
    • Boolean 28
    • Boolean 29
    • Boolean 30
    • Boolean 31
    • Boolean 32
    • Boolean 33
    • Boolean 34
    • Boolean 35
    • Boolean 36
    • Boolean 37
    • Boolean 38
    • Boolean 39
    • Boolean 40
    • Boolean 41
    • Boolean 42
    • Boolean 43
    • Boolean 44
    • Boolean 45
    • Boolean 46
    • Boolean 47
    • Boolean 48
    • Boolean 49
    • Boolean 50
    • Boolean 51
    • Boolean 52
    • Boolean 53
    • Boolean 54
    • Boolean 55
    • Boolean 56
    • Boolean 57
    • Boolean 58
    • Boolean 59
    • Boolean 60
    • Boolean 61
    • Boolean 62
    • Boolean 63
    • Boolean 64
    config_json{"version": 2, "valid": false, "source_node_id": "", "root_item_id": "", "include_root": true, "items": [], "output_item_ids": []}

    You built a big Boolean List Hierarchy - the tree with Root → child → grandchild switches - and now you're in a different part of the canvas and you want the state of one root branch over there. Dragging a wire all the way across a busy workflow is exactly the legibility problem every reroute exists to solve. Boolean List Hierarchy Get is DAELab's answer for this specific case: it references a root branch of a Hierarchy by ID, with no wire from the source node at all.

    The trick is in the name and the framing: it's the "Get" side of a "Set/Get" pattern. The Hierarchy holds the tree; this node selects which branch of it you want and re-emits that branch's boolean outputs locally, right where you need them. The source isn't connected - the node knows the source node's ID and which root branch you picked, and it pulls the current state from that.

    How it works

    The backend takes a config_json input that carries the wiring metadata: the source node's ID (source_node_id), the chosen root item (root_item_id), whether the root itself is included in the output (include_root), and the list of output item IDs. On execute it resolves that branch, including any cross-branch dependency context the branch needs to be valid, and emits the booleans on the same fixed 64-socket layout as the other boolean-list nodes. The front-end (web/boolean_list_hierarchy_get.js) gives you a picker for choosing the root branch, so you select from a dropdown instead of memorizing node IDs.

    The inputs and outputs that matter

    • config_json - the reference metadata (which Hierarchy, which root branch). Managed by the picker; you won't hand-edit it. Defaults to an empty/invalid reference until you pick a branch.
    • The 64 BOOLEAN outputs - the branch's switches, available locally. Wire them anywhere you'd wire the source node's own outputs.

    This is the sibling of Boolean List Hierarchy, and it's the natural pairing for the Boolean Group Bypass Controller too: Get a branch locally, feed its booleans to the controller, drive group bypass without crossing the whole canvas with wires.

    How to install it

    Standard DAELab-pack install. ComfyUI Manager, search "ComfyUI-DAELab-Custom-Nodes-Library", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/TeutonicMepheles/ComfyUI-DAELab-Custom-Nodes-Library
    

    then restart. No models, no extra dependencies. Keep ComfyUI Core current (V3 node), and install the full repo so the branch-picker front-end loads.

    Common issues & troubleshooting

    "The picker won't let me select a branch." The Get node needs a Hierarchy to reference. It works by node ID, so it only finds sources that exist in the same workflow - a Hierarchy in a different saved workflow won't be referenceable.

    "It outputs nothing / all False." A stale reference. If the source Hierarchy's IDs changed (the tree was rebuilt or properties stripped), the root ID this node remembers no longer resolves. Re-pick the branch in the front-end and re-save.

    "I edited the Hierarchy but this node didn't update." It resolves on execution - it's not a live link. Run the workflow (or force a refresh of this node) and the current state comes through.

    Categoryutils/logic

    Inputs (1)

    NameTypeDefaultDescription
    config_jsonoptSTRING{"version": 2, "valid": false, "source_node_id": "", "root_item_id": "", "include_root": true, "items": [], "output_item_ids": []}

    Outputs (64)

    NameTypeDescription
    Boolean 1BOOLEAN
    Boolean 2BOOLEAN
    Boolean 3BOOLEAN
    Boolean 4BOOLEAN
    Boolean 5BOOLEAN
    Boolean 6BOOLEAN
    Boolean 7BOOLEAN
    Boolean 8BOOLEAN
    Boolean 9BOOLEAN
    Boolean 10BOOLEAN
    Boolean 11BOOLEAN
    Boolean 12BOOLEAN
    Boolean 13BOOLEAN
    Boolean 14BOOLEAN
    Boolean 15BOOLEAN
    Boolean 16BOOLEAN
    Boolean 17BOOLEAN
    Boolean 18BOOLEAN
    Boolean 19BOOLEAN
    Boolean 20BOOLEAN
    Boolean 21BOOLEAN
    Boolean 22BOOLEAN
    Boolean 23BOOLEAN
    Boolean 24BOOLEAN
    Boolean 25BOOLEAN
    Boolean 26BOOLEAN
    Boolean 27BOOLEAN
    Boolean 28BOOLEAN
    Boolean 29BOOLEAN
    Boolean 30BOOLEAN
    Boolean 31BOOLEAN
    Boolean 32BOOLEAN
    Boolean 33BOOLEAN
    Boolean 34BOOLEAN
    Boolean 35BOOLEAN
    Boolean 36BOOLEAN
    Boolean 37BOOLEAN
    Boolean 38BOOLEAN
    Boolean 39BOOLEAN
    Boolean 40BOOLEAN
    Boolean 41BOOLEAN
    Boolean 42BOOLEAN
    Boolean 43BOOLEAN
    Boolean 44BOOLEAN
    Boolean 45BOOLEAN
    Boolean 46BOOLEAN
    Boolean 47BOOLEAN
    Boolean 48BOOLEAN
    Boolean 49BOOLEAN
    Boolean 50BOOLEAN
    Boolean 51BOOLEAN
    Boolean 52BOOLEAN
    Boolean 53BOOLEAN
    Boolean 54BOOLEAN
    Boolean 55BOOLEAN
    Boolean 56BOOLEAN
    Boolean 57BOOLEAN
    Boolean 58BOOLEAN
    Boolean 59BOOLEAN
    Boolean 60BOOLEAN
    Boolean 61BOOLEAN
    Boolean 62BOOLEAN
    Boolean 63BOOLEAN
    Boolean 64BOOLEAN