BlackVortexAI 0bdeebc439 Add Subgraph-friendly UI nodes (Heading/Spacer/Divider) + docs
- Added BV Subgraph Heading with optional divider + dynamic sizing/clipping
- Added BV Spacer (height/scale) and BV Divider nodes
- Added JS rendering/patching for Subgraph compatibility and stable widget mapping
- Updated README with new UI nodes and usage details
- Updated project description in pyproject.toml to mention Subgraph UI nodes
- Minor UI improvements (dynamic redraw/resize on widget changes)
2025-12-21 18:44:21 +01:00
2025-12-20 15:11:40 +01:00

BV Node Pack (ComfyUI)

A small collection of quality-of-life nodes for ComfyUI.

⚠️ Note: This pack includes UI logic (JavaScript) for dynamic node updates (also works in Subgraphs/Subflows).


Installation

Clone into your ComfyUI custom_nodes folder:

cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git

Restart ComfyUI and (if needed) hard refresh the browser: Ctrl+F5

Uninstall

  • Delete the folder in custom_nodes
  • Restart ComfyUI
  • Hard refresh the browser (Ctrl+F5)

Update

cd ComfyUI/custom_nodes/bv_node_pack
git pull

Restart ComfyUI (recommended).


Nodes / Features

BV Pipe Config

Defines the slot layout (names) for a BV Pipe.

BV Pipe Config

What it does

  • Define slot names (1 per line, max 100)
  • Outputs a single BV_PIPE object ("the pipe") used downstream

How to use

  1. Add BV Pipe Config
  2. Enter slot names (one per line)
  3. Connect its pipe output to BV Pipe

BV Pipe

A config-driven carrier node that forwards one pipe connection while exposing named slots.

BV Pipe Connected

What it does

  • Shows only the slots defined by the connected BV Pipe Config
  • Lets you override individual slots, while everything else passes through

Override example

BV Pipe Override

Subgraph example

BV Pipe Subgraph


BV Subgraph Heading

A UI node that renders a bold header text inside the node. Designed to work well inside Subgraphs/Subflows: when exposed, the header is also rendered on the Subgraph node in the main graph.

BV Subgraph Heading

BV Subgraph Heading

BV Subgraph Heading

Inputs

  • value (STRING) — the header text
  • font_size (INT) — font size used for rendering
  • show_divider (BOOLEAN) — optional divider line below the heading

What it does

  • Displays a clean header label for visual separation
  • Dynamically adjusts its node height to avoid text overlap/clipping
  • Optional divider line for stronger section separation

BV Subgraph Heading

How to use

  1. Add BV Subgraph Heading
  2. Set the title via value
  3. (Optional) increase font_size
  4. (Optional) enable show_divider

Subgraph usage

  • Place it inside a Subgraph/Subflow and expose the widget input to show the same heading on the Subgraph node.

BV Spacer

A UI-only spacer node to add vertical whitespace in your graph or inside Subgraphs/Subflows.

BV Spacer

BV Spacer

BV Spacer

Inputs

  • height (INT) — spacer height in pixels
  • scale (FLOAT, optional) — multiplier for the height (useful for quick global spacing adjustments)

What it does

  • Reserves vertical space without rendering text
  • Updates its node height dynamically (also in Subgraphs/Subflows)

How to use

  1. Add BV Spacer
  2. Adjust height to the desired spacing
  3. (Optional) use scale for fine-tuning

BV Divider

A UI-only divider node that draws a horizontal line to visually separate sections.

BV Divider

BV Divider

BV Divider

Inputs

  • thickness (INT) — line thickness
  • padding (INT) — left/right padding
  • alpha (FLOAT) — line opacity

What it does

  • Draws a horizontal separator line
  • Dynamically updates when inputs change (also in Subgraphs/Subflows)

How to use

  1. Add BV Divider
  2. Adjust thickness, padding, and alpha to match your layout

Quick Start (Pipe)

  1. Add BV Pipe Config and enter names, e.g.:
model
clip
vae
seed
prompt
  1. Connect: BV Pipe Config (pipe) → BV Pipe (pipe)

  2. Optional: connect something to a slot input to override only that slot.


Notes

  • Pipes update dynamically (including Subgraphs/Subflows).
  • Slot socket IDs stay stable internally (v_001…v_100, out_001…out_100) while labels come from your config.
  • UI nodes (Heading / Spacer / Divider) use JavaScript rendering and support being exposed through Subgraphs/Subflows.

S
Description
No description provided
Readme GPL-3.0
70 MiB
Languages
JavaScript 43.1%
Python 29.6%
TypeScript 23.6%
CSS 3.2%
HTML 0.5%