Nodes/ComfyUI_HYWorld2/HYWorld2 Memory Alignment
ComfyUI Node

HYWorld2 Memory Alignment

Glueing multiple camera passes into one coherent point cloud

By AHEKOT·Created 4 months ago·Updated about a month ago· 74
HYWorld2 Memory Alignment
  • worldmirror_batch
  • raw_splats
  • ply_data
  • memory_bank
  • aligned_ply
  • info
modealign_and_export
downsampled_pts2000000
debug_modefalse

WorldMirror reconstructs the scene from multiple camera views, and those views don't agree with each other by default. HYWorld2 Memory Alignment is the stage that reconciles them - it takes the WorldMirror depths from the batch, runs the memory bank's alignment pass, and exports one coherent, aligned point cloud you can actually build on. This is the node that turns "four walls with gigantic seam lines" into a scene.

That's not me being cute about it: in the author's own release thread, the out-of-the-box WorldMirror v1 produced exactly that - separate walls with huge seams - until hidden parameters and this kind of alignment step were added. Seams between cameras are the known weak spot of this whole pipeline, and alignment is the anti-seam machinery.

How it works

The node takes a worldmirror_batch (from HYWorld2 Prepare WorldMirror Batch) plus the raw splats with metric depth. It runs in four logged stages:

  1. Consume depths - reads the raw splats' depth maps and writes them out as depth_0000.npy etc. under the world mirror results dir.
  2. Align - with align_and_export mode, runs the memory bank's alignment to register all the camera passes into one frame.
  3. Export - exports the aligned global point cloud as aligned_pcd.ply at your chosen downsampled point count.
  4. Hand back the updated memory bank.

There are three mode options: align_and_export (the default and the one you want), consume_worldmirror_depths (just writes the depth maps, skips alignment), and bypass (skips alignment, exports the raw source point clouds instead - useful when you want to see the unaligned mess to understand what alignment is fixing). downsampled_pts defaults to 2M points, debug_mode adds verbose logging.

The inputs that matter

  • worldmirror_batch - required, from Prepare WorldMirror Batch. It carries the memory bank and the depths.
  • mode - keep align_and_export. Switch to bypass only if alignment is wrecking something and you want the raw geometry.
  • downsampled_pts - quality vs. memory. 2M is a reasonable default.

Outputs

  • memory_bank - updated with the aligned geometry; feeds World Expansion and friends.
  • aligned_ply - the string path to aligned_pcd.ply, your first real deliverable.
  • info - JSON telling you how many depth maps were written and from what source.

Install & troubleshooting

Standard pack install: ComfyUI Manager (search HY-World 2.0) or clone + pip install -r requirements.txt + python install.py. Note that WorldStereo point rendering needs PyTorch3D, which is not in requirements.txt - install it manually with pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable" or the nodes that render points will fail.

The one error you'll hit: "requires connected raw_splats with metric depth" - that means you wired this node without a splat that carries gs_depth, so there's nothing to align. Connect the raw splats output from your WorldMirror node. If the aligned result still has seams, check debug_mode and look at the bypass export to see whether the problem is alignment or the reconstruction itself. This is also the node where kb_anomaly_percentile-style keyframe issues upstream can surface as weird holes in the aligned cloud.

CategoryVNCCS/HYWorld2

Inputs (6)

NameTypeDefaultDescription
worldmirror_batchHYWORLD2_WORLDMIRROR_BATCH
modeCOMBOalign_and_export3 options: consume_worldmirror_depths, align_and_export, bypass
raw_splatsoptVNCCS_SPLAT
ply_dataoptPLY_DATA
downsampled_ptsoptINT20000001–50000000
debug_modeoptBOOLEANfalse

Outputs (3)

NameTypeDescription
memory_bankHYWORLD2_MEMORY_BANK
aligned_plySTRING
infoSTRING