🧩 Assemble Splat Patches
🧩 The node that stitches your splat repairs back together
- patched_repair_images
- repair_camera_poses
- repair_camera_intrinsics
- base_repair_images
- hole_masks
- source_images
- source_camera_poses
- source_camera_intrinsics
- combined_images
- combined_camera_poses
- combined_camera_intrinsics
The last stage of the splat-repair pipeline, and the one with the least glamour. The POC nodes find holes and render repair views; you take those repair images and run them through an image-edit model to fill the holes; and VNCCS_SplatPatchAssemble merges the results back into a single consistent set of images and cameras, ready for a final reconstruction pass. It's the "put it back together" step - without it, you'd have a pile of patched views with no coherent geometry.
Required inputs are exactly what the POC nodes emit: patched_repair_images, repair_camera_poses, repair_camera_intrinsics. Optionally you can also pass in base_repair_images (the unpatched renders, for blending), hole_masks (so the blend knows what was repaired vs original), and the source_images + their cameras if you want the originals included in the combined output.
The two toggles
include_source(default true) - whether the combined output also contains the original source views. Keep it on if the combined batch is going to drive a full re-reconstruction; you want the originals in there.use_mask_blend(default true) - blends repaired and original content using the hole masks, so the seam between "patched" and "already fine" is soft rather than a hard cut. Turn it off if your masks are noisy and are causing visible blend artifacts.
Outputs: combined_images, combined_camera_poses, combined_camera_intrinsics - the coherent, camera-consistent batch you feed into WorldMirror3D/V2_3D (or the WorldGen Build-GS-Data node) to regenerate the splat with the holes filled.
The honest workflow
The full loop reads: POC → render repairs → edit model fills holes → Assemble → re-reconstruct. It's a real pipeline and it can genuinely close gaps in a scene, but every step is experimental and the seams are where it falls apart - if your edit model invents inconsistent content across views, use_mask_blend can't save you. Do a quick sanity render of the combined_images before spending a reconstruction pass on them.
Install
Pack standard:
cd ComfyUI/custom_nodes
git clone https://github.com/AHEKOT/ComfyUI_HYWorld2
cd ComfyUI_HYWorld2
pip install -r requirements.txt
python install.py
Or ComfyUI Manager → HY-World 2.0. The pack's vendored gsplat_maskgaussian fork (from install.py) is required by everything that renders - don't let upstream gsplat sneak in.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| patched_repair_images | IMAGE | — | |
| repair_camera_poses | TENSOR | — | |
| repair_camera_intrinsics | TENSOR | — | |
| base_repair_imagesopt | IMAGE | — | |
| hole_masksopt | MASK | — | |
| source_imagesopt | IMAGE | — | |
| source_camera_posesopt | TENSOR | — | |
| source_camera_intrinsicsopt | TENSOR | — | |
| include_sourceopt | BOOLEAN | true | — |
| use_mask_blendopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| combined_images | IMAGE | — |
| combined_camera_poses | TENSOR | — |
| combined_camera_intrinsics | TENSOR | — |