Nodes/ComfyUI Pascal Editor/ComfyUIPascalEditor
ComfyUI Node

ComfyUIPascalEditor

Model the building, don't pray for it — Pascal Editor is a 3D architect's office inside a ComfyUI node

By jtydhr88·Created 5 months ago·Updated about a month ago· 130
ComfyUIPascalEditor
    • image
    width1024
    height1024
    preview_outputfalse

    You know the classic architecture workflow problem: you prompt "modern glass house, golden hour" and get four different buildings in four different poses, because the model has no idea which one you meant. ComfyUIPascalEditor is the workaround that feels almost like cheating. It embeds a real, full-featured 3D architectural editor - walls, floors, ceilings, roofs, doors, windows, stairs, fences, the works - directly inside ComfyUI. You model the building once, and the node hands you a screenshot of it as an IMAGE output, ready to feed into img2img, ControlNet, or anything else downstream. Prompting for a vibe instead of a floor plan stops being a gamble.

    It's an integration of Pascal Editor, an open-source 3D architectural editor built with React Three Fiber, Three.js, and Next.js, by an author called Pascal. The ComfyUI plugin just wraps it, so you get a big interactive 3D viewport right in your graph. It's an unusual shape for a custom node - it's mostly frontend, no model files, no Python dependencies - which means it installs cleanly and costs you nothing at sampling time.

    How it works

    The editor runs in your browser tab, served by the node itself at http://127.0.0.1:8188/pascal-editor/ (or open it via the Pascal Editor button ComfyUI's top menu adds, or the node's Fullscreen button). You build in the viewport with click-targeted editing, grid snapping, and the toolbar - and when you queue the workflow, the node captures whatever the viewport is showing and pushes it out as an IMAGE tensor.

    The current release bundles upstream Pascal Editor v0.6.0, which is a big jump: per-surface materials with 13 presets (granite, marble, parquet, wood, wallpaper), automatic wall-room generation that turns closed wall loops into slabs and ceilings, stair-driven cutouts, curved walls and fences, street view/walkthrough mode, and a WebGPU renderer with fallbacks. It's a genuinely capable modeling tool, not a toy.

    The inputs that matter

    The node has exactly three inputs, and only two of them will ever interest you:

    • width (INT, default 1024, 1–4096) and height (INT, default 1024, 1–4096) - the output image resolution. The viewport is center-cropped and LANCZOS-scaled to fit, so no distortion, but that also means set these before you run, not after.
    • preview_output (BOOLEAN, default false) - a convenience toggle that shows the captured frame right in the node. It doesn't change the pixels, just whether you can see them without wiring up a Preview node.

    Its single output is image (IMAGE), which is exactly what you expect: the rendered viewport as a normal ComfyUI image tensor. Wire it into a KSampler's image input for an img2img pass (keep denoising low, 0.3–0.5, or the model will rebuild your building), or through a ControlNet preprocessor first. The KB's standing advice on architectural work: canny ControlNet is the classic pick for clean building contours - model once, get consistent structure every render. There are also Export GLB / STL / OBJ buttons and Save/Load Build (JSON) so you can reuse a scene or hand the mesh to a proper 3D pipeline.

    Installation

    The normal way - it's in ComfyUI Manager, search "PascalEditor" - or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jtydhr88/ComfyUI-PascalEditor.git
    

    Restart ComfyUI and the node appears under the PascalEditor category. That's it. No model downloads, no requirements.txt pain. The Node.js 18+/Bun stuff in the README is only for rebuilding the plugin from source - skip it unless you're hacking on the editor itself.

    Where people get tripped up

    The output is whatever the viewport shows at run time. If you queue before touching anything, you get an empty scene, so model first, then run. The WebGPU renderer has fallbacks, but on very old GPUs or unusual browsers the viewport can render poorly - if the editor looks wrong, update your browser before blaming the node. And if you run ComfyUI on a non-default port, the /pascal-editor/ URL changes with it; the top-menu button doesn't care. One real gotcha: this is an output node, the start of a chain, not the end - remember to connect image to something or the workflow will feel like it did nothing.

    CategoryPascalEditor

    Inputs (3)

    NameTypeDefaultDescription
    widthINT10241–4096
    heightINT10241–4096
    preview_outputBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    imageIMAGE