Atlas Scene Health Gate 🩺
Atlas Scene Health Gate 🩺 — the pre-export check that won't let you ship a broken scene
- solve
- source_image
- depth
- solve
- report
AtlasSceneHealthGate is the last line of defence before your scene leaves the graph. It runs the same red-flag engine that AtlasDebugReport renders, checks your solve and scene for problems, and - when things are at warn or fail level - holds the solve until you click ✅ Acknowledge & Continue. Clean scenes flow through with zero clicks; the gate only costs you friction when something is actually wrong. That's the design in one sentence: ship-closed approval semantics, not a hard fail. You can override a warning, but you can never lose it.
What it actually checks
The engine looks at the kinds of problems that produce a structurally valid scene that's still wrong: an assumed scale tier instead of a measured one, a scale that's wildly out of range for the scene type, geometry that doesn't line up with the solve, a roll or pitch that looks like a mis-solve. If you wire in the optional depth (ATLAS_DEPTH_MAP, shared from AtlasDepthMap), it additionally enables the negative-depth check - pixels behind the camera, which should be impossible and mean your solve and depth disagree.
Inputs and the acknowledge flow
- solve, source_image, optional depth.
- status_1..4 - free-form status strings; leave them for your own notes or downstream automation.
- pass_through_on_pass - on by default: a PASS-level report flows without a click. Turn it off if you want to see every report even when healthy.
- proceed - ships OFF. The ✅ Acknowledge & Continue button sets it and stamps the fingerprint.
- approved_for - the fingerprint of the acknowledged solve+image. The whole persisted-gating rule again: a re-solve or a swapped photo re-arms the gate, so you can't carry a stale acknowledgement forward.
Every execution - blocked or flowing - stamps scene_health into the solve's debug metadata, so an acknowledged warning rides along into every DCC export and review report downstream. The acknowledgement isn't a way to make the problem disappear; it's a signed record that you saw it and chose to proceed anyway. That's the difference between a gate and a checkbox.
Why you want it
A solved camera from one photo can be wrong in ways that export cleanly and look fine in the viewport. The scale tier is the classic: an "assumed" scale is a structurally valid solve that's ~10× too small on a wide exterior, and nothing downstream will tell you. This gate is where that gets caught before it becomes a Nuke scene you handed to a compositor. It's the last node before the exporters for a reason - wire it exactly there: solve in, solve out, exporters after.
Install
Core node, no dependencies beyond the pack:
cd <ComfyUI>/custom_nodes
git clone https://github.com/mikejamesvfx/atlas-camera.git
Restart, or install via ComfyUI Manager ("atlas-camera"). You'll find it under Atlas/09 · QA & Gates, sitting right before export in the menu's pipeline order - exactly where it belongs.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| solve | ATLAS_SOLVE | — | |
| source_image | IMAGE | — | |
| depthopt | ATLAS_DEPTH_MAP | Shared AtlasDepthMap — enables the negative-depth check. | |
| status_1opt | STRING | — | |
| status_2opt | STRING | — | |
| status_3opt | STRING | — | |
| status_4opt | STRING | — | |
| pass_through_on_passopt | BOOLEAN | true | A PASS-level report flows without a click; warn/fail always needs ✅ Acknowledge & Continue. |
| proceedopt | BOOLEAN | false | Acknowledge the current flags and let the solve flow. Ships OFF; the ✅ button sets it + the fingerprint. |
| approved_foropt | STRING | Fingerprint of the acknowledged solve+image; a re-solve or swapped photo re-arms the gate. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| solve | ATLAS_SOLVE | — |
| report | STRING | — |