Which control map should architects use in ComfyUI?

Use geometry exported from the project model first, a native renderer pass second, and an inferred map from the finished image only as a recovery route. Each step down loses project knowledge. Match the map type to a compatible ControlNet, inspect it at delivery scale, and record how it was made.

The JPEG arrives at 11:42. The Revit author has logged off, the render passes were never archived and someone wants different stone by lunch. Depth Anything V3 looks less like a research model and more like a colleague who still answers the phone.

Use it. Just do not confuse rescue with best practice.

Today's community sweep advised architects without original depth or Canny passes to run a flattened render through a preprocessor such as Depth Anything V3. That is a sound fallback. Official ComfyUI guidance likewise says ControlNet models need corresponding control images and notes that practical workflows may require custom preprocessing nodes. The crucial word is “without.” If the source model still exists, asking pixels to rediscover its geometry is voluntary amnesia.

Why is inferred depth weaker than exported geometry?

A model knows that the balcony projects 1.8 metres, the glazing sits behind the stone frame and the two dark planes are coplanar. A monocular depth estimator sees color, texture, occlusion and learned patterns. It produces a plausible depth field. Plausible is useful for generation. It is not the same as project truth.

Dark glazing may read as a recess. A pale distant wall may jump forward. Repeated fins can merge into a soft comb. Planting can smear across the facade edge. None of this makes the estimator bad. It makes the input incomplete.

Our Depth Anything V3 control-map check covers how to inspect inferred output. The stronger rule comes earlier: never infer geometry that the project can export directly.

Preprocessing recovers a control signal. It does not recover the building.

Use a four-level source hierarchy

Choose the highest available level, then document why you stepped down. This keeps a convenient node from quietly replacing a more reliable source.

LevelSourceBest useMain risk
1Project model exportSilhouette, openings, primary planesExport setup or camera mismatch
2Native renderer passDepth, normals, object IDs, material masksLost metadata or inconsistent ranges
3Preprocessor from clean viewportEarly studies without saved passesMisread materials and thin elements
4Preprocessor from finished JPEGLegacy and third-party image rescueLighting, reflections and entourage pollute structure

Level one is not always a grayscale depth image. Clean linework, a clay viewport, object masks or a normal pass may express the constraint better. Pick the map for the decision. The linework versus clay-pass test is useful when fine edges and broad planes disagree.

Level two often gives the richest package because a renderer can export several aligned passes from one camera. Preserve them together. An object ID mask can keep material edits local while depth holds the facade. Throwing those away and estimating one generic map from the beauty render is a spectacularly modern way to discard evidence.

When should you choose Canny instead of depth?

Depth describes spatial order and large planes. Canny describes visible edges. Use depth when projections, setbacks and room volume matter. Use Canny when mullion rhythm, roof profiles or drawn linework must survive. Neither is automatically stricter.

Canny can preserve every irrelevant seam in a noisy render, including paving joints and tree branches. Depth can hold mass while softening thin rails into oblivion. Combining them may help, but official ComfyUI documentation notes that several ControlNet conditions can be used together; it does not promise that more conditions are always better. Compatibility, strength and timing still matter.

Start with the single map tied most closely to the failure you cannot accept. Add the second only after a baseline. The depth and edge conflict protocol catches the moment two controls start pulling the same boundary in different directions.

How do you validate a recovered map?

Place the map beside the source at the final delivery aspect ratio. Check the silhouette first, then openings, major depth breaks and thin elements. Ignore whether it looks impressive. Control maps are working drawings with worse publicists.

Overlay or blink between the source edge structure and the generated map. Mark false depth jumps at dark glass, mirrors, deep shadows and bright sky openings. Check vegetation where it crosses a facade. For interiors, inspect chairs, pendant lights and counter edges that may fuse with the floor or wall.

Classify defects before repair. A false reading outside the edit zone may be harmless. A merged balcony rail in a global material pass may be repairable with a mask. A missing opening in a facade approval image is a stop. This follows the AI render error-budget method: consequence matters more than prettiness.

Repair the control, not the prompt

When the control map is wrong, prompt prose is the wrong screwdriver. Paint or mask the false region, substitute a cleaner pass, or return to the source camera and export again. A prompt that says “keep all windows unchanged” cannot restore an opening the depth map has already flattened.

Keep the untouched inferred map and the repaired revision. Name the preprocessor, model version, node pack, input resolution and crop. ComfyUI's official guide warns that preprocessors may live in custom-node packages, which makes version recording part of reproducibility, not clerical decoration.

Run one fixed-seed baseline before and after repair where the model supports it. If the local fix solves the target defect without moving other protected regions, keep it. If the repair spreads, use a mask or a higher source level.

Archive passes before you need them

The cheapest control map is the one exported with the render. Add a small pass package to every image handoff: source viewport or beauty frame, depth, normals where useful, object or material IDs, linework if available, camera identifier and pixel dimensions. Hash the files when the workflow needs formal provenance.

This is less glamorous than adding another custom node. It also turns the 11:42 emergency into a file lookup. Our ComfyUI provenance package provides the fuller record for maintained workflows.

If storage is the objection, compare a few lightweight passes with the labor of rebuilding one missing map during review. The arithmetic will not need a GPU.

Depth Anything V3 belongs in the rescue kit

ByteDance's public Depth Anything V3 repository presents the model family as handling visual geometry from one or several views. That makes it a serious option when project-native data is gone. Community advice to use it for flat architectural renders is reasonable, provided the output is inspected and its inferred status remains visible.

Do not write “depth pass” when the file is estimated depth. Call it “Depth Anything V3 inference from final JPEG,” with the date and model variant. The label tells the next operator what the map knows and what it guessed.

Export first. Infer when cornered. Never let a very clever rescue erase the fact that there was a fire.


Evidence note: this is a proposed source-selection and QA method, not an ArchiGen hands-on benchmark. Sources checked 8 October 2026: official ComfyUI ControlNet documentation, the ByteDance Depth Anything V3 repository, and today's community guidance on recovering controls when original depth or Canny passes are unavailable. Model capabilities are attributed to their publishers.