Atlas Debug Report π
The one JSON file that tells you what your scene is made of
- solve
- depth
- report
- json_path
Layered scenes hide their failures well. A layer can ship a zero-vertex mesh - no geometry at all - and nothing in the viewport necessarily screams about it; you just see a hole you don't understand. Atlas Debug Report π is the pack's answer to exactly that class of mystery: wire in your final solve and it introspects the whole stack, runs red-flag analysis, shows you a human-readable report on the node, and writes the full structured JSON to a stable path you (or a script, or an AI assistant) can read.
The mechanism
The node is deliberately zero-heavy: nothing is computed that the solve doesn't already carry. Every execution walks the layered master scene - the camera summary, every ProjectionSource's geometry type, vertex count, band range, and matte coverage (the one non-trivial step is decoding the embedded matte PNGs) - and then runs the red-flag analysis:
- zero-vertex layers (the silent killer this node was built after catching in a real session)
- band gaps and overlaps between adjacent depth layers
- near-empty mattes
- scope rows that fell back to "no match" instead of finding their mask
The output is twofold: a human-readable report string shown on the node, and the full structured JSON written to file_path - default atlas_debug/master_debug.json relative to ComfyUI's working directory. The advice in the tooltip is worth taking: keep the path constant so external tooling can always find the latest diagnostic.
The inputs
Only solve is required. The rest are enrichments:
depth- the shared depth map, included in the diagnostic.status_1β¦status_4- the scope-status strings from the workflow's gate nodes, folded into the report so the health picture is complete.vlm_report- the text report from an assessor node (π§AtlasAssessImage/ π§ͺAtlasAssessOutput), appended so the machine-readable JSON carries the VLM's opinion alongside the deterministic facts.file_path- where the JSON lands.
Why you'd reach for it
This is a troubleshooting node first and a logging node second. When the viewport shows something wrong and you can't tell which layer did it, wire this in, queue, and read the JSON - it will name the zero-vertex layer, show the band overlap in metres, and flag the empty matte. It's also the "attach a debug summary to an agentic run" node: because it writes a stable, complete JSON, an AI assistant can read one file and reconstruct facts that would otherwise take a live payload autopsy to dig up.
It's an output node (renders even with nothing downstream), costs nothing meaningful to run, and needs no extras - pure Python over data the solve already holds. Install is the pack's usual clone-and-go. Outputs: report and json_path.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| solve | ATLAS_SOLVE | β | |
| depthopt | ATLAS_DEPTH_MAP | β | |
| file_pathopt | STRING | atlas_debug/master_debug.json | Stable JSON path (relative to ComfyUI's working directory) β keep it constant so external tooling can always find the latest diagnostic. |
| status_1opt | STRING | β | |
| status_2opt | STRING | β | |
| status_3opt | STRING | β | |
| status_4opt | STRING | β | |
| vlm_reportopt | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| report | STRING | β |
| json_path | STRING | β |