Curve Debugger
A scope for your FLOAT arrays — see what your curves actually are
If you've ever wired a FLOAT array into something and wondered what is actually in this wire - this node is the answer. The Curve Debugger is the oscope for the whole ComfyUI_Curves pack: it takes any float array you feed it and draws it as a graph on the node so you can see its shape instead of guessing.
ComfyUI's node graph is great at moving data around, but it's terrible at showing you what the data looks like. A 256-element float array in a wire might be a smooth color ramp, a spiky audio filter, or a flat line that does nothing - you can't tell by looking. The Curve Debugger is what you drop in when you want to know.
How it works
Under the hood it's a thin Python node that accepts just about anything: a PyTorch tensor, a numpy array, a Python list, or a single int/float. It flattens whatever it gets into a plain list of floats, then ships it to a frontend widget via ComfyUI's ui output mechanism. The JavaScript side draws it as an orange line graph with the min and max labeled in the corner and the point count in the bottom-right. One scalar in, one scalar out - it prints "Scalar Value: x.xxxx" instead of a graph.
Two details matter:
- It only renders after the graph executes. There's no live preview while you drag things around - you hit Queue, it runs, and the plot updates.
- It's an output node, so nothing wires out of it. That's by design; it's a dead end that exists to show you something. If you need the data and a plot, split the wire and tap a copy.
The input that matters
Just one: data_input (FLOAT). Wire in the red, green, or blue output of the RGB Curve Editor or RGBCurvesAdvanced node and you'll see the curve you drew. Or grab a float array from any other custom node and check what you're actually feeding your pipeline. That's the whole job - debug before you trust.
Installing it
It ships with the ComfyUI_Curves pack. Easiest is ComfyUI Manager: search ComfyUI_Curves and hit install, then restart. Or clone it yourself:
cd ComfyUI/custom_nodes
git clone https://github.com/tavyra/ComfyUI_Curves
Then restart ComfyUI. There's no requirements.txt and no model files to download - the only real dependencies are torch and numpy, which ComfyUI already ships. This is one of the rare custom nodes you can install without fearing dependency hell.
Troubleshooting
- "No Data Received" - the node hasn't executed yet, or the input was empty. Hit Queue and check again.
- Plot doesn't change when you change upstream - you changed the curve, but the node hasn't re-run. Re-queue.
- Huge flat graph - you fed it a big tensor and it flattened the whole thing. If you're trying to inspect one channel's curve, feed it a single channel, not the whole batch.
- Nothing shows up in the node list - if Manager can't find the pack, make sure you restarted ComfyUI after install, and that the folder is named
ComfyUI_Curvesinsidecustom_nodes/.
It's a tiny, single-purpose tool, and honestly the pack is better for having it. When you're building curve-driven workflows, being able to see the curve before you trust it saves you from a lot of "why is my output garbage" debugging sessions.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| data_input | FLOAT | — |
Outputs (0)
No outputs