comfyui_pcg docs

comfyui_pcg documentation#

comfyui_pcg brings Houdini-style procedural geometry (SOPs) and image processing (COPs / Copernicus) into ComfyUI. Every node is written in numpy, has a Houdini-style parameter panel, and is named after the Houdini node it replaces ("Clip (PCG)", "Scatter (PCG)", "COP Blur (PCG)" …). Geometry, height fields, textures and ComfyUI's AI nodes live in the same graph.

From procedural geometry to AI textures in one graph

Start here#

  • Getting started — install, first graph, how the panels work.
  • For Houdini users — what maps 1:1, what is different, how to find a node.
  • Example workflows — six small tutorials plus the showcase and production workflows that ship in example_workflows/, each with a step-by-step walkthrough.

Concepts#

PageCovers
GeometryPoints, primitives, vertices, detail; attributes; groups; the spreadsheet.
GroupsThe group pattern syntax accepted by every Group field.
ExpressionsExpression nodes, expressions in parameter fields, ch(), frame variables, keyframe channels.
Wrangle syntaxThe Wrangle language: attributes and type prefixes, @group_, operators, functions, Volume and COP Wrangle, VEX equivalents.
Parameters and panelsThe Houdini-style panel, ramps, references between parameters, the Parameters (PCG) controller.
Loops and timeFor-Each loops, frame loops, the playbar, trails.
Images (COP)COP images, layers and channels, devices, converting to and from ComfyUI images and geometry.
Viewing and exportPreview images, the 3D viewport, cameras, exporting meshes, instances and images.
WiresWire styles, rewiring by the ends, cutting, snapping and arranging nodes, reference lines.
Keyboard and mouseEvery shortcut: canvas, parameter panel, viewport, handles, curve tool, playbar.

Node reference#

The node reference documents all nodes: inputs, outputs, every parameter with its type, default and options, the Houdini equivalent and known differences. It is split into pages by category (geometry) and by topic (images). The Houdini node index goes the other way: from a Houdini SOP or COP to the node to use here.

Maintaining these docs#

The reference pages are generated. Parameter names, defaults, ranges, menu options and panel layout come from the code; the prose comes from docs/_data/nodes/*.json. After changing a node, edit its entry in the JSON and run

python comfyui_pcg/docs/build_docs.py

test_docs.py fails when a node or parameter has no text, when text exists for a parameter that is gone, when the generated pages are out of date, or when a link in the docs is broken.

HTML version. docs/html/ is the same documentation as a static site (sidebar, search that works offline, node icons, light / dark theme). Open docs/html/index.html in a browser, or publish it with GitHub Pages (.github/workflows/pages.yml; set Settings › Pages › Source to GitHub Actions). Rebuild it after any change to the Markdown:

python docs/build_html.py

test_docs_html.py fails when docs/html is stale, when a page is missing from the navigation, or when a link, anchor or picture of the site is broken.

Pictures. The concept diagrams are drawn by python tools/concept_diagrams.py. The "input → result" pictures of the node reference are rendered by the plugin's own viewport in headless Chromium: python tools/doc_images.py [node ...] (needs Node.js with playwright), then rerun build_docs.py and build_html.py. Node icons for the HTML come from node tools/render_doc_icons.mjs.