Nodes/ComfyUI DCI/DCI Analysis
ComfyUI Node

DCI Analysis

The X-ray for your icon archive

By zccrs·Created about a year ago·Updated 11 months ago· 2
DCI Analysis
  • DCI Binary Data
  • Analysis Text

The DCI format hides all its structure inside a binary archive: sizes, states, tones, scales, and the layer metadata that's crammed into filenames like 1.0p.-1.0_10_0_0_0_0_0_0.webp. You could hexdump it. Or you could feed it to this node and get a tree. DCI Analysis takes a BINARY_DATA DCI blob and prints the whole thing as readable text: the directory tree, every file, and the decoded metadata for each layer.

Think of it as the tree command for a DCI archive, with bonus forensics. It's the node you reach for when something looks wrong and you need to know exactly what's inside before you debug further. The output is a single Analysis Text string (in Chinese-first bilingual style, matching the pack's localization), laid out as an indented tree:

✅ DCI 分析成功
├── 256
│   ├── normal.light
│   │   ├── 1
│   │   │   ├── 1.0p.-1.0_0_0_0_0_0_0.webp
│   │   │   │   [缩放: 1x]
│   │   │   │   [优先级: 1]

Wire the Analysis Text into a Show Text node (or any text display) to read it in the UI. And importantly, this node is built for debugging: if the data is missing, the wrong type, empty, unreadable, or just contains no images, it returns a detailed error string explaining which of those cases it hit - including the byte size of the input and a hex preview of the header when it can't parse. That's the same diagnostic pattern the preview node uses, and it's genuinely helpful when a .dci you generated won't open elsewhere.

On top of the tree, it decodes the layer metadata from each filename per the DCI spec - priority, padding, palette type, and the seven color adjustments - and flags symlinks (the 🔗 -> target markers), which is how you can confirm a Universal-tone icon correctly points at its light file from the dark directory.

Input: just DCI Binary Data (required). That's it. Feed it the output of a DCI File node, a Binary File Loader pointed at a .dci, or anything else that produces the format. Output: Analysis Text.

Installing

Part of comfyui-dci - Pillow and numpy only:

cd ComfyUI/custom_nodes
git clone https://github.com/zccrs/comfyui-dci
cd comfyui-dci && pip install -r requirements.txt

Or install "DCI Image Export Extension" via ComfyUI Manager, then restart. It lives under DCI / Analysis in the node menu.

Where people get burned

  • It's text, not a preview. If you want to see the icons, use the DCI Preview node; this one tells you what's there and why it might be broken.
  • The output is verbose and bilingual. Don't be thrown by Chinese text - the pack is fully localized and this node leans into it. The structure is readable either way.
  • No options to filter. You get everything, every layer, all at once. For a big multi-size icon file that's a lot of lines, which is kind of the point - it's an inspection tool.

If you've ever hit a corrupt-looking icon file and wondered what was actually in it, this is the fastest way to find out. It's the most "developer" node in the pack, and that's exactly what makes it useful.

CategoryDCI/Analysis

Inputs (1)

NameTypeDefaultDescription
DCI Binary DataBINARY_DATA

Outputs (1)

NameTypeDescription
Analysis TextSTRING