{"record":{"id":"f74d61533772b5c0","repo":"Comfy-Org/ComfyUI","slug":"da3geometrytopointcloud-produced-zero-points-after","errorCode":null,"errorMessage":"DA3GeometryToPointCloud produced zero points after filtering. Try lowering confidence_threshold or disabling use_sky_mask.","messagePattern":"DA3GeometryToPointCloud produced zero points after filtering\\. Try lowering confidence_threshold or disabling use_sky_mask\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_extras/nodes_depth_anything_3.py","lineNumber":656,"sourceCode":"\n        pts_flat = points_gltf.reshape(-1, 3)[mask.reshape(-1)]\n\n        colors_flat = None\n        if \"image\" in da3_geometry:\n            img = da3_geometry[\"image\"][batch_index]     # (H, W, 3)\n            if downsample > 1:\n                img = img[::downsample, ::downsample]\n            colors_flat = img.reshape(-1, 3)[mask.reshape(-1)]\n\n        conf_flat = None\n        if \"confidence\" in da3_geometry:\n            conf = da3_geometry[\"confidence\"][batch_index]   # (H, W)\n            if downsample > 1:\n                conf = conf[::downsample, ::downsample]\n            conf_flat = conf.reshape(-1)[mask.reshape(-1)]\n\n        if pts_flat.shape[0] == 0:\n            raise ValueError(\n                \"DA3GeometryToPointCloud produced zero points after filtering. \"\n                \"Try lowering confidence_threshold or disabling use_sky_mask.\"\n            )\n\n        return io.NodeOutput({\n            \"points\": pts_flat,\n            \"colors\": colors_flat,\n            \"confidence\": conf_flat,\n        })\n\n\nclass DA3Extension(ComfyExtension):\n    @override\n    async def get_node_list(self) -> list[type[io.ComfyNode]]:\n        return [\n            LoadDA3Model,\n            DA3Inference,\n            DA3Render,","sourceCodeStart":638,"sourceCodeEnd":674,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_extras/nodes_depth_anything_3.py#L638-L674","documentation":"DA3 point-cloud node raises this when, after applying the validity mask (confidence >= threshold, non-sky when use_sky_mask, finite positive depth) and optional downsampling, zero points remain. It is the point-cloud analogue of the empty-mesh error 874.","triggerScenarios":"confidence_threshold set near/above the map's maximum; use_sky_mask=True on an all-sky image; aggressive downsample combined with strict thresholds; depth entirely invalid.","commonSituations":"Landscape/sky images with sky masking on; low-confidence model outputs; thresholds copied from a different model variant.","solutions":["Lower confidence_threshold (or set it to 0 to disable confidence filtering).","Disable use_sky_mask.","Reduce downsample if the mask already removes most pixels.","Check that the depth map has finite positive values at all."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"mask = torch.isfinite(depth) & (depth > 0)\nif 'confidence' in da3_geometry:\n    mask &= da3_geometry['confidence'][batch_index] >= confidence_threshold\nif use_sky_mask and 'sky' in da3_geometry:\n    mask &= da3_geometry['sky'][batch_index] < 0.5\nif mask.sum() == 0:\n    raise ValueError('filters reject all points; lower confidence_threshold or disable use_sky_mask')","typeGuard":null,"tryCatchPattern":"try:\n    cloud = build_pointcloud(geometry, batch_index, 0.5, True, 1)\nexcept ValueError as e:\n    if 'zero points' in str(e):\n        cloud = build_pointcloud(geometry, batch_index, 0.0, False, 1)  # retry unfiltered\n    else:\n        raise","preventionTips":["Compute mask coverage before exporting; relax thresholds when coverage collapses.","confidence_threshold=0 and use_sky_mask=False is the safe baseline configuration.","Prefer lowering thresholds over increasing downsample when points are scarce."],"tags":["comfyui","depth-anything-3","point-cloud","filtering"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}