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 3 months ago·Updated about 23 hours 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—